CNN網路結構總結[一]

LeNet

CNN網路結構總結[一]

特點:

區域性感受野(local receptive fields)

權值共享(weight sharing)

下采樣(subsampling)

卷積+非線性啟用+下采樣+全連線

LeNet可以說是開了卷積神經網路的先河,它使用的結構一直沿用到現在。

AlexNet

2012 年,AlexNet 橫空出世,在 ILSVRC-2012 上大大超越了第二名的選手,從此深度學習進入高速發展階段。

CNN網路結構總結[一]

特點:

提出了ReLU啟用函式,並一直沿用到現在。目前比較優秀的啟用函式

提出了Dropout方法,這也是現在還在用的減緩過擬合的技巧。一般也用在全連線層。

提出了最大池化,之前的CNN普遍使用平均池化(具有模糊化效果,同時反向傳播也沒有最大池化有效)。

使用了LRN,這個技巧貌似沒有再用了,好像又說是這個東西其實要不要無所謂,但是其動機

是好的,可以探究一下。

首次使用了GPU訓練網路,並且還是多卡訓練。

資料增強,不過使用的都是基本的裁剪,反轉等操作

VGG

可以看出,VGG系列有很多變體,但是我們最常用的還是VGG-16,很多物體檢測的backbone就是用的它。在很多遷移學習任務中,效能甚至超過了GoogLeNet,但是其引數量較大,達到了140M左右。

CNN網路結構總結[一]

特點:

卷積核尺寸全部為3x3

池化的核尺寸為2x2

將網路進一步加深

GoogLeNet

Inception V1

CNN網路結構總結[一]

特點:

該結構將CNN中常用的卷積(1x1,3x3,5x5)、池化操作(3x3)堆疊在一起(卷積、池化後的尺寸相同,將通道相加),一方面增加了網路的寬度,另一方面也增加了網路對尺度的適應性。

在3x3,5x5卷積前面,使用1x1的卷積核降低了特徵的通道數,主要是減少計算量。

在此之前,全連線層前面的卷積層會先flat成1x1xn的形式, 該版本的網路使用全域性池化,將nxnxm的卷積特徵轉換為1x1xm

為了避免梯度消失,額外添加了兩個softmax輔助訓練。借用網上的一篇文章的一句話“輔助分類器是將中間某一層的輸出用作分類,並按一個較小的權重(0。3)加到最終分類結果中,這樣相當於做了模型融合,同時給網路增加了反向傳播的梯度訊號,也提供了額外的正則化,對於整個網路的訓練很有裨益。”

Inception V2

提出了BN,一直存在的神級idea。不多說。

Inception V3

CNN網路結構總結[一]

特點:

卷積分解(也就是我們熟知的兩個3x3感受野相當於一個5x5,三個3x3相當於一個7x7,但前者的引數量都要少於後者)

非對稱卷積,將nxn的卷積核分解為1xn和nx1串聯的形式(論文指出當特徵圖大小為12到20時,才會有效果,其它尺寸下效果不明顯,玄學)

使用label smoothing, 之後也有論文指出使用smooth label要好於one hot形式,基於教師-學生的one shot學習也從側面證實了這一點。

Inception V4

CNN網路結構總結[一]

特點:

將Inception結構與ResNet的殘差結構(見 ResNet)結合在一起。

ResNet

CNN網路結構總結[一]

特點:

提出殘差結構,有效地減緩了梯度消失的問題,問什麼呢?因為不管網路的權重再怎麼小,梯度再怎麼小,至少還有個恆等對映,迫使資訊進行流動,也正是這個結構使ResNet達到了150多層。

ResNet V2

CNN網路結構總結[一]

特點:

在 ResNet V2 中,分支中的層不像傳統的 Conv-BN-ReLU 順序,而是改成了 BN-ReLU-Conv。作者把這個稱為預啟用(pre-activation),其思想是將非線性啟用也看成一個恆等對映(identity mapping),這樣,在前向和反向階段,訊號可以直接的從一個單元傳遞到其他任意一個單還要注意一點,密集連線是在一個block中的,是的你沒聽錯,DenseNet是由很多個block組成的,每個block內部才使用密集連線,block之間沒有。元。這樣的操作使得最佳化更加簡單,甚至能訓練深達 1001 層的 ResNet。

ResNeXt

CNN網路結構總結[一]

特點:

借鑑了inception的結構,擴充套件了模組的寬度,提出了 “cardinality” 概念,即一個模組並聯多少個殘差塊(這裡我有個疑問,在圖中並聯的殘差塊中,首先256通道直接降低為4通道?這樣資訊是不是會損失很多,還是我的理解出錯了。)

WRN

CNN網路結構總結[一]

特點:

增加殘差模組中的卷積輸出通道,最後得到的結果是40層的WRN和1001層的ResNet結果相當,但是訓練速度是後者的8倍,所以結論是:相同引數時,寬度大,網路好訓練,並且效能不會差

DenseNet

CNN網路結構總結[一]

特點:

密集連線:緩解梯度消失問題,加強特徵傳播,鼓勵特徵複用,極大的減少了引數量(可能聽到密集連線,大家會想到這樣不會大大加重網路的引數量嗎?其實不是的,因為既然我們複用了這麼多的特徵層,那就沒必要將新生成的特徵層的通道數增大太多,其實引數量反而還能減少,因為對特徵的利用率更高了,所以不用將通道擴大很多也行,這就是DenseNet最突出的優點了)。

視訊記憶體佔用過大

還要注意一點,密集連線是在一個block中的,是的你沒聽錯,DenseNet是由很多個block組成的,每個block內部才使用密集連線,block之間沒有.