了解 Adam 优化器如何通过自适应学习率、动力和人工智能中的实际应用为高效的神经网络训练提供动力。
Adam(自适应矩估计)是一种广泛应用于深度学习(DL)和机器学习(ML)的优化算法。它旨在通过单独调整每个参数的学习率,在训练过程中有效地更新网络权重。Adam 由 Diederik P. Kingma 和 Jimmy Ba 在论文"Adam: A Method for Stochastic Optimization"中提出,它结合了其他两种流行优化技术的优点:AdaGrad(自适应梯度算法)和 RMSprop(均方根传播)。这种组合使其在训练具有大量参数和复杂数据集的大型神经网络时尤为有效。
Adam 会根据梯度的第一矩和第二矩估计值计算每个参数的自适应学习率。本质上,它跟踪的是过去梯度的指数衰减平均值(类似于动量)和过去梯度平方的指数衰减平均值(类似于 AdaGrad/RMSprop)。
随机梯度下降算法(SGD)使用单一、固定的学习率(或按计划衰减的学习率),与之相比,Adam 的每个参数适应性往往能更快地找到好的解决方案,尤其是在复杂的损失景观中。
亚当受欢迎有几个原因:
Adam 是许多先进模型的最佳优化器:
在计算机视觉领域,Adam 常用于训练深度卷积神经网络(CNN),以完成图像分类、物体检测和图像分割等任务。例如,训练一个 Ultralytics YOLO模型(如 COCO 数据集中的对象)或执行实例分割时,可以利用 Adam 在训练阶段实现高效收敛。它还可应用于医学图像分析中的肿瘤检测等任务。
在Ultralytics 生态系统中,Adam 及其变体 AdamW(带解耦权重衰减的 Adam)是用于训练Ultralytics YOLO 模型的优化器。利用 Adam 的自适应学习率,可以在物体检测、实例分割或姿态估计模型的训练过程中加快收敛速度,如 YOLO11虽然 SGD 通常是某些YOLO 模型的默认和推荐优化器,因为它可能具有更好的最终泛化效果(避免过度拟合),但 Adam 提供了一个稳健的替代方案,在某些情况下或初始实验和模型评估期间尤其有用。您可以轻松配置优化器和其他训练设置。Ultralytics HUB等工具简化了这一过程,允许用户在本地或通过云训练使用包括 Adam 在内的各种优化器训练模型。框架,如 PyTorch和 TensorFlow等框架提供了 Adam 的标准实现,并在Ultralytics 框架中加以利用。为了进一步提高性能,可以考虑采用知识提炼或探索不同模型架构等技术。