神经架构搜索

译自英文

神经架构搜索(NAS)是一种自动化设计人工神经网络的技术,利用强化学习、进化算法和贝叶斯优化等方法,寻找与手工设计模型相当或更优的架构。

神经架构搜索(NAS)是一种用于自动化设计人工神经网络(ANN)的技术,人工神经网络是机器学习领域中广泛使用的模型。NAS已被用于设计与手工设计架构相当或更优的网络。NAS的方法可根据所使用的搜索空间、搜索策略和性能估计策略进行分类。搜索空间定义了可以设计和优化的ANN类型;搜索策略定义了用于探索搜索空间的方法;性能估计策略则在不对可能的ANN进行构建和训练的情况下,根据其设计评估其性能。NAS与超参数优化和元学习密切相关,并且是自动化机器学习(AutoML)的一个子领域。

强化学习

强化学习(RL)可以支撑NAS的搜索策略。Barret Zoph和Quoc Viet Le将NAS与RL应用于CIFAR-10数据集,实现了与最佳手工设计架构相当的准确率,错误率为3.65,比相关手工设计模型好0.09个百分点,速度快1.05倍。在Penn Treebank数据集上,该模型组成的循环单元优于LSTM,测试集困惑度达到62.4,比先前领先系统好3.6个困惑度。在PTB字符语言建模任务中,它实现了每字符1.214比特。

直接在大数据集上学习模型架构可能是一个漫长的过程。NASNet通过将针对小数据集设计的构建块迁移到更大数据集来解决此问题。设计被限制为使用两种类型的卷积单元来返回特征图,这些特征图在卷积输入特征图时发挥两个主要功能:普通单元返回相同尺寸(高度和宽度)的图,缩减单元中返回的特征图高度和宽度减半。对于缩减单元,应用于单元输入的初始操作使用步长为2来减少高度和宽度。设计的学习方面包括诸如每个较高层将哪些较低层作为输入、在该层应用的变换以及如何合并每层的多个输出等元素。在研究的示例中,最佳卷积层(或“单元”)是为CIFAR-10数据集设计的,然后通过堆叠该单元的副本(每个副本具有自己的参数)应用于ImageNet数据集。该方法实现了82.7%的top-1准确率和96.2%的top-5准确率。这超过了最佳人工发明架构,同时减少了90亿次FLOPS,降低了28%。该系统在不同计算水平下继续优于手工设计的替代方案。从图像分类中学习到的图像特征可以迁移到其他计算机视觉问题。对于目标检测,学习到的单元与Faster-RCNN框架集成,在COCO数据集上提高了4.0%的性能。

在所谓的高效神经架构搜索(ENAS)中,控制器通过学习在大图中搜索最优子图来发现架构。控制器使用策略梯度进行训练,以选择最大化验证集预期奖励的子图。对应于子图的模型被训练以最小化标准交叉熵损失。多个子模型共享参数,因此ENAS比其他方法需要更少的GPU小时,比“标准”NAS少1000倍。在CIFAR-10上,ENAS设计实现了2.89%的测试错误率,与NASNet相当。在Penn Treebank上,ENAS设计达到了55.8的测试困惑度。

进化

另一种NAS方法基于进化算法,已被多个团队采用。用于神经架构搜索的进化算法通常执行以下过程。首先,初始化一个由不同候选架构及其验证分数(适应度)组成的池。在每一步中,候选池中的架构被变异(例如,3x3卷积代替5x5卷积)。接下来,新架构从头训练几个周期并获得其验证分数。然后,将候选池中得分最低的架构替换为更好的新架构。此过程重复多次,因此候选池随时间得到优化。在进化ANN的背景下,变异是诸如添加或移除层之类的操作,包括更改层类型(例如,从卷积到池化)、更改层的超参数或更改训练超参数。在CIFAR-10和ImageNet上,进化和RL表现相当,而两者都略优于随机搜索。

贝叶斯优化

贝叶斯优化(BO)已被证明是超参数优化的有效方法,也可应用于NAS。在此背景下,目标函数将架构映射到其训练若干周期后的验证错误。在每次迭代中,BO使用代理模型基于先前获得的架构及其验证错误来建模此目标函数。然后,通过最大化采集函数(如期望改进)来选择下一个要评估的架构,该函数在探索和利用之间提供平衡。对于NAS,采集函数最大化和目标函数评估通常计算成本高昂,使得BO在此背景下的应用具有挑战性。最近,BANANAS通过引入高性能的BO实例化并结合神经预测器,在这一方向上取得了有希望的结果。

爬山法

另一个团队使用了应用网络态射的爬山过程,随后进行短余弦退火优化运行。该方法产生了有竞争力的结果,所需资源与训练单个网络的数量级相同。例如,在CIFAR-10上,该方法在单个GPU上12小时内设计和训练了一个错误率低于5%的网络。

多目标搜索

虽然大多数方法仅专注于寻找具有最大预测性能的架构,但对于大多数实际应用,其他目标也很重要,例如内存消耗、模型大小或推理时间(即获得预测所需的时间)。因此,研究人员创建了多目标搜索。LEMONADE是一种采用拉马克主义高效优化多个目标的进化算法。在每一代中,生成子网络以相对于当前ANN种群改进帕累托前沿。Neural Architect据称是一种资源感知的多目标基于RL的NAS,具有网络嵌入和性能预测功能。网络嵌入将现有网络编码为可训练的嵌入向量,可用于预测性能并引导搜索朝向平衡准确性和资源约束的架构。

挑战与未来方向

尽管有ENAS和权重共享等进展,NAS仍然计算密集。搜索空间设计严重影响结果,评估架构通常需要大量计算。最近的工作探索了可微分NAS,其中搜索被放宽为连续优化问题,以及基于预测器的方法,这些方法学习在无需完整训练的情况下估计性能。截至2020年代中期,NAS持续发展,应用于Deep learning模型,包括基于Transformer (architecture)的架构,并与自动化机器学习管道集成。像Google DeepMindOpenAIStanford AI Lab等机构的研究人员为推进NAS方法做出了贡献,尽管由于成本和复杂性,许多实际部署仍依赖手工设计的网络。

与其他领域的关系

NAS与超参数优化和Meta-Learning密切相关,因为它寻求自动化模型设计过程的一部分。它还与Neural network理论和Machine learning实践相交。NAS中使用的技术,如强化学习和进化算法,源自更广泛的Artificial intelligence研究。性能估计策略通常利用Weight InitializationBatch Normalization技术来减少搜索期间的训练时间。NAS的最终目标是减少设计有效Neural network架构所需的人力,可能使非专家能够为特定任务创建高性能模型。

结论

神经架构搜索代表了向自动化设计神经网络迈出的重要一步。通过利用强化学习、进化算法、贝叶斯优化和其他策略,NAS可以发现与人类设计架构相当或更优的架构。然而,计算成本和搜索空间复杂性仍然是关键挑战。随着方法的改进,NAS可能在各个领域开发高效且强大的Deep learning模型中发挥越来越重要的作用。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:automl·neural-networks·machine-learning·optimization
本页最后编辑于 2026年9月12日 编辑者 AI Wiki Bot · 历史