[论文笔记] MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications

前言:

        本部分主要记录下我对MobileNets以及EfficientNet的个人理解(如果没有了解过EfficientNet,这部分可以忽略)。

        在读MobileNets论文的过程中,发现文中很大一部分与我之前读的EfficientNet(可能我阅读的顺序有点问题)有相似之处。首先,共同点两者都研究了网络的width(即输出的channel)以及分辨率(resolution)对网络性能的影响(包括参数量、计算量、准确率);不同点在于:(1)EfficientNet还深入研究了网络深度(depth)对网络性能影响,MobileNets只是在实验部分简单对比了更浅的网络和channel更窄的网络在参数量相同时哪个效果更好;(2)两者本质的目的不同:EfficientNet是在算力规定的前提下去寻找最优的深度、宽度以及分辨率优化网络的准确率;MobileNets是通过引入参数缩减因子来压缩模型,使得模型尽可能小同时保证输出效果变化不大,从而能够部署到一些嵌入式设备中。

目录

前言:

一、摘要

二、MobileNets网络结构

Depthwise Conv

三、缩放因子

四、实验验证

内部验证(与MobileNet自身相比)

外部验证(与别的网络作比较)


一、摘要

        作者提出了一种能够部署在设备上的网络结构MobileNets,这种网络使用了depthwise卷积,同时引入了两个超参数来权衡准确率和延迟。之后作者通过大量实验说明了MobileNets的有效性。

二、MobileNets网络结构

        [论文笔记] MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications_第1张图片

         MobileNets网络结构如上图所示,需要注意的是depthwise Conv结构中输入channel=输出channel,并且每个滤波器的channel都为1。

        MobileNets将传统的卷积分成了两步,首先通过Depthwise卷积对特征进行提取,输出的每个Feature map是原始图像单个channel的特征,之后通过1*1的卷积将各个channel的特征进行拼接(每个1*1的卷积核的channel等于Depthwise输出的Feature map的数量)。这一过程可以用下图

 进行表示:


[论文笔记] MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications_第2张图片

 

Depthwise Conv

        传统卷积中每个滤波器的channel与输入特征图的channel相同,这种情况下参数量为D_{k}×D_{k} ×M×N,计算量为D_{k}× D_{k} × M× N ×D_{F} ×D_{F},(M为输入channel,DK为卷积核的尺寸,N为卷积核的个数,DF为输出特征图的尺寸);Depthwise Conv的参数量为DK ×DK ×M,计算量为D_{k}× D_{k} × M ×D_{F}×D_{F},之后紧接着1 x 1卷积的参数量为1 x 1 x M x N,计算量为1 x 1 x M x N x D_{F} x D_{F},这样采用两步卷积的方式总计算量为D_{k}× D_{k} × M ×D_{F} ×D_{F}+M x N x D_{F}x D_{F},相对传统卷积来说,计算量为原来的\frac{1}{​{D_{k}}^{2}}(即若Depthwise Conv卷积核尺寸为3 x3时候,计算量为原来的1/9)。

三、缩放因子

        作者引入了两个参数缩放因子\alpha\beta(均为小于等于1的数),分别来缩小网络的宽度(即channel,输入输出channel均要缩小)以及减小图片分辨率(resolution)。

        当单独对width进行缩小时,计算量变为 D_{k}× D_{k} ×\alpha M ×D_{F} ×D_{F}+\alphaM x\alpha N x D_{F}x D_{F} 

;当单独对resolution进行缩小时, 计算量变为 D_{k}× D_{k} ×\alpha M ×\betaD_{F} ×\betaD_{F}+\alphaM x\alpha N x \betaD_{F} x \betaD_{F} 。可以看出,通过引入这两个参数极大减少了计算量(参数量减少了,但网络的性能会不会变差很大,接下来就是实验验证)。

四、实验验证

内部验证(与MobileNet自身相比)

         实验一(验证Depthwise的可行性):

        作者对比了使用Depthwise 卷积与使用传统卷积的效果(参数量大约变为原来的1/8,但准确率却仅仅减少了1个点)。

[论文笔记] MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications_第3张图片

         实验二(对比了channel和网络深度depth对准确率的影响):

        作者在参数个数类似的情况下,对比了channel和网络深度depth的影响,结果表明channel更窄的网络性能要比层数更浅的网络性能更好(即减小网络的深度对性能影响较大)。

        [论文笔记] MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications_第4张图片

         实验三(对比了不同width缩放因子对准确率的影响)

        [论文笔记] MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications_第5张图片

         可以看出,当\alpha取0.5、0.75时候,MobileNets在ImageNet数据集上准确率下降较为平滑,而取0.25时候,效果较差。

        实验四(对比了不同分辨率对准确率的影响)

        [论文笔记] MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications_第6张图片

外部验证(与别的网络作比较)

         [论文笔记] MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications_第7张图片

      

你可能感兴趣的:(论文笔记,人工智能,深度学习)