没有合适的资源?快使用搜索试试~ 我知道了~
自动化与智能学报1(2022)100002计算有效的神经结构搜索综述刘世清a,张浩宇c,靳耀初a,b,张伟德国比勒费尔德大学技术学院自然启发计算与工程系主任,邮编:33619b英国吉尔福德萨里大学计算机科学系GU2 7XHc东华大学信息科学与技术学院数字化纺织服装技术教育部工程研究中心自动清洁装置保留字:神经结构搜索(NAS)One-shotNAS代理模型贝叶斯优化性能预测器A B标准神经架构搜索(NAS)最近在深度学习社区越来越流行,主要是因为它可以提供一个机会,让没有丰富专业知识的感兴趣的用户从中受益。深度神经网络(DNN)的成功。然而,NAS仍然是费力和耗时的,因为 在NAS的搜索过程中需要进行大量的性能估计,是计算密集型的。为了解决NAS的这一主要局限性,提高计算效率是NAS设计的关键。然而,计算效率的NAS(CE-NAS)方法的系统概述仍然缺乏。为了填补这一空白,我们提供了一个全面的调查国家的最先进的CE-NAS分类现有的工作到代理为基础的和代理辅助的NAS方法,连同彻底讨论他们的设计原则和定量比较他们的性能和计算复杂性。剩余的挑战和开放的研究问题进行了讨论,并提出了在这一新兴领域有1. 介绍深度学习在机器学习领域发挥了重要作用。目前,深度学习已成功应用于计算机视觉,包括图像分类[1-深度学习的技术设计严重依赖DNN,因为它使特征工程过程自动化。DNN的架构通常是针对特定任务开发的,相关的权重可以通过学习过程获得。只有两者都是最佳的,DNN才能实现有希望的性能。然而,手动设计有前途的DNN架构是一项繁琐的任务,主要是因为它通常需要在深度学习和研究问题方面拥有丰富的专业知识,并尝试大量不同的超参数进行长时间调整。这些手动设计的特定任务的网络不能推广到各种应用领域。例如,为图像分类任务设计的网络架构可能在对象检测任务中获得较差的性能。此外,有时需要在有限的计算预算(延迟、存储器、FLOP等)下设计网络架构。适用于不同的部署场景。手工制作的网络架构设计通常效率低下,无法探索大量的可能性。最近,NAS作为一种实用的工具出现,允许没有深度学习专业知识的工程师NAS专注于搜索有效的特定任务网络*通讯作者。以自动的方式在给定的数据集上构建。通过定义一个包含大量可能的候选网络架构的搜索空间,NAS可以采用搜索策略来探索以前从未设计过的广泛的神经网络架构。最近,与手动设计的网络相比,NAS在CIFAR10 [15],CIFAR100 [15],ImageNet [16]等代表性基准数据集上获得了显着的性能提升,在精度、模型大小和计算复杂性方面[17NAS的目的是搜索一个网络,最大限度地减少一些性能指标,如未见过的数据(验证数据集)的错误率。为了指导NAS的搜索过程,早期的工作[22大量的网络从搜索空间中采样,并在训练数据上从头开始训练,然后在验证数据集上评估其性能。由于训练DNN本身在计算上是昂贵的,因此早期的NAS方法遭受高计算负担。例如,Zoph等人[22]使用强化学习(RL)在CIFAR10数据集上设计神经网络,该数据集在800个高性能图形处理单元(GPU)卡上消耗28天。不幸的是,并不是每个研究人员都能获得足够的计算资源。在评估网络性能时,计算量过大一直是NAS实际应用的瓶颈.为了解决上述问题,研究人员已经努力加快性能估计。因此电子邮件地址:shiqing. uni-bielefeld.de(S. 刘),yaochu. uni-bielefeld.de(Y.Jin)。https://doi.org/10.1016/j.jai.2022.100002接收日期:2022年7月28日;接收日期:2022年9月21日;接受日期:2022年10月19日2949-8554/©2022作者。由Elsevier B.V.代表KeAi Communications Co. Ltd.发布。这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表自动化与智能杂志期刊主页:www.keaipublishing.com/en/journals/journal-of-automation-and-intelligence/S. Liu,H.Zhang和Y.金自动化与智能学报1(2022)1000022搜索时间已从GPU的许多天减少到GPU的几个小时。例如,最近的工作[26]允许一个有前途的网络架构,可以在CIFAR10上在0.1 GPU天内搜索很少有工作报告,系统地审查这一新兴领域。因此,本文重点概述提高NAS方法搜索效率的研究。基于在评估这些网络候选时是否需要网络候选的权重,可以将它们分为两个不同的类别,即,在代理度量和代理辅助神经架构搜索下评估网络候选。对于基于代理的方法,度量仍然需要提供架构的权重 与基于代理的方法相比,代理辅助NAS方法的性能评估仅取决于网络本身的架构。基于代理的NAS方法通常依赖于代理(也称为性能预测器)来预测候选网络的性能,从而避免了额外的计算开销。在NAS中,有效地训练代理人仍然是一个具有挑战性的话题。本文的其余部分组织如下。第2节提供了NAS作为优化问题的定义和数学公式,以及NAS方法发展的简要概述。第三节详细研究了基于代理的NAS,包括低保真估计、单次NAS和网络形态。第4节对现有的代理辅助NAS方法进行了系统分析,包括基于贝叶斯优化的方法、基于代理辅助的进化算法、联邦NAS和多目标NAS。第5节总结了现有的挑战,并对未来的方向提出了一些见解2. NASNAS的目标是为目标数据集={神经网络,神经网络,神经网络}搜索具有高性能的任务特定的神经网络架构,并将工程师从繁琐的网络架构设计过程中解放出来。NAS过程可以通过双层优化问题来建模,其可以被公式化如下:∗图1.一、 (a)在宏搜索空间中表示的网络架构的示例。(b)在微搜索空间中表示的网络架构的示例。虚线框中示出了正常块结构的典型示例。每个块获得来自前一个块h[ ]和前一个-前一个块h[-1]的输出 ���作为其输入。h[k]和h[k-1]的输出连接到操作(表示为图二. 基于RL的NAS算法的总体框架。=arg min((A,), ),(1)AA∈∗一个小女孩∗2.1. 基于RL的NASA=argmin((A,),).(二)A基于RL的NAS方法考虑了网络设计的过程通常,表示网络架构的搜索空间。(A,A)表示搜索空间中的候选架构,其中A表示与网络A相关联的参数。NAS的目标是通过最小化验证集来搜索网络A ∈,使其在验证集上的工作架构作为代理的动作,并训练元控制器作为导航工具来引导搜索过程。基于RL的NAS算法的总体框架如图所示。二、更具体地说,元控制器对新的候选网络进行采样,并在给定的训练数据上进行训练采样网络的性能根据Eq.(2),可以得到参数θ通过训练集vA上的训练模型A,验证数据集用作更新控制器的奖励分数损失函数根据等式(一).在接下来的时间里,从搜索空间中抽取更好的候选网络,NAS搜索空间用于收集所有可能的候选网络架构。因此,NAS的搜索空间对所设计模型的搜索效率和性能有着深远的影响。一般来说,搜索空间可以分为宏观搜索空间和微观搜索空间。如图1(a)所示,Google在算法[22]中提出了宏搜索空间,该宏搜索空间覆盖整个网络架构,例如层数n、连接的链接方式(例如捷径[1])、操作类型(例如卷积和池化)等。如图1(b),在算法[23]中提出了微搜索空间,仅覆盖重复块 在整个网络架构中。这些块由复杂的多分支操作构造。在理论上,NAS可以被看作是一个复杂的优化问题,它面临着多个挑战,例如多个冲突的优化目标,复杂的约束,双层结构,昂贵的计算属性,等等。早期的NAS研究依赖于进化算法(EA)和强化学习(RL)来为给定的数据集设计最佳的网络架构迭代策略梯度方法旨在近似不可微的奖励函数,以训练需要参数梯度的模型(例如,网络体系结构)。Zoph等人[27]使用了一个递归神经网络(RNN)策略控制器,该控制器使用策略梯度进行训练,以生成一系列动作来设计网络架构。[22]中的原始算法是在宏搜索空间上执行的,它一次设计整个网络架构。如此巨大的搜索空间导致了令人望而却步的计算成本。例如,算法[22]在CIFAR 10数据集上,在28天(22400GPU-天)内在800个图形处理单元卡(GPU)上执行。为了减轻计算负担,Zoph等人[23]提出了微搜索空间,并采用邻近策略优化来优化RNN控制器。由于微搜索空间大大减少了架构搜索空间的大小,[23]中的原始算法在CIFAR 10数据集上消耗了1800 GPU-天。Mnas算法[17]提出了一种因子分解的分层搜索空间,不仅可以实现层多样性,还可以在搜索空间的大小和灵活性之间取得平衡。此外,本发明还提供了一种方法,S. Liu,H.Zhang和Y.金自动化与智能学报1(2022)1000023图三. 提出了基于EA的NAS算法的总体框架。Mnas遵循与[23]相同的搜索策略,自动搜索模型以最大限度地提高准确性并最小化移动设备上的真实延迟。Q-learning [28]是另一类流行的基于RL的NAS方法。MetaQNN算法[22]采用Q学习来优化一种策略,该策略可以顺序选择一种类型的层操作和网络架构的超参数。Zhong等人。[29,30]利用Q学习和ε贪婪策略来搜索架构构建块。构建块重复多次并顺序堆叠,以生成更深的网络架构进行评估。2.2. 基于EA的NAS基于EA的NAS是另一种NAS方法。EA是一种类型基于人口的启发式计算范式[31]。群体内部的个体代表了所研究问题的候选解。在基于进化算法的NAS中,采用进化算法作为搜索策略来搜索最佳网络结构。因此,群体中的每个个体都应该代表一个候选网络架构。随着种群的进化,网络架构在给定数据集上的性能越来越好。基于EA的NAS算法的总体框架如图所示。3.第三章。基于EA的NAS的工作流程遵循几个步骤:首先,需要通过相关的表型到基因型映射策略用预定义的群体大小每个个体都被解码为神经网络,并在给定的训练数据集上迭代训练几个时期。个体的适应度值是验证数据集的准确度。所有人都将参与进化过程.其次,采用选择策略(例如锦标赛选择[32])根据适应度值选择父代个体,并对所选择的父代应用交叉和变异算子以生成遗传算法。吃新的后代,直到达到预定的大小。 第三,对组合种群进行环境选择,选择出较优的个体进入下一代。 重复该演化过程,直到满足预定义的终止条件。自20世纪80年代以来,传统的基于EA的NAS方法使用EA来优化人工神经网络的拓扑结构、权重和超参数。这就是所谓的神经进化[33由于DNN的架构更加复杂,并且具有大量的超参数和连接权重,因此这种传统方法不太适合用于优化DNN。因此,最近,基于EA的NAS方法只关注于优化DNN的架构。每个候选网络的最佳权重通常通过基于梯度的优化算法获得[37]。优化CNN的早期工作,即遗传CNN [38],CoDeep-NEAT [39,40],CGP-CNN [41]和CNF [42],已经显示出强大的性能。研究人员发现,EA可以通过使用生物启发的算子(包括选择,交叉和变异)来生成高质量的最优解[43]。Real等人。[24]采用可变长度编码策略来表示CNN的架构EvoCNN算法[44]使用EA同时进化网络架构和相应的初始连接权重。更有效的初始连接权值可以避免神经网络陷入局部最优解。Sun等人。[45,46]提出了一种可变长度编码策略,通过基本遗传算法(GA)搜索CNN架构的最佳深度。Damien等人[47]设计了一个新的基于EA的NAS框架,高维跳跃连接结构的矩阵进化(ME-HDSS),以自动删除DenseNet [2]模型中的跳跃连接结构,以进一步减少可训练的权重并提高模型的性能。Zhang等人[48]采用易经演化算法(IDEA)优化了完整的网络架构,包括层数、通道数和不同层之间的连接。此外,为了提高搜索效率,基于IDEA的算子控制器被开发来选择IDEA的不同算子Liu等人[49]介绍了体系结构搜索过程中的多个延迟约束Sun等人。[50]采用EA来设计无监督DNN,以有效地学习有意义的表示。事实上,现实世界的任务还需要考虑多个相互冲突的目标,包括每秒浮点运算(FLOPs)[51例如,该模型在移动应用中的低功耗和高性能。与RL算法相比,进化算法更适合于求解NAS中的NEMO [56]是使用精英非支配排序遗传算法(NSGA-II)[57]来最小化网络的推理时间并最大化分类性能的早期研究之一Lu等人。[51,52]提出了NSGANetV1方法,该方法用于设计基于宏搜索空间和微搜索空间的网络,具有高分类性能和较低的FLOP,使用NSGA-II算法。Wen等人。[58]提出了一种基于两阶段多目标EA的NAS算法,可以优化迁移学习中的网络架构。此外,基于多目标EA的NAS也可以用于联合学习社区,以降低通信成本[59,60]。请注意,联邦神经架构搜索也是一个有前途的新兴研究课题[61]。3. NAS中的代理方法搜索过程本身是费力的,主要是因为在大搜索空间上训练和评估候选网络是耗时的。因此,最近,已经提出了许多算法来降低计算成本并提高NAS的效率,例如低保真度估计[25,29,30,62,63],一次性NAS [19,60,64]和网络态射[65,66]。3.1. 低保真度估计NAS中的早期方法试图通过低保真度估计来加速候选神经网络的训练和评估,例如S. Liu,H.Zhang和Y.金自动化与智能学报1(2022)1000024见图4。一个基于单次模型的搜索空间的例子。 蓝色节点表示活动节点。灰色节点表示非活动节点。红线表示单次模型中的活动路径。采用较短的训练时间(也称为早期停止策略)[22,30,67,68],使用较低分辨率的输入图像[69],从小规模数据集开始[23],使用完整训练集的子集[70减少候选神经网络的通道)[25,71,73]。采用低保真估计作为替代测量,以指导网络结构搜索过程。与全训练优化相比,低保真估计所需的计算量要少一个数量级。NASNet [23]在小规模数据集上设计了小的最有前途的构建块,以降低搜索成本。优化后的块模块通常具有竞争力的泛化能力,并且可以在不同的数据集或计算机视觉任务之间传输。例如,在CIFAR 10数据集上设计的块网络也可以在ImageNet分类任务[16]和MS-COCO对象检测任务[74]中实现有竞争力的性能。Zhong等人。[30]使用早期停止策略来实现快速收敛的搜索策略,并将CIFAR10数据集的搜索成本降低到20 GPU小时虽然这种低保真度估计方法可以节省搜索时间,但最近的研究[62,75]表明,它们可能导致候选网络的评估不准确,特别是对于复杂和大型的网络架构。例如,NASNet [23]在选择最佳网络架构之前添加了一个额外的重新排序阶段,该阶段对前250个有前途的网络进行300个epoch的训练。最好的网络在250个最有前途的神经网络中排名第70位,根据低保真度估计的性能排名。因此,简单的低保真度估计方法可能导致网络性能预测中的低相关性。周[62]也讨论了这一现象,并研究了影响不同的低保真度估计方法对神经网络结构的性能排名。Damien等人。[76]提供了不同低保真度估计方法与最终测试性能之间的相关性分析。3.2. 一次性NAS除了在低保真度估计下评估网络候选者之外,最近,一次NAS方法(也称为权重共享一次性NAS瞄准构建一个单一的大型神经网络(也称为单次模型)来模拟搜索空间中的任何网络。如图所示。4、单次模型可以看作是一个DAG,所有可能的架构都是单次模型的不同子图。DAG中的节点表示神经网络中的层(例如卷积层),并且有向边代表从一个节点到另一个节点的信息流(例如特征图)。一旦一次性模型训练是完全的,搜索空间中的所有网络候选者可以直接从单次模型中继承权重以评估性能而不是从头开始训练数千个独立的子模型。一次性NAS的工作流程遵循四个连续步骤:• 设计一个一次性模型作为搜索空间,包含所有可能的网络架构。• 通过网络采样控制器训练单次模型收敛。• 采用搜索策略(例如:进化算法、强化学习和基于梯度的方法)来基于预训练的单次模型找到最佳子模型。• 从头开始完全训练最佳子模型,并在测试数据集上评估其性能。“权重共享”的来源所有子模型共享来自一次性模型的参数,以避免从头开始训练每个子模型。与NASNet [23]相比,ENAS将CIFAR 10分类任务的搜索成本从1800 GPU-天降低到16 GPU-小时。Luo等人。[78]提出了NAO算法,该算法用直接利用权重共享的基于GD的自动编码器取代了ENAS [77]的基于RL的搜索策略。Gabriel等人[79]分析了ENAS中权重共享的作用。 Zhang等人[80]提出了SI-EvoNAS算法,这是一种基于EA的一次性NAS框架,它联合优化了网络架构和相关权重。在SI-EvoNAS中,提出了一种抽样训练策略来训练父个体。一种节点继承策略的方法来产生后代个体,该方法可以强制后代个体从其父母那里继承权重,从而避免从头开始训练后代个体Yassine等人[81]发现了一次性NAS中的“多模型遗忘”现象。具体地说,由于节点的共享权重在单次模型训练期间被覆盖,因此在为后续训练优化网络时,先前训练的网络的性能将下降。结果,候选网络的排名的置信度不再可靠。为了解决这个问题,Yassine等人提出了一种理论上合理的权重可塑性损失来规范一次性模型训练。Ben- der等人。[79]提出了一种“路径丢弃”算法,该算法根据整个一次性模型训练过程中的丢弃率随机删除一次性模型的一些节点。Guo等人。[54]提出了一种均匀采样策略,以确保搜索空间中的所有节点在一次性模型训练期间具有相等的优化机会。Chu等人[82]提出了FairNAS算法,该算法揭示了在两个公平性约束(包括严格公平性和期望公平性)下一次性模型训练有效性的根本原因。Zhang等人[19]将一次性模型的训练过程表述为一个受约束的持续学习优化问题,以确保当前的网络训练不会降低以前网络的性能。为了实现这一点,Zhang等人。[19]提出了一种基于搜索的架构选择(NSAS)损失函数,用于一次性模型训练。Ding等人[83]设计了广泛的可扩展网络架构,以避免ENAS在网络性能估计阶段的性能下降。Ning等人。[84]引入了一种操作级编码方案来动态更改参数共享方案另一类one-shot NAS算法采用连续松弛技巧,通过实值变量近似网络中不同层之间的连通性,将离散搜索空间转换为连续空间。然后,实值变量和模型的权重同时通过梯度下降(GD)过程进行联合优化。图图5示出了基于微搜索空间的示例性放松技巧。基于松弛的NAS方法的第一项工作通常被视为可重构NAS(DARTS)[73],它采用GD方法来搜索CNN架构的最佳构建块,CIFAR10和ImageNet上的实验结果展示了其性能。但是,DARTS在架构S. Liu,H.Zhang和Y.金自动化与智能学报1(2022)1000025图五. 一个基于微搜索空间的示例放松技巧。搜索,因为所有层操作候选必须在内存中显式实例化[71]。因此,Chen等人[85]减小了一次性模型的大小以解决此问题。随机神经结构搜索(SNAS)[86]采用了来自通用可微损失的梯度信息,以进一步加速网络搜索的过程。Cai等人。[20]提出了ProxylessNAS,它采用二进制门(1或0)将单次模型的架构参数转换为二进制表示。在架构搜索过程中,ProxylessNAS通过二进制门只激活单触发模型中的一条路径因此,ProxylessNAS的计算成本与训练单个网络的计算成本大致相同。得益于低计算成本,ProxylessNAS可以直接在ImageNet上搜索最佳网络架构。Zhou等人[87]采用了一种基于高阶马尔可夫链的方法,将操作的当前指标与其历史重要性相结合,可以更准确地判断操作的重要性Wang等人[88]观察到,由于训练和离散化机制,DARTS将遭受严重的退化。因此,DARTS倾向于在最终的优化模型中保留更多的跳过连接操作为了解决上述问题,Xu等人[71,89]提出了部分连接DARTS(PC-DARTS)算法,该算法使用通道采样方案,在每个训练步骤中对通道的子集进行采样,而不是激活所有通道,以减少搜索过程中单次模型的冗余空间iDARTS [88]采用了节点规范化策略,保持不同节点的范数平衡,从而避免DARTS的退化Zhou等人[90]提出了一种基于DARTS的BDAS针对DARTS中一次性模型训练的不公平性问题,BDAS提出了基于路径丢弃和预热的模型训练策略,并采用变分贝叶斯推理估计模型匹配的不确定性。得益于one-shot NAS算法计算效率的显著提高和图像分类任务的显著进步,one-shot NAS在目标检测任务中的应用也引起了研究者的关注早期的方法,如NASNet [23]和RelativeNAS [91],将基于分类任务的搜索网络作为对象检测器的骨干,而无需进一步搜索,这不能保证任何检测任务的最佳适应。随着NAS在网络体系结构设计自动化方面的发展,也推动了网络体系结构自动设计的研究,物体探测器而不是手工设计。受一次性NAS方法的启发,OPANAS [92]提出了一种基于一次性模型的FPN结构的新搜索空间。然后,采用基于EA 的 one-shotXiong 等 人 [93] 提 出 了 用 于 移 动 或 服 务 器 加 速 器 的MobileDets。作者希望通过一次性NAS方法在反向瓶颈中用常规卷积代替深度卷积,以提高精度和模型的延迟。命中检测器[94]采用基于梯度的NAS方法[73]来优化检测器所有组件的架构。在五个NAS基准上系统地研究了各种单次和零次方法的估计质量[95]。3.3. 网络态射参数重映射策略是提高NAS计算效率的一类常用方法。参数重映射策略,也称为网络变换/态射,旨在将一个模型的参数重映射到每个新模型,以加快新模型的训练过程。陈等人[96]试图转移借助函数保持变换的概念,将训练参数从小模型转换为新的更大模型,有效提高了大模型在ImageNet分类任务中的性能。按照这种方式,Cai等人。[97]在架构搜索期间采用了[96]中的Net2Deeper和Net2Wider运算符EAS [98]采用网络态射来增加层的宽度和网络的深度。Cai等人。[66]提出了一次为所有方法,该方法采用渐进式收缩算法来训练一次性模型。在一次性模型训练完成后,One-for-All将一次性模型的参数直接映射到子模型。4. 代理辅助NAS虽然代理方法试图根据一组次优权重矩阵来估计网络性能,但代理辅助NAS方法通过对代理进行建模来利用这些训练过的网络。通常,代理模型由一组训练数据训练,该训练数据由成对的网络编码和相关性能组成。经过训练的代理可以在搜索空间中评估任何候选架构的性能,避免了性能较差的训练网络的巨大计算开销。本节首先简要介绍代理辅助优化,然后深入研究不同类型的代理辅助NAS技术,例如基于贝叶斯然后详细讨论了代理辅助NAS方法中的联邦NAS和多目标优化问题。4.1. 代理辅助优化代理辅助进化优化源于一些工程优化问题没有分析目标函数的实际挑战,或者候选解决方案的评估可能需要数小时甚至数天[99,100]。例如,在气动设计优化中,数值模拟可能非常耗时[101]。当采用基于种群的优化方法(如EA)来搜索给定任务的最优解时,需要评估大量的候选解因此,在这些情况下的计算成本是负担不起的。为了解决这个问题,代理辅助方法基于有限的数据量来研究训练代理模型,并为优化中的候选解决方案提供可靠的评估。有限的训练数据通常来自物理实验,数值模拟或历史信息[102用于训练代理模型的数据一般有两类:直接数据和间接数据[105,106]。直接数据包括至少两部分:决策变量和相应的目标或约束值,其可以直接用于训练surrogate模型。大多数代理辅助NAS方法属于这一类,因为网络架构的编码可以被视为决策变量,网络性能被视为目标值。然而,在其他情况下,可能无法以决策变量和目标函数的形式收集数据S. Liu,H.Zhang和Y.金自动化与智能学报1(2022)1000026价值观例如,在创伤系统设计优化中,目标函数没有数学公式,紧急事故记录是唯一可访问的信息[104]。在这种情况下,设计人员应该在建立和训练代理模型之前从间接数据根据在优化过程中是否可以通过对具有真实目标函数的候选解进行评估来收集新的样本点,代理辅助进化优化可以分为离线和在线算法。在离线代理辅助进化优化中,在优化开始之前收集一组候选解及其地面实况目标值在优化过程中,没有新的数据可以主动生成的真实评估,只有训练的代理模型提供的预测可以指导进化搜索。换句话说,算法的最终性能主要取决于离线训练集中样本的分布以及代理模型的准确性。在实践中,从质量、数量和分布方面收集一组理想的离线数据是不平凡的。在某些情况下,数据甚至可能是嘈杂的或不完整的。这些挑战可能会阻碍离线算法实现更好的性能。为了解决这个问题,可以采用一些技术来提高离线代理的模型性能[106]。从数据的角度来看,我们可以使用数据预处理和数据挖掘技术来减轻噪声和分布不均匀对数据质量的影响。从代理模型的角度来看,我们既可以为特定的任务精心选择合适的模型,也可以构建代理模型的集成来提高其鲁棒性。从任务的角度出发,还可以采用多保真度适应度评价策略和相似任务间的知识转换来降低计算开销。相比之下,在在线代理辅助进化优化中,对训练有限离线数据的代理模型没有更多限制在进化搜索过程中,新的数据点可以被主动采样并由目标函数评估以获得地面真实标签。从而丰富代理模型训练集的数量和质量,提高其预测精度。除了离线算法中采用的技术外,我们还需要模型管理,涉及采样数量,频率和选择标准,以在探索和开发之间取得平衡。模型管理是在线代理辅助优化的关键因素,因为它可以更有效地评估目标函数以及更准确的代理近似[105]。在代理辅助进化优化中,由代理模型而不是真正的目标函数提供适应度评估,有助于显着减少计算开销。然而,仅仅依靠替代物来进行适应度近似通常是不可行的。由于目标函数的维数较高,训练数据有限,如果代理模型本身没有太多的先验知识,则性能会很差。基于个体或代的模型管理研究如何在代理辅助优化过程中有效地使用对于基于个体的策略,每代中的最佳个体或随机选择的个体将由原始函数评估,而其他个体将由代理模型评估。对于基于世代的策略,对种群中所有个体的真实评估将每隔几代进行4.2. NAS中的贝叶斯优化贝叶斯优化(BO)已经成为解决昂贵的黑盒优化问题的强大工具,它已被广泛应用于各种机器学习系统的超参数调整,如推荐系统,自然语言处理,机器人和强化学习[107,108]。作为无导数全局优化的顺序策略,BO的一般原理是为感兴趣的对象构建概率模型,该模型可以使用收集的数据进行更新。在优化循环中,该模型提供了一个信息丰富的后验分布,以指导优化方向,并在勘探和开发之间取得平衡。BO的框架有两个关键组成部分:一个概率代理模型和相关的采集功能。代理模型包含了我们对未知目标函数的先验信息的假设。高斯过程(GP)是代理模型的最常见选择假设未知目标函数的分布服从高斯过程,这意味着函数应该是光滑的,偏差是高斯噪声。引入采集函数以确定哪个是要评估的下一个样本点。由于BO的目标是用较少的函数求值找到全局最优值,因此期望采集函数的优化在探索和开发之间进行折衷具体地,对于最大化问题,优选顺序评估具有较大程度的不确定性(探索)或较高预测值(开发)的那些样本。已经设计了不同的采集函数,例如改进概率,预期改进[109],高斯过程置信上限[110]和熵搜索[111]。值得注意的是,获取函数应该比目标函数在计算上更便宜(但不一定更容易),因为原始的黑盒函数是耗时且计算密集的。当从贝叶斯优化的角度搜索最佳网络架构时,我们认为NAS是一个昂贵的黑盒优化问题。在搜索过程之前,预先定义了与特定任务/数据集相关的搜索空间,其中包含最优架构的所有可能的解决方案。���实际上,充分探索整个空间是不平凡的,无法承受的开销一个目标函数表示神经网络的性能度量,例如,������给定架构的验证准确性。完全训练一个网络来评估网络性能���可能需要几个小时。近年来,基于贝叶斯优化的NAS方法得到了广泛的研究Auto-Keras [112]是一个开源AutoML系统。它是从基于贝叶斯优化的NAS框架开发的,贝叶斯优化被设计为对网络态射进行操作。在这种方法中,使用现有的架构及其性能构建并训练高斯过程模型。为了解决原始网络结构不在欧氏空间的问题,提出了一种基于编辑距离的神经网络核,用于将一种结构变形为另一种结构。针对网络态射中的树结构搜索空间,对获取函数进行了优化设计。NASBOT [113]是一个基于高斯过程的BO框架,用于神经网络。Ral架构搜索提出了一种度量神经网络结构相似性的距离度量OTMANN(Optimal Transport Ranking forArchitectures of Neural Networks),并采用EA方法对捕获函数进行了优化。BO在类图搜索空间中的一个主要挑战是如何捕获神经网络的拓扑结构。NAS-BOWL [114]将Weisfeiler-Lehman图内核与高斯过程相结合,使代理模型能够在基于图的搜索空间中直接定义。然而,上述NAS方法是成熟的,我们无法分辨哪个组件做出的贡献最大。 White等人。[115]系统地分析了“BO+性能预测器”框架,该框架具有五个独立的组件:网络编码,性能预测器,不确定性校准,采集函数和采集函数优化。然后在此基础上提出了一种基于BO的算法BANANAS。在搜索空间中的每个网络结构表示为一个标记的DAG,和路径编码的发展,以提高预测器的性能。S. Liu,H.Zhang和Y.金自动化与智能学报1(2022)1000027虽然[112-BONAS [116]结合了图卷积网络(GCN)[117]和贝叶斯sigmoid回归器作为替代模型,而不是GP。将通过权重分配选择并评价具有最高-AUCB评分的个体,以更新替代模型。[118]开发了一个以贝叶斯图神经网络作为代理模型的图贝叶斯优化框架。作为第一种用于一次性NAS的贝叶斯方法,BayesNAS [119]在模型架构参数之前使用分层自动相关性确定,减轻了大多数一次性方法中的不适当操作。������������贝叶斯优化在NAS中的挑战之一是高维和离散的决策空间。为了解决这个问题,神经架构生成器操作(NAGO)[120]将NAS视为对最佳网络生成器的搜索因此,问题的维数大大减少,允许贝叶斯优化被有效地使用。GP-NAS [121]从贝叶斯的角度研究了不同架构之间的相关性以及性能,其中NAS的内核函数是通过将操作分类到多个组中而专门设计的。除了直接搜索网络架构外,BO还可以与其他代理方法集成以提高搜索效率,例如知识蒸馏[122]和代理模型[123,124]。4.3. 代理辅助进化NAS作为一类基于种群的优化算法,进化算法保持由可行解组成的种群,并产生性能逐渐提高的后代,使算法能够向最优解收敛。在基于EA的NAS方法中,群体中的个体被视为搜索空间中定义的候选架构,并且基因型由网络编码确定[125]。适应度函数反映了网络的性能,可以是验证精度或其他评价因素。由于EA在解决黑盒优化问题方面的优越性能,许多工作都集中在设计基于EA的NAS方法上。2017年,谷歌提出了LargeEvo算法[24],该算法使用遗传算法在CIFAR-10和CIFAR-100数据集上搜索性能良好的CNN架构。这通常被认为是第一个基于进化的NAS算法。从那时起,大量的工作一直致力于通过EA方法搜索最佳网络架构[38,44,52,55,126然而,直接使用进化算法来搜索给定任务的最佳网络架构是不平凡的。首先,一个候选解的适应度评估需要相当多的训练时间。为了获得候选架构的性能评估,应该初始化给定网络的权重,然后在收敛之前使用梯度下降方法在训练数据集上训练它。随着训练集和网络规模的增长,这个过程可能需要几个小时甚至几天。另一方面,EA方法总是需要评估大量的候选解决方案的时间,由于其人口为基础的属性。随着任务难度和人口规模的增加,这个耗时的过程将对有限的计算资源构成挑战[129]。为了解决这个问题,引入了性能预测器(也称为代理模型)[99]。代理模型的目的是估计网络性能,而无需从头开始训练网络(见图1)。6)。代理辅助进化NAS方法的基本步骤是:见图6。 代理辅助进化NAS算法的基本框架。• 从搜索空间中采样一组网络架构,并从头开始训练它们以获得基本事实标签。将样本存储在存档A中。• 使用归档文件A来构建一个训练数据集。������使用代理来构建和训练代理模型。• 用代理模型预测网络性能,用EA进行神经结构搜索。• 根据模型管理策略选择候选架构进行实际评估。更新归档文件A和训练数据集。������• 培训和评估选定的架构。更新存档A和训练数据集。• 为下一次迭代更新代理模型根据[130]和[131],主要有四类网络性能预测器:基于学习曲线的预测器[132-基于学习曲线的方法需要对神经网络进行部分训练,然后根据观察到的部分推断曲线的未来趋势。在[135]中给出了一个学习基于曲线的模型的例子,其中采用LSTM作为seq2seq模型,根据前几个时期的学习曲线预测网络性能。Domhan等人。[132]建立了一组参数函数作为概率模型,并使用它从学习曲线的初始部分外推到未来点。如果验证集上的性能预测似乎不太可能达到迄今为止的最佳模型性能,则将终止运行。基于这项工作,Klein等人[133]开发了一种贝叶斯神经网络作为概率模型,并通过专门设计的学习曲线层改进了其预测。Baker等人。[134]训练序列回归模型而不是单个贝叶斯模型来估计候选网络的验证准确性。然而,基于学习曲线的方法仍然依赖于候选网络的训练过程,使得预测耗时。类似地,基于浅层训练和基于权重共享的预测器(如第III-B节中所提到的)也可能由于训练不足和权重依赖性假设而遭受较差的泛化能力。另一种选择是构建和训练一个端到端预测器,它直接将网络架构作为输入,并预测网络性能作为输出。Deng等人开发了一种端到端的培训方法,称为窥视孔[136]。它使用LSTM将各个层以及epoch的数量编码为结构嵌入,并将其送入多层感知器以预测验证精度S. Liu,H.Zhang和Y.金自动化与智能学报1(2022)1000028在特定的时代之后。与基于学习曲线的方法相比,Peephole可以预测整个学习曲线,而无需知道它的初始部分。虽然这种端到端的训练可以使预测更有效,但训练这样的代理模型需要大量预先训练的神经网络,这会引入额外的计算开销。为了进一步减少计算开销,E2EPP [130]是代表性的端到端性能预测器模型之一在代理辅助NAS中,它可以在有限的训练数据下实现良好的性能。在E2EPP中,采用随机森林[138]作为一种代理模型,用于通过给定的网络编码来预测网络性能。然后将所提出的性能预测器嵌入AE-CNN [139],这是一种进化深度学习方法,以进一步验证其有效性。采用随机森林作为代理模型而不是神经网络等其他模型的优点是,它可以直接接受离散数据作为输入,而不需要大量的训练数据。作为一种集成学习方法,随机森林模型由一组决策树组成。每个决策树将从决策变量中随机选择一个特征子集在训练过程中,每个决策树学习从特征到目标的映射。在预测过程中,选择的决策树的输出被平均作为随机森林的最终预测。NPENAS [123]是另一种用于进化神经架构搜索的神经预测器引导方法。在NPENAS中,从每个父代生成多个为了减轻额外的候选架构所造成的额外的计算成本,神经预测器被引入来对来自相同父代的后代进行排名,并且只有具有最高预测性能的候选者才会被选择用于实际评估。在NPENAS中提出了两种不同的神经预测器第一个是由基于图的不确定性估计网络定义的获取函数。受基于BO的NAS算法的启发,作者假设网络结构在搜索空间中的分布是独立且相同的,因此性能预测函数可以看作是一个高斯过程,由其均值和标准差函数定义.基于图的不确定性估计网络被训练为代理模型,以提供给
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功