普通卷積
輸入卷積:Win * Hin * Cin
卷積核:k * k
輸出卷積:Wout * Hout * Cout
參數量:(即卷積核的參數)
k * k * Cin * Cout
或者:(k * k * Cin + 1) * Cout (包括偏置bias)
計算量:
k * k * Cin * Wout * Hout * Cout
深度可分離卷積(Depthwise Separable Convolution)
深度可分離卷積可以分為:depthwise conv + pointwise conv
depthwise 卷積(輸入channel等於輸出channel)
輸入卷積:Win * Hin * Cin
卷積核:k * k
輸出卷積:Wout * Hout * Cin
參數量:
k * k * Cin
計算量:
k * k * Cin * Wout * Hout
pointwise conv即普通的1x1卷積,參數來按照普通1x1卷積來算
組卷積(Group Convolution)
輸入卷積:Win * Hin * Cin
卷積核:k * k
輸出卷積:Wout * Hout * Cout
分成g組
參數量:(即卷積核的參數)
k * k * (Cin / g) * (Cout / g) * g = k * k * Cin * Cout * (1 / g)
自然,分組卷積的參數量是標准卷積的 1/g
計算量:
k * k * (Cin/g) * (Wout/g) * Hout * Cout * g= k * k * Cin * Wout * Hout * Cout * (1/g)
參考:
卷積核的參數量和計算量 https://www.cnblogs.com/ywheunji/p/11887906.html
理解分組卷積和深度可分離卷積如何降低參數量 https://zhuanlan.zhihu.com/p/65377955