池化层的输入一般来源于上一个卷积层,主要作用是提供了很强的鲁棒性(例如max-pooling是取一小块区域中的最大值,此时若此区域中的其他值略有变化,或者图像稍有平移,pooling后的结果仍不变),并且减少了参数的数量,防止过拟合现象的发生。池化层一般没有参数,所以反向传播的时候,只需对输入参数求导,不需要进行权值更新。
池化层夹在连续的卷积层中间, 用于压缩数据和参数的量,减小过拟合。简而言之,如果输入是图像的话,那么池化层的最主要作用就是压缩图像。
池化层没有参数需要训练,因为此层已经定义了卷积核(过滤器)的尺寸和规则(但是张重生的深度学习书上引用的98年文献有权重系数和偏重两个参数,大家可以研究研究),其中规则目前可用的方法有MAX, AVE, 或STOCHASTIC(随机),默认为MAX。
池化层又进行了一次特征提取,这能够有更大可能性进一步获取更为抽象的信息,从而防止过拟合提高泛化性,同时由于这种抽象性,能够对输入的微小变化产生更大的容忍,保持不变性。这里的微小的变化包括图像的少量平移、旋转以及缩放等。
1.特征不变性,也就是我们在图像处理中经常提到的特征的尺度不变性,池化操作就是图像的resize,平时一张狗的图像被缩小了一倍我们还能认出这是一张狗的照片,这说明这张图像中仍保留着狗最重要的特征,我们一看就能判断图像中画的是一只狗,图像压缩时去掉的信息只是一些无关紧要的信息,而留下的信息则是具有尺度不变性的特征,是最能表达图像的特征。
2.特征降维,我们知道一幅图像含有的信息是很大的,特征也很多,但是有些信息对于我们做图像任务时没有太多用途或者有重复,我们可以把这类冗余信息去除,把最重要的特征抽取出来,这也是池化操作的一大作用。
3.在一定程度上防止过拟合,更方便优化。