Page 17 - 《软件学报》2020年第9期
P. 17
2638 Journal of Software 软件学报 Vol.31, No.9, September 2020
此外,AMC 将 MobileNet 的 FLOPs 减少了 2 倍,使最高准确率达到了 70.2,在 Titan XP 和安卓手机上,分别
实现了 1.53 倍和 1.95 倍的加速,见表 2.
Table 2 Compression based on learning vs compression based on rules
表 2 基于学习的压缩 VS 基于规则的压缩
Policy FLOPs ΔAccuracy (%)
FP(handcraft) [24] −14.6
RNP(handcraft) [52] −3.58
VGG-16 SPP(handcraft) [53] 20% −2.3
CP(handcraft) [30] −1.7
[5]
AMC(ours) −1.4
Uniform(0.75~224) [8] 56% −2.5
AMC(ours) 50% −0.4
MobileNet [8]
Uniform(0.75~192) 41% −3.7
AMC(ours) 40% −1.7
Uniform(0.75~224) [10] −2.0
MobileNet-v2 70%
AMC(ours) −1.0
3 基于神经网络架构搜索的自动化轻量级神经网络设计
人工设计轻量级神经网络需要考虑层间的连接方式、网络的深度、卷积计算方式等大量的影响因素,同时
需要根据模型的性能不断的调整网络的结构.不仅需要设计者具有丰富的专业知识和领域知识,同时非常依赖
设计者的经验,需要耗费大量的训练时间和计算资源评估神经网络的性能.因此,人工设计轻量级神经网络需要
大量的时间、人力和物力,这些影响因素严重限制了轻量级神经网络在便携式设备上的应用与发展.
为了减轻对设计者的要求,神经网络架构搜索(neural architecture search,简称 NAS)是指根据某种搜索策略,
在特定的搜索空间内,自动设计出解决特定任务的高性能神经网络架构.到目前为止,NAS 在图像分类 [54] 、语义
分割 [55] 等视觉任务上的性能已经超过了手工设计的神经网络架构.NAS 由 3 部分构成,分别是搜索空间、搜索
策略和性能评估策略.其中,
• 搜索空间定义了构建神经网络的基本架构单元,将适合特定任务的典型网络架构作为先验知识,可以
有效地减少搜索空间的大小.但是该过程往往会引入人为因素的干扰,可能会影响不同类型的神经网
络架构的搜索;
• 搜索策略决定了如何在通常为指数级甚至是无限大的搜索空间内搜索用于解决特定任务的神经网络
架构,并决定网络中不同层/模块的连接方式和参数等.一方面,需要快速找到性能良好的神经网络架
构;另一方面,需要避免过早的收敛到次优架构;
• 性能评估策略是指准确、高效地度量神经网络的性能.
传统的性能评价方法通过在针对特定任务构建的训练数据集上,进行完整训练和测试度量神经网络的性
能.这种方法的计算成本和时间复杂度高,对计算资源的需求大.因此,最近的主要研究方向集中在如何设计高
效率的性能评估策略.图 14 表示 NAS 算法的流程.搜索策略从预定义的搜索空间Θ内选择神经网络架构 A,通过
性能评估策略度量神经网络架构的性能,作为奖励反馈回搜索策略,搜索策略通过接受到的奖励调整神经网络
的架构.通过反复的迭代,最终得到最优的神经网络架构.
网络结构 A∈Θ
搜索空间Θ 搜索策略 性能评估策略
A 的性能
Fig.14 The pipeline of NAS
图 14 神经网络搜索的流程图