deep learning :the effect of pooling

链接:https://www.zhihu.com/question/36686900/answer/130890492
来源:知乎

主要是两个作用:
1. invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度)
2. 保留主要的特征同时减少参数(降维,效果类似PCA)和计算量,防止过拟合,提高模型泛化能力

(1) translation invariance:
这里举一个直观的例子(数字识别),假设有一个16x16的图片,里面有个数字1,我们需要识别出来,这个数字1可能写的偏左一点(图1),这个数字1可能偏右一点(图2),图1到图2相当于向右平移了一个单位,但是图1和图2经过max pooling之后它们都变成了相同的8x8特征矩阵,主要的特征我们捕获到了,同时又将问题的规模从16x16降到了8x8,而且具有平移不变性的特点。图中的a(或b)表示,在原始图片中的这些a(或b)位置,最终都会映射到相同的位置。


(2) rotation invariance:
下图表示汉字“一”的识别,第一张相对于x轴有倾斜角,第二张是平行于x轴,两张图片相当于做了旋转,经过多次max pooling后具有相同的特征


(3) scale invariance:
下图表示数字“0”的识别,第一张的“0”比较大,第二张的“0”进行了较小,相当于作了缩放,同样地,经过多次max pooling后具有相同的特征

pooling的缺点:
       pooling能够增大感受野,让卷积看到更多的信息,但是它在降维的过程中丢失了一些信息(因为毕竟它变小了嘛,只留下了它认为重要的信息),所以pooling增大感受野的前提是丢失了一些信息(即降低了分辨率),这对segmentation要求的精确度location有一定的影响。
       所以pooling层跟segmentation有一定的冲突,但是你不用又不行,感受野可以帮你提高准确率,而且还可以降计算量,增强模型泛化能力,所以感受野,分辨率,参数三者很难共存,现在有很多方法可以改进这个

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章