敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024
词汇表

Adam 优化器

了解 Adam 优化器如何通过自适应学习率、动量以及在 AI 中的实际应用来支持高效的神经网络训练。

Adam(自适应矩估计)是一种流行的、强大的优化算法,用于机器学习(ML)深度学习(DL)。它旨在通过基于训练数据迭代更新模型的参数(其权重和偏差),从而有效地找到模型的参数的最佳值。Adam 以其快速的收敛速度和在各种问题上的有效性而备受推崇,使其成为许多从业者训练自定义模型时的常见默认选择。它的开发是使大型复杂模型的训练更具可行性的重要一步。

Adam 如何工作

Adam 的关键创新在于它能够为每个单独的参数调整学习率。Adam 没有为网络中的所有权重使用单一的、固定的学习率,而是计算一个单独的学习率,该学习率会随着训练的进行而调整。它通过结合另外两种优化方法的优点来实现这一点:RMSProp 和 Momentum。Adam 跟踪两个主要组成部分:第一矩(梯度的平均值,类似于动量)和第二矩(梯度的非中心方差)。这种组合使其能够进行更明智的更新,对于具有一致梯度的参数采取更大的步长,而对于具有噪声或稀疏梯度的参数采取更小的步长。该方法在 Kingma 和 Ba 的原始 Adam 研究论文 中有详细说明。

Adam 与其他优化器

将 Adam 与其他常用优化器进行比较,以了解其优势,这很有帮助。

  • Adam 与 随机梯度下降 (SGD) 虽然 SGD 是一种基本的优化算法,但它使用一个恒定的学习率,应用于所有的参数更新。 这会导致它收敛缓慢,或者陷入损失函数的次优“谷底”。 Adam 凭借其自适应学习率,通常能更有效地在损失地形中导航,并更快地收敛。 然而,一些研究表明,用 SGD 训练的模型可能泛化能力稍好,并且在某些情况下能更有效地避免过拟合。 这种选择通常需要经验测试,正如模型训练技巧指南中所解释的那样。
  • AdamW: 一种流行的有效变体是 AdamW(具有解耦权重衰减的 Adam)。 它修改了权重衰减(一种正则化技术)的应用方式,将其与梯度更新步骤分离。 这通常会提高模型性能并改善泛化能力。 在主要的框架(如 PyTorchTensorFlow)中提供了实现。

实际应用

Adam 的效率和稳健性使其适用于广泛的应用。

  1. 训练大型语言模型 (LLM): Adam 及其变体对于在自然语言处理 (NLP)中训练大型模型至关重要。对于像 GPT-4 或来自 Hugging Face 的模型,Adam 的效率使得处理来自 Wikipedia 等来源的海量文本数据集并学习复杂的语言模式成为可能。它驾驭复杂损失地形的能力对于成功至关重要。
  2. 图像分类和对象检测:计算机视觉 (CV)中,Adam 广泛用于在大型图像数据集(如 ImageNetCOCO)上训练深度卷积神经网络 (CNN)。它有助于图像分类对象检测模型快速收敛,从而加速开发和超参数调优周期。

在 Ultralytics YOLO 中的使用

在 Ultralytics 生态系统中,Adam 及其变体 AdamW 是可用于训练 Ultralytics YOLO 模型的可用优化器。利用 Adam 的自适应学习率可以加速目标检测、实例分割姿态估计模型(如YOLO11YOLOv10)的训练过程中的收敛。虽然由于可能更好的最终泛化能力,SGD 通常是某些 YOLO 模型的默认和推荐优化器,但 Adam 提供了一个强大的替代方案,在初始实验期间尤其有用。您可以轻松配置优化器和其他训练设置。诸如Ultralytics HUB之类的工具简化了该过程,允许用户使用各种优化器(包括 Adam)在本地或通过云训练来训练模型。PyTorchTensorFlow等框架提供了 Adam 的标准实现,这些实现已在 Ultralytics 框架中使用。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入
链接已复制到剪贴板