Depth-wise Convolution的理解
Depth-wise Convolution的目的是为了减少计算量,提高计算速度。
对于Depth-wise Convolution来说,一个卷积核只负责一个通道,一个通道只被一个卷积核卷积。
对于普通的卷积层来说:
input feature map为[12,12,3],使用256个[5,5,3]的卷积核,得到output feature map为[8,8,256],参数量为5*5*3*256=19200,所需计算乘法的次数为5*5*3*256*8*8=1228800(FLOPs)。
对于Depth-wise Convolution来说:
分为两步:
(1)通道分开卷积,input feature map为[12,12,3],分别使用3个[5,5,1]的卷积核,得到output feature map[8,8,3]
(2)再一起卷积,input feature map为[8,8,3],使用256个[1,1,3]的卷积核,得到output feature map[8,8,256]
参数量为:5*5*1*3+1*1*3*256=843,所需计算的乘法次数为5*5*1*3*8*8+1*1*3*256*8*8=53952(FLOPs)。
参考:https://zhuanlan.zhihu.com/p/149564248