池化层的目的主要是为了降低维度
1.池化层
结构框架
1.1max-pooling(最大池化层)
图中输入为卷积层1的输出,大小为4*24,对每个不重叠的2*2的区域进行降采样,步长为2。对于max-pooling,选出每个区域中的最大值作为输出,例如,左上的(1,1,2,3)最大的是3,右上是3,左下是3,右下是2。而对于mean-pooling,需计算每个区域的平均值作为输出。最终,该层输出一个(4/2)*(24/2)的map。
1.2代码理解
layer {
name: "pool1" #该层的名称
type: "Pooling" #该层的类型
bottom: "conv1" #该层的输入数据blob
top: "pool1" #该层的输出数据blob
pooling_param {
pool: MAX #Pool为池化方式,默认值为MAX,可以选择的参数有MAX、AVE、STOCHASTIC
kernel_size: 2 #池化区域核的大小,也可以用kernel_h和kernel_w分别设置长和宽
stride: 2 #步长,即每次池化区域左右或上下移动的距离,一般和kernel_size相同,即为不重叠池化。也可以也可以小于kernel_size,即为重叠池化,Alexnet中就