了解 Adam 优化器如何通过自适应学习率、动力和人工智能中的实际应用为高效的神经网络训练提供动力。
Adam 优化器是一种流行而有效的优化算法,广泛应用于深度学习(DL)和机器学习(ML)。Adam 代表自适应矩估计(Adaptive Moment Estimation),它结合了随机梯度下降算法(SGD)其他两个扩展的优点,即AdaGrad 和 RMSProp:它的主要优势在于能够计算每个参数的自适应学习率,因此非常适合处理大型数据集、高维参数空间或噪声梯度等问题,这些问题在计算机视觉(CV)和自然语言处理(NLP)等领域非常常见。
在训练过程中,亚当会利用过去梯度的信息迭代更新模型参数。它为每个参数保留了两个移动平均值:第一个矩的估计值(梯度的平均值)和第二个矩的估计值(梯度的非中心方差)。这些时刻有助于调整每个参数的学习率。梯度更新次数多或频繁的参数,学习率较小,而更新次数少或不频繁的参数,学习率较大。与标准 SGD 相比,这种自适应特性往往能加快收敛速度。该算法还通过使用梯度的移动平均值纳入了动量,这有助于加快沿相关方向的进展并抑制振荡。更多详情,请参阅亚当的原始论文。
虽然 Adam 是一个强大的默认选择,但了解它与其他优化器的关系也很有用:
亚当优化器可用于训练各种人工智能模型:
在Ultralytics 生态系统中,Adam 及其变体 AdamW 是用于训练Ultralytics YOLO 模型的优化器。利用 Adam 的自适应学习率,可以在物体检测、实例分割或姿态估计模型的训练过程中加快收敛速度。虽然 SGD 通常是YOLO 模型的默认和推荐优化器,因为它可能具有更好的最终泛化效果,但 Adam 提供了一个强大的替代方案,在某些情况下或初始实验期间尤其有用。您可以轻松配置优化器和其他训练设置。Ultralytics HUB等工具简化了这一过程,允许用户在本地或通过云训练使用包括 Adam 在内的各种优化器训练模型。要优化性能,可以考虑使用超参数调整等技术。框架,如 PyTorch和 TensorFlow等框架提供了 Adam 的实现。