第三部分 · 机器如何被塑造
学习:联结、强化,与「预测错了就更新」
大脑学东西,靠的不是「同一件事重复了多少遍」,而是一个更冷酷的标准:这次结果,跟我预想的差了多少。差得越离谱,学得越狠;丝毫不出意外,它一个字都不学。
第一种学习:把两件事联结起来(经典条件反射)
1900 年前后,俄国生理学家巴甫洛夫 (Ivan Pavlov) 本来在研究狗的消化,却被一件「副作用」绊住了:狗听到喂食员的脚步声就开始分泌唾液——食物还没端上来。一个本来毫无意义的声音,怎么会勾出生理反应?
他把这件事拆得干干净净。食物天然会引发流口水,这叫非条件反射(不用学,生来就有):
食物(非条件刺激) → 流口水(非条件反应)然后他在每次喂食前先摇一下铃。铃声本来什么也勾不出来(中性刺激)。但反复「铃 → 食物」配对之后,狗光听到铃声就开始流口水——它学会了:
铃声(条件刺激) → 流口水(条件反应)这就是经典条件反射 (classical conditioning)。它的朴素版本说:大脑把时间上挨在一起、反复同时出现的两件事,悄悄焊成一条联结。狗学会的不是「铃声好吃」,而是「铃声预告着食物要来了」——请记住这个「预告」,它是本课的伏笔。
第二种学习:行为被结果塑造(操作性条件反射)
巴甫洛夫的狗是被动的:刺激来了,反应自动发生。可生活里大量的学习是另一种——你主动做了一个动作,然后世界给你一个结果,这个结果反过来改你以后做不做这个动作。小孩按一下开关灯亮了,下次还会去按;手碰到烫的炉子,以后离它远远的。
美国心理学家斯金纳 (B. F. Skinner) 把这件事做成了可控的实验。他造了一个箱子(后人称「斯金纳箱」),里面有根杠杆。饿着的老鼠在箱里乱窜,偶然压到杠杆,掉出一粒食物。几次之后,老鼠开始主动、频繁地压杠杆——它的行为被「压杠杆 → 有食物」这个结果塑造了。这叫操作性条件反射 (operant conditioning),一句话概括:
带来好结果的行为 → 以后更常做;带来坏结果的行为 → 以后更少做斯金纳用「强化 (reinforcement)」和「惩罚 (punishment)」这套语言精确描述结果如何反推行为,还发现了一个反直觉的事实:断断续续、不可预测的奖赏(间歇强化),比每次都给的奖赏更难戒掉——这正是老虎机和无限下拉刷新让人停不下来的底层原理(第 10 课会接着讲奖赏)。
戳破直觉:学习的引擎不是「配对次数」,是「意外」
到这里,朴素的故事是:「把两件事多配几次,联结就强一点;多奖励几次,行为就固一点。」次数是引擎。这听起来天经地义——可它是错的,至少不完整。下面这个反例(心理学家管它叫「阻断 (blocking)」)一刀就把「次数论」捅穿了:
1972 年,雷斯科拉 (Robert Rescorla) 与瓦格纳 (Allan Wagner) 把这个洞见写成了一条简洁的更新规则,叫 Rescorla–Wagner 模型。它说:一条联结的强度,每次只朝着「实际发生的」与「我此刻预期的」之间的差更新一小步——而这个差,就叫预测误差 (prediction error):
新联结强度 ← 旧联结强度 + 学习率 ×(实际结果 − 当前预期)把这条式子盯几秒,三件事会自己跳出来:
「学习率」是个 0 到 1 之间的小系数,管的是每次朝误差迈多大一步:太小则学得慢、稳;太大则一次意外就过度反应、来回震荡。它只调速度,不改方向——方向永远由预测误差说了算。
回扣引擎:原来 02 的知觉,和这里的学习,是同一招
请回想第 03 课那句话:知觉是大脑的「最佳猜测」,它拿感官信号当证据,预测「外面最可能是什么」。现在把这一课叠上去——你会发现它们是同一台机器的两个动作,咬合得严丝合缝:
所以「学习」和「知觉」从来不是两个分开的章节,而是同一个「预测—比对—更新」循环的两半。这条暗线(预测误差)在第 00 课就埋下了,本课讲透;它后面还会回来——第 09 课你会看到,连情绪都是大脑对身体信号的一种「预测性解释」,第 14 课你会看到,某些心理障碍正是这个预测系统被长期校歪、把安全也读成了危险。
大脑里真有一个「预测误差」信号吗?多巴胺的故事
Rescorla–Wagner 是个数学模型。可它会不会只是个凑巧拟合数据的公式,大脑里其实没这回事?1990 年代,神经科学家舒尔茨 (Wolfram Schultz) 给出了一个漂亮得让人起鸡皮疙瘩的答案。他记录猴子脑中分泌多巴胺 (dopamine) 的神经元的放电,发现了三种情形:
请把这三条和上面那条伪等式逐一对上:放电的强弱,几乎完美地编码了括号里的「实际 − 预期」。这是本课最重的一锤:长久以来人们以为多巴胺是「快乐分子」「奖赏信号」,舒尔茨证明它编码的不是奖赏本身,而是奖赏的预测误差——是「比预想多了多少惊喜」。所以一个被吃腻、被完全预料到的奖赏,并不会让多巴胺兴奋;而一个意料之外的好消息,哪怕很小,也能点亮它。这也是为什么「想要」会和「喜欢」分家——这个伏笔,留给第 10 课收。
动手:预测误差学习器
下面这个部件按 Rescorla–Wagner 那条式子,一试次一试次地模拟「铃 → 食物」的学习。每按一次「下一试次」,它就更新一步:新强度 ← 旧强度 + 学习率 ×(实际 − 预期)。请你重点盯两件事:曲线在头几次为什么陡升、到后面为什么变平;以及——这是关键——在某个试次点「这次不给食物(惊讶!)」,看曲线那一下为什么会下挫。
玩完,那个躲不掉的直觉就摆在眼前了:曲线只在「预测误差不为 0」的时候动。头几次铃后有食物,狗本来没料到(误差大),曲线猛蹿;几次之后狗已经笃定了(预期≈实际,误差≈0),再配多少次,曲线都几乎不动——不是它学够了不想学,而是没有意外可学了。而当你点「不给食物」,预期还高高挂着、实际却是 0,括号变成一个大负数,曲线应声下挫——这正是舒尔茨在猴子多巴胺里看到的那个「下挫」。一句话:配对次数不是老师,意外才是。这,就是「随经验更新」这五个字的真正机制。
常见误解
- 误解:经典条件反射和操作性条件反射是一回事,都是「重复就记住」。 (澄清:两者不同。经典条件反射是被动的——刺激预告刺激,引发反射性反应(流口水、恐惧);操作性是主动的——你做了个动作,结果反过来塑造你以后做不做。但它们的底层引擎是同一个:都靠预测误差更新。)
- 误解:奖励/配对越多,学得越牢。 (澄清:「阻断」实验证明这是错的——当结果已被预测到,再多的配对也学不进新东西,因为预测误差是 0。学习量取决于意外程度,不是次数。)
- 误解:多巴胺是「快乐分子」,分泌多就是爽。 (澄清:舒尔茨的研究表明,多巴胺编码的是奖赏预测误差——「比预想的好多少」,而不是快乐或奖赏的绝对量。一个被完全预料到的奖赏,几乎不引发多巴胺反应。)
- 误解:学习率越大越好,学得越快。 (澄清:学习率只调每步迈多大。太大会对单次意外过度反应、来回震荡、不稳定;太小则学得慢。它不决定学习的方向——方向永远由预测误差的正负说了算。)