Neural Architecture Search (NAS)
学习神经架构搜索 (NAS) 如何实现深度学习模型设计的自动化。发现其核心机制,并探索诸如 Ultralytics YOLO26 之类的优化模型。
神经架构搜索 (NAS) 是自动机器学习 (AutoML) 领域中的一项尖端技术,用于实现人工神经网络设计的自动化。传统上,设计高性能深度学习 (DL) 架构需要大量的人力专业知识、直觉以及耗时的试错过程。NAS 使用算法策略取代了这种手动过程,通过系统地探索各种网络拓扑结构,为特定任务找出最佳结构。通过测试各种层和操作的组合,NAS 能够识别出在准确率、计算效率或推理速度方面明显优于人工设计模型的架构。
Link to this sectionNAS 的核心机制#
发现卓越架构的过程通常涉及三个基本维度,它们相互作用以找到最佳的神经网络 (NN):
-
搜索空间:这定义了算法可以探索的所有可能架构的集合。它就像一个构建模块库,例如卷积过滤器、池化层以及各种激活函数。定义良好的搜索空间可以限制复杂性,确保搜索在计算上可行,同时为创新保留足够的灵活性。
-
搜索策略:NAS 不会测试每一种可能性(暴力破解),而是采用智能算法来高效地导航搜索空间。常见的方法包括强化学习(其中代理会随着时间推移学习生成更好的架构)和进化算法(通过变异和组合表现最好的模型来培育更优的候选者)。
-
性能评估策略:从头开始训练每一个候选网络速度极慢。为了加速这一过程,NAS 使用评估技术(例如在较少的轮次 (epochs) 上进行训练、使用低分辨率代理数据集或采用权重共享 (weight sharing))来快速对候选架构的潜力进行排名。
Link to this section实际应用#
NAS 在硬件受限或性能要求严格的行业中变得至关重要,它正在不断拓展计算机视觉 (CV) 和其他 AI 领域的边界。
- 高效边缘计算:在移动设备上部署 AI 需要既轻量又快速的模型。NAS 被广泛用于发现诸如 MobileNetV3 和 EfficientNet 之类的架构,这些架构在保持高精度的同时最大限度地减少了推理延迟。这对于边缘 AI 应用至关重要,例如智能摄像头上的实时视频分析或自主无人机。
- 医学影像:在医学图像分析中,准确性至关重要。NAS 可以定制网络以检测 X 光或 MRI 扫描中的细微异常,通常能发现人类工程师可能忽略的新颖特征提取路径。这使得识别脑肿瘤或骨折等病症的工具更可靠,且具有更高的灵敏度。
Link to this sectionNAS 与相关概念的比较#
为了理解 NAS 的具体作用,将其与类似的优化技术区分开来会有所帮助:
- NAS 与超参数调优:虽然两者都涉及优化,但超参数调优侧重于调整固定架构的配置设置(如学习率或批次大小 (batch size))。相比之下,NAS 会改变模型本身的根本结构,例如层数或神经元的连接方式。
- NAS 与迁移学习:迁移学习采用现有的预训练模型,并将其权重调整到新任务中。而 NAS 则在训练开始前从头创建模型架构(或寻找更好的骨干网络 (backbone))。
Link to this section利用 NAS 衍生模型#
虽然运行完整的 NAS 搜索需要大量的 GPU 计算资源,但开发者可以轻松使用通过 NAS 创建的模型。例如,YOLO-NAS 架构就是利用这些搜索原则发现的,旨在优化目标检测任务。
以下 Python 示例演示了如何使用 ultralytics 包加载和使用预搜索的 NAS 模型:
from ultralytics import NAS
# Load a pre-trained YOLO-NAS model (architecture found via NAS)
# 'yolo_nas_s.pt' refers to the small version of the model
model = NAS("yolo_nas_s.pt")
# Run inference on an image to detect objects
# This utilizes the optimized architecture for fast detection
results = model("https://ultralytics.com/images/bus.jpg")
# Print the top detected class
print(f"Detected: {results[0].names[int(results[0].boxes.cls[0])]}")对于那些希望在没有 NAS 复杂性的情况下训练最先进模型的人来说,Ultralytics YOLO26 开箱即用地提供了一种高度优化的架构,融合了最新的研究进展。你可以使用 Ultralytics Platform 轻松管理这些模型的数据集、训练和部署,该平台简化了整个 MLOps 生命周期。






