卷積神經(jīng)網(wǎng)絡(luò)Inception?V3網(wǎng)絡(luò)結(jié)構(gòu)圖
《Rethinking the Inception Architecture for Computer Vision》
2015,Google,Inception V3
1.基于大濾波器尺寸分解卷積
GoogLeNet性能優(yōu)異很大程度在于使用了降維。降維可以看做卷積網(wǎng)絡(luò)的因式分解。例如1x1卷積層后跟著3x3卷積層。在網(wǎng)絡(luò)角度看,激活層的輸出是高相關(guān)的;因此在聚合前進(jìn)行降維,可以得到類似的局部表示性能。
這里,考慮計(jì)算性能,我們探索其他形式的卷積因式分解。因?yàn)镮nception結(jié)構(gòu)是全卷積,每一個(gè)激活值對(duì)應(yīng)的每一個(gè)權(quán)重,都對(duì)應(yīng)一個(gè)乘法運(yùn)算。因此減小計(jì)算量意味著減少參數(shù)。所以通過(guò)解耦和參數(shù),可以加快訓(xùn)練。利用節(jié)省下來(lái)的計(jì)算和內(nèi)存增加filter-bank大小,來(lái)提升網(wǎng)絡(luò)性能。
1.1分解到更小的卷積
具有較大空間濾波器(例如5×5或7×7)的卷積在計(jì)算方面往往不成比例地昂貴。例如,具有n個(gè)濾波器的5×5卷積在具有m個(gè)濾波器的網(wǎng)格上比具有相同數(shù)量的濾波器的3×3卷積的計(jì)算量高25/9=2.78倍。當(dāng)然,5×5濾波器在更前面的層可以捕獲更遠(yuǎn)的單元激活之間、信號(hào)之間的依賴關(guān)系,因此濾波器幾何尺寸的減小帶來(lái)了很大的表現(xiàn)力。然而,我們可以詢問(wèn)5×5卷積是否可以被具有相同輸入尺寸和輸出深度的參數(shù)較小的多層網(wǎng)絡(luò)所取代。如果我們放大5×5卷積的計(jì)算圖,我們看到每個(gè)輸出看起來(lái)像一個(gè)小的完全連接的網(wǎng)絡(luò),在其輸入上滑過(guò)5×5的塊(見(jiàn)圖1)。由于我們正在構(gòu)建視覺(jué)網(wǎng)絡(luò),所以通過(guò)兩層的卷積結(jié)構(gòu)再次利用平移不變性來(lái)代替全連接的組件似乎是很自然的:第一層是3×3卷積,第二層是在第一層的3×3輸出網(wǎng)格之上的一個(gè)全連接層(見(jiàn)圖1)。通過(guò)在輸入激活網(wǎng)格上滑動(dòng)這個(gè)小網(wǎng)絡(luò),用兩層3×3卷積來(lái)替換5×5卷積(比較圖2)。
圖1.Mini網(wǎng)絡(luò)替換5×5卷積
圖2.Inception模塊中每個(gè)5×5卷積由兩個(gè)3×3卷積替換
對(duì)于分解的卷積層,使用線性激活還是非線性激活,實(shí)驗(yàn)表明,非線性激活性能更好。
1.2. 空間分解為不對(duì)稱卷積
上述結(jié)果表明,大于3×3的卷積濾波器可能不是通常有用的,因?yàn)樗鼈兛偸强梢院?jiǎn)化為3×3卷積層序列。我們?nèi)匀豢梢詥?wèn)這個(gè)問(wèn)題,是否應(yīng)該把它們分解成更小的,例如2×2的卷積。然而,通過(guò)使用非對(duì)稱卷積,可以做出甚至比2×2更好的效果,即n×1。例如使用3×1卷積后接一個(gè)1×3卷積,相當(dāng)于以與3×3卷積相同的感受野滑動(dòng)兩層網(wǎng)絡(luò)(圖3)。如果輸入和輸出濾波器的數(shù)量相等,那么對(duì)于相同數(shù)量的輸出濾波器,兩層解決方案便宜33%。相比之下,將3×3卷積分解為兩個(gè)2×2卷積表示僅節(jié)省了11%的計(jì)算量。
圖3.將一個(gè)33的卷積拆成13卷積和3*1卷積
在理論上,我們可以進(jìn)一步論證,可以通過(guò)1×n卷積和后面接一個(gè)n×1卷積替換任何n×n卷積,并且隨著n增長(zhǎng),計(jì)算成本節(jié)省顯著增加(圖4)。實(shí)際上,我們發(fā)現(xiàn),采用這種分解在前面的層次上不能很好地工作,但是對(duì)于中等網(wǎng)格尺寸(在m×m特征圖上,其中m范圍在12到20之間),其給出了非常好的結(jié)果。在這個(gè)水平上,通過(guò)使用1×7卷積,然后是7×1卷積可以獲得非常好的結(jié)果。
圖4.n×n卷積分解后的Inception模塊。
在我們提出的架構(gòu)中,對(duì)17×17的網(wǎng)格我們選擇n=7。
2. 利用輔助分類器
Inception V1引入了輔助分類器的概念,以改善非常深的網(wǎng)絡(luò)的收斂。最初的動(dòng)機(jī)是將有用的梯度推向較低層,使其立即有用,并通過(guò)抵抗非常深的網(wǎng)絡(luò)中的消失梯度問(wèn)題來(lái)提高訓(xùn)練過(guò)程中的收斂。有趣的是,我們發(fā)現(xiàn)輔助分類器在訓(xùn)練早期并沒(méi)有導(dǎo)致改善收斂:在兩個(gè)模型達(dá)到高精度之前,有無(wú)側(cè)邊網(wǎng)絡(luò)的訓(xùn)練進(jìn)度看起來(lái)幾乎相同。接近訓(xùn)練結(jié)束,輔助分支網(wǎng)絡(luò)開(kāi)始超越?jīng)]有任何分支的網(wǎng)絡(luò)的準(zhǔn)確性,達(dá)到了更高的穩(wěn)定水平。
另外,Inception V1在網(wǎng)絡(luò)的不同階段使用了兩個(gè)側(cè)分支。移除更下面的輔助分支對(duì)網(wǎng)絡(luò)的最終質(zhì)量沒(méi)有任何不利影響。再加上前一段的觀察結(jié)果,這意味著這些分支有助于演變低級(jí)特征很可能是不適當(dāng)?shù)?。相反,我們認(rèn)為輔助分類器起著正則化項(xiàng)的作用。這是由于如果側(cè)分支是批標(biāo)準(zhǔn)化的(BN)或具有丟棄層(Dropout),則網(wǎng)絡(luò)的主分類器性能更好。這也為推測(cè)BN作為正則化項(xiàng)給出了一個(gè)弱支持證據(jù)。
3.降低特征圖大小
傳統(tǒng)上,卷積網(wǎng)絡(luò)使用一些池化操作來(lái)縮減特征圖的網(wǎng)格大小。為了避免表示瓶頸,在應(yīng)用最大池化或平均池化之前,需要擴(kuò)展網(wǎng)絡(luò)濾波器的激活維度。例如,開(kāi)始有一個(gè)帶有k個(gè)濾波器的d×d網(wǎng)格,如果我們想要達(dá)到一個(gè)帶有2k個(gè)濾波器的
網(wǎng)格,我們首先需要用2k個(gè)濾波器計(jì)算步長(zhǎng)為1的卷積,然后應(yīng)用一個(gè)額外的池化步驟。這意味著總體計(jì)算成本由在較大的網(wǎng)格上使用
次運(yùn)算的昂貴卷積支配。一種可能性是轉(zhuǎn)換為帶有卷積的池化,因此導(dǎo)致
次運(yùn)算,將計(jì)算成本降低為原來(lái)的四分之一。然而,由于表示的整體維度下降到
,會(huì)導(dǎo)致表示能力較弱的網(wǎng)絡(luò)(圖5),這會(huì)產(chǎn)生一個(gè)表示瓶頸。我們建議另一種變體,其甚至進(jìn)一步降低了計(jì)算成本,同時(shí)消除了表示瓶頸(圖6),而不是這樣做。我們可以使用兩個(gè)平行的步長(zhǎng)為2的塊:P和C。P是一個(gè)池化層(平均池化或最大池化)的激活,兩者都是步長(zhǎng)為2,其濾波器組連接如圖6所示。
圖5.減少網(wǎng)格尺寸的兩種替代方式。
左邊的解決方案違反了不引入表示瓶頸的原則,右邊的計(jì)算量昂貴3倍。
圖6.縮減網(wǎng)格尺寸的同時(shí)擴(kuò)展濾波器組的Inception模塊。
它不僅廉價(jià)并且避免了原則1中提出的表示瓶頸。右側(cè)的圖表示相同的解決方案,但是從網(wǎng)格大小而不是運(yùn)算的角度來(lái)看。
Inception-V3模型:
把7x7卷積替換為3個(gè)3x3卷積。包含3個(gè)Inception部分。第一部分是35x35x288,使用了2個(gè)3x3卷積代替了傳統(tǒng)的5x5;
第二部分減小了feature map,增多了filters,為17x17x768,使用了nx1->1xn結(jié)構(gòu);第三部分增多了filter,使用了卷積池化并行結(jié)構(gòu)。網(wǎng)絡(luò)有42層,但是計(jì)算量只有GoogLeNet的2.5倍。
5,6,7分別對(duì)應(yīng)下面三種結(jié)構(gòu):
應(yīng)用在17*17層之上的輔助分類器:
析:因此問(wèn)題依然存在:如果計(jì)算量保持不變,更高的輸入分辨率會(huì)有多少幫助?
普遍的看法是,使用更高分辨率感受野的模型傾向于導(dǎo)致顯著改進(jìn)的識(shí)別性能。為了這個(gè)目的我們進(jìn)行了以下三個(gè)實(shí)驗(yàn):
1)步長(zhǎng)為2,大小為299×299的感受野和最大池化。
2)步長(zhǎng)為1,大小為151×151的感受野和最大池化。
3)步長(zhǎng)為1,大小為79×79的感受野和第一層之后沒(méi)有池化。
所有三個(gè)網(wǎng)絡(luò)具有幾乎相同的計(jì)算成本。雖然第三個(gè)網(wǎng)絡(luò)稍微便宜一些,但是池化層的成本是無(wú)足輕重的(在總成本的1%以內(nèi))。
在每種情況下,網(wǎng)絡(luò)都進(jìn)行了訓(xùn)練,直到收斂,并在ImageNet ILSVRC 2012分類基準(zhǔn)數(shù)據(jù)集的驗(yàn)證集上衡量其質(zhì)量。結(jié)果如表所示。雖然分辨率較低的網(wǎng)絡(luò)需要更長(zhǎng)時(shí)間去訓(xùn)練,但最終結(jié)果卻與較高分辨率網(wǎng)絡(luò)的質(zhì)量相當(dāng)接近。
當(dāng)感受野尺寸變化時(shí),識(shí)別性能的比較,但計(jì)算代價(jià)是不變的。但是,如果只是單純地按照輸入分辨率減少網(wǎng)絡(luò)尺寸,那么網(wǎng)絡(luò)的性能就會(huì)差得多。
總結(jié):
Inception V3網(wǎng)絡(luò)主要有兩方面的改造:一是引入了Factorization into small convolutions的思想,將一個(gè)較大的二維卷積拆成兩個(gè)較小的一維卷積,比如將77卷積拆成17卷積和71卷積,或者將33卷積拆成13卷積核31卷積。一方面節(jié)約了大量參數(shù),加快運(yùn)算并減輕過(guò)擬合,同時(shí)增加了一層非線性擴(kuò)展模型表達(dá)能力。論文中指出,這種非對(duì)稱的卷積結(jié)構(gòu)拆分,其結(jié)果比對(duì)稱地拆分為幾個(gè)相同的小卷積核效果更明顯,可以處理更多、更豐富的空間特征,增加特征多樣性。
另一方面,Inception V3優(yōu)化了Inception Module的結(jié)構(gòu),現(xiàn)在Inception Module有3535、1717和88三種不同結(jié)構(gòu)。這些Inception Module只在網(wǎng)絡(luò)的后部出現(xiàn),前面還是普通的卷積層。并且Inception V3除了在Inception Module中使用分支,還在分支中使用了分支(88的結(jié)構(gòu)中,可以說(shuō)是Network In Network In Network。
注:博眾家之所長(zhǎng),集群英之薈萃。
以上就是卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)圖Inception V3的詳細(xì)內(nèi)容,更多關(guān)于Inception V3卷積結(jié)構(gòu)圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Burpsuite模塊之Burpsuite Intruder模塊詳解
Burp Intruder主要有四個(gè)模塊組成,本文針對(duì)每一模塊給大家詳細(xì)介紹,對(duì)Burpsuite Intruder模塊相關(guān)知識(shí)感興趣的朋友一起看看吧2021-09-09ibatis簡(jiǎn)單實(shí)現(xiàn)與配置
ibatis與hibernate一樣,同樣也是一種OR框架,OR框架有很多種,相對(duì)用的比較多的就是hibernate與ibatis,ibatis是一種白自動(dòng)化的ORM的實(shí)現(xiàn)2009-01-01油猴腳本開(kāi)發(fā)詳解+油猴爬蟲(chóng)腳本實(shí)例
這篇文章主要介紹了油猴腳本開(kāi)發(fā)詳解+油猴爬蟲(chóng)腳本實(shí)例,油猴安裝,油猴自定義腳本,油猴腳本模板,油猴實(shí)戰(zhàn)Ajax,油猴實(shí)戰(zhàn)WebSocket通信,需要的朋友可以參考下2024-02-02