深入理解CNN卷积神经网络各层的意义

卷积神经网络的一般架构

Convolution–卷积层

Pooling–池化层

Fully connected–全连接层

深入理解CNN卷积神经网络各层的意义

池化层

【作用】:缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性(可以理解为抗干扰性能)

【分类】:

  • Max Pooling:最大池化
  • Average Pooling:平均池化

最大池化(效率高)

深入理解CNN卷积神经网络各层的意义
【处理】:以上图为例,将输入分为四个区域,取出每个区域的最大值,组成新的矩阵

【理解】:可以把输入的矩阵看作是某些特征的集合,数字大意味着过滤器提取了某些特定的特征,池化就是任意一个区域提取到了最大特

征就会保留在最大池化的输出里面,如果没有提取到,那么最大值仍然很小。

【特点】:卷积层输出大小公式同样适用于池化

只不过这里的过滤器指的是划分的池化区域

以上图为例:f = 2 s = 2 p = 0 n = 4

output become (n + 2 * p - f)/s + 1 = 2

平均池化

深入理解CNN卷积神经网络各层的意义
【处理】:取每个区域的平均值,组成新的矩阵

【总结】:最大池化要比平均池化用的更多,两者都是计算神经网络某一层的静态属性