神经架构搜索 (NAS)
了解神经架构搜索 (NAS) 如何自动执行神经网络设计,从而优化对象检测、AI 等方面的性能。
神经架构搜索 (NAS) 是一种自动设计 人工神经网络 (NN) 的技术。传统上,设计高性能的 模型架构 需要大量的专业知识和反复试验。NAS 通过使用算法探索各种可能的网络设计,并为给定的任务和数据集确定最佳架构,从而自动执行这个复杂的过程。这种自动化加速了高效、强大的 深度学习 模型的开发,使先进的 AI 更易于使用。
神经架构搜索的工作原理
NAS 过程可以分解为三个主要组成部分:
- 搜索空间:这定义了可以设计的所有可能架构的集合。搜索空间可以很简单,指定层类型(例如,卷积、池化)及其连接的选择,也可以非常复杂,允许新颖的架构主题。一个定义明确的搜索空间对于平衡灵活性和计算可行性至关重要。
- 搜索策略:这是用于探索搜索空间的算法。早期的方法使用随机搜索,但此后出现了更复杂的策略。常见的方法包括 强化学习,其中代理学习选择最佳架构,以及 进化算法,它模仿自然选择来“进化”几代更好的架构。基于梯度的方法,例如 可微架构搜索 (DARTS) 中的方法,也因其效率而变得流行。
- 性能估计策略: 此组件评估每个提议架构的质量。最直接的方法是在数据集上完全训练模型并测量其性能,但这非常耗时。为了加快这一过程,研究人员开发了更有效的技术,例如使用较小的数据集,减少epoch的训练,或使用权重共享来避免从头开始训练每个架构。
应用和示例
NAS 已被证明在为各种任务创建最先进的模型方面非常有效,通常在性能和效率方面超过人类设计的架构。
- 计算机视觉: NAS 广泛用于设计用于目标检测和图像分类的高效架构。 例如,EfficientNet 模型系列是使用 NAS 开发的,旨在系统地平衡网络深度、宽度和分辨率。 同样,诸如 DAMO-YOLO 之类的模型利用 NAS 生成的骨干网络,以在目标检测的速度和准确性之间实现强大的平衡。
- 医学影像分析: 在医疗保健领域,NAS 可以为诸如扫描图像中的肿瘤检测或分割细胞结构等任务创建专用模型。NAS 可以优化架构,使其在医疗设备中发现的专用硬件上高效运行,从而实现更快、更准确的诊断。这对于改进 医疗保健 AI 具有巨大的潜力。
NAS 和相关概念
NAS 是更广泛的 自动化机器学习 (AutoML) 领域中的一个特定组成部分。虽然 NAS 仅专注于寻找最佳神经网络架构,但 AutoML 旨在自动化整个 ML 流程,包括诸如 数据预处理、特征工程、模型选择和 超参数调整 等步骤。
区分 NAS 与超参数调整至关重要:超参数调整优化给定、固定模型架构的配置设置(如学习率或批量大小),而 NAS 搜索的是架构本身。这两种技术通常一起使用以实现最佳模型性能。诸如Optuna或Ray Tune之类的工具(与Ultralytics YOLO 模型集成)是超参数优化的常用工具。了解这些区别有助于应用正确的自动化技术来构建高效的AI系统。您可以在Ultralytics 文档中了解有关超参数调整的更多信息。