轻量级神经网络----MobileNet,从v1到v3
MobileNetv1
论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
该论文提出了深度可分离卷积
深度可分离卷积就是将普通卷积拆分成为一个深度卷积和一个逐点卷积。
标准卷积操作:
输入一个12×12×3的一个输入特征图,经过5×5×3的卷积核卷积得到一个8×8×1的输出特征图。如果此时我们有256个特征图,我们将会得到一个8×8×256的输出特征图。
深度卷积:
我们将卷积核拆分成为但单通道形式,在不改变输入特征图像的深度的情况下,对每一通道进行卷积操作,这样就得到了和输入特征图通道数一致的输出特征图。如上图:输入12×12×3的特征图,经过5×5×1×3的深度卷积之后,得到了8×8×3的输出特征图。输入个输出的维度是不变的3。
逐点卷积:
逐点卷积就是1×1卷积。主要作用就是对特征图进行升维和降维,如下图:
在深度卷积的过程中,我们得到了8×8×3的输出特征图,我们用256个1×1×3的卷积核对输入特征图进行卷积操作,输出的特征图和标准的卷积操作一样都是8×8×256了。
我们首先来计算一下标准卷积的参数量与计算量(只考虑MAdd):
卷积核的尺寸是Dk×Dk×M,一共有N个,每一个都要进行D