MnasNet:手机端自动设计网络 阅读笔记


摘要

首先附上论文地址:https://arxiv.org/pdf/1807.11626.pdf
作者:Google大脑AutoML组
亮点:一种自动神经结构搜索方法,用于设计资源有限的移动端的CNN模型

设计移动端CNN模型的挑战在于要使网络规模小,速度快的同时,还要保证精确度,本文提出了一种自动神经结构搜索的方法:将 latency(运算延迟时间) 也作为优化目标,以此来搜索能够平衡accuracylatency的网络模型(之前的许多工作都是通过减少FLOPS来间接地实现加速效果,但是本文中直接测量特定平台的实际inference latency,因不同的移动设备可能有不同的软硬件特性,可能需要不同的网络来平衡精确度和速度);另外,提出了一种分层分解搜索空间的方法来确定网络结构。

MnasNet 模型在 Pixel phones 上直接运行,在 ImageNet 分类和 COCO 目标检测等计算机视觉领域均取得 state-of-art 水平。ImageNet 分类任务中,在 pixel 1 上取得了 74.0% 的 top-1 精度,耗时 76 毫秒,比 MobileNetV2 快 1.5 倍,比 NASNet 快 2.4 倍。在 COCO 目标检测任务中,比 MobileNets 取得了更好的 mAP 和实时性。

  • 将问题看作是一个多目标优化问题,即\begin{cases} accuracy \\ latency \end{cases} ,并采用增强学习的网络搜索方法,用于搜索低延迟同时能保证高精度的CNN模型 \\
  • 提出了一种层级搜索空间(分解分层网络空间)方法,通过在灵活性和搜索空间大小之间取得适当的平衡,最大化利用移动网络所在设备上的资源效率。

Architecture

目标函数

下图是MnasNet的整体思想,与之前其他工作最大的不同在于延迟时间也作为反馈的参数之一以及一种新颖的搜索空间


MnasNet Fig1.png

给定一个模型m,用ACC(m)来表示其在目标任务上的精确度,LAT(m)来表示在特定移动平台上的延迟时间,T表示目标延迟时间,通常的方法是固定T来最大化ACC(m)
\begin{cases} maximize_m \ \ \ \ \ \ \ ACC(m) \\ subject \ \ \ to \ \ \ \ \ \ \ \ \ LAT(m) \leq T\end{cases}
但是上述方法仅仅优化了一个变量,并不能提供多个 Pareto[1]最优解,因此我们设计目标优化函数为:
maximize_m \ \ \ ACC(m) \times [\frac {LAT(m)}{T}]^w
w = \begin{cases} \alpha, & \text{if} \ LAT(m) \leq T \\ \beta, &\text{otherwise} \end{cases}
其中\alpha \ \ \beta都是实际应用中的特定常数,选择\alpha \ \ \beta的经验准则是查看如果成倍增加或减少延迟时间,对准确度的增加或减少是否能达到预期(例如将MobileNet V2倍增或倍减延迟时间会带来5%的准确度增加或者减少,因此设置\alpha = \beta = -0.072^{-0.07}-1\approx 1-0.5^{-0.07}\approx 5\%

MnasNet Fig2.png


搜索算法

本文采用基于梯度的增强学习方法来为多目标搜索问题寻找Pareto最优解,因为增强学习更为方便且便于定制奖励函数,具体方法为:将搜索空间中的CNN模型映射为一系列特征,这些特征由一系列基于参数\theta的增强学习操作a_{i:T}来决定,目标为最大化期望的奖励函数
J=E_{P(a_{1:T}; \theta)}[R(m)]
其中m是由操作a_{i:T}生成的模型,R(m)是由上文中Pareto最优解的优化函数得到


层级搜索空间(分层分解搜索空间)

MnasNet Fig3.png

之前的自动搜索方法大都是寻找几种复杂的cells然后重复堆叠这些相同的cells,没有考虑到卷积操作基于操作的形状不同在延迟时间有着很大的差异(例如两个
3\times 3
的卷积操作,理论上有着相同的FLOPS,但是不同的形状可能会有着不同的延迟时间)(这里没怎么读懂,有待商榷),层级搜索空间简化了之前的cell搜索空间但允许cells不同。

直觉认为,我们需要搜索基于输出输出shapes来平衡精确度和延迟的最佳操作,例如网络的前几阶段通常处理更大数量的数据(前几阶段未经池化,输入尺寸相对较大,提取较多的特征)因此延迟时间也要大于后几个阶段,这里以MobileNet V1的depthwise separable convolution为例,其操作数为H\times W \times M\times (K\times K + N),我们需要认真权衡卷积核尺寸K以及输出卷积核数目N,举例来说,通过更大尺寸的卷积核尺寸K来增加感受野就需要减少输出卷积核数目N,或者通过其它层来平衡。

对分层分解搜索空间的理解:网络分成B个block,每个block可能有着不同的网络结构,一个子搜索空间i包含以下多种选择:

Convolutional ops ConvOp: conv, depthwise conv(dconv), inverted bottleneck conv
Convolutional kernel size KernelSize: 3\times 3\ ,\ 5\times\ 5
Skip operations SkipOp: 最大或平均池化,residual的自身映射,或者无skip
Output filter size F_i
Number of layers per block N_i

假设将网络分为B个blocks,每个block有一个平均有N个layers,大小为S的子搜索空间,总的搜索空间大小为S^B,而逐层搜索空间为S^{B\times N}N=3,我们的搜索空间比逐层搜索空间少了几个数量级。


实验步骤

在ImageNet上进行少量的训练步骤(each sampled model on 5 epochs of the proxy training set using an 50K validation set),然后选出表现最好的网络模型转至完整的训练(训练了8K个models,但是仅有表现最好的<15个模型进行了完整的训练)

optimizer —— RMSProp
decay——0.9
momentum——0.9
每一层卷积后都有batch norm——momentum 0.9997 ;weight decay 0.00001

MnasNet Tab1.png

MnasNet Architecture and Discussion

MnasNet Fig7.png
MnasNet Fig7_note.png

What's special about MnasNet?

(1)在depthwise convolution中,5\times 5卷积核的效果要优于两个3\times 3的卷积核
C_{5\times 5}=H \times W \times M \times (25+N) \\ C_{3\times 3}=H \times W \times M \times (9+N) \\ \implies C_{5\times 5} < 2 \times C_{3\times 3} \ \ \ \ \ \text{if} \ \ N > 7
(2)层分级的重要性。很多轻量化模型重复 block 架构,只改变滤波器尺寸和空间维度。论文提出的层级搜索空间允许模型的各个 block 包括不同的卷积层。通过比较 MnasNet 的各种变体(即单独重复使用各个 block),在准确率和实时性方面难以达到平衡,验证了层分级的重要性。


  1. Pareto最优是意大利经济学家维弗雷多·帕雷托 (Villefredo Pareto) 提出的一种经济学概念,在本文中表示如果模型m有最高的准确度但却不增加延迟时间,或者它具有最低的延迟时间却不会降低准确度,那么模型m就称为Pareto最优。

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

推荐阅读更多精彩内容