术语表

亚当优化器

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

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

Adam 优化器是一种流行而有效的优化算法,广泛应用于深度学习(DL)机器学习(ML)。Adam 代表自适应矩估计(Adaptive Moment Estimation,它结合了随机梯度下降算法(SGD)其他两个扩展的优点,即AdaGrad 和 RMSProp:它的主要优势在于能够计算每个参数的自适应学习率,因此非常适合处理大型数据集、高维参数空间或噪声梯度等问题,这些问题在计算机视觉(CV)自然语言处理(NLP)等领域非常常见。

亚当如何工作

在训练过程中,亚当会利用过去梯度的信息迭代更新模型参数。它为每个参数保留了两个移动平均值:第一个矩的估计值(梯度的平均值)和第二个矩的估计值(梯度的非中心方差)。这些时刻有助于调整每个参数的学习率。梯度更新次数多或频繁的参数,学习率较小,而更新次数少或不频繁的参数,学习率较大。与标准 SGD 相比,这种自适应特性往往能加快收敛速度。该算法还通过使用梯度的移动平均值纳入了动量,这有助于加快沿相关方向的进展并抑制振荡。更多详情,请参阅亚当的原始论文

与其他优化算法的比较

虽然 Adam 是一个强大的默认选择,但了解它与其他优化器的关系也很有用:

  • 随机梯度下降算法(SGD)最基本的优化器。与 Adam 不同的是,标准 SGD 对所有参数都使用单一、固定的学习率,但也有像 SGD 这样的变种,即带有动量的 SGD。在实践中,Adam 通常收敛得更快,尤其是在训练初期,但一些研究表明,SGD 有时能在某些任务中实现更好的泛化效果。
  • AdaGrad:根据过去梯度平方和调整学习率,但随着时间的推移,学习率会变得无限小,可能导致学习停止。
  • RMSProp:与 AdaGrad 类似,但使用指数衰减的梯度平方平均值,防止学习率过快下降。Adam 基于RMSProp 的理念。

实际应用

亚当优化器可用于训练各种人工智能模型:

示例 1:图像识别和检测

计算机视觉领域,Adam 常用于训练卷积神经网络(CNN)。例如,在ImageNet等大型数据集上训练图像分类模型,或开发复杂的物体检测系统时,Adam 都能高效处理数百万个参数,并达到很高的准确率

示例 2:自然语言处理

Adam 是用于训练BERTGPT 变体大型语言模型 (LLM)的标准优化器。在为机器翻译文本摘要情感分析等任务训练模型时,Adam 可帮助高效地处理与这些模型相关的复杂损失。

使用情况Ultralytics YOLO

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

阅读全部