【论文阅读笔记】MobileNets Efficient Convolutional Neural Networks for Mobile Vision Applications

(一)论文地址:

《MobileNets Efficient Convolutional Neural Networks for Mobile Vision Applications 》

(二)解决的问题:

如今卷积神经网络已经证明了它在计算机视觉方向的优越性,越来越多的更深、更复杂的深度网络被提出来,准确率越来越高,而相应的这些网络在大小和处理速度上都没有更有效;

因此,在许多现实世界的应用中,比如机器人、无人驾驶、增强现实等,这些平台上往往都需要实时反馈和有限的计算能力,因此作者提出了 M o b i l e N e t s MobileNets 这一系列高效网络,实现了低延迟、高准确的平衡,可应用于多种视觉任务;

(三) M o b i l e N e t s MobileNets 的核心思想:

M o b i l e N e t s MobileNets 的核心聚焦于实现一个低延迟、高效率的卷积神经网络,使其能够应用于各种计算能力有限的嵌入式系统中;

在这里插入图片描述

为此,作者提出了:

  1. M o b i l e N e t s MobileNets 的网络结构,核心是将常规的卷积层分解成一个 d e p t h w i s e depthwise s e p a r a b l e separable c o n v o l u t i o n s convolutions (深度分离卷积层,简称 D W c o n v DWconv )和一个 p o i n t w i s e pointwise c o n v o l u t i o n s convolutions (即 1 × 1 1×1 卷积核大小的卷积层,简称 P W c o n v PWconv ),从而有更小的参数,并且计算消耗更少;
  2. 两个网络模型构建的超参数( h y p e r p a r a m e t e r s hyper-parameters ),用于轻松地根据嵌入式设备或平台的计算能力限制和任务需求,匹配合适的低延迟、高效率的网络结构;

(四)传统卷积的概念:

对于传统的卷积层(步长为 1 1 ),假设输入的特征图大小为 D F × D F × M D_F×D_F×M ,输出大小为 D F × D F × M D_F×D_F×M (其中 D k D_k 为特征图的宽度, M M N N 是特征图的通道数),卷积核的宽度为 D K × D K D_K×D_K ,则图示表示为:

在这里插入图片描述

即卷积层的参数可表示为,大小为 D K × D K × M D_K×D_K×M N N 组卷积;

此时参数量为:

D K × D K × M × N D_K×D_K×M×N

卷积层的计算消耗为:

D K × D K × M × N × D F × D F D_K×D_K×M×N×D_F×D_F

(五) D W c o n v DWconv 的概念:

d e p t h w i s e depthwise s e p a r a b l e separable c o n v o l u t i o n s convolutions (深度分离卷积层,简称 D W c o n v DWconv )的核心是,不同于传统卷积方式,这里首先将特征图的每个 c h a n n e l channel 分离,再分别用通道数为 1 1 的卷积核对特征图的每个 c h a n n e l channel 分别做卷积;

假设输入的特征图大小为 D F × D F × M D_F×D_F×M ,卷积核的宽度为 D K × D K D_K×D_K

在这里插入图片描述
此时 D W c o n v DWconv 可以表示为,大小为 D K × D K × 1 D_K×D_K×1 M M 组卷积;

D W c o n v DWconv 的计算消耗为:

D K × D K × M × 1 × D F × D F D_K×D_K×M×1×D_F×D_F

因此, D W c o n v DWconv 的计算消耗仅为传统方式的 1 / N 1/N 倍;

(六) P W c o n v PWconv 的概念:

D W c o n v DWconv 存在的问题就是,输入输出特征图的通道数( c h a n n e l s channels )必须相同,并且每个通道的输出是相互分离的;

为了解决这个问题,作者提出了使用 P W c o n v PWconv (即 1 × 1 1×1 卷积核大小的卷积层)来改变 D W c o n v DWconv 输出特征图通道数,并且将不同通道的输出进行线性融合;

在这里插入图片描述

此时 P W c o n v PWconv 可以表示为,大小为 1 × 1 × M 1×1×M N N 组卷积;

计算消耗为:

M × N × D F × D F M×N×D_F×D_F

此时,对于一个传统卷积:

在这里插入图片描述
就可以将它转换成如图的结构:

在这里插入图片描述

(七) M o b i l e N e t s MobileNets 的高效性:

由上可知,传统卷积的计算消耗为:

在这里插入图片描述

D W c o n v DWconv 加上 P W c o n v PWconv 代替传统卷积后的计算消耗为:

在这里插入图片描述

二者相比得:

在这里插入图片描述

由于 N N 远大于 D K 2 D_K^2 ,而且在2014年的 I m a g e N e t ImageNet 中证明,小卷积核相比于大卷积核更有优势,故 D K 2 D_K^2 通常为 3 3 ,因此 D W c o n v DWconv 加上 P W c o n v PWconv 的方法代替传统卷积,能够节省 8 9 8-9 倍的计算消耗,并且准确率下降很小;

同时由于 1 × 1 1×1 卷积不需要预先分配内存,因此可以快速地通过 G E M M GEMM (通用矩阵乘法)计算;

而且 M o b i l e N e t s MobileNets 中大部分的卷积都是 1 × 1 1×1 卷积,故大大提高了计算效率:

在这里插入图片描述

(七) M o b i l e N e t s MobileNets 的网络结构:

在这里插入图片描述

需要注意的是,由于 M o b i l e N e t s MobileNets 注重于网络结构的高效性,参数较少,因此下采样没有采用 m a x max p o o l i n g pooling 的方式,而是使用了 s t r i d e = 2 stride=2 D W c o n v DWconv 来实现;

并且参数较少也有效地防止了过拟合,因此 M o b i l e N e t s MobileNets 并不需要太多的数据增强或者正则化;

(八) W i d t h Width M u l t i p l i e r Multiplier :更小的模型

作者提出的两个选择模型的超参数之一就是 W i d t h Width M u l t i p l i e r Multiplier ,记为 α \alpha ,用来进一步减小(或者说调整) M o b i l e N e t s MobileNets 的大小;

对于一个给定的特征层, α \alpha 可以取 1 , 0.75 , 0.5 1,0.75,0.5 之一,特征层的通道数 M M 就变成了 α × M \alpha×M

此时的计算消耗为:

在这里插入图片描述

α = 1 \alpha=1 时就是一个典型的 M o b i l e N e t s MobileNets

α < 1 \alpha<1 时,计算消耗大概减小为原来的 α 2 \alpha^2 倍;

(九) R e s o l u t i o n Resolution M u l t i p l i e r Multiplier :简化表示法

作者提出的第二个选择模型的超参数就是 R e s o l u t i o n Resolution M u l t i p l i e r Multiplier ,记为 β \beta ,用来进一步减小 M o b i l e N e t s MobileNets 的计算消耗;

对于一个给定的网络, β \beta 的取值范围为 ( 0 , 1 ] (0,1] ,输入特征图的宽度 D F D_F 就变成了 β × D F \beta×D_F

此时的计算消耗为:

在这里插入图片描述

作者也列出了使用两个超参数之后,计算消耗的变化:

在这里插入图片描述

发布了105 篇原创文章 · 获赞 128 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44936889/article/details/104117088
今日推荐