池化层(pooling)又叫下采样层,目的是压缩数据,降低数据维度。常用的池化方式主要有两种:一种是最大池化(max pooling);另一种是平均池化(average pooling)。
如图3.13所示,经过卷积计算之后获得一张特征图,特征图中左上角的2×2的四个值实际上表示的是输入图像中的左上角4×4的区域,其中的一个值代表的是输入图像中的一个3×3的区域,这就是卷积计算后特征图中一个元素的感受野大小。而下采样就是对特征图的一个2×2区域进行,如以最大池化的方式进行下采样,就只保留这个2×2区域中四个值当中的最大值;而如以平均池化的方式进行下采样,则是保留这四个值的平均值。最大池化(max pooling)对于图像处理来讲相当于将图像中最突出、最显著的特征保留下来;平均池化(average pooling)则相当于对图像中相邻特征之间的差别进行模糊处理。这两种池化方式各有各的优势,适用不同的场景,具体应用需要视实际情况而定。经过池化操作之后,原特征图就由4×4变成了一张2×2,在这个2×2的特征图中,左上角40这个值对应的是原特征图中左上角的四个值,也就是说这一个值就可以代表原特征图中的四个值,而对应输入图像中的则是一个4×4的区域。
图3.13 池化
在经过最大池化之后,特征图中的一个值的感受野由原来的3×3增大至4×4,这也意味着这一层特征图中的语义信息的力度相较于之前也得到了提高,同样大小的特征图却能够表示更多的信息。
一般来讲,卷积神经网络在做完卷积和池化运算之后一般还会接一个全连接层。全连接层的主要作用是将卷积层输出的二维矩阵特征图拉伸转化为一个一维向量再将其输入到最后诸如Softmax或tanh等激励层获得结果。