术语表

反向传播

了解反向传播如何训练神经网络、降低错误率,并为图像识别和 NLP 等人工智能应用提供高效支持。

反向传播是 "误差反向传播 "的简称,是用于训练人工神经网络的基本算法。它通过计算网络中每个权重的损失函数梯度,让模型从错误中学习。这一过程是现代深度学习的基石,使模型能够通过迭代调整内部参数来提高性能,从而应对复杂的任务。反向传播技术的发展是人工智能发展史上的关键时刻,它将神经网络从一个理论概念转变为强大的实用工具。

反向传播的工作原理

反向传播过程是模型训练环路的核心,可以理解为对每批数据重复进行的两个阶段循环:

  1. 前向传递:将训练数据输入网络。每个神经元接收输入,使用其模型权重激活函数进行处理,然后将输出传递到下一层。这一过程一直持续到最后一层得出预测结果。然后,使用损失函数将模型的预测与基本事实(正确标签)进行比较,计算出错误分数,量化预测的错误程度。

  2. 后向传递:反向传播从这里开始。它从最后一层开始,通过网络逐层向后传播误差。在每个神经元上,它都会使用微积分(特别是链式法则)来计算该神经元的权重和偏置对总误差的影响程度。这种贡献被称为梯度。梯度有效地告诉模型如何调整每个权重以减少误差。然后,优化算法会使用这些梯度来更新权重。

这种正向和反向传递的循环重复多次,使模型逐渐将误差降到最低并提高准确性。PyTorchTensorFlow等框架拥有高度优化的自动微分引擎,可在幕后处理复杂的反向传播计算。

反向传播与相关概念

必须将反向传播与机器学习中的其他相关概念区分开来:

  • 优化算法:反向传播是计算损失相对于模型参数的梯度的方法。优化算法,如随机梯度下降算法(SGD)亚当优化器,就是利用这些梯度来更新模型权重的机制。可以把反向传播看作是提供地图,而优化器则是驾驶汽车。
  • 损失函数:损失函数测量模型预测值与真实值之间的误差。反向传播利用这一误差分值作为计算梯度的起点。损失函数的选择至关重要,但它是反向传播算法本身的一个独立组成部分。
  • 消失梯度和爆炸梯度:这是深度网络反向传播过程中可能出现的问题。梯度消失发生在梯度变得非常小的时候,这会阻碍早期层的学习。相反,当梯度变得过大,导致训练不稳定时,就会出现梯度爆炸。谨慎的权重初始化、归一化以及使用ReLU等激活函数等技术都可以用来缓解这些问题。

实际应用

每当深度学习模型进行训练时,都会隐含使用反向传播。下面是两个具体例子:

  1. 使用 Ultralytics YOLO进行物体检测COCO 等数据集上训练用于物体检测Ultralytics YOLO模型(如YOLO11)时,每次训练迭代都会使用反向传播法。在模型预测出边界框和类之后,会计算损失。反向传播计算整个模型主干检测头中所有权重的梯度。然后,优化器会使用这些梯度来调整权重,从而提高模型准确定位和分类对象的能力。用户可以利用Ultralytics HUB等平台来管理这一训练过程,从高效的反向传播实施中获益。这对于从自动驾驶汽车安全系统的各种应用都至关重要。
  2. 自然语言处理模型大型语言模型(LLM),如BERTGPT 模型,采用反向传播法进行训练。例如,在情感分析任务中,模型预测给定文本的情感。预测情感和实际标签之间的差异会产生一个误差值。反向传播会计算庞大网络中的每个参数对这一误差的影响程度。然后通过优化算法更新这些参数,使模型在训练过程中更好地理解语言的细微差别、上下文和情感。斯坦福大学 NLP 小组等学术研究小组不断探索和完善这些技术。

加入 Ultralytics 社区

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

立即加入
链接复制到剪贴板