CNN卷积神经网络各个层的作用

卷积神经网络(CNN)由输入层、卷积层、激活函数、池化层、全连接层组成。

1、卷积层

1.1作用

用来进行特征提取
在这里插入图片描述

在这里插入图片描述

输入图像是32323,3是它的深度(即R、G、B),卷积层是一个553的filter(感受野),这里注意:感受野的深度必须和输入图像的深度相同。通过一个filter与输入图像的卷积可以得到一个28281的特征图,上图是用了两个filter得到了两个特征图;

1.2 计算过程

输入图像和filter的对应位置元素相乘再求和,最后再加上b,得到特征图。

如图中所示,filter
w0的第一层深度和输入图像的蓝色方框中对应元素相乘再求和得到0,其他两个深度得到2,0,则有0+2+0+1=3即图中右边特征图的第一个元素3.,卷积过后输入图像的蓝色方框再滑动,stride=2,如下:

在这里插入图片描述

如上图,完成卷积,得到一个331的特征图;在这里还要注意一点,即zero
pad项,即为图像加上一个边界,边界元素均为0.(对原输入无影响)一般有

F=3 => zero pad with 1

F=5 => zero pad with 2

F=7=> zero pad with 3,边界宽度是一个经验值,加上zero
pad这一项是为了使输入图像和卷积后的特征图具有相同的维度,如:

输入为553,filter为333,在zero pad 为1,则加上zero
pad后的输入图像为773,则卷积后的特征图大小为551((7-3)/1+1),与输入图像一样;

1.3 共享原则

卷积层还有一个特性就是“权值共享”原则。
如没有这个原则,则特征图由10个32x32x1的特征图组成,即每个特征图上有1024个神经元,每个神经元对应输入图像上一块5x5x3的区域,即一个神经元和输入图像的这块区域有75个连接,即75个权值参数,则共有75x1024x10=768000个权值参数,这是非常复杂的,因此卷积神经网络引入“权值”共享原则,即一个特征图上每个神经元对应的75个权值参数被每个神经元共享,这样则只需75x10=750个权值参数,而每个特征图的阈值也共享,即需要10个阈值,则总共需要750+10=760个参数。

补充:

(1)对于多通道图像做1*1卷积,其实就是将输入图像的每个通道乘以系数后加在一起,即相当于将原图中本来各个独立的通道“联通”在了一起;

(2)权值共享时,并不是所有维度中共享,只是在每一个filter上的每一个channel中是共享的;

2、激活层

所谓激励,实际上是对卷积层的输出结果做一次非线性映射。
  如果不用激励函数(其实就相当于激励函数是f(x)=x),这种情况下,每一层的输出都是上一层输入的线性函数。容易得出,无论有多少神经网络层,输出都是输入的线性组合,与没有隐层的效果是一样的,这就是最原始的感知机了。

在这里插入图片描述

常用的激励函数有:

  • Sigmoid函数
  • Tanh函数
  • ReLU
  • Leaky ReLU
  • ELU
  • Maxout

激励层建议:首先ReLU,因为迭代速度快,但是有可能效果不加。如果ReLU失效的情况下,考虑使用Leaky ReLU或者Maxout,此时一般情况都可以解决。Tanh函数在文本和音频处理有比较好的效果。

3、池化层

池化(Pooling):也称为欠采样或下采样。主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。主要有:

(1)Max Pooling:最大池化。 选取最大的,我们定义一个空间邻域(比如,2x2的窗口),并从窗口内的修正特征图中取出最大的元素,最大池化被证明效果更好一些。
(2)Average Pooling:平均池化 。 平均的,我们定义一个空间邻域(比如,2x2的窗口),并从窗口内的修正特征图中算出平均值。

在这里插入图片描述

4、全连接层

经过前面若干次卷积+激励+池化后,终于来到了全连接层(输出层),模型会将学到的一个高质量的特征图片全连接层。其实在全连接层之前,如果神经元数目过大,学习能力强,有可能出现过拟合。因此,可以引入dropout操作,来随机删除神经网络中的部分神经元,来解决此问题。还可以进行局部归一化(LRN)、数据增强等操作,来增加鲁棒性。
  当来到了全连接层之后,可以理解为一个简单的多分类神经网络(如:BP神经网络),通过softmax函数得到最终的输出。整个模型训练完毕。
  两层之间所有神经元都有权重连接,通常全连接层在卷积神经网络尾部。也就是跟传统的神经网络神经元的连接方式是一样的:

在这里插入图片描述

卷积神经网络总体大致结构如图:

在这里插入图片描述

另外:CNN网络中前几层的卷积层参数量占比小,计算量占比大;而后面的全连接层正好相反,大部分CNN网络都具有这个特点。因此我们在进行计算加速优化时,重点放在卷积层;进行参数优化、权值裁剪时,重点放在全连接层。

5、总结

(1)卷积层:局部感知,人的大脑识别图片的过程中,并不是一下子整张图同时识别,而是对于图片中的每一个特征首先局部感知,然后更高层次对局部进行综合操作,从而得到全局信息。
(2)激活层:对卷积层的输出结果做一次非线性映射。
(3)池化层:主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。
(4)全连接层:连接所有的特征,将输出值送给分类器(如softmax分类器)。

借鉴链接

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值