經(jīng)典CNN結(jié)構(gòu)的總結(jié)剖析

A、流行的網(wǎng)絡(luò)結(jié)構(gòu)

1、AlexNet

這個(gè)模型是深度網(wǎng)絡(luò)第一次在ImageNet比賽中達(dá)到的精度遠(yuǎn)遠(yuǎn)甩開傳統(tǒng)的方法達(dá)到的精度,它是用5層卷積神經(jīng)網(wǎng)絡(luò)+3層全連接網(wǎng)絡(luò)組成的。

改進(jìn)點(diǎn):

1.1AlexNet首次采用了ReLU激活函數(shù)

1.2 對于全連接層采用了Dropout技術(shù)、Local Response

Normalization(局部響應(yīng)歸一化,簡稱LRN,實(shí)際就是利用臨近的數(shù)據(jù)做歸一化,使得響應(yīng)較大的值相對更大,提高模型泛化能力)

1.3 Overlapping Pooling(即重疊池化,Pooling的步長相對于Pooling Kernel的對應(yīng)邊要?。?/p>

1.4 采用了數(shù)據(jù)增強(qiáng)操作

1.5 分組卷積,多GPU并行

2、VGG16

改進(jìn)點(diǎn):

2.1 去掉LRN層,作者發(fā)現(xiàn)深度網(wǎng)絡(luò)中AlexNet提出的LRN作用并不明顯

2.2 采取更小的卷積核3*3,利用更小卷積核的堆疊代替AlexNet中的大的卷積核(參數(shù)量更?。?。

2.3 采用了有規(guī)則的卷積-池化操作

2.4 采取了更深的網(wǎng)絡(luò)(16/19層)

VGG存在問題:卷積層寬度大使得參數(shù)量巨大、效率低(說明SSD的基礎(chǔ)特征提取網(wǎng)絡(luò)需要另行設(shè)計(jì)符合SAR圖像特性的)


3、GoogleNet/Inception

改進(jìn)點(diǎn):

3.1 發(fā)明了Inception模塊,使用標(biāo)準(zhǔn)密集連接結(jié)構(gòu)進(jìn)行稀疏CNN計(jì)算(在深度網(wǎng)絡(luò)中,大部分的激活值都是非必須的,比如激活值為零或是冗余部分),inception采用大小不同的卷積(5*5、3*3、1*1)在不同的尺度上捕捉細(xì)節(jié)信息。

3.2 大規(guī)模采用1*1卷積構(gòu)建瓶頸層:隨著網(wǎng)絡(luò)的加深、加寬,計(jì)算量變的更大,為了避免這個(gè)問題,提出在使用卷積之前使用1*1的卷積操作輸入,用于降維。

3.3 將全連接層全部替換為簡單的全局平均pooling,在最后參數(shù)會變的更少。而在AlexNet中最后3層的全連接層參數(shù)差不多占總參數(shù)的90%。

注:Inception V2/V3相對于inception V1的改進(jìn):

Inception V2:

? ? 1、 用兩個(gè)3x3代替5x5

? ? 2、的Inception塊從2個(gè)變成了3個(gè)

? ? 3、pooling時(shí)有些是avg pooling有些是max pooling

? ? 4、在Inception塊之間不再有額外的max-pool而是直接把卷積和池化的stride設(shè)置為2

? ? 5、BN層被用在每一個(gè)輸入層后面(先BN再激活)

Inception V3:

? ? 1、修改部分Inception塊,分解成非對稱卷積(把nxn分解成1xn和nx1卷積,這里n=7。注意原始結(jié)構(gòu)并沒有7x7卷積)

? ? 2、修改部分Inception塊,擴(kuò)大卷積核數(shù)量(匯聚的分支數(shù)量)


4ResNet/Dense Net

此前深度網(wǎng)絡(luò)的問題:

? ? 4.1 隨著網(wǎng)絡(luò)深度的增加,帶來網(wǎng)絡(luò)精度的增加,但權(quán)值更新的信號從網(wǎng)絡(luò)后面層傳到前面層會越來越弱,甚至消失,這也就意味著前面的層被忽略掉了(不發(fā)生權(quán)值更新),這也稱作是梯度消失。

? ? 4.2 網(wǎng)絡(luò)優(yōu)化變的越來越難執(zhí)行,所以簡單的增加層會導(dǎo)致訓(xùn)練誤差增加(退化問題),殘差網(wǎng)絡(luò)通過構(gòu)建殘差塊允許訓(xùn)練更深的網(wǎng)絡(luò)結(jié)構(gòu)。

改進(jìn)點(diǎn):

?????? 提出了殘差學(xué)習(xí)模塊,讓深度網(wǎng)絡(luò)也能訓(xùn)練收斂

DenseNet:用通道維度上concatenate代替直接與原信號相加的ResNet。

其與 ResNet 的主要區(qū)別在于,DenseNet 里模塊B的輸出不是像 ResNet 那樣和模塊A的輸出相加,而是在通道維度上concatenate。這樣模塊A的輸出可以直接傳入模塊B后面的層。在這個(gè)設(shè)計(jì)里,模塊A直接跟模塊B后面的所有層連接在了一起。這也是它被稱為“稠密連接”的原因。

5、MobileNets:適用于移動設(shè)備,大大減少了網(wǎng)絡(luò)層的參數(shù)數(shù)量,效率極高

?????? 改進(jìn)點(diǎn):傳統(tǒng)卷積層的改進(jìn),如下圖所示

? ? ? ?我們首先對每一個(gè)通道進(jìn)行各自的卷積操作,有多少個(gè)通道就有多少個(gè)過濾器。得到新的通道feature maps之后,這時(shí)再對這批新的通道feature maps進(jìn)行標(biāo)準(zhǔn)的1×1跨通道卷積操作。這種操作被稱為“DepthWise

convolution”,縮寫“DW”。

? ? ? ?比如輸入圖片維度是11 × 11 × 3,標(biāo)準(zhǔn)卷積為3 × 3 × 3 ×16(假設(shè)stride為2,padding為1),那么可以得到輸出為6 × 6 × 16的輸出結(jié)果?,F(xiàn)在輸入圖片不變,如果先通過一個(gè)維度是3 × 3 × 1 × 3的深度卷積(輸入是3通道,這里有3個(gè)卷積核,對應(yīng)著進(jìn)行計(jì)算),得到6 × 6 × 3的中間輸出,然后再通過一個(gè)維度是1 × 1 × 3 ×16的1 ×1卷積,同樣得到輸出為6 × 6 × 16。

? ? ? ?基于深度可分解的卷積,它可以將標(biāo)準(zhǔn)卷積分解成一個(gè)深度卷積和一個(gè)點(diǎn)卷積(1 × 1卷積核),這種分解可以有效減少計(jì)算量,降低模型大小。

6ShuffleNetsGroup convolutional + Channel Shuffle

?????? 這篇文章是在MobileNet的基礎(chǔ)上主要做了一點(diǎn)改進(jìn):采用channel shuffle、pointwise group convolutions和depthwise separable convolution來修改原來的ResNet單元。

? ? ? ?6.1?Group convolution

????????一般卷積操作中比如輸入feature map的數(shù)量是N,該卷積層的filter數(shù)量是M,那么M個(gè)filter中的每一個(gè)filter都要和N個(gè)feature map的某個(gè)區(qū)域做卷積,然后相加作為一個(gè)卷積的結(jié)果。對于group操作,設(shè)group個(gè)數(shù)為g,那么N個(gè)輸入feature map就被分成g個(gè)group,M個(gè)filter就被分成g個(gè)group,然后在做卷積操作的時(shí)候,第一個(gè)group的M/g個(gè)filter中的每一個(gè)都和第一個(gè)group的N/g個(gè)輸入feature

map做卷積得到結(jié)果,第二個(gè)group同理,直到最后一個(gè)group。最早的group操作起源于AlexNet(當(dāng)時(shí)主要是問了解決模型在雙GPU上的訓(xùn)練)。

問題:多個(gè)group操作疊加在一起,會產(chǎn)生邊界效應(yīng),就是某個(gè)輸出channel僅僅來自輸入channel的小部分,這也學(xué)出來的特征比較局限。針對這個(gè)問題提出了channel shuffle。

? ? ? ?6.2?channel shuffle

? ??????在進(jìn)行第二次groupconvolution前,對其輸入的特征圖進(jìn)行一個(gè)分配,即將每個(gè)group的特征圖分成幾個(gè)subgroup并隨機(jī)打亂。

ShuffleNet的網(wǎng)絡(luò)模塊結(jié)構(gòu):

下圖(a)是ResNet中的bottleneck unit,將原來的3*3 Conv改成3*3 DWConv。圖(b)Shuffle Net主要也是在這基礎(chǔ)上做改動:首先用帶group的1*1卷積代替原來的1*1卷積,同時(shí)跟一個(gè)channel shuffle操作,然后是3*3 DWConv。圖(c)添加了一個(gè)Average pooling和設(shè)置了stride=2,另外原來Resnet最后是一個(gè)Add操作,也就是元素值相加,而在(c)中是采用concat的操作,也就是按channel合并,類似GoogLeNet的Inception操作。

B、關(guān)于設(shè)計(jì)適應(yīng)于SAR圖像特性的基礎(chǔ)網(wǎng)絡(luò)的思考

1、卷積不一定只在同一組中進(jìn)行---Group convolution

??? 優(yōu)點(diǎn):可以有效的減少網(wǎng)絡(luò)的參數(shù)(參考AlexNet和Shuffle Net)

2、卷積核不一定越大越好

??? 之前的觀念是,卷積核尺度越大,則感受野越大,看到的圖片信息越多,因此獲得的特征越好。但是大的卷積核會導(dǎo)致計(jì)算量的暴增,不利于模型深度的增加,計(jì)算性能也會降低。在VGG(最早使用)、Inception網(wǎng)絡(luò)中,利用2個(gè)3×3卷積核的組合比1個(gè)5×5卷積核的效果更佳,同時(shí)參數(shù)量(3×3×2+1 VS 5×5×1+1)被降低,因此采用3×3卷積核是更好的選擇。

3、每層卷積層可以采用多種尺度卷積核的組合

??? 傳統(tǒng)的層疊式網(wǎng)絡(luò),基本上都是卷積層的堆疊,每層只用一個(gè)尺寸的卷積核,例如VGG結(jié)構(gòu)中使用了大量的3×3卷積層。事實(shí)上,同一層feature map可以分別使用多個(gè)不同尺寸的卷積核,以獲得不同尺度的特征,再把這些特征結(jié)合起來,得到的特征往往比使用單一卷積核的要好,Inception系列的網(wǎng)絡(luò),就使用了多個(gè)卷積核的結(jié)構(gòu),證明了該結(jié)構(gòu)的有效性。

4、如何減少卷積層參數(shù)量—Bottleneck

??? 如果僅僅引入多個(gè)尺寸的卷積核,會帶來大量的額外的參數(shù),為了解決這個(gè)問題,引入1×1的卷積核。

5、對于深層網(wǎng)絡(luò),引入ResNet/DenseNet殘差結(jié)構(gòu)

??? 當(dāng)層數(shù)加深時(shí),網(wǎng)絡(luò)的表現(xiàn)越來越差,很大程度上的原因是因?yàn)楫?dāng)層數(shù)加深時(shí),梯度消散得越來越嚴(yán)重,以至于反向傳播很難訓(xùn)練到淺層的網(wǎng)絡(luò)。而skip connection可以有效的解決。

6、卷積操作必須同時(shí)考慮特征通道和區(qū)域嗎?---DepthWise操作(MobileNet)

標(biāo)準(zhǔn)的卷積過程如左上圖,一個(gè)2×2的卷積核在卷積時(shí),對應(yīng)圖像區(qū)域中的所有通道均被同時(shí)考慮,問題在于,為什么一定要同時(shí)考慮圖像區(qū)域和通道?我們?yōu)槭裁床荒馨淹ǖ篮涂臻g區(qū)域分開考慮?

??? Xception和上述介紹的MobileNet就是給予上述的問題進(jìn)行了改進(jìn),提出了DepthWise connection(簡稱DW) 。一個(gè)depthwise操作比標(biāo)準(zhǔn)的卷積操作降低不少的參數(shù)量,同時(shí)相關(guān)論文中指出這個(gè)模型得到了更好的分類效果。

7、卷積網(wǎng)絡(luò)中的特征通道不一定都是平等的—---SENet

無論是在VGG16、Inception、DenseNet或者ShuffleNet里面,我們對所有通道產(chǎn)生的特征都是不分權(quán)重直接結(jié)合的,那為什么要認(rèn)為所有通道的特征對模型的作用就是相等的呢? ImageNet2017 冠軍SENet的出現(xiàn),證明了不同的特征不一定是平等的(有點(diǎn)類似注意力機(jī)制)。

8、讓固定大小的卷積核有更大的感受野-----dilated convolution

??? 在設(shè)計(jì)網(wǎng)絡(luò)時(shí)候,可以考慮引入空洞卷積,如RFBNet根據(jù)人類的視覺特點(diǎn)設(shè)計(jì)了擁有不同尺度的空洞卷積的組合。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容