分成兩次卷積操作就可以了,kernel_size可以指定的。比如3x3卷積分解成1x3和3x1兩個卷積:

我所知,這樣做的目的主要是為了壓縮模型參數量(這裡參數由3x3=9降低到1x3+3x1=6),但是計算量基本沒變(乘數目沒變),inception網路裡面有這種騷操作,不過一般對較大的卷積核,如7x7。


實際上並不能簡單的將 [公式] 卷積分解為 [公式][公式] 卷積,具體請看ICCV2019ACNet,就是專門講這個問題的,地址是:

openaccess.thecvf.com/content_ICCV_2019/papers/Ding_ACNet_Strengthening_the_Kernel_Skeletons_for_Powerful_CNN_via_Asymmetric_ICCV_2019_paper.pdf?

openaccess.thecvf.com

然後一作也開源了這份工作:DingXiaoH/ACNet。


我記得傳統圖像處理裡面高斯濾波可以分成x方向和y方向的卷積疊加,這裡應該類似,凡是有空間各向同性的卷積都可以分解為x和y方向上兩個獨立卷積合成


是要壓縮模型參數嗎?


特徵圖像 列取最大和行取最大,,或者列取平均和行取平均


先按列卷,在按行卷?這個動作不是可以一步到位,為毛分兩次?


推薦閱讀:
相關文章