一文精简介绍CNN神经网络
时间:2024-05-02 21:40:50 来源:网络cs 作者:纳雷武 栏目:跨境学堂 阅读:
▲ 图1.1.5 边缘填充,步长为2的卷积
(2)膨胀填充
对于数据的填充也可以使用数据上采样填充的方式。这种方式主要应用在转置卷积(反卷积中)。
▲ 图1.1.6 转置卷积对于数据膨胀填充
5、感受野
感受野:卷积神经网络每一层输出的特征图(featuremap)上的像素点在输 入图片上映射的区域大小,即特征图上的一个点对应输入图上的区 域。
下图反映了经过几层卷积之后,卷积结果所对应前几层的图像数据范围。
▲ 图1.1.8 卷积核进行膨胀之后,进行空洞卷积可以扩大视野的范围
▲ , LeNET CNN的结构示意图
二、激活函数
激活函数是用来加入非线性因素,提高网络表达能力,卷积神经网络中最常用的是ReLU,Sigmoid使用较少。
▲ 图1.2.1 常见到的激活函数
▲ 图1.2.2 激活函数表达式以及对应的微分函数
1、ReLU函数
ReLU函数的优点:
计算速度快,ReLU函数只有线性关系,比Sigmoid和Tanh要快很多输入为正数的时候,不存在梯度消失问题ReLU函数的缺点:
强制性把负值置为0,可能丢掉一些特征当输入为负数时,权重无法更新,导致“神经元死亡”(学习率不 要太大)2、Parametric ReLU
当的时候,称为 Leaky ReLU;当从高斯分布随机产生的时候,称为 Randomized ReLU(RReLU)PReLU函数的优点:
比sigmoid/tanh收敛快;解决了ReLU的“神经元死亡”问题;PReLU函数的缺点:
需要再学习一个参数,工作量变大3、ELU函数
▲ 图1.3.1 最大值池化一是均值池化示意图
池化的作用:
减少网络中的参数计算量,从而遏制过拟合;增强网络对输入图像中的小变形、扭曲、平移的鲁棒性(输入里的微 小扭曲不会改变池化输出——因为我们在局部邻域已经取了最大值/ 平均值)帮助我们获得不因尺寸而改变的等效图片表征。这非常有用,因为 这样我们就可以探测到图片里的物体,不管它在哪个位置四、全连接与输出层
对卷积层和池化层输出的特征图(二维)进行降维将学到的特征表示映射到样本标记空间的作用输出层:
对于分类问题采用Softmax函数: 对于回归问题,使用线性函数:五、CNN的训练
1、网络训练基本步骤
CNN的训练,也称神经网络的学习算法与经典BP网络是一样的,都属于随机梯度下降(SGD:Stochastic Gradient Descent),也称增量梯度下降,实验中用于优化可微分目标函数的迭代算法。
注:卷积核个数、卷积核尺寸、网络架构这些参数,是在 Step 1 之前就已经固定的,且不会在训练过程中改变——只有卷 积核矩阵和神经元权重会更新。
2、网络等效为BP网络
和多层神经网络一样,卷积神经网络中的参数训练也是使用误差反向传播算法,关于池化层的训练,需要再提一下,是将池化层改为多层神经网络的形式:
▲ 图1.5.1 神经网络中池化层对应着多层神经网络
▲ 图1.5.2 卷积层对应的多层神经网络的形式
▲ 图2.1 CNN发展脉络
一、LeNet-5
1、简介
LeNet-5由LeCun等人提出于1998年提出,主要进行手写数字识别和英文字母识别。经典的卷积神经网络,LeNet虽小,各模块齐全,是学习 CNN的基础。
参考:http://yann.lecun.com/exdb/lenet/
Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, November 1998.
2、网络结构
▲ 图2.1.1 LeNet-5网络结构
输入层:32 × 32 的图片,也就是相当于1024个神经元;C1层(卷积层):选择6个 5 × 5 的卷积核,得到6个大小为32-5+1=28的特征图,也就是神经元的个数为 6 × 28 × 28 = 4704;S2层(下采样层):每个下抽样节点的4个输入节点求和后取平均(平均池化),均值 乘上一个权重参数加上一个偏置参数作为激活函数的输入,激活函数的输出即是下一层节点的值。池化核大小选择 2 ∗ 2 得到6个 14 ×14大小特征图C3层(卷积层):用 5 × 5 的卷积核对S2层输出的特征图进行卷积后,得到6张10 × 10新 图片,然后将这6张图片相加在一起,然后加一个偏置项b,然后用 激活函数进行映射,就可以得到1张 10 × 10 的特征图。我们希望得到 16 张 10 × 10 的 特 征 图 , 因 此 我 们 就 需 要 参 数 个 数 为 16 × ( 6 × ( 5 × 5 ) ) 个参数S4层(下采样层):对C3的16张 10 × 10 特征图进行最大池化,池化核大小为2 × 2,得到16张大小为 5 × 5的特征图。神经元个数已经减少为:16 × 5 × 5 =400C5层(卷积层):用 5 × 5 的卷积核进行卷积,然后我们希望得到120个特征图,特征图 大小为5-5+1=1。神经元个数为120(这里实际上是全连接,但是原文还是称之为了卷积层)F6层(全连接层):有84个节点,该层的训练参数和连接数都( 120 + 1 ) × 84 = 10164Output层:共有10个节点,分别代表数字0到9,如果节点i的输出值为0,则网络识别的结果是数字i。采用的是径向基函数(RBF)的网络连接方式:$$y_i = \sum\limits_j{} {\left( {x - j - w_{ij} } \right)2 } $$
总结:卷积核大小、卷积核个数(特征图需要多少个)、池化核大小(采样率多少)这些参数都是变化的,这就是所谓的CNN调参,需要学会根据需要进行不同的选择。二、AlexNet
1、简介
AlexNet由Hinton的学生Alex Krizhevsky于2012年提出,获得ImageNet LSVRC-2012(物体识别挑战赛)的冠军,1000个类别120万幅高清图像(Error: 26.2%(2011) →15.3%(2012)),通过AlexNet确定了CNN在计算机视觉领域的王者地位。
参考:A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012.
2、网络结构
AlexNet可分为8层(池化层未单独算作一层),包括5个卷 积层以及3个全连接层:
▲ 图2.4.1 Inception Net网络结构
五、ResNet
1、简介
ResNet(Residual Neural Network),又叫做残差神经网 络,是由微软研究院的何凯明等人2015年提出,获得ImageNet ILSVRC 2015比赛冠军,获得CVPR2016最佳论文奖。
随着卷积网络层数的增加,误差的逆传播过程中存在的梯 度消失和梯度爆炸问题同样也会导致模型的训练难以进行,甚至会出现随着网络深度的加深,模型在训练集上的训练误差会出现先降低再升高的现象。残差网络的引入则有助于解决梯度消失和梯度爆炸问题。
残差块:
ResNet的核心是叫做残差块(Residual block)的小单元, 残差块可以视作在标准神经网络基础上加入了跳跃连接(Skip connection)。
我们有:
六、Densenet
1、简介
DenseNet中,两个层之间都有直接的连接,因此该网络的直接连接个数为L(L+1)/2。
对于每一层,使用前面所有层的特征映射作为输入,并且使用其自身的特征映射作为所有后续层的输入:
▲ 图2.6.1 DenseNet示意图
参考:Huang, G., Liu, Z., Van Der Maaten, L., & Weinberger, K. Q. (2017). Densely connected convolutional networks. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 4700- 4708).
2、网络结构
5层的稠密块示意图:
▲ 图2.6.2 5层DenseNet的结构
DenseNets可以自然地扩展到数百个层,而没有表现出优化困难。在实验中,DenseNets随着参数数量的增加,在精度上产生一致的提高,而没有任何性能下降或过拟合的迹象。
优点:
※ 总 结 ※
这是love1005lin在CSDN上2021-11-19发布的一篇深度学习的卷积神经网,内容整理的精简,移动,现在将其进行转载,并发布在公众号“TSINGHUAZHUOQING”中。
深度学习-卷积神经网络(CNN)[2] : https://blog.csdn.net/love1005lin/article/details/121418206?utm_source=app&app_version=4.20.0
参考资料
[1]深度学习-卷积神经网络(CNN): https://blog.csdn.net/love1005l
本文链接:https://www.kjpai.cn/xuetang/2024-05-02/164382.html,文章来源:网络cs,作者:纳雷武,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!