圖像分類一文徹底搞明白GoogLeNet

      網友投稿 1444 2022-05-30

      1、 模型介紹

      GoogLeNet作為2014年ILSVRC在分類任務上的冠軍,以6.65%的錯誤率力壓VGGNet等模型,在分類的準確率上面相比過去兩屆冠軍ZFNet和AlexNet都有很大的提升。從名字GoogLeNet可以知道這是來自谷歌工程師所設計的網絡結構,而名字中GoogLeNet更是致敬了LeNet。GoogLeNet中最核心的部分是其內部子網絡結構Inception,該結構靈感來源于NIN,至今已經經歷了四次版本迭代(Inception_v1-4)。下表是Inception_v1-4提出的時間表

      Inception不同版本的性能比較圖

      一般來說,提升網絡性能最直接的辦法就是增加網絡深度和寬度,但一味地增加,會帶來諸多問題:

      1)參數太多,如果訓練數據集有限,很容易產生過擬合;

      2)網絡越大、參數越多,計算復雜度越大,難以應用;

      3)網絡越深,容易出現梯度彌散問題(梯度越往后穿越容易消失),難以優化模型。

      我們希望在增加網絡深度和寬度的同時減少參數,為了減少參數,自然就想到將全連接變成稀疏連接。但是在實現上,全連接變成稀疏連接后實際計算量并不會有質的提升,因為大部分硬件是針對密集矩陣計算優化的,稀疏矩陣雖然數據量少,但是計算所消耗的時間卻很難減少。在這種需求和形勢下,Google研究人員提出了Inception的方法。

      2、 模型結構

      如圖所示,GoogLeNet相比于以前的卷積神經網絡結構,除了在深度上進行了延伸,還對網絡的寬度進行了擴展,整個網絡由許多塊狀子網絡的堆疊而成,這個子網絡構成了Inception結構。為了更詳細的了解Inception,下面對Inception_v1、Inception_v2、Inception_v3、Inception_v4做更詳細的說明。

      Inception_v1

      Inception_v1在同一層中采用不同的卷積核,并對卷積結果進行合并; 下面的兩張圖展示Inception_v1采用的兩種卷積模塊a和b。

      對上圖做以下說明:

      1 . 采用不同大小的卷積核意味著不同大小的感受野,最后拼接意味著不同尺度特征的融合;

      2 . 之所以卷積核大小采用1、3和5,主要是為了方便對齊。設定卷積步長stride=1之后,只要分別設定pad=0、1、2,那么卷積之后便可以得到相同維度的特征,然后這些特征就可以直接拼接在一起了;

      3 . 文章說很多地方都表明pooling挺有效,所以Inception里面也嵌入了。

      4 . 網絡越到后面,特征越抽象,而且每個特征所涉及的感受野也更大了,因此隨著層數的增加,3x3和5x5卷積的比例也要增加。

      但是,使用5x5的卷積核仍然會帶來巨大的計算量。 為此,文章借鑒NIN2,采用1x1卷積核來進行降維。

      例如:上一層的輸出為100x100x128,經過具有256個輸出的5x5卷積層之后(stride=1,pad=2),輸出數據為100x100x256。其中,卷積層的參數為128x5x5x256。假如上一層輸出先經過具有32個輸出的1x1卷積層,再經過具有256個輸出的5x5卷積層,那么最終的輸出數據仍為為100x100x256,但卷積參數量已經減少為128x1x1x32 + 32x5x5x256,大約減少了4倍。

      具體改進后的Inception Module如下圖:

      GoogLeNet中Inception_v1網絡參數配置

      網絡層

      輸入尺寸

      核尺寸

      輸出尺寸

      參數個數

      卷積層 C_ 11

      H× W ×C_1

      1? ×1? ×? C_2 /2

      frac? H ??2 ??×? frac? W ??2 ??×? C_2

      (1? ×1? ×? C_1 +1)? ×? C_2

      卷積層 C_? 21

      H? ×? W ??×? C_2

      1? ×1? ×? C_2 /2

      frac? H ??2 ??×? frac? W ??2 ??×? C_2

      (1? ×1? ×? C_2 +1)? ×? C_2

      卷積層 C_? 22

      H? ×? W ??×? C_2

      3? ×3? ×? C_2 /1

      H? ×? W ??×? C_2 /1

      (3? ×3? ×? C_2 +1)? ×? C_2

      卷積層 C_? 31

      H? ×? W ??×? C_1

      1? ×1? ×? C_2 /2

      frac? H ??2 ??×? frac? W ??2 ??×? C_2

      (1? ×1? ×? C_1 +1)? ×? C_2

      卷積層 C_? 32

      H? ×? W ??×? C_2

      5? ×5? ×? C_2 /1

      H? ×? W ??×? C_2 /1

      (5? ×5? ×? C_2 +1)? ×? C_2

      下采樣層 S_? 41

      H? ×? W ??×? C_1

      3? ×3/2

      frac? H ??2 ??×? frac? W ??2 ??×? C_2

      0

      卷積層 C_? 42

      frac? H ??2 ??×? frac? W ??2 ??×? C_2

      1? ×1? ×? C_2 /1

      frac? H ??2 ??×? frac? W ??2 ??×? C_2

      (3? ×3? ×? C_2 +1)? ×? C_2

      合并層 M

      frac? H ??2 ??×? frac? W ??2 ??×? C_2 (? ×4)

      【圖像分類】一文徹底搞明白GoogLeNet

      拼接

      frac? H ??2 ??×? frac? W ??2 ??×(? C_2 ??×4)

      0

      Inception_v2

      Inception_v2組合不同卷積核的堆疊形式,并對卷積結果進行合并;把5*5的卷積改成了兩個3*3的卷積串聯,它說一個5*5的卷積看起來像是一個5*5的全連接,所以干脆用兩個3*3的卷積,第一層是卷積,第二層相當于全連接,這樣可以增加網絡的深度,并且減少了很多參數。模型的結構如下圖:

      Inception_v2還引入了使用了Batch Normalization,加了這個以后訓練起來收斂更快,學習起來自然更高效,可以減少dropout的使用。

      28x28 的 Inception 模塊的數量由 2 增加到了 3.

      Inception 模塊,Ave 和 Max Pooling 層均有用到. 參考表格。

      兩個 Inception 模塊間不再使用 pooling 層;而在模塊 3c 和 4e 中的 concatenation 前采用了 stride-2 conv/pooling 層.

      詳細的參數列表

      Inception_v3

      Inception_v3則在v_2 基礎上進行深度組合的嘗試,輸入改為299×299×3。

      Inception_V3出了采用Inception_V2中,將5×5的卷積分解成兩個3×3的卷積,還衍生出了非對稱分解,將一個3x3的卷積分解為3x1和1x3,進一步衍生出了一種混合兩種分解方式的結構Inception_V3三種結構如下圖:

      Inception_v4

      總結

      Inception V1——構建了1x1、3x3、5x5的 conv 和3x3的 pooling 的分支網絡,同時使用?MLPConv?和全局平均池化,擴寬卷積層網絡寬度,增加了網絡對尺度的適應性;

      Inception V2——提出了?Batch Normalization,代替?Dropout?和?LRN,其正則化的效果讓大型卷積網絡的訓練速度加快很多倍,同時收斂后的分類準確率也可以得到大幅提高,同時學習?VGG?使用兩個3′3的卷積核代替5′5的卷積核,在降低參數量同時提高網絡學習能力;

      Inception V3——引入了?Factorization,將一個較大的二維卷積拆成兩個較小的一維卷積,比如將3′3卷積拆成1′3卷積和3′1卷積,一方面節約了大量參數,加速運算并減輕了過擬合,同時增加了一層非線性擴展模型表達能力,除了在?Inception Module?中使用分支,還在分支中使用了分支(Network In Network In Network);

      Inception V4——研究了?Inception Module?結合?Residual Connection,結合?ResNet?可以極大地加速訓練,同時極大提升性能,在構建 Inception-ResNet 網絡同時,還設計了一個更深更優化的 Inception v4 模型,能達到相媲美的性能

      復現代碼:GoogLeNet(V1-V4)Pytorch復現.zip-深度學習文檔類資源-CSDN下載

      神經網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:AM335x評估板快速測試(2)
      下一篇:學習理論有什么用?
      相關文章
      亚洲av极品无码专区在线观看| 亚洲精品国产成人片| 亚洲国产成人影院播放| 亚洲制服丝袜一区二区三区| 亚洲精品高清久久| 亚洲自偷自偷精品| 亚洲成A∨人片在线观看不卡| 国产AV无码专区亚洲AWWW| 国产精品亚洲玖玖玖在线观看| 成人亚洲网站www在线观看| 激情小说亚洲色图| 含羞草国产亚洲精品岁国产精品| 亚洲一区二区三区国产精华液| 亚洲乱码在线观看| 精品国产日韩久久亚洲| 亚洲日韩精品无码AV海量| 亚洲综合av一区二区三区不卡| 亚洲真人无码永久在线观看| 一区二区亚洲精品精华液| 亚洲一区二区三区高清在线观看| 亚洲国产精品99久久久久久| 亚洲av无码专区在线电影| 婷婷国产偷v国产偷v亚洲| 亚洲av麻豆aⅴ无码电影| 亚洲人成电影在线播放| 伊人婷婷综合缴情亚洲五月| 国产精品国产亚洲精品看不卡| 亚洲Av综合色区无码专区桃色| 亚洲嫩草影院久久精品| 亚洲校园春色小说| 亚洲欧洲日韩极速播放| 亚洲av无码专区首页| www.亚洲一区| 亚洲三区在线观看无套内射| 亚洲精品成人无码中文毛片不卡| 久久伊人久久亚洲综合| 亚洲电影在线播放| 亚洲色中文字幕在线播放| 老牛精品亚洲成av人片| 国产黄色一级毛片亚洲黄片大全| 亚洲精品乱码久久久久久|