深度學習圖像識別神經網絡彙總
閒言碎語:
最近看論文,突然看到組卷積卻想不起來是哪個網絡提出的,覺得可能需要回頭重新再看一下這些圖像識別網絡,加上最近有時間,就寫了這一篇;
這些網絡的具體解釋都在我的圖像識別專欄或者論文閱讀筆記專欄,這裏只做一個簡介和彙總;
(一)GoogleNet 系列:
1.1 Inception V1:
特點:
- 使用1×1卷積降維;
- 將不同感受野大小的特徵層進行堆疊;
1.2 Inception V2:
並沒有改變結構,但是首次提出了使用 ,即將一個batch的數據變換到均值爲0、方差爲1的正太分佈上,從而使數據分佈一致,每層的梯度不會隨着網絡結構的加深發生太大變化,從而避免發生梯度消失的問題,使得深度神經網絡可以進一步加深;
1.3 Inception V3:
由於一個5×5卷積可以分解成兩個3×3卷積,感受野大小不變,但是參數量卻大大減小;由此推知,一個3×3卷積也可以分解成一個1×3卷積和一個3×1卷積;
1.4 Inception V4:
主要是借鑑了ResNet的殘差單元的思想,但同時也表明,不使用殘差單元也可以達到同樣的效果;
1.4.1:Stem:
1.4.2 Inception-A:
1.4.3 Inception-B:
1.4.4 Inception-C:
1.4.5 Reduction-A:
1.4.6 Reduction-B:
(二)ResNet系列:
2.1 ResNet:
在一個結構單元中,如果我們想要學習的映射本來是y=H(x),那麼跟學習==y=F(x)+x這個映射是等效的;這樣就將本來回歸的目標函數H(x)轉化爲F(x)+x,即F(x) = H(x) - x,稱之爲殘差;在反向傳播求導時,x項的導數恆爲1,這樣也解決了梯度消失問題;
2.2 ResNeXt:
使用一種平行堆疊相同拓撲結構(即組卷積)來代替sNet 的三層卷積,在不明顯增加參數量級的情況下提升了模型的準確率,同時由於拓撲結構相同,也減少了參數;
2.3 DenseNet:
2.3.1 Bottleneck Layer:
即在3×3卷積前引入1×1卷積降維,達到減少參數的目的;
2.3.2 Translation Layer:
用來解決結構單元前後特徵層大小不一致的問題;
(三)MobileNet 系列:
3.1 MobileNet V1:
爲了使深度學習神經網絡能夠用於移動和嵌入式設備,提出了使用深度分離卷積減少參數的方法;
3.1.1 DW Conv:
即先將特徵層的每個channel分開,然後分別做卷積,這樣參數大約少了N倍(N是輸出特徵層的channel數);
3.1.2 PW Conv:
就是1×1卷積,用於融合不同channel的特徵;
3.2 MobileNet V2:
由於ReLU函數在較低維度的特徵變換時會造成信息丟失,作者設計了MobileNet V2的Liner Bottleneck結構和及殘差結構(不像t先收縮後膨脹,這裏先膨脹再);
3.3 MobileNet V3:
還沒看,,,後續更新;
(四)SqueezeNet:
Squeeze Net 提出了優化結構和壓縮模型的策略:
- 大量使用大小的卷積核,代替大小的卷積核,從而減少參數;
- 在大小的卷積核相應的卷積層之前,使用大小的卷積降維,從而減小卷積核的通道數;
- 通過延遲下采樣(即的卷積層或池化層),保持較大的 從而提升準確率;
(五)ShuffNet系列:
5.1 ShuffleNet V1:
核心思想:
- 對1×1卷積也分解成組卷積的形式;
- 使用Channel Shuffle操作解決多個1×1組卷積相互疊加,造成的來自某個通道的輸出僅來自一小部分的輸入通道,從而阻礙了組與組之間特徵的流通的問題;
5.2 ShuffleNet V2:
提出了提高神經網絡模型效率的四個原則:
- 卷積層前後channel相同,能夠最小化MAC;
- MAC隨着組卷積的組數增加而增大;
- 網絡分支(如Inception)會減小平行度;
- Element-wise的操作不可忽略;
根據這四個原則,設計了一種新的高效結構;
(六)SeNet:
SeNet並不是一個完整的網絡,而是一個子網絡,可以嵌入到各種圖像識別網絡中;
其核心就是根據特徵層中不同通道在Loss中的比重,來評估並調整每個channel在特徵提取中的權重;
(七)VGG:
VGG是跟GoogleNet同一年(2014)提出的,特點就是簡潔、高效;