说它不生物,很容易。难的是接着回答:那大脑是怎么把一句"错了",摊到几百万个突触头上的?
学骑车摔一跤,你不会回去把每块肌肉都重练一遍——你多少知道是刚才龙头压狠了。这听着像废话,其实是学习里最难的一道题:结果只给了一个"不对",可促成它的零件有几百万个,每个该改多少、往哪边改?AI 那边有一个惊人有效的答案,今天所有会聊天会画画的模型都靠它;而神经科学这边,从 1989 年起就一直有人说:这套办法,神经元根本跑不了。这一期讲这场没吵完的架,以及一个更有意思的转折——与其问大脑做不做这件事,不如问它用什么零件办成了同一件事。
先把那个算法讲明白,它一点不神秘。想象一条流水线,每一站都对半成品动一下手,最后成品比标准差了三毫米。谁的锅?单看结果没人知道。但你可以从最后一站往回问:要是你刚才少压一点点,最终这个差错会小多少?问出一个数,再拿它去问前一站,一站站倒推回去,每一站就都拿到了自己的那份账:我该往哪边动、动多少。然后所有人各自动一小步,下一件半成品就准一点。这就是反向传播——今天几乎所有能学的 AI,都靠它在拧成百上千亿个旋钮。
麻烦全出在"倒着问"那一步。要算清楚上一站的责任,必须用到去程时每一站到底压了多重。计算机里这不叫事:那些数就躺在一块谁都能读的内存里,回传时翻一遍就行。大脑不是这么长的。1989 年 Crick 把话挑明,从此成了这一行的起点:
第一根刺:回来的路,不知道去的路。突触是单向的,信号只从上家流到下家。要往回传,就得另有一批下行的突触。可责任要算得准,这批回来的突触必须正好和去程那批一样强——一个突触怎么会知道另一个突触此刻多强?这叫权重传输问题,是四根里最扎的一根。
第二根:大脑不会停下来等。算法要求先把前向整个算完,再从末端一层层往回推,这期间谁也不许动。大脑却一刻不停在跑:感觉一直在进来,动作一直在出去,没有"暂停"这个键。
第三根:误差得是个精确的数。回传的是有正有负、大小连续的量,还得精确送到每一个突触。神经元之间只会"放一下电",全或无(Topic 35 讲过这套字母表)。
第四根,也最根本:突触是瞎的。一个突触只感觉得到自己两端那两个细胞在干嘛,它看不见几层之外的结果,更不知道整体差了多少(突触可塑性)。反向传播却要求它按一个来自远方的全局量来改自己。
四条叠起来,结论听着很硬:反向传播要全局信息、要精确对称、要全网停下来同步,而大脑的零件只看局部、只走单向、还一直在跑。此后三十年,"这算法不生物"几乎成了默认共识。
EN Learning faces the credit-assignment problem: one error signal, millions of components, each needing its own correction. Backpropagation solves it by walking backwards through the network, and it powers essentially all of modern AI. Crick (1989) laid out why cortex seems unable to run it: the return path would need synapses exactly matching the forward ones (the weight-transport problem), the algorithm requires a strict forward/backward alternation the always-on brain cannot provide, error signals must be signed continuous values rather than all-or-none spikes, and a synapse can only sense its own two ends while backprop demands a global quantity.
这四条硬伤在 AI 那边一条都不成立,原因很土:芯片有一块谁都能读的公共内存。前向用过的权重原样躺在那儿,回传时翻一遍就是;整个网络也可以老老实实按"先算完、再回传"的节奏走,因为它本来就是一段一步步执行的程序。大脑没有这块公共内存——它的"内存"就是突触自己,分散在几百万个地方,谁也读不到别人的。很多"生物为什么不这么干"的疑问,答案都落在这条硬件差别上。
2016 年一个结果把这场架整个搅乱了。Lillicrap 那组人干了件像胡闹的事:既然回来的路没办法知道去路有多强,那就干脆别知道——把回传用的权重换成一堆固定的随机数,扔进去再也不改。照道理,用一套乱码摊责任,摊出来的方向该全是错的。结果网络照样学会了,成绩和正经反向传播差不太多。
为什么?因为那套乱码虽然乱,却始终如一。前向的权重是会变的,它们在训练里慢慢朝着"让这套固定乱码刚好变得有用"的方向漂——几轮之后,前向权重的方向真的和随机反馈对上了,两者的夹角从九十度上下一路收窄。不是反馈学会了正确,是前向学会了配合反馈。这个现象被叫做反馈对齐。
这一下,最扎的那根刺被拔掉了一半:回传的权重不必等于前向那套,只要稳定、一致,网络自己会来迁就。Nøkland 同年更进一步,把误差从输出端直接随机投给每一层,连"一层层往回走"都省了,照样能学。
但别急着庆祝。2018 年 Bartunov 等人把这些生物版拉到大任务上一比(ImageNet 那种规模、卷积网络),差距立刻现形:小数据集上跑得通,不等于顶得住真正深的网络。"随机反馈也能学"是个漂亮的存在性证明,不是一个够用的答案。
EN Feedback alignment (Lillicrap et al. 2016) replaces the transposed forward weights with fixed random feedback — and networks still learn, because the forward weights gradually rotate to align with the random matrix. The feedback never becomes correct; the forward pathway learns to cooperate with it, which removes the weight-transport objection in principle. Direct feedback alignment (Nøkland 2016) goes further, projecting the error straight to every layer. But Bartunov et al. (2018) showed these schemes fall well short of backprop on ImageNet-scale problems: a proof of possibility, not a sufficient account.
反向传播还有个恼人的性质:每一层得等着前一层把账算完才能更新,整张网因此很难真正并行。随机反馈把这个链条剪断了——误差直接投到每层,各层可以同时改。所以这类算法在片上学习(芯片自己一边跑一边学,不必把数据搬回中央)这些方向上一直有人接着做。生物学的约束,在硬件上常常刚好也是约束。
另一条路更彻底:取消"回传"这个动作。既然突触只看得见自己两端,那就让误差变成两端活动的一部分——不另拉一套管误差的线路,而是让细胞的活动在"有误差"和"没误差"两种情况下长得不一样,突触照旧只按两端活动改,方向恰好近似那份账。三个代表,骨架相同、零件不同。
第一个,预测编码。这个模子神经科学里现成就有(Topic 1):高层往下发预测,低层只把"没猜中的部分"往上报,网络里本来就住着一批专门表示误差的单元。Whittington 和 Bogacz 2017 年证明:让这样的网络自己弛豫到稳定,再让每个突触只按两端活动的乘积去改(一起放电就一起加强,最经典的局部规则),学出来的东西逼近反向传播。误差不必回传,它一开始就活在网络里。
第二个,平衡传播。Scellier 和 Bengio 换了个招:让网络先自由地稳下来,记住这一刻的活动;再把输出端轻轻朝正确答案推一下,让它重新稳下来。两次稳态的活动之差,就编码了那份账。突触要做的只是感觉两端"前后两回有什么不同"——这几乎就是实验里看到的可塑性的样子(突触可塑性)。
第三个,把误差交给解剖结构。皮层的锥体细胞有两头:靠近胞体的基底树突收下面上来的前馈,一根长长的顶端树突伸到皮层最表层,专接从高层送回来的反馈(皮层分层与微回路)。两路信号落在同一个细胞的不同部位,互不打架。Guerguiev 等人 2017 年用这种分舱神经元搭的网络学会了认手写数字;Payeur 等人 2021 年把它接到一条真实的生理机制上:顶端树突被点着时,细胞不是放一下,而是连放一串(叫爆发式放电)。下游把"放一串"和"放一下"读成两种消息——同一根轴突,于是同时载着"信号"和"这次错了多少"。
三条路看着很不一样,骨架却是同一个:误差不再走单开的线路,而是被折进活动本身——藏在专门的误差单元里,藏在两次稳态的差里,藏在放一串还是放一下里。Lillicrap 等人 2020 年那篇综述把话说得很白:大脑要是真在做梯度这件事,多半是用这种方式做的。
EN A second family drops the backward pass entirely and encodes the error inside neural activity itself, so that a purely local rule approximates the gradient. Predictive-coding networks already contain error units, and relaxing them to equilibrium with Hebbian updates approximates backprop (Whittington & Bogacz 2017). Equilibrium propagation runs the same dynamics twice — free, then nudged toward the target — and the difference between the two steady states carries the gradient (Scellier & Bengio 2017). A third route uses anatomy: pyramidal neurons receive feedforward input on basal dendrites and top-down feedback on apical dendrites, and apical activation switches the cell from single spikes to bursts, so one axon carries both signal and error (Guerguiev et al. 2017; Payeur et al. 2021). Lillicrap et al. (2020) group these as the most plausible way cortex could approximate gradients.
吵到这儿,值得退一步问:大脑有必要做这件事吗?反向传播解决的是"跨很多层的精细问责"。可大脑也许压根不是一张从头训到尾的大网。Marblestone 等人 2016 年给了个很不一样的图景:大脑更像一堆各自带着目标的模块,视觉那块、运动那块、海马各自在优化的东西根本不是同一个;很多目标还是发育就写好的、自己给自己出的题——"预测下一秒会看到什么"就不需要老师。模块要是都不深,问责的距离就短,那根最扎的刺自然没那么疼。
顺带纠正一个容易走偏的印象:"拿误差来学"在生物里一点也不稀奇。小脑就明摆着有一条教师线:每个浦肯野细胞收着一根爬行纤维,动作做砸了它就发一下,直接改突触(运动系统与小脑)。所以真正有争议的从来不是"大脑会不会用误差",而是皮层里那种跨很多层、逐个突触的精细问责到底存不存在。
还有一个绕不过去的事实,方向正好反过来。目前最能预测视觉皮层反应的模型,恰恰是那些用反向传播训出来的深度网络:给猴子和网络看同一张图,网络中间层的活动能相当准地对上颞叶那些细胞的反应。这不能证明大脑用了反向传播。它更像在说:决定"表征长成什么样"的,可能主要是任务和结构,而不是用哪条规则学出来的。
所以这场争论的形状变了。与其问"大脑做不做反向传播"(那是把一个算法和它在硅片上的某一种实现绑死了),不如把它当成一把标尺:任何系统想在很深的结构里学好,都得近似地办到某件事;再回脑子里找,它可能用什么零件办的。好处是能落到实验台上——顶端树突什么时候被点着、切断反馈通路之后学习会不会垮、爆发式放电和突触改变是不是真的挂钩,都能测。吵不出结论没关系,吵出可测的预测就够本了。
EN The framing has shifted. Marblestone et al. (2016) argue the brain may not need end-to-end credit assignment at all: it looks more like many modules optimizing many locally defined, often self-supervised objectives. Error-driven learning is in any case not exotic in biology — climbing fibers give cerebellar Purkinje cells an explicit teaching signal — so the real dispute is specifically about fine-grained, multi-layer credit assignment in cortex. Meanwhile the best current predictors of visual cortical responses are deep networks trained with backprop (Yamins & DiCarlo 2016), which suggests task and architecture may shape representations more than the learning rule does. Backprop is now most useful as a normative yardstick that generates testable predictions about apical dendrites, feedback pathways and burst-dependent plasticity.
这场争论正在往回反哺 AI。反向传播那三条要求——要一块公共内存、要停下来同步、要每层等着上一层——今天已经不只是生物学的挑剔,也是能耗账单:训练一个大模型的电,和你脑子里那二十瓦(Topic 41 会算这笔账)差着好几个数量级。于是"局部规则 + 事件驱动"的芯片被重新捡起来(Topic 40)。当年被当成生物学怪癖的约束,如今成了工程想抄的作业。
"全局的最优,怎么靠一堆只看得见邻居的零件做出来"——这个问题不是神经科学的专利,几门离它很远的学问各自撞上过: