敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024
词汇表

反向传播

了解反向传播如何训练神经网络、降低错误率,并有效地驱动图像识别和 NLP 等人工智能应用。

反向传播(Backpropagation),是“误差反向传播”的简称,是用于训练人工神经网络的基础算法。它的工作原理是计算损失函数相对于网络中每个权重的梯度,使模型能够从错误中学习。这个过程是现代深度学习的基石,通过迭代调整其内部参数以提高性能,使模型能够处理复杂的任务。反向传播的开发是人工智能历史上的一个关键时刻,它将神经网络从一个理论概念转变为强大的实用工具。

反向传播如何工作

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

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

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

这种前向和后向传递的循环会重复多次epochs(轮次),从而使模型能够逐渐最小化其误差并提高其准确性。诸如PyTorchTensorFlow之类的框架具有高度优化、自动微分引擎,可在幕后处理反向传播的复杂微积分。

反向传播与相关概念

区分反向传播与机器学习中其他相关概念非常重要:

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

实际应用

每当深度学习模型接受训练时,都会隐式使用反向传播。以下是两个具体的例子:

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

加入 Ultralytics 社区

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

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