神经网络中往往包含卷积层、池化层、全连接层、输出层。各层都有各层的作用。
1.卷积层
卷积层特征图的神经元通过一组滤波器或权值矩阵与前一层特征图上的部分神经元相连,局部连接的区域又称为接受域。接收阈上的神经元与权值矩阵卷积之后,经过非线性激励生成本层的特征图,并作为下一层的输入。卷积时,同一个特征图上的所有接受域共享一组权值矩阵,称为权值共享。同一层网络的不同特征图使用不同权值矩阵,特征图的个数也可以理解为通道数。每一组权值矩阵检测输入数据特定的特征,因此,每一个特征图表达了前一层不同位置的特定特定特征。局部连接与权值共享的优点之一大大减少了网络的自由参数,一定程度上避免了网络过拟合,同时减小存储容量。这种卷积结构的依据是图像数据的空间相关性及其目标特征的位移不变性。换句话说,如果一个特征图出现在图像的某一部分,那它同样可以出现在其他任意位置。这也就解释了为什么不同位置的神经元共享权值矩阵去检测图像的特征。
2.池化层
池化层的作用是对卷积层检测的相同特征进行融合。将卷积层每一个特征图划分为若干局部切片,池化函数计算每个切片的统计特征。池化层特征图的数量和卷积层相同。常用的两种池化方式是最大值池化和平均池化,即取切片的最大值或平均值作为池化层特征图的输入。因此,池化层又称为下采样层。除了降低特征图的维度,池化对特征小范围的位移以及畸变具有不变性。当焦点是特征本身而非其所在位置时,位移不变性时很好的特性。
1.Global Pooling
Global Pooling,中文是全局池化,其实是一种比一般池化还要简单的池化操作。在一般的池化中,我们需要用一个类似卷积核一样的东西,来规定步长从而进行取最大值或者平均值的操作,也就是我们常说的最大池化或者平均池化,这种操作通常会改变特征图的尺寸,而改变后的尺寸计算与卷积的计算完全一致。而Global Pooling就十分简单了,它直接就对整个特征图进行池化操作,也就是说它的核的尺寸就是特征图的的尺寸,最后对整张特征图的每个通道都只得到一个值,所以一个HxWxC的特征图经过一次全局池化它的尺寸就变成了1x1xC 。
我们用一个2x2x2的特征图来举例说明,它的全局平均池化过程如下图所示:
3.全连接层
卷积神经网络的顶端通常包含一层或多层全连接层。与卷积层不同,全连接层的神经元排成一列,这些神经元与前一层神经元通过权值互连,呈全连接结构。全连接层的层数以及每层神经元数并不固定。通常层数越高,神经元数目越少。所以卷积层比全连接层的优点在于:参数量少,计算比较便捷;稀疏连接。
4.输出层
经过多层特征提取后,最后一层输出层可视为分类器,预测输入样本的类别。