【模型解读】pooling去哪儿了?
文章首發(fā)于微信公眾號(hào)《與有三學(xué)AI》
【模型解讀】pooling去哪兒了?
這是深度學(xué)習(xí)模型解讀第5篇,本篇我們將介紹深度學(xué)習(xí)模型中的pooling。
作者&編輯 | 言有三
?
01 概述
相信大家都記得,LeNet5,AlexNet,Vgg系列的核心思想,是convolution+pooling的核心結(jié)構(gòu)。
?
但是,不知道從何時(shí)開(kāi)始,pooling沒(méi)了,對(duì),就是沒(méi)了。這是mobilenet【1】可視化后的部分結(jié)構(gòu)圖,懶得去畫(huà)block圖了。
?
如今大部分情況下,pooling就出現(xiàn)在網(wǎng)絡(luò)的最后,或者一些需要concat/add不同通道的block里面,為何?本文從3個(gè)方面來(lái)說(shuō)說(shuō)。
?
02 pooling是什么
pooling,小名池化。
?
上圖就是一個(gè)池化的示意圖,用了一個(gè)10*10的卷積核,對(duì)20*20的圖像分塊不重疊的進(jìn)行了池化,池化之后featuremap為2*2的大小。
pooling有什么用呢?或者說(shuō)為什么需要pooling呢?
原因有幾個(gè):
(1)?增大感受野
所謂感受野,即一個(gè)像素對(duì)應(yīng)回原圖的區(qū)域大小,假如沒(méi)有pooling,一個(gè)3*3,步長(zhǎng)為1的卷積,那么輸出的一個(gè)像素的感受野就是3*3的區(qū)域,再加一個(gè)stride=1的3*3卷積,則感受野為5*5,我們看左上角像素的傳播就明白了。
?
依次,再多一個(gè)卷積,則為7*7,如果想看到224*224的全圖,大家可以算算需要多少卷積層。
假如我們?cè)诿恳粋€(gè)卷積中間加上3*3的pooling呢?很明顯感受野迅速增大,這就是pooling的一大用處。感受野的增加對(duì)于模型的能力的提升是必要的,正所謂“一葉障目則不見(jiàn)泰山也”。
(2)?平移不變性
我們希望目標(biāo)的些許位置的移動(dòng),能得到相同的結(jié)果。因?yàn)閜ooling不斷地抽象了區(qū)域的特征而不關(guān)心位置,所以pooling一定程度上增加了平移不變性。
(3)?容易優(yōu)化,pooling是每個(gè)featuremap單獨(dú)做降采樣,與基于卷積的降采樣相比,不需要參數(shù),更容易優(yōu)化。
?
03 如何去除pooling
那pooling是必要的嗎?答案已經(jīng)很明了了,不需要。文【2】做了詳細(xì)的實(shí)驗(yàn),在cifar,imagenet等多個(gè)數(shù)據(jù)集上實(shí)驗(yàn)結(jié)果表明,完全沒(méi)有必要。因?yàn)槲覀兛梢杂貌介L(zhǎng)大于1的卷積來(lái)替代。
當(dāng)步長(zhǎng)不為1時(shí),降采樣的速度將變快。
當(dāng)stride,也就是步長(zhǎng)等于2,上面的5*5一次卷積后就為2*2了。這其實(shí)還減輕了重疊的卷積操作,通過(guò)卷積來(lái)學(xué)習(xí)了降采樣,看起來(lái)好處還是不少的。
實(shí)驗(yàn)結(jié)果也佐證了這一點(diǎn)。
?
?
上面就是作者的實(shí)驗(yàn)結(jié)果,all-cnn-c相比convpool-cnn-c,就是在同等卷積層的基礎(chǔ)上,去掉了pooling,結(jié)果B和C系列模型效果都是提升的,關(guān)于A,B,C系列具體細(xì)節(jié)大家可以參考文章。
總之,不管是文獻(xiàn)的研究結(jié)果,以及大家的實(shí)際使用經(jīng)驗(yàn),都已經(jīng)完全使用帶步長(zhǎng)的卷積替換掉了pooling這一降采用的操作。
?
04pooling沒(méi)用了嗎?
答案是有,因?yàn)閜ooling相對(duì)于帶步長(zhǎng)的卷積操作,畢竟減少了計(jì)算量,所以對(duì)于很多需要concat/add?featuremap通道的小模型,pooling仍然可以以小搏大。比如下面的shufflenet的block。
?
不過(guò)總的來(lái)說(shuō),pooling,走好。
?
參考文獻(xiàn)
【1】Howard A G, Zhu M, Chen B, et al. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications[J]. 2017.
【2】Springenberg J T, Dosovitskiy A, Brox T, et al. Striving for Simplicity: The All Convolutional Net[J]. Eprint Arxiv, 2014.
【3】Zhang X, Zhou X, Lin M, et al. ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices[J]. 2017.
?
同時(shí),在我的知乎專(zhuān)欄也會(huì)開(kāi)始同步更新這個(gè)模塊,歡迎來(lái)交流
https://zhuanlan.zhihu.com/c_151876233
注:部分圖片來(lái)自網(wǎng)絡(luò)
—END—
轉(zhuǎn)載請(qǐng)留言,侵權(quán)必究
本系列的完整目錄:
【模型解讀】從LeNet到VGG,看卷積+池化串聯(lián)的網(wǎng)絡(luò)結(jié)構(gòu)
【模型解讀】network in network中的1*1卷積,你懂了嗎
【模型解讀】GoogLeNet中的inception結(jié)構(gòu),你看懂了嗎
【模型解讀】說(shuō)說(shuō)移動(dòng)端基準(zhǔn)模型MobileNets
【模型解讀】pooling去哪兒了?
【模型解讀】resnet中的殘差連接,你確定真的看懂了?
【模型解讀】“不正經(jīng)”的卷積神經(jīng)網(wǎng)絡(luò)
【模型解讀】“全連接”的卷積網(wǎng)絡(luò),有什么好?
【模型解讀】從“局部連接”回到“全連接”的神經(jīng)網(wǎng)絡(luò)
【模型解讀】深度學(xué)習(xí)網(wǎng)絡(luò)只能有一個(gè)輸入嗎
【模型解讀】從2D卷積到3D卷積,都有什么不一樣
【模型解讀】淺析RNN到LSTM
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續(xù)內(nèi)容將會(huì)不定期奉上,歡迎大家關(guān)注有三公眾號(hào) 有三AI!
?
?
總結(jié)
以上是生活随笔為你收集整理的【模型解读】pooling去哪儿了?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【模型解读】说说移动端基准模型Mobil
- 下一篇: 【模型解读】resnet中的残差连接,你