论文笔记 | arXiv | MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

一 为什么读这篇

大名鼎鼎的MobileNets,一个专门用于移动端的网络,算是专门做移动端网络的先驱吧。网络结构和Xception也很像,都是深度可分卷积,读完Xception后接着看这个没毛病。

二 截止阅读时这篇论文的引用次数

2019.3.15 1263次。没有想象中的高。不过是Xception的2倍。

三 相关背景介绍

Google出品,17年4月挂到arXiv上,尴尬的是,挺有影响力的一个网络,居然一个会都没中。之前看过一作Andrew G. Howard独立发表的《Some Improvements on Deep Convolutional Neural Network Based Image Classification》,这哥们也是神奇,这么多年总共就发了这两篇文章。总共有8个作者。。

四 关键词

MobileNets

移动端

五 论文的主要贡献

1 深度可分卷积在移动端的成功应用

六 详细解读

0 摘要

MobileNets是基于使用深度可分卷积的流线型架构来构建轻量深度神经网络。本文介绍了两种简单的全局超参,可以有效地在延迟和准确率之间进行权衡,这些超参可以使模型基于其问题的限制选择合适的模型大小。

1 介绍

为了达到更高的准确率,通常的趋势是使网络变得更深更复杂,然而,这些提升准确率的进步并不一定使网络在大小和速度方面更有效。现实世界的很多应用(机器人,自动驾驶,增强现实等)需要在资源受限的平台上跑。

2 先前工作

前辈们有SqueezeNet,XnorNet等,这些方法都可以归结为压缩预训练网络或直接训练小的网络。本文提出的网络架构可以让模型开发者基于他们的应用选择符合资源限制(延迟,大小)的小网络。MobileNets首先聚焦于优化延迟,同时也会生成小网络。然而许多关于小网络的研究仅考虑大小而没有考虑速度。

MobileNets主要由深度可分卷积构建,随后跟着BN用于减少前几层的计算。

获得小网络的一种方法是缩小,分解或压缩预训练网络。压缩基于乘积量化,哈希,剪枝,向量量化和霍夫曼编码。另一种方法是蒸馏,它通过更大的网络来教更小的网络。还有一种新兴方法是低位网络。

3 MobileNet架构

3.1 深度可分卷积

MobileNet是基于深度可分卷积的。depthwise卷积是对每个输入通道使用一个滤波器,pointwise卷积是应用1x1卷积组合depthwise卷积的输出。标准卷积用一个步骤过滤并将输入组合为一组新的输出。深度可分卷积将这一步分为两层,一层用于过滤,一层用于组合。这种分解极大的减少了计算和模型大小。图2展示了将一个标准卷积分解为depthwise卷积和1x1 pointwise卷积。

mobilenets-fig2.png

标准卷积层以大小为D_{F} \times D_{F} \times M的特征图\mathbf{F}作为输入,生成大小为D_{F} \times D_{F} \times N的特征图\mathbf{G}

标准卷积层的参数化通过大小为D_{K} \times D_{K} \times M \times N的卷积核\mathbf{K}来实现。

标准卷积输出的特征图通过下式得到:
\mathbf{G}_{k, l, n}=\sum_{i, j, m} \mathbf{K}_{i, j, m, n} \cdot \mathbf{F}_{k+i-1, l+j-1, m}
其计算代价为:
D_{K} \cdot D_{K} \cdot M \cdot N \cdot D_{F} \cdot D_{F}
MobileNets首先使用深度可分卷积切断了输出通道和卷积核大小的交互。

深度可分卷积由depthwise卷积和pointwise卷积两个层组成。depthwise卷积是对每个输入通道应用一个滤波器,pointwise卷积是一个简单的1x1卷积,用于创建depthwise层输出的线性组合。MobileNets对每个层都使用BN和ReLU。

每个通道一个滤波器的depthwise卷积如下定义:
\hat{\mathbf{G}}_{k, l, m}=\sum_{i, j} \hat{\mathbf{K}}_{i, j, m} \cdot \mathbf{F}_{k+i-1, l+j-1, m}
其中\hat{\mathbf{K}}为大小为D_{K} \times D_{K} \times M的depthwise卷积核。

depthwise的计算代价如下:
D_{K} \cdot D_{K} \cdot M \cdot D_{F} \cdot D_{F}
相对标准卷积,depthwise卷积相当有效,然而它仅仅是过滤输入通道,并不对它们组合以生成新特征。所以需要额外的层来计算depthwise卷积输出的线性组合,这通过1x1卷积实现。

深度可分卷积计算代价如下:
D_{K} \cdot D_{K} \cdot M \cdot D_{F} \cdot D_{F}+M \cdot N \cdot D_{F} \cdot D_{F}
3x3的深度可分卷积计算量省了8-9倍。

3.2 网络结构和训练

mobilenets-table1.png

除了最后一层外,所有的层都跟着BN和ReLU。

mobilenets-fig3.png

下采样通过depthwise卷积的跨步来实现,将depthwise和pointwise卷积视为独立的层,MobileNets有28层。

GEMM:general matrix multiply

MobileNets在1x1卷积上花了95%的计算时间,有75%的参数量。

mobilenets-table2.png

在TF上用RMSprop训练MobileNet,以及和Inception V3类似的异步梯度下降。同时因为小模型更不容易过拟合,所以减少了正则化和数据增强。发现很重要的一点就是对depthwise滤波器不要或少用权重衰减,因为它们的参数很少。

3.3 Width Multiplier:更薄的模型

为了得到更小,计算代价更少的模型,本文引入一种非常简单的,称为width multiplier的参数\alpha,该参数的作用是均匀地让网络的每一层更薄。对于给定的层和\alpha,输入通道M变为\alpha M,输出通道N变为\alpha N。计算代价如下:
D_{K} \cdot D_{K} \cdot \alpha M \cdot D_{F} \cdot D_{F}+\alpha M \cdot \alpha N \cdot D_{F} \cdot D_{F}
其中\alpha \in(0,1],通常设置为1, 0.75, 0.5和0.25。

这一节感觉有点凑数,想让模型变小可不是得减少filter个数吗。给起了个高大上的名字,也是套路。

3.4 Resolution Multiplier:减少表示

第二个减少计算代价的超参是resolution multiplier \rho
D_{K} \cdot D_{K} \cdot \alpha M \cdot \rho D_{F} \cdot \rho D_{F}+\alpha M \cdot \alpha N \cdot \rho D_{F} \cdot \rho D_{F}
其中\rho \in(0,1],通常是隐式的设置以便网络的输入分辨率为224, 192, 160, 128。

mobilenets-table3.png

表3的输入特征图大小为14 x 14 x 512,卷积核大小为3 x 3 x 512 x 512。

4 实验

4.1 模型选择

mobilenets-table4.png

相比非深度可分卷积,准确率只低了1个点,但是运算次数和参数量都大大减少了。

mobilenets-table5.png

由表5可见,薄比浅好。

4.2 模型收缩超参

mobilenets-table6.png
mobilenets-table7.png

由表7可见,再一次证明了,分辨率越高效果越好。

mobilenets-fig4.png
mobilenets-fig5.png
mobilenets-talbe8.png
mobilenets-table9.png

4.3 细粒度识别

先用web上含噪声的数据预训练一个狗的细粒度识别模型,再用斯坦福狗数据集在这个模型上微调。

mobilenets-table10.png

4.4 大规模地理定位

mobilenets-table11.png

4.5 面部属性

mobilenets-table12.png

4.6 目标检测

mobilenets-table13.png

看起来在目标检测上的效果差别较大。

4.7 面部嵌入

mobilenets-table14.png

该表有bug,行名写重了。

七 读后感

MobileNet的成功更有可能是起名的成功,本身没有多少创新的地方,就是重度用了深度可分卷积,以及对减小输入分辨率和filter个数包装了一个漂亮的说法。作者说出发点是从节省计算量的角度出发,而不是单纯的压缩模型。其实深度可分卷积的核心也就是将乘法运算变为加法运算。初看感觉公式很多,有点复杂,细度起来其实没那么难,都是纸老虎。最后MobileNet也是个论据,再一次告诉我们压缩模型的时候,变薄比变浅要好。

素质四连

要解决什么问题

在计算资源受限的移动端用什么网络好。

用了什么方法解决

提出MobileNet,其实就是深度可分卷积的应用。

效果如何

参数量和计算量都大大降低,准确率却降的不多。

还存在什么问题

准确率还是低了点。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352

推荐阅读更多精彩内容