反向传播是训练人工神经网络的一种算法,其核心做法是先让输入数据在网络中逐层向前计算得到输出,再求出输出与期望结果之间的误差,并把误差沿相反方向逐层回传,用微积分中的链式法则计算误差对每个连接权重的偏导数,据此调整权重以减小误差。它是多层神经网络得以实际训练的关键方法,多层感知机、卷积神经网络等模型的参数学习大多以它为基础。
定义
反向传播是一种用于训练人工神经网络的算法,属于在有导师指导下进行的学习方法,建立在梯度下降法的基础之上。[1]它面向的是多层神经元网络,目的是根据训练样本确定网络中各连接权重的取值,使网络的实际输出尽可能接近期望输出。[2]
该算法的处理过程由两个环节组成:信息沿输入层、隐含层到输出层的正向传递,以及误差信号由输出端逐层向后回传的反向传播。[3]这两个环节反复迭代,直至网络对输入的响应落入预定范围。[1]
原理
网络在正向传播阶段逐层计算各神经元的加权和与激活值。若把第 $l$ 层的线性输出记为 $z^{(l)} = W^{(l)} a^{(l-1)} + b^{(l)}$,激活函数记为 $\phi$,则该层输出为 $a^{(l)} = \phi(z^{(l)})$。[4]训练的目标函数通常取输出与期望值的平方误差之和,学习的目的是使该误差函数取最小值。[2]
反向传播阶段用链式法则求偏导数。定义局部梯度(也称误差项)$\delta_j^{(l)} = \partial J / \partial z_j^{(l)}$,则隐层的误差项可由后一层的结果递推得到:$\delta_j^{(l)} = \sum_k \delta_k^{(l+1)} W_{kj}^{(l+1)} \phi'(z_j^{(l)})$。[4]权重梯度则写成该层误差项与上一层输出的乘积,即 $\partial J / \partial W_{ij}^{(l)} = \delta_j^{(l)} a_i^{(l-1)}$。[4]
权重的更新量与该梯度成正比,并取与梯度相反的方向,因为它指向误差增大的方向。其中的比例系数称为学习率,影响训练的速度和效果;整个计算从输出层开始逐层向前推进,这也正是该算法名称的来源。[5]
发展历程
反向传播的数学基础来自自动微分。1970 年,芬兰数学家和计算机科学家塞波·林纳因马(Seppo Linnainmaa)在其硕士论文中提出了对离散连接的可微函数嵌套网络进行精确求导的通用方法,即后来所称的自动微分反向模式,当时并未与神经网络联系起来。[6]1974 年,保罗·沃博斯(Paul Werbos)在博士论文中首次提出可以把这一方法用于训练神经网络。[6]
1986 年,David Rumelhart、Geoffrey Hinton与 Ronald Williams 在《自然》上发表了关于用反向传播误差来学习表征的论文,同年三人还在《并行分布处理》一书中给出更详细的论述,这套方法被他们称为 back-propagation。[7]论文证明这类网络能够学会单层可调连接无法完成的运算,并推动了连接主义机器学习的复兴。[8]
此后该算法长期是人工神经网络的标准训练工具,深度学习的多数进展都以它作为基础机制。[9]直到约 25 年后,随着算力与数据规模的大幅提升,卷积神经网络在大规模图像分类任务上展示了明显效果,反向传播训练的深层模型才得到广泛应用。[8]
应用
反向传播主要用于监督式学习场景。用输入矢量与相应输出矢量训练网络,可用于函数逼近;把特定输出矢量与输入矢量关联起来,可用于模式识别;也可按预定方式对输入矢量进行分类,以及通过降低输出矢量维数实现数据压缩。[3]
在具体工程中,卷积神经网络以反向传播计算梯度,配合随机梯度下降更新权重,使输出单元的误差最小化,被用于图像分类等任务。[10]训练时数据常被划分为若干小批量,按迭代的随机梯度下降方式依次送入网络,并配合验证集与测试集评估效果。[11]
局限
反向传播本质上是一种梯度下降方法,而神经网络的目标函数非常复杂且非凸,因此不可避免地会出现梯度消失和梯度爆炸问题,使算法效率下降。[12]当梯度变得过小或过大时,权重更新会过小或过大,都会妨碍模型的收敛。[13]
梯度下降可能收敛到局部极小值,无法保证找到全局最优解;不过在实际中,尤其在使用随机梯度下降和小批量训练时,这一问题没有最初设想的那么严重。[14]此外,结果对权重初始化和超参数选择较为敏感,学习率、批大小、正则化参数等都需要反复调整,训练深层网络的计算开销也很大。[14]
算法本身还具有顺序依赖:必须完成整个正向过程后才能开始反向过程,梯度计算需要保存正向过程中的激活值和中间结果,这限制了完全并行化。[15]从学习机制看,它要求大量训练数据来确定哪些连接更重要,与人类相比学习效率偏低;同时生物大脑中激活本身是双向的、多个脑区同时交互,而反向传播的激活是单向的、误差沿同一网络反向传递,因此它并不被视为对大脑工作方式的准确描述。[8]
参见
参考资料
- [科普中国]-反向传播算法 - 版权归原作者所有,如有侵权,请联系我们 [引用日期2026-10-14]
- 反向传播(BP)算法 [引用日期2026-10-14]
- [科普中国]-反向传播网络 [引用日期2026-10-14]
- content [引用日期2026-10-14]
- gradient-computation [引用日期2026-10-14]
- arxiv.org 上的网页 [引用日期2026-10-14]
- Geoffrey E Hinton [引用日期2026-10-14]
- stanford.edu 上的网页 [引用日期2026-10-14]
- references [引用日期2026-10-14]
- Cerebral Cortex Rolls 2016 Contents and Appendices(PDF) [引用日期2026-10-14]
- backpropagation-robert-chen-chelsea-chen [引用日期2026-10-14]
- citations [引用日期2026-10-14]
- OUCI - 562 publications · Export [引用日期2026-10-14]
- { [引用日期2026-10-14]
- arxiv.org 上的网页 [引用日期2026-10-14]