近年来, 深度神经网络(DNNs)在许多人工智能任务中取得卓越表现, 例如计算机视觉(CV)、自然语言处理(NLP). 然而, 网络设计严重依赖专家知识, 这是一个耗时且易出错的工作. 于是, 作为自动化机器学习(AutoML)的重要子领域之一, 神经结构搜索(NAS)受到越来越多的关注, 旨在以自动化的方式设计表现优异的深度神经网络模型. 全面细致地回顾神经结构搜索的发展过程, 进行了系统总结. 首先, 给出了神经结构搜索的研究框架, 并分析每个研究内容的作用; 接着, 根据其发展阶段, 将现有工作划分为4个方面, 介绍各阶段发展的特点; 然后, 介绍现阶段验证结构搜索效果经常使用的数据库, 创新性地总结该领域的规范化评估标准, 保证实验对比的公平性, 促进该领域的长久发展; 最后, 对神经结构搜索研究面临的挑战进行了展望与分析.
深度学习 (deep learning)[1]已成为现阶段人工智能领域发展的重要推动力. 不同于传统手工设计特征, 深度神 经网络以一种端到端的方式, 自动提取数据深层表征, 已在多个人工智能学科领域内取得卓越表现, 例如计算机视觉 (computer vision)、自然语言处理 (natural language processing)、语音识别 (speech recognition)、智能机器人 (intelligent robot) 等. 尽管深度学习在上述领域内取得成功, 研究人员还是面临着神经网络设计困难的挑战. 尤其 是当前手工设计的神经网络结构越来越复杂, 不利于更多研究人员和从业人员使用深度学习. 于是, 研究者开始寻 求一种自动化方式, 实现自主设计神经网络的目标, 即神经结构搜索 (neural architecture search, NAS).
自动化机器学习 (automated machine learning, AutoML) 是一种自动化的数据驱动方法, 并做出一系列决策. 仅需要使用者提供数据, 自动化机器学习技术能够自动获取最佳训练方案, 极大地降低机器学习技术的应用难度. 作 为自动化机器学习的重要子领域之一, 神经结构搜索旨在以一种自动化的方式, 解决高难度的复杂神经网络设计 问题. 具体上, 根据专家预先定义的搜索空间 (search space), 神经结构搜索算法在一个庞大的神经网络集合中评估 结构性能并寻找到表现最佳的网络结构. 自动化结构搜索的结果往往是专家手工设计过程中未考虑的, 能够取得 更加优异的性能表现, 尤其在一些硬件资源受限的应用场景中, NAS 往往能取得惊人的效果. 神经结构搜索在超 参数选择的过程中扮演着关键角色, 而且具有重要的理论意义和应用价值. 面向一种特殊的神经网络结构超参数, 神经结构搜索联合优化理论和机器学习理论, 有效地解决神经网络模型的调参问题, 降低神经网络的使用成本与 实现成本, 促使模型设计的智能化与神经网络应用的大众化.
近年来, 神经结构搜索成为人工智能领域中的热点方向之一. 根据 automl.org 列举的文献情况, NAS 文章发表 时间与数量分布如图 1 所示. 自 2015 年起, 关于 NAS 的文章数量呈现指数增长的趋势. 回顾神经结构搜索技术的 发展, 本文对神经结构搜索的已有重点研究工作进行全面综述. 在 NAS 算法发展的初期, NAS 算法通常采用采样 重新训练的策略, 即从预先定义好的搜索空间中采样数量庞大的网络结构, 分别对每个采样结构重新训练并评估 性能, 以获取表现最佳的神经网络. 这是广大研究者公认的真正意义上的一种神经结构搜索方法, 实验结果的优越 性也表明其有效性. 然而, 对于 Cifar-10 数据集, 这类方法需要应用 800 个图形处理单元, 持续近一个月才能完成 对最佳结构的搜索. 因此, 这种采样重新训练策略对计算资源的需求过大, 不利于 NAS 领域的发展与落地应用. 于 是, 为了降低搜索阶段的资源消耗, 神经结构搜索领域内应用最广的一种加速方式: 权重共享策略 (weight-sharing strategy), 即尽可能地利用已经训练好的模型, 避免重新训练. 目前这种权重共享的搜索策略已经成为神经网络结 构搜索的主流方向. 简而言之, 首先将预先设定的搜索空间表示为已经训练好的超级网络 (super-network), 然后在 保留原始权重的同时, 直接对采样的子结构 (sub-architectures) 进行性能评估, 不需要重新进行模型训练.
自 2018 年起, 已经有多篇神经结构搜索的研究综述[2−5]对该任务进行了介绍. Elsken 等人[2]给出了较全面的 神经结构搜索领域的研究内容, 并从搜索空间、搜索策略和性能评估 3 个维度对 NAS 方法进行分类介绍. Xie 等 人[4]深入分析基于权重共享的神经结构搜索方法, 并给出现阶段存在的优化缺陷与解决方案, 是目前 NAS 领域最 全面的研究型综述. 然而, 回顾并反思现阶段的 NAS 发展, 最严重的问题就是实验评估中的不公平比较, 以及评估 数据的局限性进一步限制神经结构搜索算法的通用性能, 这两个角度目前尚未在上述综述论文中得到分析, 我们 将详细分析并给出相应的解决方案.
为了给读者提供清晰直观的 NAS 发展经历, 本文创新性地根据其发展阶段, 将现有工作划分为 4 个阶段, 即 早期、快速发展期、应用期和反思期. 我们认为这种划分方式能够对今后研究 NAS 的工作人员提供很好的研究基础, 更好地了解本领域的技术发展. 本文重点分析现阶段 NAS 算法在实验评估环节的缺陷, 建设性地提出规范 化评估手段, 公正客观地对比不同方法, 推动该领域的良好发展与落地. 最后, 我们根据自身的研究基础, 概括 NAS 领域的现有问题与挑战, 提出若干点未来可能的研究方向, 帮助新的从业人员快速着手神经结构搜索研究.