目录
MobileNet-v1
论文中指出:目前的研究可总结为两个方向:一是对训练好的复杂模型进行压缩得到小模型;二是直接设计小模型进行训练。不管怎样,目的均是在保持模型性能的前提下降低模型尺寸,同时提升模型速度。MobileNet属于后者,是Google提出的一种小而高效的CNN模型,在精度和速度之间做了折中。
MobileNet的基本单元是深度可分离卷积(depthwise seperable convolution),此结构在已运用于Inception中。分为两步:depthwise convolution和pointwise convolution,如论文中的图2所示。Depthwise是针对每个输入通道采用不同的卷积核(此处不同是指卷积核值不同,尺寸是相同的),每个卷积核对应一个输入通道,所以depthwise convolution是depth级别的卷积操作。而pointwise convolution本质是普通卷积,只是卷积核的尺寸为1×1。总结:先用depthwise convolution对不同输入通道分别进行卷积,然后采用pointwise convolution将depthwise卷积输出结合。其实最终效果和普通卷积差不多,但是大大减少了参数量、计算量。
计算量分析。对于普通卷积,假设输入特征图大小为,输出特征图的大小为
,那么计算量为
(即,原论文中的式(2))。对于深度可分离卷积,输入和输出特征图尺寸不变,那么depthwise convolution的计算量为
(即,原论文中的式(3)),pointwise convolution的计算量为
,那么总计算量为
(即,原论文中的式(5))。比较两者的区别:
,一般情况下,N较大,那么1/N可以忽略不急,如果输入特征图大小为3×3,那么深度可分离卷积