深度学习技术之池化(Pooling)
一、池化简介
池化在深度学习的卷积神经网络中经常用到的,它通常和卷积层一起,用来减小网络大小。池化最常用的是MaxPooling,其作用是把相关区域的最大值取出来。

如上图所示,这里采用一个池化层,将原来4×4的输入数据变成一个2×2的数据。其做法是首先将原始数据划分成4个区域,然后将每个区域的最大值拿出来作为新数据的结果。如左上角第一块区域(粉色区域)最大值是20,那么该位置输出的数据就是20,这就是MaxPooling。
这里池化的作用相当于给了一个f=2×2大小的卷积核(滤波器)以步长为stride=2来扫描原来的4×4的数据,最终得到了一个新的2×2的数据。所以,池化的维度计算和卷积层的维度计算一样。参考深度学习卷积操作的维度计算。对于三维数据的池化也是类似卷积的操作,注意的是,一个卷积核对输入数据进行卷积操作,不论输入数据的通道数有多少个,最终只会产生一个单通道的结果,即一个二维数据,因此要求卷积核的第三个维度和输入数据的通道数一样。最终计算的结果是每个通道的卷积操作的结果相加。而池化的时候,卷积核第三个维度和输入数据的通道数也是一样的。只是取完区域最大值之后,几个通道结果不在一起取最大值,因此
