神经网络架构搜索(NAS)基础入门

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 神经网络架构搜索(NAS)基础入门

网络架构搜索(NAS)已成为机器学习领域的热门课题。商业服务(如谷歌的AutoML)和开源库(如Auto-Keras[1])使NAS可用于更广泛的机器学习环境。在这篇文章中,我们主要探讨NAS的思想和方法,希望可以帮助读者更好地理解该领域并发现实时应用程序的可能性。

什么是网络架构搜索(NAS)?

现代的深度神经网络有时会包含多种类型的层,而且这些层不止一个[2]。Skip connections[2]和子模块方法[3]也被用来促进模型的收敛,它们对可能形成的模型体系结构的空间没有限制。目前大多数的深度神经网络结构都是根据人类经验建立起来的,这种方式需要一个漫长而繁琐的试错过程。NAS试图在不需要人工干预的情况下能够针对特定深度学习问题检测出有效架构。

一般来说,NAS可以分为三个维度——搜索空间、搜索策略和性能评估策略[4]。

640.png

搜索空间:

搜索空间决定了哪些神经结构要被评估。好的搜索空间可以降低寻找合适神经结构的复杂性。一般来说,搜索空间要有约束,并且还要具有灵活性。约束消除了非直观的神经结构,可以创建有限的空间进行搜索。搜索空间包含了能够由NAS方法生成的每一个架构设计(通常是无限多的)。搜索空间中可能涉及堆叠在一起的所有层配置集(图2a)或包含跳过连接的更复杂的体系结构(图2b)。为了减少搜索空间的维数,可以进行子模块的设计。随后子模块堆叠在一起就可以生成模型架构(图2c)。

640.png

性能评估策略:

性能评估策略将提供一个数字,这个数字可以反映搜索空间中所有结构的效率。当一个参考数据集在预先定义的训练轮次数上先进行训练,再进行测试时,通常就可以得到模型结构的准确性。性能评估技术通常还会考虑一些因素,比如训练或推理的计算难度。在任何情况下,评估结构性能的计算成本都很高。

搜索策略:

NAS实际上依赖于搜索策略。它可以识别出好的结构,对好的结构进行性能评估,这样可以避免测试不好的架构。在接下来的文章中,我们将讨论许多搜索策略,包括随机和网格搜索、基于梯度的策略、进化算法和强化学习策略。

网格搜索遵循系统搜索。相比之下,随机搜索则是从搜索空间中随机选取结构,并通过性能估计策略来测试相应结构的准确性。这两种方法对于最小搜索区域都是可行的,特别是当问题涉及到调优少量超参数时(随机搜索通常优于网格搜索)。

作为一个优化问题,NAS可以通过基于梯度的搜索[5]很容易地表述出来。通常,NAS优化的目标是将验证的准确性最大化。由于NAS使用离散的搜索空间,因此实现梯度搜索具有很大的挑战性。因此,它要求将离散的空间结构转化为连续的空间结构,并从连续的空间表达中衍生出结构。根据变换后的连续空间,NAS就可以从优化目标中得到梯度。梯度搜索NAS的理论基础是比较独特的。同时也很难去证明全局最优收敛。但是,该方法在实际应用中展现出了良好的搜索效果。

进化算法是在生物进化问题中获得的灵感。模型架构适用于的个体能够产生后代(其他架构)或死亡并且这些个体能够被排除在种群之外。演进的NAS算法(NASNet architecture[6])通过以下流程派生(图3)。

I.随机体系结构创建N个模型的初始总体。每个个体的输出(即架构)都根据性能评估策略进行评估。

II.选择表现最佳的个体作为父母。可以为具有诱导“突变”功能的新一代体系结构制作各自的父代副本,或者它们可能来自父代组合。性能评价策略评估后代的表现。添加或删除层、添加或删除连接、更改层大小或其他超参数等操作可能包含在可能的突变列表中。

III.有N个结构被选择移除,这些结构可能是总体中最坏的个体或较老的个体。后代会替代被移除的结构并重新启动循环。

640.png

进化算法揭示了有效的结果,并产生了最先进的模型[7]。

基于强化学习的NAS方法近年来得到了广泛的应用。一个网络控制器,通常是一个递归神经网络(RNN),可以用来从具有特定概率分布的搜索域中采样。使用性能评估策略形成并评估采样架构。由此产生的性能被用作更新控制器网络属性的奖励(图4)。此循环在超时或收敛发生之前迭代。

640.png

强化学习能够构建超越基于流行基准数据集的手工模型的网络结构,类似于进化算法。

结论:

NAS成功地建立了更深层次的神经网络体系结构,其精度超过了人工构建的结构。利用进化算法和强化学习,特别是在图像分类任务领域,NAS生成的最新体系结构得到了发展。这种方法是昂贵的,因为在NAS产生成功的结果之前,需要对成百上千个特定的深层神经网络进行训练和测试。NAS方法对于大多数实际应用程序来说太贵了。因此,需要进一步的研究以使NAS更具通用性。

参考文献:

[1] H. Jin, Q. Song and X. Hu, Auto-Keras: Efficient Neural Architecture Search with Network Morphism, arXiv, 2018.

[2] K. He, X. Zhang, S. Ren and J. Sun, Deep Residual Learning for Image Recognition, arXiv, 2015.

[3] C. Szegedy et al., Going Deeper with Convolutions, arXiv, 2014.

[4] T. Elsken, J.H. Metzen and F. Hutter, Neural Architecture Search: A Survey, Journal of Machine Learning Research, 2019.

[5] H. Liu, K. Simonyan and Y. Yang, DARTS: Differentiable Architecture Search, arXiv, 2019.

[6] B. Zoph, V. Vasudevan, J. Shlens and Q.V. Le, Learning Transferable Architectures for Scalable Image Recognition, Proceedings Conference on Computer Vision and Pattern Recognition, 2018.

[7] E. Real et al., Large-scale evolution of image classifiers, Proceedings of the 34th International Conference on Machine Learning, 2017.

[8] B. Zoph and Q.V. Le, Neural architecture search with reinforcement learning, arXiv 2016.

相关实践学习
函数计算部署PuLID for FLUX人像写真实现智能换颜效果
只需一张图片,生成程序员专属写真!本次实验在函数计算中内置PuLID for FLUX,您可以通过函数计算+Serverless应用中心一键部署Flux模型,快速体验超写实图像生成的魅力。
目录
相关文章
|
10月前
|
算法 关系型数据库 文件存储
ProxylessNAS:直接在目标任务和硬件上进行神经架构搜索——论文解读
ProxylessNAS是一种直接在目标任务和硬件上进行神经架构搜索的方法,有效降低了传统NAS的计算成本。通过路径二值化和两路径采样策略,减少内存占用并提升搜索效率。相比代理任务方法,ProxylessNAS在ImageNet等大规模任务中展现出更优性能,兼顾准确率与延迟,支持针对不同硬件(如GPU、CPU、移动端)定制高效网络架构。
499 126
ProxylessNAS:直接在目标任务和硬件上进行神经架构搜索——论文解读
|
10月前
|
机器学习/深度学习 算法 物联网
μNAS:面向微控制器的约束神经架构搜索——论文解读
μNAS是一种专为微控制器设计的神经架构搜索方法,旨在解决物联网设备中资源受限的挑战。通过多目标优化框架,μNAS能够在有限的内存和计算能力下,自动搜索出高效的神经网络结构。该方法结合了老化进化算法与贝叶斯优化,并引入结构化剪枝技术,实现模型压缩。实验表明,μNAS在多个数据集上均取得了优异的精度与资源使用平衡,显著优于现有方法,为边缘计算设备的智能化提供了可行路径。
652 129
|
10月前
|
机器学习/深度学习 人工智能 资源调度
MicroNAS:面向MCU的零样本神经架构搜索——论文阅读
MicroNAS是一种专为微控制器单元(MCU)设计的零样本神经架构搜索(NAS)框架,无需训练即可通过理论驱动的性能指标评估网络架构。相比传统NAS方法,其搜索效率提升高达1104倍,同时兼顾精度与硬件效率,适用于边缘计算场景。该框架结合神经切线核(NTK)条件数、线性区域计数及硬件感知延迟模型,实现快速、高效的架构搜索,为资源受限设备上的AI部署提供了新思路。
551 2
MicroNAS:面向MCU的零样本神经架构搜索——论文阅读
|
10月前
|
机器学习/深度学习 人工智能 vr&ar
H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索——论文阅读
H4H是一种面向AR/VR应用的混合卷积-Transformer架构,基于NPU-CIM异构系统,通过神经架构搜索实现高效模型设计。该架构结合卷积神经网络(CNN)的局部特征提取与视觉Transformer(ViT)的全局信息处理能力,提升模型性能与效率。通过两阶段增量训练策略,缓解混合模型训练中的梯度冲突问题,并利用异构计算资源优化推理延迟与能耗。实验表明,H4H在相同准确率下显著降低延迟和功耗,为AR/VR设备上的边缘AI推理提供了高效解决方案。
1544 0
|
9月前
|
机器学习/深度学习 自然语言处理 算法
48_动态架构模型:NAS在LLM中的应用
大型语言模型(LLM)在自然语言处理领域的突破性进展,很大程度上归功于其庞大的参数量和复杂的网络架构。然而,随着模型规模的不断增长,计算资源消耗、推理延迟和部署成本等问题日益凸显。如何在保持模型性能的同时,优化模型架构以提高效率,成为2025年大模型研究的核心方向之一。神经架构搜索(Neural Architecture Search, NAS)作为一种自动化的网络设计方法,正在为这一挑战提供创新性解决方案。本文将深入探讨NAS技术如何应用于LLM的架构优化,特别是在层数与维度调整方面的最新进展,并通过代码实现展示简单的NAS实验。
428 0
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
488 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
|
机器学习/深度学习 算法 文件存储
神经架构搜索:自动化设计神经网络的方法
在人工智能(AI)和深度学习(Deep Learning)快速发展的背景下,神经网络架构的设计已成为一个日益复杂而关键的任务。传统上,研究人员和工程师需要通过经验和反复试验来手动设计神经网络,耗费大量时间和计算资源。随着模型规模的不断扩大,这种方法显得愈加低效和不够灵活。为了解决这一挑战,神经架构搜索(Neural Architecture Search,NAS)应运而生,成为自动化设计神经网络的重要工具。
1004 0
|
9月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路

热门文章

最新文章