續接上文,關於深度可分離卷積與傳統卷積的一點思考

關於深度可分離卷積(DSC)與傳統卷積間差別的一點點思考,望各位大佬指正。

DSC是將Conv對spatial(receptive-field-wise)和semantic(channel-wise)的同時學習給一分爲二了。

在分開的這兩個階段中,Stage 1. depthwise conv用通道爲1的多個“薄”卷積核僅學習各個input通道上的空間特徵;Stage 2. pointwise conv,也即1 *1 conv或者pixelwise conv,用多個這樣的“厚”且“尖”的卷積核逐點進行channel manipulation,即由input channel數向output channel數的轉化。 

相比之下,DSC之所以可以降低params,是因爲迴避了(k * k) *( M * N)這個大連乘。前一個括號中是spatial-wise,後一個括號中是semantic-wise operations。要知道,M * N在一個很深的網絡中將會是一個非常的的數字。

DSC所涉及的參數量變爲,(k * k * M) + (1 * 1 * M * N),前一個括號是Stage 1 spatial conv,後一個括號是是stage 2 semantic conv。可見,k * k僅連乘了M,而將M * N這個負擔交給 1 * 1 來弱化,變k * k 與 M * N之間的乘法爲加法。

參數減少,DSC的filter能夠capture、learn、extract的feature就變弱了。why?因爲傳統conv的filter所學得的feature是立體的、即有空間描述,又有語義深度,即,filter本身就是一個k * k * M的tensor,它所表徵represent的特徵一定更爲豐富。反觀DSC中,一不存在完整的k * k * M的filter,只有分開的k * k * 1 filter和1 * 1 * M filter。這種割裂、強行分離,破壞了CNN本質的compositional屬性。上一層得到的M-channel的feature作爲本層的輸入,應當被一次性地用一個compact的filter去學習其中蘊含的spatial-semantic特徵,而非先spatial後semantic。

僅僅是個人的理解和主觀臆斷,大佬們見笑了 : D.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章