卷積網絡CNN中各種常見卷積過程


卷積 Convolution

卷積核也稱為濾波器filter。濾波器大小為k*k*d,其中d為深度,和輸入feature map的channel數相同。每一層的filter數量和輸出channel數相同。輸入的每個channel和對應深度的卷結核進行卷積,然后加和,組成輸出的一個channel。

 
卷積過程
 

 

對於filter K^{l+1}K_{i,j,k,l}^{l+1}表示i_{th}個卷積核深度為j的位置在kl列的參數。對於輸入F_{i,j,k}^l和輸出F_{i,j,k}^{l+1}表示i_{th}個channel的jk列的值。則
F_{i,j,k}^{l+1}=\sum_{c,m,n}F_{c,j+m,k+n}^lK^{l+1}_{i,c,m,n}
如果考慮到步長s,則
F_{i,j,k}^{l+1}=\sum_{c,m,n}F_{c,j*s+m,k*s+n}^lK^{l+1}_{i,c,m,n}
參考圖像處理常見的卷積核

1x1卷積

顧名思義,1x1卷積的卷結核大小為1x1,這樣可以節省很多的參數,可以很方便得調整channel數量。1x1卷積可以增加channel維度的特征學習,但缺少feature map維度的特征學習。


 
1x1卷積
  • 1x1卷積不改變feature map大小,只改變channel數,相比於3x3卷積,1x1計算量更小(算一下,小了多少?3*3c_{in}c_{out}wh => c_{in}c_{out}wh
  • 1x1卷積可以增加非線性

3D卷積

 
3dconv

輸入多了時序維度,卷結核相應的也增加了一個維度

反卷積/轉置卷積 Transposed Convolutions/ deconvolution

兩圖流。


 
Transposed Convolutions

 
反卷積
  • 對輸入的圖每個像素進行卷積操作
  • 按照stride將上述得到的結果排列,如果重疊則進行加和
  • 多個卷積核重復上述操作,得到新的feature map
    out=(in-1)*stride+kernel_size

空洞卷積/擴張卷積 Dilated Convolutions

 
Dilated Convolutions

多了一個擴張率,擴張率為1時就是普通卷積。



作者:昭君姐
鏈接:https://www.jianshu.com/p/2a0f3a4a9d1d
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM