内容提要
神经架构搜索(NAS)自动学习高性能网络结构,包括搜索空间、搜索算法和评估策略。搜索空间从逐层序列演进为基于单元、层次化和记忆库表示;搜索算法有随机搜索、强化学习、进化算法、渐进决策和梯度下降;评估策略通过代理任务、参数共享、预测权重及一步式搜索加评估来降低计算成本。
延伸解读
搜索空间设计的演进逻辑
文章梳理了NAS搜索空间从逐层序列到基于单元、层次化及记忆库表示的演进。早期逐层序列表示虽灵活但空间巨大,需大量计算资源;基于单元的表示通过重复模块大幅缩小搜索空间并提升迁移性;层次化结构则递归组合基本操作,进一步利用已知设计模式;记忆库表示将网络视为读写内存块,提供了另一种视角。这些演进反映了在表达能力和搜索效率之间的权衡。
搜索算法的效率与效果权衡
文章对比了随机搜索、强化学习、进化算法、渐进决策和梯度下降等NAS搜索算法。随机搜索作为简单基线,在良好搜索空间下表现不俗;强化学习和进化算法能取得高精度,但计算成本极高,例如早期实验需数百GPU运行数天;渐进决策通过从简单到复杂逐步搜索,提高了效率;梯度下降方法如DARTS将搜索与评估结合,大幅降低计算开销,但可能受内存限制。选择算法需根据资源与需求平衡。
评估策略的成本控制与近似方法
为降低评估大量子模型的计算成本,文章介绍了代理任务、参数共享、预测权重及一步式搜索加评估等策略。代理任务通过小数据集、少轮次或缩小模型来快速估计性能;参数共享让子模型复用超图权重,如ENAS实现千倍加速;预测权重如SMASH直接生成权重,但可能限制模型表达能力;一步式方法如DARTS和ProxylessNAS将搜索与评估融合,进一步节省资源。这些策略在精度与效率间寻求平衡。
NAS的局限与未来方向
文章指出NAS虽能自动发现高性能架构,但缺乏对架构为何有效的解释,且难以泛化到不同任务。当前评估多关注验证精度,而实际部署需考虑设备延迟和内存限制,如ProxylessNAS将延迟作为优化目标。此外,NAS依赖标注数据,成本高昂;无监督NAS(UnNAS)探索利用无标签数据,实验显示预训练任务精度与监督精度高度相关,但性能尚未超越监督方法。未来需在可解释性、泛化性和无监督学习方面深入。
Q&A
神经架构搜索(NAS)的三个核心组成部分是什么?
神经架构搜索(NAS)的三个核心组成部分是:搜索空间、搜索算法和评估策略。搜索空间定义了网络操作及其连接方式;搜索算法负责采样和优化网络架构候选;评估策略则用于测量、估计或预测候选模型的性能。
NAS的搜索空间有哪些主要表示方式?
NAS的搜索空间主要有四种表示方式:1) 逐层序列操作,将网络表示为一系列层操作;2) 基于单元(Cell)的表示,如NASNet,通过重复堆叠单元构建网络;3) 层次化结构,如HNAS,从原始操作递归组合成更高层的模体;4) 记忆库表示,如SMASH,将网络视为多个可读写的记忆块。
NAS中常用的搜索算法有哪些?
NAS中常用的搜索算法包括:随机搜索、强化学习(如Zoph & Le 2017的RNN控制器)、进化算法(如AmoebaNet的老化进化)、渐进决策过程(如PNAS的贝叶斯优化)以及梯度下降方法(如DARTS的连续松弛)。
如何降低NAS中评估候选架构的计算成本?
降低评估成本的主要策略包括:1) 使用代理任务,如在小数据集上训练、减少训练轮数或使用缩小模型;2) 参数共享,如ENAS通过共享超图权重;3) 预测权重,如SMASH使用HyperNet直接生成权重;4) 一步式搜索与评估,如One-Shot模型和DARTS,将搜索与评估结合。
DARTS是如何实现可微分架构搜索的?
DARTS通过在搜索超图的每条边上引入连续松弛,将离散的操作选择转化为对所有操作的softmax加权和,从而使得架构参数和网络权重可以通过梯度下降联合优化。它采用双层优化,交替更新权重和架构参数,最终通过离散化得到最终架构。
NAS未来的研究方向有哪些?
NAS未来的研究方向包括:1) 理解架构为何有效以及如何设计跨任务通用的模块;2) 考虑设备特定的延迟和内存限制,而不仅仅是验证准确率;3) 利用无标签数据和自监督学习进行NAS(如UnNAS);4) 进一步自动化机器学习算法本身(如AutoML-Zero)。