池化层(pooling)
卷积神经网络中,池化层可以有效缩小矩阵的尺寸,既可以加快计算速度,也可以防止过拟合
常用的池化层有两种:最大池化层(max pooling) 以及 平均池化层(average pooling)
池化层的过滤器与卷积层类似,卷积层的过滤器是横跨整个深度的,而池化层的只影响当前深度的一个节点,所以池化层的过滤器要在长、宽以及深度这三个维度上移动。
tensorflow实现算法如下:
#tf.nn.max_pool实现了最大池化层的前向传播过程,参数与tf.nn.conv2d类似
#ksize提供了过滤器的尺寸(第一维与最后一维只能为1),strides提供步长信息(第一维与最后一维只能为1),padding提供了是否使用全0填充
pool = tf.nn.max_pool(activated_conv, ksize=[1,3,3,1],strides=[1,2,2,1], padding='SAME')
padding参数只有两种取值:VALID 表示不使用 全0填充
SAME 表示使用 全0填充