池化函数(Pooling Function)

1. 池化(Pooling)概念

在神经网络中,池化函数(Pooling Function)一般在卷积函数的下一层在经过卷积层提取特征之后,得到的特征图代表了  比  像素   更高级的特征,已经可以交给 分类器 进行训练分类了。但是我们 每一组卷积核  都生成 一副与原图像素相同大小的  卷积图,节点数一点没少。如果使用了 多个卷积核  还会使得通道数比之前多的多!我靠,这维度不一下子上去了嘛。所以卷积之后我们需要进行池化,也就是进行降维。


池化操作是利用一个矩阵窗口张量上进行扫描,将每个矩阵中的通过取最大值或者平均值等来减少元素的个数(备注:最大值和平均值的方法可以使得特征提取拥有“平移不变性”,也就说图像有了几个像素的位移情况下,依然可以获得稳定的特征组合,平移不变形对于识别十分重要)。

池化的过程:如下图所示(左边红色区域里边的数据分别为2 2 2 4,有点不清晰),kernel size 就是矩阵窗口大小,Stides 就是移动的步长。

Max Pooling就找每个矩阵窗口中的最大值;

Mean Pooling就是对每个矩阵窗口中取平均值;

Stochastic Pooling详解见http://www.cnblogs.com/tornadomeet/p/3432093.html

池化函数(Pooling Function)

其他的地方和卷积相似:

[python] view plain copy
 print?
  1. pool = tf.nn.max_pool(conv, ksize=[1,2,2,1], strides=[1,2,2,1], padding='SAME')