0.简述
作者思路清奇,把原来的卷积操作给拆成两个方向的卷积了:把标准卷积(standard convolutional )分解成深度卷积(depthwise convolution)和逐点卷积(pointwise convolution),然后把这种新的卷积叫做深度可分离卷积Depthwise Separable Convolution
1.深度可分离卷积
标准的卷积所产生的计算花费是很高的:
所以拆成了两部分,深度卷积负责滤波作用,尺寸为( D K , D K , 1 , M ),输出特征为( D G , D G , M ) ;
逐点卷积负责转换通道,尺寸为( 1 , 1 , M , N ) ,得到最终输出为( D G , D G , N )
计算的花费是
相比之下,计算量是原来的dk^2,如果使用的是3*3的深度可分离卷积那么计算量比标准卷积少了8到9倍,而准确率仅略有降低
标准卷积和MobileNet中使用的深度分离卷积结构对比如下:
虽然结构变得复杂了,但是显著的降低了计算量,但是由于是把之前的一步卷积差分成了两步,所以在反向传播的时候可以会出现问题。
作在实验的过程中出现的问题是深度卷积的卷积核会是0.
2.网络结构
网络结构很像vgg,所以和vgg对比一下,在轻微的牺牲掉准确率的前提下,计算量是vgg的1/32,模型的大小也是1/32
可以通过调整网络的宽度(通道数α)和输入图像的大小(分辨率β)来进一步节约计算量