了解梯度下降如何优化Ultralytics YOLO 等人工智能模型,从而实现从医疗保健到自动驾驶汽车等任务的准确预测。
梯度下降法是一种基本的迭代算法,通过向最陡峭的下降方向移动来最小化函数。 最陡的下降方向。在 机器学习(ML)和 在机器学习(ML)和深度学习(DL)中,梯度下降算法是指导 机制,训练模型做出准确预测。其主要目标是找到一组最优的 模型权重,使 损失函数 损失函数表示模型预测值与实际目标值之间的差值。您可以将这一过程想象成一个徒步旅行者试图 在浓雾中寻找谷底;朝着最陡的下坡方向反复迈步、 徒步旅行者最终会到达最低点。这一核心概念在 Google 机器学习速成班》中进一步探讨了这一核心概念。
梯度下降法的核心机制是计算梯度--损失函数相对于每个参数的偏导数向量。 的部分导数向量。这种计算由 反向传播算法来高效处理。梯度确定后 一旦梯度确定,模型就会向梯度的相反方向迈出一步来更新参数。步长 步的大小由一个关键参数控制,该参数被称为 学习率。如果学习率过高,算法 算法可能会超过最小值;如果学习率过低,训练时间可能会过长。这种循环 在数据集上重复多次,称为 "历元"、 直到损失趋于稳定。数学视角 可汗学院提供了关于梯度下降的课程 课程,对其中涉及的微积分进行了分析。
为了兼顾计算效率和收敛速度,该算法有不同的变体:
下面是一个简明示例,说明如何配置优化器来训练一个 Ultralytics YOLO11模型:
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model using the SGD optimizer with a specific learning rate
# The 'optimizer' argument allows you to select the gradient descent variant
results = model.train(data="coco8.yaml", epochs=50, optimizer="SGD", lr0=0.01)
梯度下降技术是医疗保健和工业应用中许多变革性人工智能背后的引擎。 医疗保健和工业应用中的人工智能。
要充分理解梯度下降法,必须将其与相关术语区分开来。梯度下降 逆向传播计算梯度(确定 "方向"),而梯度下降则是 是 优化算法是 梯度下降算法则是实际更新参数(迈出 "一步")的优化算法。此外,标准梯度下降算法通常 使用固定的学习率,而自适应算法(如 Adam 优化器自适应算法 学习率,通常会加快收敛速度,这在最初的 Adam 研究论文中所述。诸如 梯度消失问题等挑战会阻碍标准 梯度下降问题会阻碍深度网络中的标准梯度下降,因此需要采用批量归一化或残差连接等架构解决方案。 批量归一化或残差连接等架构解决方案。 有关这些优化挑战的全面概述,请参阅 Sebastian Ruder 的博客。