原文鏈接:https://www.cnblogs.com/hellcat/p/8058335.html
1.網(wǎng)絡(luò)背景
自2012年Alexnet提出以來(lái),圖像分類(lèi)啸臀、目標(biāo)檢測(cè)等一系列領(lǐng)域都被卷積神經(jīng)網(wǎng)絡(luò)CNN統(tǒng)治著。接下來(lái)的時(shí)間里玻募,人們不斷設(shè)計(jì)新的深度學(xué)習(xí)網(wǎng)絡(luò)模型來(lái)獲得更好的訓(xùn)練效果览濒。一般而言,許多網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)(例如從VGG到RESNET可以給很多不同的計(jì)算機(jī)視覺(jué)領(lǐng)域帶來(lái)進(jìn)一步性能的提高反肋。
這些CNN模型都有一個(gè)通材欠ァ:計(jì)算量大。最早的AlexNet含有60M個(gè)參數(shù)石蔗,之后的VGGNet參數(shù)大致是AlexNet的3倍之多罕邀,而14年GoogLe提出的GoogleNet僅有5M個(gè)參數(shù),效果和AlexNet不相上下养距。雖然有一些計(jì)算技巧可以減少計(jì)算量诉探,但是在無(wú)形中會(huì)增加模型的復(fù)雜度。參數(shù)少的模型在一些超大數(shù)據(jù)量或內(nèi)存受限的場(chǎng)景下具有很大優(yōu)勢(shì)棍厌。
2.卷積的因式分解
GoogleNet帶來(lái)的性能提升很大程度上要?dú)w功于“降維”肾胯,也就是卷積分解的一種《ㄍ考慮到網(wǎng)絡(luò)鄰近的激活單元高度相關(guān)阳液,因此聚合之前進(jìn)行降維可以得到類(lèi)似于局部特征的東西。接下來(lái)主要討論其他的卷積分解方法揣炕。既然Inception網(wǎng)絡(luò)是全卷積帘皿,卷積計(jì)算變少也就意味著計(jì)算量變小,這些多出來(lái)的計(jì)算資源可以來(lái)增加filter-bank的尺寸大小畸陡。
卷積因式分解成小的卷積
卷積核大鹰溜,計(jì)算量也是成平方地增大虽填。假設(shè)有一個(gè)5*5的卷積核,我們可以Figure1將其分成兩次3*3卷積曹动,這樣輸出的尺寸就一樣了斋日。雖然5*5的卷積可以捕捉到更多的鄰近關(guān)聯(lián)信息,但兩個(gè)3*3組合起來(lái)墓陈,能觀(guān)察到的“視野”就和5*5的一樣了恶守。
進(jìn)行分解后,原來(lái)的Inception結(jié)構(gòu)也相應(yīng)發(fā)生改變(從Figure4變到Figure5)贡必。?
還有兩個(gè)問(wèn)題兔港,一個(gè)是就是這樣分解是否會(huì)導(dǎo)致表達(dá)損失,還有一個(gè)是是否要在兩個(gè)卷積之間添加非線(xiàn)性計(jì)算仔拟。通過(guò)實(shí)驗(yàn)表明衫樊,因式分解沒(méi)有帶來(lái)太大問(wèn)題,而在卷積之間添加非線(xiàn)性效果也更好利花。
卷積因式分解為空間不對(duì)稱(chēng)卷積
其實(shí)科侈,以上的卷積分解還不是最優(yōu)策略,3*3卷積還可以進(jìn)一步分解為1*3和3*1炒事,兩個(gè)卷積分別捕捉不同方向的信息臀栈,參數(shù)只有之前的6/9。其實(shí)挠乳,這個(gè)可以推廣到n*n卷積的情況挂脑,n*n卷積因式分解為1*n和n*1。這個(gè)方法在網(wǎng)絡(luò)前面部分似乎表現(xiàn)欠佳欲侮,但在中間層起到很好的效果崭闲。?
3.輔助分類(lèi)器
輔助分類(lèi)器這個(gè)概念在GoogleNet中已經(jīng)用到了,就是把一些網(wǎng)絡(luò)中間層提前拿出類(lèi)進(jìn)行回歸分類(lèi)威蕉,主要目的是為了更有效地回傳梯度刁俭。作者發(fā)現(xiàn),輔助分類(lèi)器在其中扮演者regularizer的角色韧涨,因?yàn)檩o助分類(lèi)器使用了batch normalization后牍戚,效果會(huì)更好。
4.降低特征圖尺寸
為了減少計(jì)算量且保留特征表達(dá)虑粥,作者提出一種雙線(xiàn)結(jié)構(gòu)如孝,將分別進(jìn)行池化和步長(zhǎng)為2的卷積操作,最后在合并起來(lái)(如下圖)娩贷。?