续接上文,关于深度可分离卷积与传统卷积的一点思考

关于深度可分离卷积(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.

 

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