深圳Yolo 视觉
深圳
立即加入
词汇表

梯度下降

了解梯度下降如何优化Ultralytics YOLO 等人工智能模型,从而实现从医疗保健到自动驾驶汽车等任务的准确预测。

梯度下降法是一种基本的迭代算法,通过向最陡峭的下降方向移动来最小化函数。 最陡的下降方向。在 机器学习(ML)和 在机器学习(ML)和深度学习(DL)中,梯度下降算法是指导 机制,训练模型做出准确预测。其主要目标是找到一组最优的 模型权重,使 损失函数 损失函数表示模型预测值与实际目标值之间的差值。您可以将这一过程想象成一个徒步旅行者试图 在浓雾中寻找谷底;朝着最陡的下坡方向反复迈步、 徒步旅行者最终会到达最低点。这一核心概念在 Google 机器学习速成班》中进一步探讨了这一核心概念。

梯度下降法的工作原理是什么?

梯度下降法的核心机制是计算梯度--损失函数相对于每个参数的偏导数向量。 的部分导数向量。这种计算由 反向传播算法来高效处理。梯度确定后 一旦梯度确定,模型就会向梯度的相反方向迈出一步来更新参数。步长 步的大小由一个关键参数控制,该参数被称为 学习率。如果学习率过高,算法 算法可能会超过最小值;如果学习率过低,训练时间可能会过长。这种循环 在数据集上重复多次,称为 "历元"、 直到损失趋于稳定。数学视角 可汗学院提供了关于梯度下降的课程 课程,对其中涉及的微积分进行了分析。

梯度下降的变体

为了兼顾计算效率和收敛速度,该算法有不同的变体:

  • 批量梯度下降每次更新都使用整个 训练数据来计算梯度。它提供稳定的 更新,但对于大型数据集来说,速度可能会非常慢,而且会占用大量内存。
  • 随机梯度下降SGD:每次使用单个随机样本更新权重。这会引入噪音,有助于摆脱局部最小值 但会导致损失曲线波动。关于 Scikit-Learn 文档提供了有关SGD的技术 这种方法的技术细节。
  • 小批量梯度下降:处理小型数据子集或 在批量梯度下降的稳定性和 SGD 的速度之间取得平衡。 批量梯度下降和SGD 速度之间的平衡。这是现代框架的标准方法,如 PyTorchTensorFlow.

下面是一个简明示例,说明如何配置优化器来训练一个 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)

实际应用

梯度下降技术是医疗保健和工业应用中许多变革性人工智能背后的引擎。 医疗保健和工业应用中的人工智能

  • 医学图像分析:在诸如 肿瘤检测、 梯度下降迭代调整卷积神经网络(CNN)的权重,以最小化预测的分割掩膜与放射科医生的真实图像之间的误差。 最小化预测的分割掩膜与放射科医生的基本事实之间的误差。这确保了医疗图像分析的高精度。 医疗图像分析的高精度。
  • 自动驾驶:自动驾驶汽车依靠 物体检测模型来识别行人、车辆和交通信号、 车辆和交通信号。在训练过程中,优化器会最大限度地减少 边框坐标的回归损失最小化,从而使车辆 以厘米级的精度定位物体。像Waymo这样的行业领导者 这些先进的优化技术来确保乘客安全。

梯度下降与相关概念

要充分理解梯度下降法,必须将其与相关术语区分开来。梯度下降 逆向传播计算梯度(确定 "方向"),而梯度下降则是 是 优化算法是 梯度下降算法则是实际更新参数(迈出 "一步")的优化算法。此外,标准梯度下降算法通常 使用固定的学习率,而自适应算法(如 Adam 优化器自适应算法 学习率,通常会加快收敛速度,这在最初的 Adam 研究论文中所述。诸如 梯度消失问题等挑战会阻碍标准 梯度下降问题会阻碍深度网络中的标准梯度下降,因此需要采用批量归一化或残差连接等架构解决方案。 批量归一化或残差连接等架构解决方案。 有关这些优化挑战的全面概述,请参阅 Sebastian Ruder 的博客

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入