各种Pooling方法适用哪些情况?

Caffe中已经支持的Pooling类型有Max最大、Ave平均和Stochastic随机,那么请问大家在使用时主要是用的哪一个呢?效果上有区别吗?还有除了这三种,还有什么Pooling方式呢?
已邀请:

CHMIT

赞同来自: 一的千分之一 xjtuljy hitlwy

链接:https://www.zhihu.com/question ... 96910
来源:知乎

pooling的结果是使得特征减少,参数减少,但pooling的目的并不仅在于此。pooling目的是为了保持某种不变性(旋转、平移、伸缩等),常用的有mean-pooling,max-pooling和Stochastic-pooling三种。
mean-pooling,即对邻域内特征点只求平均,max-pooling,即对邻域内特征点取最大。根据相关理论,特征提取的误差主要来自两个方面:(1)邻域大小受限造成的估计值方差增大;(2)卷积层参数误差造成估计均值的偏移。一般来说,mean-pooling能减小第一种误差,更多的保留图像的背景信息,max-pooling能减小第二种误差,更多的保留纹理信息。Stochastic-pooling则介于两者之间,通过对像素点按照数值大小赋予概率,再按照概率进行亚采样,在平均意义上,与mean-pooling近似,在局部意义上,则服从max-pooling的准则。
LeCun的“Learning Mid-Level Features For Recognition”对前两种pooling方法有比较详细的分析对比,如果有需要可以看下这篇论文。
 
其实pooling的目的就是为了使参数量减少,因为根本不需要那么多参数。pooling也只能做到在极小范围内的平移不变性,旋转和 伸缩是做不到的。其实不变性都是特征工程时代的概念了,现在在数据量极大的情况下,样本覆盖了足够多的variance,dnn自动就会把各种不变性学习出来。(摘自评论)
 

辛淼 - CaffeCN社区创始人

赞同来自: uestc_yang

使用Pooling的目的之一是获取一定的特征不变性,目前用的比较多的是Max Pooling。
max pooling是DCNN的非线性来源之一,然后在现代的深度神经网络中,最大的非线性来源是ReLU类的激活函数。
因此,目前对使用Pooling也存在一定的争议,一些最新的工作已经不在网络的中间层使用pooling层了(或者只在最后一层使用average pooling)。

shuokay

赞同来自:

使用最多的是max,其次是ave,ave主要用在global pooling的时候~

要回复问题请先登录注册