pooling

max pooling###

作用: 1. 减少计算量 2. 保证了平移不变性:因为取一片区域的最大值,所以这个最大值在该区域内无论在哪,max-pooling之后都是它,相当于对微小位移的不变性

stochastic pooling###

对feature map中的元素按照其概率值大小随机选择,即元素值大的被选中的概率也大。每个元素的概率值,用元素值归一化得到。

使用stochastic pooling时(即test过程),其推理过程也很简单,对矩阵区域求加权平均即可。?

得到每个元素的概率值后如何随机选择? 方法是:将其看作是9个变量的多项式分布,然后对该多项式分布采样即可,theano中有直接的multinomial()来函数完成。 当然也可以自己用01均匀分布来采样,将单位长度1按照那9个概率值分成9个区间(概率越大,覆盖的区域越长,每个区间对应一个位置),然随机生成一个数后看它落在哪个区间。

在反向传播求导时,只需保留前向传播已经记录被选中节点的位置的值,其它值都为0,这和max-pooling的反向传播非常类似。

参考佳文####

UFLDL Tutorial-Pooling stochastic pooling

Last updated