术语表

亚当优化器

了解 Adam 优化器如何通过自适应学习率、动力和人工智能中的实际应用为高效的神经网络训练提供动力。

Adam(自适应矩估计)是机器学习(ML)深度学习(DL)中使用的一种流行而强大的优化算法。它旨在根据训练数据迭代更新模型参数(权重和偏置),从而高效地找到模型参数的最优值。Adam 因其收敛速度快、对各种问题都很有效而备受推崇,因此成为许多从业者在训练自定义模型时的默认选择。Adam 的开发是使大型复杂模型的训练更加实用的重要一步。

亚当如何工作

Adam 的关键创新之处在于它能够调整每个参数的学习率。Adam 不对网络中的所有权重使用单一、固定的学习率,而是计算随着训练进展而调整的单个学习率。它结合了其他两种优化方法的优点,从而实现了这一目标:RMSProp 和 Momentum。Adam 会跟踪两个主要部分:第一矩(梯度的平均值,类似于动量)和第二矩(梯度的非中心方差)。这样的组合使它能做出更明智的更新,对梯度一致的参数采取较大的步长,而对噪声或稀疏梯度的参数采取较小的步长。Kingma 和 Ba 的亚当研究论文原文中详细介绍了这种方法。

亚当与其他优化器

将 Adam 与其他常见优化器进行比较,有助于了解其优势。

  • 亚当与随机梯度下降算法(SGD)虽然 SGD 是一种基本的优化算法,但它使用的是适用于所有参数更新的恒定学习率。这可能导致其收敛速度较慢,或陷入损失函数的次优 "低谷"。亚当采用自适应学习率,通常能更有效地浏览损失景观,收敛速度也更快。不过,一些研究表明,在某些情况下,使用 SGD 训练的模型的泛化效果可能会稍好一些,并能更有效地避免过度拟合。正如模型训练技巧指南中所解释的,这种选择通常需要经验测试。
  • AdamW:一种流行而有效的变体是 AdamW(Adam with Decoupled Weight Decay)。它修改了权重衰减(一种正则化技术)的应用方式,将其从梯度更新步骤中分离出来。这通常会提高模型性能和泛化效果。PyTorchTensorFlow 等主流框架都有相关实现。

实际应用

Adam 的高效性和坚固性使其适用于广泛的应用领域。

  1. 训练大型语言模型 (LLM):Adam 及其变体对于训练自然语言处理(NLP)中的大型模型至关重要。对于GPT-4Hugging Face 等模型而言,Adam 的高效性使其能够处理维基百科等来源的庞大文本数据集,并学习复杂的语言模式。它在复杂的损失景观中的导航能力是成功的关键。
  2. 图像分类和物体检测:计算机视觉(CV)领域,Adam 被广泛用于在大型图像数据集ImageNetCOCO 上训练深度卷积神经网络(CNN)。它能帮助图像分类物体检测模型快速收敛,从而加快开发和超参数调整周期。

Ultralytics YOLO 的使用情况

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

加入 Ultralytics 社区

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

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