天天看點

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

一 執行個體探索

卷積神經網絡的基本建構,比如卷積層、池化層以及全連接配接層這些元件。事實上,過去幾年計算機視覺研究中的大量研究都集中在如何把這些基本構件組合起來,形成有效的卷積神經網絡。最直覺的方式之一就是去看一些案例,就像很多人通過看别人的代碼來學習程式設計一樣,通過研究别人建構有效元件的案例是個不錯的辦法。實際上在計算機視覺任務中表現良好的神經網絡架構往往也适用于其它任務,也許你的任務也不例外。也就是說,如果有人已經訓練或者計算出擅長識别貓、狗、人的神經網絡或者神經網絡架構,而你的計算機視覺識别任務是建構一個自動駕駛汽車,你完全可以借鑒别人的神經網絡架構來解決自己的問題。 

首先我們來看幾個經典的網絡。 

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

LeNet-5 網絡,應該是 1980 年代的,經常被引用的 AlexNet,還有 VGG 網絡。這些都是非常有效的神經網絡範例,當中的一些思路為現代計算機視覺技術的發展奠定了基礎。論文中的這些想法可能對你大有裨益,對你的工作也可能有所幫助 。

然後是 ResNet,又稱殘差網絡。神經網絡正在不斷加深,對此你可能有所了解。 ResNet 神經網絡訓練了一個深達 152 層的神經網絡,并且在如何有效訓練方面,總結出了一些有趣的想法和竅門。

二 經典網絡

1. LeNet-5網絡

首先看看 LeNet-5 的網絡結構,假設你有一張 32×32×1 的圖檔, LeNet-5 可以識别圖中的手寫數字,比如像這樣手寫數字 7。

  • LeNet-5 是針對灰階圖檔訓練的,是以圖檔的大小隻有 32×32×1。
  • LeNet-5 網絡使用 6 個 5×5的過濾器,步幅為 1。由于使用了 6 個過濾器,步幅為 1, padding 為 0,輸出結果為 28×28×6,圖像尺寸從 32×32 縮小到 28×28。
  • 然後進行池化操作,在這篇論文寫成的那個年代,人們更喜歡使用平均池化,而現在我們可能用最大池化更多一些。 在這個例子中,我們進行平均池化,過濾器的寬度為 2,步幅為 2,圖像的尺寸,高度和寬度都縮小了 2 倍,輸出結果是一個 14×14×6 的圖像。
  • 接下來是卷積層,我們用一組 16 個 5×5 的過濾器,新的輸出結果有 16 個通道。 LeNet-5 的論文是在 1998 年撰寫的,當時人們并不使用 padding,或者總是使用 valid 卷積,這就是為什麼每進行一次卷積,圖像的高度和寬度都會縮小,是以這個圖像從 14 到 14 縮小到了10×10。
  • 然後又是池化層,高度和寬度再縮小一半,輸出一個 5×5×16 的圖像。
  • 将所有數字相乘,乘積是 400。下一層是全連接配接層,在全連接配接層中,有 400 個節點,每個節點有 120 個神經元,這裡已經有了一個全連接配接層。但有時還會從這 400 個節點中抽取一部分節點建構另一個全連接配接層,就像這樣,有 2 個全連接配接層。
  • 最後一步就是利用這 84 個特征得到最後的輸出。
卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

我們還可以在這裡再加一個節點用來預測y_hat的值,y_hat有是個可能的值,對應識别 0-9 這 10 個數字。在現在的版本中則使用 softmax函數輸出十種分類結果,而在當時, LeNet-5 網絡在輸出層使用了另外一種 tanh 函數,現在已經很少 用到的分類器。相比現代版本,這裡得到的神經網絡會小一些,隻有約 6 萬個參數。而現在,我們經常看到含有一千萬到一億個參數的神經網絡,比這大 1000 倍的神經網絡也不在少數。 不管怎樣,如果我們從左往右看,随着網絡越來越深,圖像的高度和寬度在縮小,從最初的 32×32 縮小到 28×28,再到 14×14、 10×10,最後隻有 5×5。與此同時,随着網絡層次的加深,通道數量一直在增加,從 1 增加到 6 個,再到 16 個。

這個神經網絡中還有一種模式至今仍然經常用到,就是一個或多個卷積層後面跟着一個池化層,然後又是若幹個卷積層再接一個池化層,然後是全連接配接層,最後是輸出,這種排列方式很常用 。

讀到這篇經典論文時,你會發現,過去,人們使用 sigmod 函數和 tanh 函數,而不是ReLu 函數,這篇論文中使用的正是 sigmod 函數和 tanh 函數。這種網絡結構的特别之處還在于,各網絡層之間是有關聯的,這在今天看來顯得很有趣。 

2.AlexNet網絡

是以論文的第一作者 Alex Krizhevsky 的名字命名的,另外兩位合著者是 ilya Sutskever 和 Geoffery Hinton。 

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet
  • AlexNet 首先用一張 227×227×3 的圖檔作為輸入,實際上原文中使用的圖像是 224×224×3,但是如果你嘗試去推導一下,你會發現 227×227 這個尺寸更好一些。
  • C1 第一層我們使用 96 個11×11 的過濾器,步幅為 4,由于步幅是 4,是以尺寸縮小到 55×55,縮小了 4 倍左右。然後用一個 3×3 的過濾器建構最大池化層,f=3,s=2,尺寸縮小為 27×27×96。
  • C2 接着再執行一個 5×5 的same卷積, p=3,s=1,輸出是 27×27×256。然後再次進行最大池化,尺寸縮小到 13×13。
  • C3 再執行一次 same 卷積,p=1,s=1,得到的結果是 13×13×384, 384 個過濾器。
  • C4 再做一次 same 卷積,p=1,s=1,得到的結果是 13×13×384, 384 個過濾器。
  • C5 再做一次 same 卷積,p=1,s=1,得到的結果是 13×13×256。最後再進行一次最大池化,尺寸縮小到 6×6×256。
  • 6×6×256 等于 9216,将其展開為 9216 個單元,然後是一些全連接配接層。最後使用 softmax 函數輸出識别的結果。

實際上,這種神經網絡與 LeNet 有很多相似之處,不過 AlexNet 要大得多。正如前面講到的 LeNet 或 LeNet-5 大約有 6 萬個參數,而 AlexNet 包含約 6000 萬個參數。當用于訓練圖像和資料集時, AlexNet 能夠處理非常相似的基本構造子產品,這些子產品往往包含着大量的隐藏單元或資料,這一點 AlexNet 表現出色。 AlexNet 比 LeNet 表現更為出色的另一個原因是 使用了 ReLu 激活函數。 

3.VGG-16網絡

VGG-16 網絡沒有那麼多超參數,這是一種隻需要專注于建構卷積層的簡單網絡。首先用 3×3,步幅為 1 的過濾器建構卷積層, padding 參數為 same 卷積中的參數。然後用一個2×2,步幅為 2 的過濾器建構最大池化層。是以 VGG 網絡的一大優點是它确實簡化了神經網絡結構,下面我們具體講講這種網絡結構。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

假設要識别這個圖像,在最開始的兩層用 64 個 3×3 的過濾器對輸入圖像進行卷積,輸出結果是 224×224×64,因為使用了 same 卷積,通道數量也一樣。 VGG-16 其實是一個很深的網絡,這裡并沒有把所有卷積層都畫出來。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet
  • 假設這個小圖是我們的輸入圖像,尺寸是 224×224×3。
  • 進行第一個卷積之後得到224×224×64 的特征圖,接着還有一層 224×224×64,得到這樣 2 個厚度為 64 的卷積層,意味着我們用 64 個過濾器進行了兩次卷積。正如我在前面提到的,這裡采用的都是大小為 3×3,步幅為 1 的過濾器,并且都是采用 same 卷積,是以我就不再把所有的層都畫出來了,隻用一串數字代表這些網絡。
  • 接下來建立一個池化層,池化層将輸入圖像進行壓縮,從 224×224×64 縮小到多少呢?沒錯,減少到 112×112×64。
  • 然後又是若幹個卷積層,使用 128個過濾器,以及一些 same 卷積,我們看看輸出什麼結果, 112×112×128。
  • 然後進行池化,可以推導出池化後的結果是這樣56×56×128。
  • 接着再用 256 個相同的過濾器進行三次卷積操作,輸出56x56x256。
  • 然後再池化,輸出28x28x256。
  • 然後再卷積三次,再池化。
  • 如此進行幾輪操作後,将最後得到的 7×7×512 的特征圖進行全連接配接操作,得到 4096 個單元,然後進行 softmax 激活輸出。
卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

順便說一下, VGG-16 的這個數字 16,就是指在這個網絡中包含 16 個卷積層和全連接配接層。确實是個很大的網絡,總共包含約 1.38 億個參數,即便以現在的标準來看都算是非常大的網絡。但 VGG-16 的結構并不複雜,這點非常吸引人,而且這種網絡結構很規整,都是幾個卷積層後面跟着可以壓縮圖像大小的池化層,池化層縮小圖像的高度和寬度。同時,卷積層的過濾器數量變化存在一定的規律,由 64 翻倍變成 128,再到 256 和 512。作者可能認為 512 已經足夠大了,是以後面的層就不再翻倍了。無論如何,每一步都進行翻倍,或者說在每一組卷積層進行過濾器翻倍操作,正是設計此種網絡結構的另一個簡單原則。這種相對一緻的網絡結構對研究者很有吸引力,而它的主要缺點是需要訓練的特征數量非常巨大。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

有些文章還介紹了 VGG-19 網絡,它甚至比 VGG-16 還要大,如果你想了解更多細節,請參考幻燈片下方的注文,閱讀由 Karen Simonyan 和 Andrew Zisserman 撰寫的論文。由于VGG-16 的表現幾乎和 VGG-19 不分高下,是以很多人還是會使用 VGG-16。我最喜歡它的一點是,文中揭示了,随着網絡的加深,圖像的高度和寬度都在以一定的規律不斷縮小,每次池化後剛好縮小一半,而通道數量在不斷增加,而且剛好也是在每組卷積操作後增加一倍。也就是說,圖像縮小的比例和通道數增加的比例是有規律的。

從這個角度來看,這篇論文很吸引人。以上就是三種經典的網絡結構,如果你對這些論文感興趣,我建議從介紹 AlexNet 的論文開始,然後就是 VGG 的論文,最後是 LeNet 的論文。雖然有些晦澀難懂,但對于了解這些網絡結構很有幫助。

三 殘差網絡

非常非常深的神經網絡是很難訓練的, 因為存在梯度消失和梯度爆炸問題。這節我們講解跳躍連接配接(Skip connection),它可以從某一層網絡層擷取激活,然後迅速回報給另外一層,甚至是神經網絡的更深層。我們可以利用跳躍連接配接建構能夠訓練深度網絡的 ResNets,有時深度能夠超過 100 層 。

ResNets 是由殘差塊(Residual block)建構的,首先我解釋一下什麼是殘差塊。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

這是一個兩層神經網絡,在

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

層進行激活,得到

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,再次進行激活,兩層之後得到

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,計算過程是從

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

開始,首先進行線性激活,根據這個公式:

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,然後通過ReLU 非線性激活函數得到

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

計算得出。接 着 再 次 進 行 線 性 激 活 , 依 據 等 式

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,最後根據這個等式再次進行 ReLu 非線性激活,

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

在殘差網絡中有一點變化,我們将

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

直接向後,拷貝到神經網絡的深層,在 ReLU 非線性激活函數前加上

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,這是一條捷徑。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

的資訊直接到達神經網絡的深層,不再沿着主路徑傳遞,這就意味着最後這個等式

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

去掉了,取而代之的是另一個 ReLU 非線性函數,仍然對

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

進行

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

函數處理,但這次要加上

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,即:

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

。也就是加上的這個

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

産生了一個殘差塊。

在上面這個圖中,我們畫一條捷徑,直達第二層。實際上這條捷徑是在進行 ReLU非線性激活函數之前加上的,而這裡的每一個節點都執行了線性函數和 ReLU 激活函數。是以

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

插入的時機是線上性激活之後, ReLU 激活之前。 除了捷徑, 你還會聽到另一個術語“跳躍連接配接”, 就是指

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

跳過一層或者好幾層,進而将資訊傳遞到神經網絡的更深層。

ResNets 的發明者是何凱明(Kaiming He) 、 張翔宇(Xiangyu Zhang) 、 任少卿(ShaoqingRen) 和孫劍(Jiangxi Sun) ,他們發現使用殘差塊能夠訓練更深的神經網絡。是以建構一個 ResNet 網絡就是通過将很多這樣的殘差塊堆積在一起,形成一個很深神經網絡,我們來看看這個網絡。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

這并不是一個殘差網絡,而是一個普通網絡(Plain network),這個術語來自 ResNets 論文 。把它變成 ResNets 的方法是加上所有跳躍連接配接,正如之前看到的,每兩層增加一個捷徑,構成一個殘差塊。如圖所示, 5 個殘差塊連接配接在一起構成一個殘差網絡。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

如果我們使用标準優化算法訓練一個普通網絡,比如說梯度下降法,或者其它熱門的優化算法。如果沒有殘差,沒有這些捷徑或者跳躍連接配接,憑經驗你會發現随着網絡深度的加深,訓練錯誤會先減少,然後增多。而理論上,随着網絡深度的加深,應該訓練得越來越好才對。也就是說,理論上網絡深度越深越好。但實際上,如果沒有殘差網絡,對于一個普通網絡來說,深度越深意味着用優化算法越難訓練。實際上,随着網絡深度的加深,訓練錯誤會越來越多 。

但有了 ResNets 就不一樣了,即使網絡再深,訓練的表現卻不錯,比如說訓練誤差減少,就算是訓練深達 100 層的網絡也不例外。有人甚至在 1000 多層的神經網絡中做過實驗,盡管目前我還沒有看到太多實際應用。但是對

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

的激活,或者這些中間的激活能夠到達網絡的更深層。這種方式确實有助于解決梯度消失和梯度爆炸問題,讓我們在訓練更深網絡的同時,又能保證良好的性能。也許從另外一個角度來看,随着網絡越來深,網絡連接配接會變得臃腫,但是 ResNet 确實在訓練深度網絡方面非常有效。

殘差網絡為什麼有用?

為什麼 ResNet 能有如此好的表現,我們來看個例子,它解釋了其中的原因,至少可以說明,如何建構更深層次的 ResNets 網絡的同時還不降低它們在訓練集上的效率。 通常來講,網絡在訓練集上表現好,才能在 Hold-Out 交叉驗證集或 dev 集和測試集上有好的表現,是以至少在訓練集上訓練好 ResNets 是第一步。

先來看個例子, 一個網絡深度越深,它在訓練集上訓練的效率就會有所減弱,這也是有時候我們不希望加深網絡的原因。而事實并非如此,至少在訓練 ResNets網絡時,并非完全如此,舉個例子。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

假設有一個大型神經網絡,其輸入為

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

, 輸出激活值

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

, 假如你想增加這個神經網絡的深度,那麼用 Big NN 表示,輸出為

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

, 再給這個網絡額外添加兩層,依次添加兩層,最後輸出為

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

, 可以把這兩層看作一個 ResNets 塊,即具有捷徑連接配接的殘差塊。為了友善說明,假設我們在整個網絡中使用 ReLU 激活函數, 是以激活值都大于等于 0,包括輸入

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

的非零異常值。因為 ReLU 激活函數輸出的數字要麼是 0,要麼是正數 。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

我們看一下

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

的值,

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,添加項

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,是剛添加的跳躍連接配接的輸入。 展開這個表達式

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,其中

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

。注意一點,如果使用 L2正則化或權重衰減,它會壓縮

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

的值,如果對

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

應用權重衰減也可達到同樣的效果,盡管實際應用中,你有時會對

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

應用權重衰減也可達到同樣的效果,有時不會。這裡的

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

是關鍵項,如果

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,為了友善起見,假設

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,這幾項就沒有了,因為

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,最後

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,因為我們假定使用 ReLU 激活函數,并且所有激活值都是非負的。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

結果表明,殘差塊學習這個恒等式函數并不難,跳躍連接配接使我們很容易得出

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,這意味着,即使給神經網絡增加了這兩層,它的效率也并不遜色于更簡單的神經網絡,因為學習恒等函數對它來說很簡單。盡管它多了兩層,也隻把

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

的值指派給了

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

。是以給大型神經網絡增加兩層,不論是把殘差塊添加到神經網絡的中間還是末端位置,都不會影響網絡的表現。

當然,我們的目标不僅僅是保持網絡的效率,還要提升它的效率。想象一下,如果這些隐藏層單元學到一些有用資訊,那麼它可能比學習恒等函數表現得更好。而這些不含有殘差塊或跳躍連接配接的深度普通網絡情況就不一樣了,當網絡不斷加深時,就算是選用學習恒等函數的參數都很困難,是以很多層最後的表現不但沒有更好,反而更糟。我認為殘差網絡起作用的主要原因就是這些殘差塊學習恒等函數非常容易,你能确定網絡性能不會受到影響,很多時候甚至可以提高效率,或者說至少不會降低網絡的效率, 是以建立類似殘差網絡可以提升網絡性能。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

除此之外,關于殘差網絡,另一個值得探讨的細節是,假設

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

具有相同次元,是以 ResNets 使用了許多 same 卷積,是以這個

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

的次元等于這個輸出層的次元。之是以能實作跳躍連接配接是因為 same 卷積保留了次元,是以很容易得出這個捷徑連接配接,并輸出這兩個相同次元的向量。 如果輸入和輸出有不同次元,比如輸入的次元是 128,

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

的次元是256,再增加一個矩陣,這裡标記為

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

是一個256x128次元的矩陣,是以

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

的次元是256。這個新增項是 256 次元的向量。你不需要對

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

做任何操作,它是網絡通過學習得到的矩陣或參數,它是一個固定矩陣, padding 值為 0,用 0 填充

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

,其次元為 256,是以者幾個表達式都可以。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

最後,我們來看看 ResNets 的圖檔識别。這些圖檔是我從何凱明等人論文中截取的,這是一個普通網絡,我們給它輸入一張圖檔,它有多個卷積層,最後輸出了一個 Softmax。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

如何把它轉化為 ResNets 呢?隻需要添加跳躍連接配接。這裡我們隻讨論幾個細節,這個網絡有很多層 3×3 卷積,而且它們大多都是 same 卷積,因為它們是 same 卷積,次元得以保留,這也解釋了添加項

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

(次元相同是以能相加)。

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

ResNets 類似于其它很多網絡,也會有很多卷積層,其中偶爾會有池化層或類池化層的層。不論這些層是什麼類型,你都需要調整矩陣

卷積神經網絡之經典網絡LeNet-5、AlexNet、VGG-16、ResNet

的次元。普通網絡和 ResNets 網絡常用的結構是:卷積層-卷積層-卷積層-池化層-卷積層-卷積層-卷積層-池化層……依此重複。 直到最後, 有一個通過 softmax 進行預測的全連接配接層。 

參考文章:

[1]ImageNet Classification with Deep Convolutional Neural Networks 中文版 中英文對照(AlexNet)

[2]Very Deep Convolutional Networks for Large-Scale Image Recognition 中文版 中英文對照(VGG)

[3]Deep Residual Learning for Image Recognition 中文版 中英文對照(ResNet)

[4]Going Deeper With Convolutions 中文版 中英文對照(GoogLeNet)

[5]Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 中文版 中英文對照(BN-GoogLeNet)

[6]Rethinking the Inception Architecture for Computer Vision 中文版 中英文對照(Inception-v3)

[7]Squeeze-and-Excitation Networks 中文版 中英文對照(SENet)

-------------------------------------------------------------------------------------

原文:https://www.cnblogs.com/zyly/p/8758218.html

繼續閱讀