您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何從Inception v1到Inception v4進行全解析,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
下面介紹了 Inception 家族的主要成員,包括 Inception v1、Inception v2 、Inception v3、Inception v4 和 Inception-ResNet。它們的計算效率與參數(shù)效率在所有卷積架構中都是頂尖的。
Inception 網(wǎng)絡是CNN分類器
發(fā)展史上一個重要的里程碑。在 Inception 出現(xiàn)之前,大部分流行 CNN 僅僅是把卷積層堆疊得越來越多,使網(wǎng)絡越來越深,以此希望能夠得到更好的性能。
例如AlexNet,GoogleNet、 VGG-Net、ResNet等
都是通過加深網(wǎng)絡的層次和深度來提高準確率。
GoogLeNet 最大的特點就是使用了 Inception 模塊,它的目的是設計一種具有優(yōu)良局部拓撲結構的網(wǎng)絡,即對輸入圖像并行地執(zhí)行多個卷積運算或池化操作,并將所有輸出結果拼接為一個非常深的特征圖。因為 1*1、3*3 或 5*5 等不同的卷積運算與池化操作可以獲得輸入圖像的不同信息,并行處理這些運算并結合所有結果將獲得更好的圖像表征。
Inception
常見的版本有:
每個版本都是前一個版本的迭代進化。了解 Inception 網(wǎng)絡的升級可以幫助我們構建自定義分類器,優(yōu)化速度和準確率。
Inception v1
首先是出現(xiàn)在《Going deeper with convolutions》這篇論文中,作者提出一種深度卷積神經(jīng)網(wǎng)絡 Inception,它在 ILSVRC14 中達到了當時最好的分類和檢測性能。
Inception v1
的主要特點:一是挖掘了1 1卷積核的作用*,減少了參數(shù),提升了效果;二是讓模型自己來決定用多大的的卷積核。
1* 1卷積不僅可以減少神經(jīng)網(wǎng)絡的參數(shù)量,還可以壓縮通道數(shù),大大提高了計算效率。
把不同的卷積核組合在一起,不僅可以增大感受野,而且還可以提高神經(jīng)網(wǎng)絡的魯棒性。在一層里把不同大小的卷積核疊在一起后,意味著一層里可以產(chǎn)生不同大小的卷積核處理之后的效果,也意味著不用人為的來選擇這一層要怎么卷,這個網(wǎng)絡自己便會學習用什么樣的卷積(或池化)操作最好。
下面是卷積神經(jīng)網(wǎng)絡Inception
模塊的基本組成部分:
Inception v2 和 Inception v3
來自同一篇論文《Rethinking the Inception Architecture for Computer Vision》,作者提出了一系列能增加準確度和減少計算復雜度的修正方法。
將 5×5 的卷積分解為兩個 3×3 的卷積運算以提升計算速度。如此可以有效地只使用約(3x3 + 3x3)/(5x5)=72%的計算開銷。下圖可看出此替換的有效性。
所以升級后的Inception
模塊如下圖所示:
最左側前一版 Inception 模塊中的 5×5 卷積變成了兩個 3×3 卷積的堆疊。
例如,一個 3×3 的卷積等價于首先執(zhí)行一個 1×3 的卷積再執(zhí)行一個 3×1 的卷積。這樣同樣可以只使用約(1x3 + 3x1) / (3x3) = 67%的計算開銷。下圖是此替換的有效性。作者更進一步發(fā)揮想象,認為任一個nxn conv都可通過替換為兩個分別為1xn與nx1的convs層來節(jié)省計算與內(nèi)存。
更新后的Inception
模塊如下圖所示:
此處如果 n=3,則與上一張圖像一致。最左側的 5x5 卷積可被表示為兩個 3x3 卷積,它們又可以被表示為 1x3 和 3x1 卷積。
模塊中的濾波器組被擴展(即變得更寬而不是更深),以解決表征性瓶頸。如果該模塊沒有被拓展寬度,而是變得更深,那么維度會過多減少,造成信息損失。如下圖所示:
Inception v3 整合了前面 Inception v2 中提到的所有升級,還使用了:
Inception v4 和 Inception -ResNet 在同一篇論文《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》中提出來。
首先stem
分支,可以直接看論文的結構圖:
然后接下來它們有三個主要的Inception 模塊和Reduction模塊
,稱為 A、B 和 C(和 Inception v2 不同,這些模塊確實被命名為 A、B 和 C)。它們看起來和 Inception v2(或 v3)變體非常相似。
Inception v4 引入了專用的「縮減塊」(reduction block),它被用于改變網(wǎng)格的寬度和高度。早期的版本并沒有明確使用縮減塊,但也實現(xiàn)了其功能。
縮減塊 A(從 35x35 到 17x17 的尺寸縮減)和縮減塊 B(從 17x17 到 8x8 的尺寸縮減)。這里參考了論文中的相同超參數(shù)設置(V,I,k)。
直接看其網(wǎng)絡結構:
在該論文中,作者將Inception 架構
和殘差連接(Residual)
結合起來。并通過實驗明確地證實了,結合殘差連接可以顯著加速 Inception 的訓練。也有一些證據(jù)表明殘差 Inception 網(wǎng)絡在相近的成本下略微超過沒有殘差連接的 Inception 網(wǎng)絡。作者還通過三個殘差和一個 Inception v4 的模型集成,在 ImageNet 分類挑戰(zhàn)賽的測試集上取得了 3.08% 的 top-5 誤差率。
(左起)Inception ResNet 中的 Inception 模塊 A、B、C。注意池化層被殘差連接所替代,并在殘差加運算之前有額外的 1x1 卷積。
具體Inception-resnet A、B、C
各個模塊網(wǎng)絡結構詳見原論文
如果卷積核的數(shù)量超過 1000,則網(wǎng)絡架構更深層的殘差單元將導致網(wǎng)絡崩潰。因此,為了增加穩(wěn)定性,作者通過 0.1 到 0.3 的比例縮放殘差激活值。
激活值通過一個常數(shù)進行比例縮放,以防止網(wǎng)絡崩潰。
關于如何從Inception v1到Inception v4進行全解析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。