术语表

亚当优化器

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

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

了解更多

Adam(自适应矩估计)是一种广泛应用于深度学习(DL)机器学习(ML)优化算法。它旨在通过单独调整每个参数的学习率,在训练过程中有效地更新网络权重。Adam 由 Diederik P. Kingma 和 Jimmy Ba 在论文"Adam: A Method for Stochastic Optimization"中提出,它结合了其他两种流行优化技术的优点:AdaGrad(自适应梯度算法)和 RMSprop(均方根传播)。这种组合使其在训练具有大量参数和复杂数据集的大型神经网络时尤为有效。

亚当如何工作

Adam 会根据梯度的第一矩和第二矩估计值计算每个参数的自适应学习率。本质上,它跟踪的是过去梯度的指数衰减平均值(类似于动量)和过去梯度平方的指数衰减平均值(类似于 AdaGrad/RMSprop)。

  • 动量:它有助于加速相关方向的梯度下降,抑制振荡,从而加快收敛速度。
  • 自适应学习率:它根据历史更新的频率和大小来调整每个权重的学习率。接受大量或频繁更新的参数会获得较小的学习率,而接受少量或不频繁更新的参数则会获得较大的学习率。这对于梯度稀疏或数据嘈杂的问题特别有用。
  • 偏差校正:亚当包含一种机制,用于抵消时刻估计值趋向于零的初始偏差,尤其是在衰减平均值仍在初始化的早期训练阶段。

随机梯度下降算法(SGD)使用单一、固定的学习率(或按计划衰减的学习率),与之相比,Adam 的每个参数适应性往往能更快地找到好的解决方案,尤其是在复杂的损失景观中

亚当的优势

亚当受欢迎有几个原因:

  • 计算效率:它所需内存相对较少,计算效率高。
  • 良好的默认性能:默认超参数通常能很好地解决各种问题,从而减少了大量超参数调整的需要。
  • 适用于大型问题:它在处理计算机视觉 (CV)自然语言处理 (NLP) 中常见的大型数据集和高维参数空间问题时表现出色。
  • 处理非静态目标:它非常适合目标函数随时间变化的问题。
  • 有效处理稀疏梯度:自适应学习率使其适用于梯度稀疏的情况。

真实案例

Adam 是许多先进模型的最佳优化器:

示例 1:计算机视觉

在计算机视觉领域,Adam 常用于训练深度卷积神经网络(CNN),以完成图像分类物体检测图像分割等任务。例如,训练一个 Ultralytics YOLO模型(如 COCO 数据集中的对象)或执行实例分割时,可以利用 Adam 在训练阶段实现高效收敛。它还可应用于医学图像分析中的肿瘤检测等任务。

示例 2:自然语言处理

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

使用情况Ultralytics YOLO

在Ultralytics 生态系统中,Adam 及其变体 AdamW(带解耦权重衰减的 Adam)是用于训练Ultralytics YOLO 模型的优化器。利用 Adam 的自适应学习率,可以在物体检测、实例分割姿态估计模型的训练过程中加快收敛速度,如 YOLO11虽然 SGD 通常是某些YOLO 模型的默认和推荐优化器,因为它可能具有更好的最终泛化效果(避免过度拟合),但 Adam 提供了一个稳健的替代方案,在某些情况下或初始实验和模型评估期间尤其有用。您可以轻松配置优化器和其他训练设置Ultralytics HUB等工具简化了这一过程,允许用户在本地或通过云训练使用包括 Adam 在内的各种优化器训练模型。框架,如 PyTorchTensorFlow等框架提供了 Adam 的标准实现,并在Ultralytics 框架中加以利用。为了进一步提高性能,可以考虑采用知识提炼或探索不同模型架构等技术。

阅读全部