mobilenet 解析

论文地址

1.简介

MobileNets基于流线型架构,使用深度可分离卷积来构建轻量级深度神经网络,用于移动和嵌入式视觉应用。该网络引入了两个简单的全局超参数——宽度乘数和分辨率乘数,可以有效地在延迟和准确性之间进行权衡。这些超参数允许模型构建者根据问题的限制条件为其应用程序选择合适大小的模型。
mobilenet 解析

图1.mobilenet作为backbone可以用于各种视觉任务。

2.mobilenet结构

2.1.深度可分离卷积

MobileNet模型基于深度可分离卷积,这是一种分解卷积形式,将标准卷积分解为深度卷积和称为点卷积的1 × 1卷积。
mobilenet 解析

图2.(a) 中的标准卷积滤波器被两层替换:(b) 中的深度卷积和 © 中的点卷积以构建深度可分离滤波器。

(1)标准卷积层

对于标准卷积层,输入特征图F大小为D_F%20%C3%97%20D_F%20%C3%97%20M,输出特征图G大小为D_G%20%C3%97%20D_G%20%C3%97%20N。其中D_F是正方形输入特征图的空间宽度和高度,M是输入通道数(输入深度),D_G是正方形输出特征图的空间宽度和高度,N是输出通道数(输出深度)。

标准卷积层的卷积核大小为D_K%20%C3%97%20D_K%20%C3%97%20M%20%C3%97%20N,其中D_K是假定为卷积核的空间维度,M是输入通道数,N是前面定义的输出通道数。

(2)深度可分离卷积

深度可分离卷积由两层组成:深度卷积和点卷积。mobilenet使用深度卷积为每个输入通道(输入深度)应用一个过滤器。点卷积是一个简单的1 × 1卷积,用于创建深度层输出的线性组合。MobileNet对两个层都使用了batchnorm和ReLU。

对于深度可分离卷积,输入特征图F大小为D_F%20%C3%97%20D_F%20%C3%97%20M,先用大小为D_K%20%C3%97%20D_K%20%C3%97%20M的深度卷积核%5Chat%7BK%7D进行卷积生成特征图%5Chat%7BG%7D。相对于标准卷积,深度卷积非常有效。然而,它只过滤输入通道,并没有组合它们来创建新特征。因此,需要一个额外的层,通过1 × 1卷积计算深度卷积输出的线性组合,以生成这些新特征。

特征图%5Chat%7BG%7D再经过大小为M%20%C3%97%201%20%C3%97%201%20%C3%97%20N的点卷积,得到大小为D_G%20%C3%97%20D_G%20%C3%97%20N的输出特征图G。

(3)两者对比

假设输入为M个通道的特征图,卷积核大小为D_K%20%C3%97%20D_K,输出通道为N,那么标准卷积核为M%20%C3%97%20D_K%20%C3%97%20D_K%20%C3%97%20N

例如,输入特征图 为m x n x 16,想输出 32 通道,那么卷积核应为16 x 3 x 3 x 32。可以将其分解为深度卷积,深度卷积16 x 3 x 3得到的是 16 通道的特征图谱,再用点卷积16 x 1 x 1 x 32得到最终输出特征图。

如果用标准卷积,计算量为:m x n x 16 x 3 x 3 x 32 = m x n x 4608。用深度可分解卷积之后的计算量为m x n x 16 x 3 x 3 + m x n x 16 x 1 x 1 x 32 = m x n x 656。

通过将卷积表示为过滤和组合的两步过程,可以减少以下计算:

%5Cfrac%7BD_K%C2%B7D_K%C2%B7M%C2%B7D_F%C2%B7D_F%2BM%C2%B7N%C2%B7D_F%C2%B7D_F%7D%7BD_K%C2%B7D_K%C2%B7M%C2%B7N%C2%B7D_F%C2%B7D_F%7D%3D%5Cfrac%7B1%7D%7BN%7D%2B%5Cfrac%7B1%7D%7BD%5E2_%7BK%7D%7D

2.2.网络结构

网络结构中所有层后面都要有batchnorm和relu处理(最后的全连接层除外),将标准卷积改为深度可分离卷积后,结构如图 3 所示。
mobilenet 解析

图 3.左:具有batchnorm和ReLU的标准卷积层。右:具有Depthwise和Pointwise层的Depthwise Separable卷积,然后是batchnorm和ReLU。

mobilenet结构定义如图 4 所示,共有 28 层,在深度卷积和第一层中使用跨步卷积进行下采样,最终的平均池化在全连接层之前将空间分辨率降低到 1,fc输入到softmax进行分类。

深度卷积和点卷积都各自算作 1 层。

mobilenet 解析

图 4.mobilenet结构。

2.3.宽度乘数

宽度乘数 α 的作用是在每一层均匀地细化网络,减少输入和输出通道的数量以构建更轻的模型。

对于给定的层和宽度乘数α,输入通道数M变成αM,输出通道数N变成αN。

具有宽度乘数 α 的深度可分离卷积的计算成本为:

D_K%C2%B7D_K%C2%B7%5Calpha%20M%C2%B7D_F%C2%B7D_F%2B%5Calpha%20M%C2%B7%5Calpha%20N%C2%B7D_F%C2%B7D_F%5Cquad%5Cquad%5Cquad

α ∈ (0,1]典型设置为 1, 0.75, 0.5 和 0.25。α = 1是基准MobileNet,α < 1是缩减的MobileNet。

2.4.分辨率乘数

分辨率乘数 ρ 用于减小输入和输出的特征图大小,通过设置输入分辨率隐式设置。

具有宽度乘数 α 和分辨率乘数 ρ 的深度可分离卷积的计算成本为
D_K%C2%B7D_K%C2%B7%5Calpha%20M%C2%B7%CF%81D_F%C2%B7%CF%81D_F%2B%5Calpha%20M%C2%B7%5Calpha%20N%C2%B7%CF%81D_F%C2%B7%CF%81D_F%5Cquad%5Cquad

ρ ∈ (0,1]通常是隐式设置的,通过设置网络的输入分辨率为 224、192、160 或 128。ρ = 1是基准MobileNet,ρ < 1是减少计算MobileNet。

版权声明:本文为博主ManiacLook原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/ManiacLook/article/details/123230896

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年3月3日
下一篇 2022年3月3日

相关推荐