摘要
首先附上论文地址:https://arxiv.org/pdf/1807.11626.pdf
作者:Google大脑AutoML组
亮点:一种自动神经结构搜索方法,用于设计资源有限的移动端的CNN模型
设计移动端CNN模型的挑战在于要使网络规模小,速度快的同时,还要保证精确度,本文提出了一种自动神经结构搜索的方法:将 latency(运算延迟时间) 也作为优化目标,以此来搜索能够平衡accuracy和latency的网络模型(之前的许多工作都是通过减少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 和实时性。
- 将问题看作是一个多目标优化问题,即 ,并采用增强学习的网络搜索方法,用于搜索低延迟同时能保证高精度的CNN模型
- 提出了一种层级搜索空间(分解分层网络空间)方法,通过在灵活性和搜索空间大小之间取得适当的平衡,最大化利用移动网络所在设备上的资源效率。
Architecture
目标函数
下图是MnasNet的整体思想,与之前其他工作最大的不同在于延迟时间也作为反馈的参数之一以及一种新颖的搜索空间
MnasNet Fig1.png
给定一个模型,用来表示其在目标任务上的精确度,来表示在特定移动平台上的延迟时间,表示目标延迟时间,通常的方法是固定来最大化
但是上述方法仅仅优化了一个变量,并不能提供多个 Pareto[1]最优解,因此我们设计目标优化函数为:
其中都是实际应用中的特定常数,选择的经验准则是查看如果成倍增加或减少延迟时间,对准确度的增加或减少是否能达到预期(例如将MobileNet V2倍增或倍减延迟时间会带来5%的准确度增加或者减少,因此设置,)
搜索算法
本文采用基于梯度的增强学习方法来为多目标搜索问题寻找Pareto最优解,因为增强学习更为方便且便于定制奖励函数,具体方法为:将搜索空间中的CNN模型映射为一系列特征,这些特征由一系列基于参数的增强学习操作来决定,目标为最大化期望的奖励函数
其中是由操作生成的模型,是由上文中Pareto最优解的优化函数得到
层级搜索空间(分层分解搜索空间)
MnasNet Fig3.png之前的自动搜索方法大都是寻找几种复杂的cells然后重复堆叠这些相同的cells,没有考虑到卷积操作基于操作的形状不同在延迟时间有着很大的差异(例如两个 MnasNet Tab1.png
MnasNet Architecture and Discussion
MnasNet Fig7.png MnasNet Fig7_note.pngWhat's special about MnasNet?
(1)在depthwise convolution中,卷积核的效果要优于两个的卷积核
(2)层分级的重要性。很多轻量化模型重复 block 架构,只改变滤波器尺寸和空间维度。论文提出的层级搜索空间允许模型的各个 block 包括不同的卷积层。通过比较 MnasNet 的各种变体(即单独重复使用各个 block),在准确率和实时性方面难以达到平衡,验证了层分级的重要性。
-
Pareto最优是意大利经济学家维弗雷多·帕雷托 (Villefredo Pareto) 提出的一种经济学概念,在本文中表示如果模型有最高的准确度但却不增加延迟时间,或者它具有最低的延迟时间却不会降低准确度,那么模型就称为Pareto最优。 ↩
网友评论