Inception系列之Inception_v2-v3

2021-02-08 CV技術指南


引言:

    Inception_v2和Inception_v3是在同一篇論文中,提出BN的論文並不是Inception_v2。兩者的區別在於《Rethinking the Inception Architecture for Computer Vision》這篇論文裡提到了多種設計和改進技術,使用其中某部分結構和改進技術的是Inception_v2, 全部使用了的是Inception_v3。

    Inception_v1結構由於比較複雜,很難在其基礎上有所改變,如果隨意更改其結構,則很容易直接喪失一部分計算收益。同時,Inception_v1論文中沒有詳細各個決策設計的因素的描述,這使得它很難去簡單調整以便適應一些新的應用。為此,Inception_v2論文裡詳細介紹了如下的設計基本原則,並基於這些原則提出了一些新的結構。


    1.避免表示瓶頸,特別是在網絡的淺層。一個前向網絡每層表示的尺寸應該是從輸入到輸出逐漸變小的。(當尺寸不是這種變化時就會出現瓶頸)


    2.高維度的表示很容易在網絡中處理,增加激活函數的次數會更容易解析特徵,也會使網絡訓練的更快。(這條原則的意思是表示維度越高,越適合用網絡來處理,像二維平面上的數據分類反而就不適合用網絡來處理,增加激活函數的次數會使得網絡更容易學到其表示特徵)


    3. 可以在較低維的嵌入上進行空間聚合,而不會損失很多表示能力。例如,在執行更分散(例如3×3)的卷積之前,可以在空間聚集之前(淺層)減小輸入表示的尺寸,而不會出現嚴重的不利影響。我們假設這樣做的原因是,如果在空間聚合環境中(中高層)使用輸出,則相鄰單元之間的強相關性會導致在尺寸縮減期間信息損失少得多。鑑於這些信號應易於壓縮,因此減小尺寸甚至可以促進更快的學習。


    4. 平衡網絡的寬度和深度。通過平衡每個階段的濾波器數量和網絡深度,可以達到網絡的最佳性能。增加網絡的寬度和深度可以有助於提高網絡質量。但是,如果並行增加兩者,則可以達到恆定計算量的最佳改進。因此,應在網絡的深度和寬度之間以平衡的方式分配計算預算。


    一個5x5的卷積核可通過兩個連續的3x3卷積核來代替,其中第一個是正常的3x3卷積,第二個卷積是在上一層3x3卷積的基礎上進行全連接。這樣做的好處是既實現了5x5卷積該有的感受野,又實現了更小的參數2x9/25,大概縮小了28%。具體如下左圖fig1所示。更進一步,採用非對稱分解,將一個3x3的卷積分解為3x1和1x3。具體如下右圖fig2.

   因此原來的Inception結構(左圖fig3)就可以變成如下所示的結構(中圖fig5)和(右圖fig6)。

    最終還衍生出了如下圖所示(fig7)一種混合兩種分解方式的結構。

    在實際應用中,使用這樣的分解結構在網絡低層的效果並不好。它在中等尺寸大小(mxm的feature map 其中m在12到20範圍內)的層中會有比較好的效果。這是考慮到第二條原則,這樣的Inception結構將會放在網絡中間層,而在網絡低層仍然使用一般卷積網絡的結構。

    輔助分類器在訓練的前期並沒有起什麼作用,到了訓練的後期才開始在精度上超過沒有輔助分類器的網絡,並達到稍微高的平穩期。並且,在去除這兩個輔助分類器後並沒有不利的影響,因此在Inception_v1中提到的幫助低層網絡更快訓練的觀點是有問題的。如果這兩個分支有BN或Dropout,主分類器的效果會更好,這是BN可充當正則化器的一個微弱證據。

    關於降低Grid Size大小的方式,有如上圖所示兩種做法。左邊這種違背了第一條原則,即尺寸應該逐層遞減,否則會出現bottleneck。右圖符合第一條原則,然而這樣參數量巨大。為此作者提出了一種如下圖(fig10)所示的新方式。即並行操作,利用步長都為2的卷積和池化操作,在不違背第一條原則的基礎上實現降低Grid Size。

    整個結構中都沒有用到padding, 提出的fig10結構用在了中間每個Inception模塊之間。

    如果模型在訓練過程中學習使得全部概率值給ground truth標籤,或者使得最大的Logit輸出值與其他的值差別儘可能地大,直觀來說就是模型預測的時候更自信,這樣將會出現過擬合,不能保證泛化能力。因此標籤平滑化很有必要。

    前面的δk,y 是狄拉克函數,即類別k = y,即為1,否則為0。原本的標籤向量q(k|x) = δk,y。而標籤平滑化後的標籤向量變為如下公式。

    這裡的∈為超參數,u(k)取1/k,k表示類別數。即新的標籤向量(假定是三分類)將變為(∈/3, ∈/3, 1-2∈/3 ),而原來的標籤向量是(0,0,1)。

    實際效果如圖所示,在這裡說明Inception_v2與Inception_v3的區別,Inception_v2指的是使用了Label Smoothing 或BN-auxiliary或RMSProp或Factorized技術中的一種或多種的Inception模塊。而Inception_v3指的是這些技術全用了的Inception模塊。

長按識別二維碼關注我們

    本公眾號主要進行CV論文解讀,最新技術跟蹤,CV技術總結

相關焦點

  • Inception系列之Inception_v4
    引言:    ResNet在2015年ILSVRC挑戰賽上獲得冠軍,其精度和Inception_v3比較接近,這引起一個問題,如果將Inception_v3和ResNet中的殘差連接結合,會不會有什麼神奇的事情發生?
  • 從Inception v1到Inception-ResNet,一文概覽Inception家族的「奮鬥史」
    >參與:路、劉曉坤本文簡要介紹了 Inception 家族的主要成員,包括 Inception v1、Inception v2 和 Inception v3、Inception v4 和 Inception-ResNet。
  • 【深度學習系列】用PaddlePaddle和Tensorflow實現GoogLeNet InceptionV2/V3/V4
    博客專欄:https://www.cnblogs.com/charlotte77/前文傳送門:【好書推薦&學習階段】三個月教你從零入門深度學習【深度學習系列】PaddlePaddle之手寫數字識別【深度學習系列】卷積神經網絡CNN原理詳解(一)——基本原理【深度學習系列】PaddlePaddle之數據預處理
  • 譯文 | Inception-v4,Inception-ResNet 和殘差連接對學習的影響(多圖)
    為了實現這個目的,我們設計了一個新版本的Inception-v4,相比Inception-v3,它有更加統一簡化的網絡結構和更多的inception模塊。從歷史觀點來看,Inception-v3繼承了之前的很多方法。技術性局限主要在於使用DistBelief對分布式訓練進行模型劃分。
  • 經典神經網絡 | 從Inception v1到Inception v4全解析
    本文介紹了 Inception 家族的主要成員,包括 Inception v1、Inception v2 、Inception v3、Inception v4 和 Inception-ResNet。它們的計算效率與參數效率在所有卷積架構中都是頂尖的。Inception 網絡是CNN分類器發展史上一個重要的裡程碑。
  • 一文概覽Inception家族的「奮鬥史」
    常見的版本有:Inception v1Inception v2 和 Inception v3Inception v4 和 Inception-ResNet每個版本都是前一個版本的迭代進化(圖源:https://arxiv.org/pdf/1409.4842v1.pdf)利用實現降維的 Inception 模塊可以構建 GoogLeNet(Inception v1),其架構如下圖所示:GoogLeNet。橙色框是 stem,包含一些初始卷積。紫色框是輔助分類器。較寬的部分是 inception 模塊。
  • 一文讀懂:GoogleNet的Inception從v1到v4的演變
    但是左邊的方法先池化層後inception,這樣會導致特徵的缺失,而右邊的方法,會導致運算量很大。為了同時保持特徵並且降低運算發,將網絡改成下圖,使用兩個並行化的模塊來降低計算量,也就是池化,卷積並行,然後再合併2 inception V2設計人員想,如果只是單純的堆疊網絡,雖然可以提高準確率,但是會導致計算效率的下降,如何在不增加過多額計算量的同時提高網絡的表達能力呢?
  • Google最新開源Inception-ResNet-v2,藉助殘差網絡進一步提升圖像...
    在第二幅Inception-ResNet-v2圖中最上部分,你能看到整個網絡擴展了。注意該網絡被認為比先前的Inception V3還要深一些。在圖中主要部分重複的殘差區塊已經被壓縮了,所以整個網絡看起來更加直觀。
  • Inception SQL 審核的設計思路
    屏蔽人工易犯問題    Inception一個重要的目的或者功能,就是要屏蔽掉人工易犯的問題,例如:下面的SQL:    update t set v1=10 and v2=20 where ....and和逗號都是可以執行的,沒有語法錯誤,但是執行結果就不是所預期的了。
  • Inception《盜夢空間》精講之一
    精彩劇情&什麼是inception?考考你本片段劇情:柯布是一名經驗老道的盜夢高手。他和同夥設計了「夢中夢」,想要竊取日本大亨齊藤的秘密,但沒想到造夢師在設計夢境時穿幫,計劃未能得逞。Saito: I've always hated this carpet. It's stained and frayed in such distinctive ways.But very definitely made of wool.
  • VGGNet、ResNet、Inception和Xception圖像分類及對比
    Inception-v3 見論文「Rethinking the Inception Architecture for Computer Vision」;Inception-v4 見論文「Inception-ResNet
  • 昂貴的「開端」:英文域名inception以366萬元居DN榜首
    西部數碼(west.cn)7月13日消息,新一期的DN域名交易榜昨天出爐,本期榜單上超六位數美金成交的域名有兩枚,分別是inception.com(550,000美元)和NBX.COM(130,000美元)。
  • Inception《盜夢空間》精講之四
    You asked me for inception. I do hope you understand the gravity of that request. Now, the seed that we plant in this man's mind will grow into an idea.
  • 卷積神經網絡(CNN)系列介紹之一
    因深度學習基礎網絡非常之多,不同的任務會涉及到不同的骨幹網絡,主要有CV中的CNN,NLP中的RNN。筆者能力有限,現主要對流行的CNN(卷積神經網絡)進行梳理和介紹,涉及到網絡的提出背景、如何改進的、網絡結構的具體明細以及網絡效果等。    即便只是CNN,網絡也非常之多,所以將CNN做成一個系列。
  • mobilenet系列之又一新成員---mobilenet-v3
    簡要概述文章精華mobilenet-v3是Google繼mobilenet-v2之後的又一力作,作為mobilenet系列的新成員,自然效果會提升
  • 【深度學習系列】用PaddlePaddle和Tensorflow實現經典CNN網絡GoogLeNet
    點擊上圖,立即開啟AI急速修煉作者:Charlotte    高級算法工程師 ,博客專家;擅長用通俗易懂的方式講解深度學習和機器學習算法卷積核(stride=1,padding=2),輸出為:28×28×96256個3×3卷積核(stride=1,padding=1),輸出為28×28×256,進行64個1×1卷積核,輸出為:28×28×64 最後對4個分支的輸出做「深度」方向組合,得到輸出28×28×480; 後面結構以此類推。