MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications论文解读

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications论文解读

  • 一、论文地址及贡献
    • 2.1论文地址
    • 2.2论文贡献
  • 二、MobileNets模型结构
    • 2.1深度可分离卷积
    • 2.2网络的结构和训练
    • 2.3Width Multiplier:更小的模型
    • 2.4 Resolution Multiplier:简化表示

一、论文地址及贡献

2.1论文地址

https://arxiv.org/abs/1704.04861

2.2论文贡献

论文为移动和嵌入式视觉应用提出了一类称为MobileNets的高效模型。MobileNets基于流线型架构,使用深度可分离卷积来构建轻量级深度神经网络。

二、MobileNets模型结构

2.1深度可分离卷积

MobileNet模型基于深度可分离卷积,这是一种分解卷积的形式,它将标准卷积分解为深度卷积和1×1卷积,称为逐点卷积。对于MobileNets,深度卷积对每个输入通道应用一个filter。逐点卷积然后应用1×1卷积来组合深度卷积的输出。标准卷积在一个步骤中将输入过滤并组合成一组新的输出。深度方向的可分离卷积将其分为两层,一层用于过滤,另一层用于合并。这种因子分解具有显著减少计算和模型大小的效果。下图显示了如何将标准卷积2(a)分解为深度卷积2(b)和1 × 1逐点卷积2©。
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications论文解读_第1张图片
标准卷积层将DF× DF× M特征映射F作为输入,并产生DF× DF× N特征映射G,其中DF是正方形输入特征映射1的空间宽度和高度,M是输入通道的数量(输入深度),DG是正方形输出特征映射的空间宽度和高度,N是输出通道的数量(输出深度)。
标准卷积层由大小为DK×DK×M×N的卷积核K参数化,其中DK是假设为平方的核的空间维度,M是输入通道的数量,而N是先前定义的输出通道的数量。
假设步长是1,标准卷积的输出特征图的计算如下图:
在这里插入图片描述
标准卷积的损失的计算如下:
在这里插入图片描述
可分离深度卷积由两层组成:深度卷积和逐点卷积。我们使用深度卷积对每个输入通道(输入深度)应用单个滤波器。逐点卷积是一种简单的1×1卷积,然后用于创建深度层输出的线性组合。MoblieNet对两层都使用batchnorm和ReLU非线性。

每一个输入通道的filter的深度卷积可以写成:
在这里插入图片描述
其中K是大小为DKxDKxM的深度卷积核,在M个filters中K被用于m个通道的F来输出热图G。
深度卷积的计算损失为:
在这里插入图片描述
深度可分离卷积的损失是:
在这里插入图片描述
MobileNet使用3 × 3深度可分离卷积,其计算量比标准卷积少8到9倍,精度只有很小的降低。

2.2网络的结构和训练

除了第一层是完全卷积外,MobileNet结构建立在前面部分提到的深度可分离卷积上。通过用如此简单的术语定义网络,我们能够很容易地探索网络拓扑,找到一个好的网络。下图定义了移动网络体系结构。
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications论文解读_第2张图片
除了最后完全连接的层没有非线性并馈入softmax层进行分类之外,所有层后面都有batch ORM和ReLU非线性。
下图对比了具有规则卷积、batch ORM和ReLU非线性的层与具有深度卷积、1 × 1逐点卷积以及每个卷积层之后的batch ORM和ReLU的因子化层。
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications论文解读_第3张图片
向下采样在深度方向的卷积和第一层中用交错卷积处理。最终平均池化会在完全连接的图层之前将空间分辨率降至1。将深度方向和点方向的卷积计算为单独的层,MobileNet有28层。

2.3Width Multiplier:更小的模型

引入了一个非常简单的参数α,称为宽度乘数。宽度乘数α的作用是在每一层均匀地细化网络。对于给定的层和宽度乘数α,输入通道数M变成αM,输出通道数N变成αN,具有宽度乘数α的深度可分离卷积的计算成本为:
在这里插入图片描述
其中α∑(0,1],典型设置为1、0.75、0.5和0.25。α = 1是基线MobileNets,α < 1是减少的MobileNets。宽度乘数具有将计算成本和参数数量二次减少大约α的平方的效果。宽度乘数可以应用于任何模型结构,以定义一个新的更小的模型,具有合理的准确性,延迟和大小权衡。它用于定义需要从头开始训练的新的简化结构。

2.4 Resolution Multiplier:简化表示

降低神经网络计算成本的第二个超参数是分辨率乘数ρ,用这个来表示输入图像和每个层的内部减少相同的超参数,然后用ρ来设置。
可以将网络核心层的计算成本表示为深度方向的可分离卷积,具有宽度乘数α和分辨率乘数ρ:
在这里插入图片描述
其中ρ∑(0,1)通常隐式设置,因此网络的输入分辨率为224、192、160或128。ρ = 1是基线MobileNet,ρ < 1是简化计算MobileNet。分辨率乘数有降低计算成本ρ的平方的效果。

你可能感兴趣的:(卷积)