综述 | 最新2022神经结构搜索NAS
Posted 人工智能博士
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了综述 | 最新2022神经结构搜索NAS相关的知识,希望对你有一定的参考价值。
点上方人工智能算法与Python大数据获取更多干货
在右上方 ··· 设为星标 ★,第一时间获取资源
仅做学术分享,如有侵权,联系删除
转载于 :软件学报
近年来, 深度神经网络(DNNs)在许多人工智能任务中取得卓越表现, 例如计算机视觉(CV)、自然语言处理(NLP). 然而, 网络设计严重依赖专家知识, 这是一个耗时且易出错的工作. 于是, 作为自动化机器学习(AutoML)的重要子领域之一, 神经结构搜索(NAS)受到越来越多的关注, 旨在以自动化的方式设计表现优异的深度神经网络模型. 全面细致地回顾神经结构搜索的发展过程, 进行了系统总结. 首先, 给出了神经结构搜索的研究框架, 并分析每个研究内容的作用; 接着, 根据其发展阶段, 将现有工作划分为4个方面, 介绍各阶段发展的特点; 然后, 介绍现阶段验证结构搜索效果经常使用的数据库, 创新性地总结该领域的规范化评估标准, 保证实验对比的公平性, 促进该领域的长久发展; 最后, 对神经结构搜索研究面临的挑战进行了展望与分析.
http://www.jos.org.cn/jos/article/abstract/6306
深度学习 (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 领域的现有问题与挑战, 提出若干点未来可能的研究方向, 帮助新的从业人员快速着手神经结构搜索研究.
神经结构搜索的概述与研究框架
过去, 性能优越的神经网络结构往往需要专家手工设计, 存在一定的局限, 主要归结于客观原因和主观原因. 就客观原因而言, 专家知识总是存在一定的不足, 需要专家不断的尝试才能设计出性能优越的网络结构, 时间成本 过高; 就主观原因而言, 专家也会因为个人因素影响网络设计, 人为地在模型中添加主观因素. 因此, 一种自动化、 不受主观干扰的网络设计方式成为深度学习领域亟待解决的重要问题之一. 近年来, 神经结构搜索在学术界和工 业界受到越来越多的关注, 其目的就是寻找到在某一数据集上取得最佳效果的模型, 例如识别任务中的准确率 (accuracy)[6,7]和图像分割中的均交并比 (MIoU)[8,9]等.
神经结构搜索研究框架如图 3 所示. 具体上, 神经结构搜索的早期方法主要是基于强化学习或进化算法, 指导 神经网络的搜索. 大体的过程如图 3 中的早期 NAS 架构所示, 首先定义好搜索空间, 通过搜索策略采样得到一个 网络结构, 进行性能评估并反馈给搜索策略, 重复上述过程, 直至得到一个表现最佳的神经网络结构. 近年来, 基于 权重共享 (weight-sharing) 的结构搜索方法[4]受到广泛关注, 在这类方法中, 搜索策略和性能评估是高度相关的, 即 往往是一体的. 于是, 现阶段的 NAS 架构主要是在搜索空间定义好的基础上, 进行结构搜索与优化, 继而得到性能 最优的网络结构.
神经结构搜索发展阶段
手工设计神经网络受多种因素影响, 例如不同层间的连接方式、卷积类型与大小、网络深度等. 这不仅需要 网络设计专家具有丰富的机器学习知识, 还严重依赖专家在实践过程中总结的经验规律. 因此, 自 2015 年开始, 神 经结构搜索得到广泛关注. 到目前为止, 神经结构搜索能够自动化地设计出性能优越的神经网络结构, 在图像识别 等任务上取得显著效果. 这种成功是值得纪念的, 而且回顾 NAS 的整个发展阶段对于今后的发展有着重要意义. 图 5 是神经网络搜索研究的重要里程碑工作, 我们将从 4 个阶段分别介绍 NAS 算法的发展, 着重介绍每一阶段内 具有代表性的成果. 这里我们需要说明的是, 考虑到现有 NAS 方法中存在的诸多问题, 且近两年不断有工作在反 思神经结构搜索, 我们希望第 4 阶段中的反思能够促使 NAS 技术在未来的发展中实现更大的突破.
评测数据库与规范化标准
近年来神经结构搜索问题在学术界和工业界中的关注逐渐提高, 对相关算法的评估也是亟需考虑的问题, 其 中最重要的就是算法训练与测试过程中使用的数据集. 我们回顾并总结现有 NAS 算法中常用的数据集. 针对目前 使用数据集的单一性, 我们列举多个任务难度大、相对复杂的图像数据集, 使得 NAS 算法能够在更多场景中得到 评估. 表 3 中给出这些可用数据集的用途与下载链接.
挑战与展望
神经结构搜索任务是机器学习领域中一个非常有挑战性的问题, 拥有非常高的学术价值与广泛的应用前景. 尽管近年来不断有效果显著的神经结构搜索算法被提出, 然而目前的神经结构搜索方法中仍存在诸多问题, 需要 学术界和工业界共同关注、不断研究并解决. 可以说, 目前的神经结构搜索任务仍处于初级发展阶段, 该领域仍然 有一些研究问题亟待解决.
(1) 神经结构搜索算法在更多任务中评估表现
目前优秀的神经结构搜索算法大多在 Cifar-10/100 或 ImageNet 数据集上进行性能评估, 即集中解决视觉任务 中的图像识别问题, 很少关注在其他任务上的实验效果, 例如对抗学习 (adversarial learning)、视频处理 (video processing)、图网络 (graph network) 和超分辨率重建 (super-resolution) 等研究内容. 尤其是同 Cifar 数据集相比较, 其他任务的复杂度会更大, 相应地对搜索空间和搜索策略的要求也越高. 此外, 一套通用型的神经结构搜索系统是 有重要意义的. 根据任务类型, 该系统能够自适应地设计出性能优越的网络结构, 真正意义上实现机器的全自动 化, 消除人工设计的影响. 因此, 我们相信有必要扩大神经结构搜索算法的应用范围, 增强其通用性.
(2) 不均衡性对可微分结构搜索的影响
众所周知, 以 DARTS[13]为代表的连续可微分结构搜索算法存在严重的优化误差问题, 尤其是两阶段的优化步 骤加剧这一消极影响. 原因在于, 两阶段优化的目标 (网络权重 和结构系数 ) 在数量上是极不均衡的. 常见的 是, 网络的可学习权重数量通常是数百万, 然而结构系数仅仅有数百, 例如 DARTS 需要学习的结构系数只有 224 个. 这种不均衡特性必然对搜索阶段产生不利的影响. 此外, 在数据样本不均衡的背景下, 机器学习算法的表 现会很差. 由此我们联想到不均衡样本是否也会对结构搜索产生影响. 尤其是在样本和优化目标的双重不均衡作.
用下, 搜索算法得到的网络结构是否还是最优的, 需要今后的研究深入反思这一问题. 例如, 我们可以分别探究两 部分不均衡的影响, 首先利用重新加权或重新采样的方式, 缓解样本不均衡对结构搜索性能的影响; 然后, 设计自 适应权重系数, 强化网络搜索过程中对结构系数的优化; 最后通过联合学习的方式, 解决双重不均衡问题. 此外, 造 成不均衡性的重要元素之一的结构系数 是否真实反映选择操作的重要性仍需要进一步探究. 尤其从目前实验结 果可以看出, 每种操作对应的结构系数之间差别不大, 很难准确评估操作的重要性, 继而影响网络结构性能的评 估. 我们认为解决这一问题可以从性能评估的角度重新定义操作的重要性度量, 将准确率等指标作为反馈, 指标数 值越高代表操作更重要, 即搜索到的神经网络结构更优.
(3) 人工设计的影响依旧存在
近年来, 关于神经结构搜索方法的研究受到越来越多的关注, 各类神经结构搜索算法搜索出的深度神经网络 已经逐渐在性能上超越了人工设计的神经网络. 然而, 现阶段的 NAS 算法还未达到全自动的要求, 而且主要针对 图像识别任务, 无法做到特定任务上的自适应深度神经结构搜索的目标. 另外, 神经结构搜索算法中重要组成部分 之一的搜索空间是人工提前设定的, 算法仅仅能够在空间内选择可能的计算操作, 无法选择空间内没有的计算单 元. 以 DARTS 搜索空间[13]为例, 候选操作集合中仅包含 8 个操作, 专家提前将卷积核尺寸限定为 5×5 和 7×7, 极 大地降低搜索空间的自适应能力. 同时, 搜索结构的层数, 即结构单元数也是人为设定好的. 这种预先设置的方式 也限制了搜索空间的规模. 尽管小的搜索空间可以降低搜索成本, 但也束缚搜索算法的自动搜索性能. Xie 等人[4] 提出理想状态下的搜索空间大小应超过 101000 , 目前的搜索空间远远没有达到这一目标. 我们认为人工干预依旧影 响着 NAS 领域, 尤其是现阶段的搜索空间不但被人为限定, 还限制了搜索算法发现性能更优的网络结构. 因此, 亟 需一种解决办法扩大搜索空间规模, 消除人工设计的影响. 例如, 不再预先设定卷积核尺寸或引入一种自适应系 数, 对现有空间内的候选操作进行线性或非线性组合, 形成新的计算操作, 扩大搜索空间.
(4) 小规模代理任务限制搜索算法性能
目前, 主流的神经结构搜索算法大多采用小规模代理任务搜索的方式, 即在小规模代理数据集上通过 NAS 算 法进行网络结构搜索, 在搜索过程中利用代理任务上的评估性能估计在实际任务中的性能, 并将搜索到的神经网 络直接迁移到实际任务中. 这种基于小规模代理任务搜索评估的策略很大程度上缓解计算资源高昂的弊端, 能够 以较低的搜索成本实现神经结构搜索的目标. 然而, 这种方式的成功必须建立在代理任务和实际任务之间具有极 高相似度的前提下, 否则搜索的神经网络仅能在小规模代理任务中实现优越的性能表现. 为了实现通用型的 NAS 算法, 任务间的差异性是必然存在的. 因此, 我们认为这种采用小规模代理任务搜索评估是不够理想的, 需要直接 在实际目标任务中搜索网络结构并评估其性能, 并且要解决因此带来的计算开销问题.
(5) 开拓研究基于神经结构搜索的自动化模型压缩技术
诸多计算机视觉任务因深度神经网络得到空前发展, 并达到前所未有的高度, 但是模型的复杂度、高额的存 储空间等限制技术落地到手机等硬件平台. 为了加速算法在真实场景的应用, 模型压缩能够最大限度地降低神经 网络模型的计算空间和运行时间. 当前来说, 神经网络模型部署的一般步骤主要是网络设计 (主要依靠专家人工设 计, 部分利用 NAS 技术)、模型剪枝和模型量化. 很容易想到一个问题, 神经结构搜索算法得到的大尺寸网络结构 经过模型压缩后是否依旧保持最优性. 因此, 我们认为有必要研究模型压缩和神经结构搜索之间的模型关系, 并设 计出基于神经结构搜索的自动化模型压缩算法, 实现真正意义上的全自动化人工智能. 例如, 联合模型剪枝与候选 操作选择, 实现自动化模型压缩.
---------♥---------
声明:本内容来源网络,版权属于原作者
图片来源网络,不代表本公众号立场。如有侵权,联系删除
AI博士私人微信,还有少量空位
点个在看支持一下吧
以上是关于综述 | 最新2022神经结构搜索NAS的主要内容,如果未能解决你的问题,请参考以下文章
NAS 新方法:用 Petridish 自动搜索最佳神经网络结构