反向传播:深层神经网络的钥匙

通过增加非线性转换的“隐藏层”,网络可以把线性不可分的低维问题(如“异或门”)映射到更高维的、可分空间中。从此,神经网络具备了表达复杂模式的能力,连接主义迎来真正的“咸鱼翻身”只是个算法、时间和算力的问题了。

算法方面,一个核心问题曾长期困扰着神经网络的研究者:如何有效地训练一个复杂的多层网络?如果网络做错了,我们该如何知道是哪一层的哪个连接权重出了问题,又该如何修正它?这与符号逻辑不同,符号规则可以直接编码为透明的可定点纠错的计算机程序,因为计算机代码本身就是可解释的符号语言。

1986年,杰弗里·辛顿(Geoffrey Hinton)、戴维·鲁梅尔哈特(David Rumelhart)和罗纳德·威廉姆斯(Ronald Williams)在一篇里程碑式论文中,系统阐述了破解深层神经网络的核心方法反向传播算法(Backpropagation)。它让神经网络第一次能够真正地“深层学习”。

模型在输出结果后,会先计算总体误差——也就是预测与答案的差距。反向传播的主旨是,模型的误差可以像涟漪一样从后往前逐层传播,每一层的连接权重都可以做“误差”修正。换句话说,每一层都在琢磨:“如果我这样改一点,需要确保会让整个结果变好一点。”反向传播正是这样教会机器从结果中学习——通过逐层调整,最终让整张网络的输出越来越接近正确答案。

这一算法解决了多层网络难以训练的问题。

你或许会问:在拥有亿万个参数的神经网络中,怎么可能知道该往哪个方向改?

在神经网络中,的确有亿万个“旋钮”(参数、权重),它们共同决定输出结果。要让模型变好,需要在如此众多的活动部件中同时协调所有旋钮,这听上去像在黑暗中找针。但数学的巧妙之处就在这里:每个旋钮的“方向感”都能被局部计算出来。

反向传播的关键思想是——虽然网络庞大,但每个连接都是一条明确的因果链的一部分。只要我们能算清:“如果这一条连接的权重略微改变,最终输出的误差会变化多少”,我们就能知道它该往哪个方向微调。这正是梯度(gradient)的意义。它不是凭说不清的直觉判断方向,而是通过微积分精确计算出的导数(斜率):在多维空间中,梯度指向误差下降最快的方向。

换句话说,即使有上亿个参数,每个参数都能根据自己与输出误差之间的“传导关系”独立计算出一个小箭头——往哪边走,误差会更小一点。这些微小的“更好方向”汇聚起来,就构成了一次全网络的调整。于是,机器不需要看全局,也能在局部找到前进的方向。每一次训练循环,模型都这样“爬坡”:从当前位置,顺着误差下降的梯度往下走一点,再重新计算新的梯度。循环成千上万次,误差越来越小,模型就越来越聪明。

或许你还会问:在拥有亿万个参数的网络中,这些局部调整不会互相抵消吗?毕竟在常识中,越是复杂的系统,局部优化越可能让整体失衡。然而,反向传播的奇妙之处就在于——每一个局部调整都并不盲目,而是共享一个共同目标:让总体误差下降。通过微积分计算出的梯度,指明了整座“误差山谷”最陡峭的下坡方向。梯度的方向告诉每个连接该往哪边调整,大小告诉它改多少。所有连接各自计算出这一“小小方向感”,再一起更新,就能让整个网络朝着误差最小的方向前进。于是,即使面对亿万参数的复杂系统,模型也能实现局部判断、全局改进——这正是深度学习“能学”的奥秘所在。

这就好象一支庞大的乐团。每位演奏者都只看自己的谱子(局部),并不知道整首曲子的所有乐句。但他们都跟随同一个指挥(loss function)——指挥通过手势(梯度信号)告诉每个乐手该强一点、弱一点、快一点、慢一点。于是,虽然每个演奏者不“看全局”,整个乐团却在共同演奏同一首乐曲。

真正理解反向传播,可以把神经网络看成一串“接力函数”。前面一层把输入揉成中间表示,后面一层再把中间表示压成输出。数学上,这就是复合函数:输出结果是前一层输出的函数,而前一层的输出又是更前一层输出的函数,一环套一环。

网络里有亿万个权重 w,一次次“从下游往上游”把局部斜率记下来并复用,就能在一趟回传里为所有权重算出各自的“方向感”。工程里叫它“反向模式自动微分”:先在正向把数值流过去,再在反向把“敏感度”流回来。正向像做题,反向像批改。每个节点只做两件简单的小事:保存好自己在正向时的局部斜率;在反向时把从下游收到的敏感度乘上这个斜率,再按连接把它分发给上游。局部小账加起来,恰好就是全局的大账。

反向传播的成功,为深度学习奠定了算法基石。它让连接主义从象牙塔走向实用化,为多年后的“深度学习”爆发提供了理论与技术前提。

 

 

 

发布者

立委

立委博士,多模态大模型应用咨询师。出门问问大模型团队前工程副总裁,聚焦大模型及其AIGC应用。Netbase前首席科学家10年,期间指挥研发了18种语言的理解和应用系统,鲁棒、线速,scale up to 社会媒体大数据,语义落地到舆情挖掘产品,成为美国NLP工业落地的领跑者。Cymfony前研发副总八年,曾荣获第一届问答系统第一名(TREC-8 QA Track),并赢得17个小企业创新研究的信息抽取项目(PI for 17 SBIRs)。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理