從 Inception 到 Xception 的發展一路看來,出現了很多精巧的結構設計和理念思想:
1、多個不同尺寸的卷積核,提高對不同尺度特徵的適應能力
2、PW 卷積,降維或升維的同時,提高網絡的表達能力
PW卷積:Pointwise Convolution,俗稱 1x1 卷積,主要用於數據降維,減少參數量。
使用 1x1 卷積覈對輸入的特徵圖進行降維處理,這樣就會極大地減少參數量,從而減少計算。例如,輸入數據的維度是 256 維,經過 1x1 卷積之後,我們輸出的維度是 64 維,參數量是原來的 1/4 。
PW 也可以用做升維,MobileNet V2 中使用 PW 將 3 個特徵圖變成 6 個特徵圖,豐富輸入數據的特徵。
3、多個小尺寸卷積核替代大卷積核,加深網絡的同時減少參數量
4、精巧的 Bottleneck 結構,大大減少網絡參數量
參考鏈接:https://blog.csdn.net/duan19920101/article/details/104349188
5、精巧的 Depthwise Separable Conv 設計,再度減少參數量
輸入的是 2 維的數據,我們要進行 3x3 卷積並輸出 3 維的數據,與正常卷積對比:
對於某一個卷積層,它的參數個數爲:(Kh * Kw * Cin) * Cout + Cout,參數Kh 和Kw表示卷積核的高和寬,Cin 表示輸入通道數, Cout表示輸出通道數。
1> 標準卷積
參數個數:2*3*3*3=54
2> DW 卷積
參數個數:2*3*3+2*1*1*3=18+6=24
參數量對比:24/54=0.444
我們可以看到,參數量是正常卷積的一半,但實際上可以更少,只不過在輸入輸出維度相差不大的情況下,效果沒那麼明顯。
參考鏈接:https://www.jianshu.com/p/4708a09c4352