了解 Adam 优化器如何通过自适应学习率、动量以及在 AI 中的实际应用来支持高效的神经网络训练。
Adam(自适应矩估计)是一种流行的、强大的优化算法,用于机器学习(ML)和深度学习(DL)。它旨在通过基于训练数据迭代更新模型的参数(其权重和偏差),从而有效地找到模型的参数的最佳值。Adam 以其快速的收敛速度和在各种问题上的有效性而备受推崇,使其成为许多从业者训练自定义模型时的常见默认选择。它的开发是使大型复杂模型的训练更具可行性的重要一步。
Adam 的关键创新在于它能够为每个单独的参数调整学习率。Adam 没有为网络中的所有权重使用单一的、固定的学习率,而是计算一个单独的学习率,该学习率会随着训练的进行而调整。它通过结合另外两种优化方法的优点来实现这一点:RMSProp 和 Momentum。Adam 跟踪两个主要组成部分:第一矩(梯度的平均值,类似于动量)和第二矩(梯度的非中心方差)。这种组合使其能够进行更明智的更新,对于具有一致梯度的参数采取更大的步长,而对于具有噪声或稀疏梯度的参数采取更小的步长。该方法在 Kingma 和 Ba 的原始 Adam 研究论文 中有详细说明。
将 Adam 与其他常用优化器进行比较,以了解其优势,这很有帮助。
Adam 的效率和稳健性使其适用于广泛的应用。
在 Ultralytics 生态系统中,Adam 及其变体 AdamW 是可用于训练 Ultralytics YOLO 模型的可用优化器。利用 Adam 的自适应学习率可以加速目标检测、实例分割或姿态估计模型(如YOLO11或YOLOv10)的训练过程中的收敛。虽然由于可能更好的最终泛化能力,SGD 通常是某些 YOLO 模型的默认和推荐优化器,但 Adam 提供了一个强大的替代方案,在初始实验期间尤其有用。您可以轻松配置优化器和其他训练设置。诸如Ultralytics HUB之类的工具简化了该过程,允许用户使用各种优化器(包括 Adam)在本地或通过云训练来训练模型。PyTorch和TensorFlow等框架提供了 Adam 的标准实现,这些实现已在 Ultralytics 框架中使用。