术语表

梯度下降

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

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

梯度下降是机器学习(ML)和人工智能(AI)中广泛使用的一种基本优化算法。它是训练许多模型的主要方法,包括复杂的深度学习架构,如 Ultralytics YOLO.梯度下降法的目标是迭代调整模型的内部参数(通常称为模型权重和偏置),以最小化损失函数,损失函数用于衡量模型预测值与实际目标值之间的差异。试想一下,蒙着眼睛试图找到山谷的最低点;梯度下降法通过评估当前位置的坡度(梯度),向最陡的下降方向迈出一小步,从而为您提供指导。这种迭代过程可以让模型从数据中学习,提高预测准确性

机器学习的相关性

梯度下降对于训练复杂的模型尤为重要,例如构成许多现代人工智能应用基础的神经网络 (NN)。这些模型,包括用于物体检测图像分类自然语言处理(NLP)的模型,通常有数百万甚至数十亿个参数需要优化。梯度下降及其变体提供了一种计算上可行的方法,可用于浏览复杂的损失景观(代表所有可能参数组合的损失值的高维曲面),并找到能产生良好性能的参数值。如果不通过梯度下降进行有效的优化,要将这些大型模型训练到高准确度水平是不切实际的。主要的 ML 框架,如 PyTorchTensorFlow等主要 ML 框架都严重依赖梯度下降和反向传播等相关算法的各种实现来计算必要的梯度。您可以探索模型训练技巧,了解如何优化这一过程。

主要概念和变体

梯度下降法的核心思想是计算损失函数相对于模型参数的梯度(最陡峭的上升方向),然后向相反的方向(下坡)迈出一步。这一步的大小由学习率控制,学习是决定模型学习速度的关键超参数。学习率太小会导致收敛缓慢,而学习率太大则会导致优化过程超过最小值,甚至出现偏离。梯度下降法有多种变体,主要区别在于每一步使用多少数据来计算梯度:

  • 批量梯度下降(BGD)使用整个训练数据集计算梯度。这可以提供精确的梯度估计,但对于大型数据集来说,计算成本非常高,速度也很慢。
  • 随机梯度下降法(SGD)每一步仅使用一个训练实例计算出的梯度来更新参数。这种方法速度更快,可以摆脱浅层局部极小值,但更新会产生噪音,导致收敛路径不太稳定。
  • 小批量梯度下降介于 BGD 和 SGD 之间的一种折中方法。它使用训练数据的一小部分随机子集(迷你批次)(由批次大小超参数控制)来计算梯度。它兼顾了 BGD 的准确性和 SGD 的效率,是深度学习中最常用的变体。
  • 自适应优化器 Adam(论文链接)、Adagrad 和RMSprop等算法可在训练过程中自动调整每个参数的学习率,与基本的 SGD 或迷你批量 GD 相比,收敛速度更快,性能更好。Ultralytics HUB等平台经常使用这些方法来训练模型。有关各种变体的更多详情,请参阅梯度下降维基百科页面

与相关概念的区别

梯度下降算法是一种特殊的优化算法,主要是通过梯度调整模型参数,迭代最小化损失函数。它不同于模型训练中的其他重要概念:

实际应用

梯度下降是无数现实世界中人工智能应用训练模型背后的引擎,它使模型能够在监督学习场景和其他场景中从海量数据中学习:

  1. 医学图像分析:医疗保健领域的人工智能中,梯度下降技术可训练卷积神经网络(CNN),用于医疗图像分析等任务。例如,它通过最小化模型预测的分割或分类与放射科医生提供的基本事实之间的差异,优化模型以检测 X 光片、CT 扫描或核磁共振成像中的肿瘤或异常情况(参见博文示例)。放射学》等期刊:人工智能》等期刊展示了此类进展。
  2. 推荐系统: Netflix亚马逊等公司使用梯度下降法(Gradient Descent)训练的推荐算法。这些算法通过最小化预测用户评分或互动可能性的损失函数来学习用户偏好和项目特征,从而向用户推荐相关的电影、产品或内容。
  3. 自动驾驶汽车: 自动驾驶汽车中用于感知任务的模型,如使用边界框识别行人、汽车和车道,都是使用梯度下降法进行训练的。这种优化对于自动驾驶技术的安全性和可靠性至关重要,Waymo 等公司开发的系统就是如此。这与汽车领域的人工智能高度相关
阅读全部