LeNet:
AlexNet:
該模型的貢獻有:
1.使用RELU作爲激活單元。
2.使用Dropout選擇性忽略單個神經元,避免過擬合。
3.選擇最大池化,避免平均池化的平均化效果。
網絡整體上包含三個結構模塊:
VGG:
VGG是把網絡分爲5組(模仿AlexNet的五層),然而它使用了3*3的濾波器,並把它們組合起來作爲一個卷積序列進行處理。特徵:
1.網絡更深DCNN,channel數目更大。
2.採用多個3*3的卷積,模仿出更大的感受野的效果。這些思想也被用在了後續的網絡架構中,如 Inception 與 ResNet。
GoogLeNet:
該模型的創新在於Inception,這是一種網中網的結構,即原來的結點也是一個網絡。Inception一直在不斷髮展,目前已經V2、V3、V4了,感興趣的同學可以查閱相關資料。Inception的結構如圖所示,其中1*1卷積主要用來降維,用了Inception之後整個網絡結構的寬度和深度都可擴大,能夠帶來2-3倍的性能提升。
Inception結構圖
對Inception的結構做以下說明:
1. 採用不同大小的卷積核意味着不同大小的感受野,最後拼接意味着不同尺度特徵的融合;
2. 之所以卷積核大小採用1、3和5,主要是爲了方便對齊。設定卷積步長stride=1後,只要分別設定pad=0、1、2,那麼卷積後便可以得到相同維度的特徵,然後這些特徵就可以直接拼接在一起了;
3 . 文章說很多地方都表明pooling挺有效,所以Inception裏面也嵌入了;
4 . 網絡越到後面,特徵越抽象,而且每個特徵所涉及的感受野也更大了,因此隨着層數的增加,3x3和5x5卷積的比例也要增加。
5. 使用5x5的卷積核仍然會帶來巨大的計算量。 爲此,文章借鑑NIN2,採用1x1卷積核來進行降維。 例如:假定上一層的輸出爲100x100x128,經過具有256個5x5卷積核的卷積層處理之後(stride=1,pad=2),輸出數據爲100x100x256,其中,卷積層的參數爲128x5x5x256。假如上一層輸出先經過具有32個1x1卷積核的卷積層,再經過具有256個5x5卷積核的卷積層,那麼最終的輸出數據仍爲爲100x100x256,但卷積層參數量已經減少爲128x1x1x32 + 32x5x5x256,大約減少了4倍。
此外,該模型最後採用了average pooling來代替全連接層。但是,實際在最後還是加了一個全連接層,主要是爲了方便以後大家finetune。