5D Library › 神经递质与内分泌的动力系统 · English
第一章 多巴胺不是快乐分子:奖励预测误差
一个出人意料的放电模式
二十世纪八九十年代,舒尔茨(Wolfram Schultz)记录猴子中脑多巴胺神经元的放电。猴子学会:灯亮之后几秒,会得到一滴果汁。在学习之初,果汁本身引起多巴胺神经元短暂的爆发放电;学会之后,爆发移到了灯亮的那一刻,果汁到来时神经元不再有反应;如果灯亮了而果汁没有来,就在本该得到果汁的时刻,放电降到基线以下。
证据
舒尔茨、达扬(Dayan)与蒙塔古(Montague)指出,这一模式与强化学习中的「时间差分误差」高度吻合:多巴胺神经元的相位性放电报告的不是奖励本身,而是「实际得到的」与「预计得到的」之间的差,即奖励预测误差(reward prediction error, RPE)(Schultz et al. 1997)。得到比预期更多,误差为正;与预期一样,误差为零;比预期少,误差为负。
这一发现改变了「多巴胺 = 快乐」的通俗说法。伯里奇(Berridge)与罗宾逊(Robinson)的系列研究进一步区分了「想要」(wanting,激励显著性)与「喜欢」(liking,享乐体验):阻断或耗竭多巴胺的大鼠,对甜味的享乐反应(舔唇等面部表情)基本保留,却不再为得到它而努力 (Berridge and Robinson 1998)。多巴胺与「想要」和「学习该期待什么」关系密切,而与「喜欢」本身关系较弱。
时间差分学习
在强化学习中,一个状态的价值 是从这个状态出发预计得到的未来奖励之和。每一步,学习者计算时间差分误差 (Sutton and Barto 2018):
并据此修正价值:。其中 是这一步得到的奖励, 是折扣因子, 是学习率。
推导
一个「提示—奖励」试次的时间差分学习。提示在第 2 步出现,奖励在第 7 步到来。提示出现之前的时刻无法预测,所以其价值固定为 0。
# Temporal-difference learning on a cue -> reward trial (after Schultz, Dayan & Montague 1997).
# Time steps 0..9 within a trial; the cue appears at step 2, the reward (r = 1) at step 7.
# The state before the cue is unpredictable (its value is held at 0), so the cue's arrival is a surprise.
GAMMA, ALPHA, T, CUE, REW = 1.0, 0.2, 10, 2, 7
V = [0.0] * (T + 1) # value of each time step after the cue
def trial(reward=1.0, learn=True):
deltas = []
for t in range(T):
r = reward if t == REW else 0.0
v_now = V[t] if t >= CUE else 0.0
v_next = V[t + 1] if t + 1 >= CUE else 0.0
d = r + GAMMA * v_next - v_now
if learn and t >= CUE:
V[t] += ALPHA * d
deltas.append(d)
return deltas
def show(label, d):
print(f"{label:22s} delta at cue {d[CUE - 1]:+.2f}, at reward {d[REW]:+.2f}")
show("trial 1 (naive)", trial())
for _ in range(3):
trial()
show("trial 5", trial())
for _ in range(24):
trial()
show("trial 30", trial())
for _ in range(170):
trial()
show("trial 201 (learned)", trial())
show("reward omitted", trial(reward=0.0, learn=False))
show("reward doubled", trial(reward=2.0, learn=False))
# trial 1 (naive) delta at cue +0.00, at reward +1.00
# trial 5 delta at cue +0.00, at reward +0.41
# trial 30 delta at cue +0.54, at reward +0.00
# trial 201 (learned) delta at cue +1.00, at reward +0.00
# reward omitted delta at cue +1.00, at reward -1.00
# reward doubled delta at cue +1.00, at reward +1.00程序重现了舒尔茨记录到的三个特征:学习之初误差出现在奖励时刻;学会之后误差移到提示时刻;预期中的奖励没有到来,误差变为负值。奖励加倍时,奖励时刻又出现正误差:系统对「比预期更好」敏感,而不是对奖励的绝对大小敏感。
基线为什么会被抬高
日常经验中有一种现象:刷了一晚上短视频之后,第二天坐下来读书、写作或练习,会觉得格外乏味。通俗说法是「多巴胺阈值被拉高了」。这个说法有一个可以写清楚的计算版本,但它需要比经典时间差分模型多一个量。
证据
尼夫(Niv)、道(Daw)、乔尔(Joel)与达扬提出平均奖励强化学习模型:除了相位性的预测误差,动物还追踪环境中的平均奖励率 ,并用它衡量时间的「机会成本」。他们认为,紧张性(tonic)多巴胺水平可能编码这一平均奖励率,并以此调节行动的力度 (Niv et al. 2007)。在这一框架中,误差写成 。
在平均奖励框架下,一个奖励好不好,是相对于「这里平常每一步能得到多少」来衡量的。如果环境中频繁出现强烈的奖励, 就会上升,原本价值为 1 的普通奖励,减去更高的 之后变成负误差。
推导
平均奖励率模型。每天 60 个事件;普通的努力进展奖励为 1,强刺激为 6。先过 7 个普通的日子,再过 14 天其中 30% 的事件是强刺激,最后 7 天撤掉强刺激。为了突出 的作用,每个事件按一步完成处理,价值项相互抵消。
# Average-reward TD (Niv, Daw, Joel & Dayan 2007): delta = r - rho + V(s') - V(s).
# rho is the running average reward rate (a model of "tonic" dopamine / opportunity cost).
# Here every event is a one-step episode, so V terms cancel and delta = r - rho.
# A simplified model, not a measurement of anyone's dopamine.
import random
random.seed(1)
BETA = 0.02 # learning rate of the average
EVENTS_PER_DAY = 60
def day(rho, intense_share, log):
for _ in range(EVENTS_PER_DAY):
intense = random.random() < intense_share
r = 6.0 if intense else 1.0 # ordinary effortful progress = 1, intense stimulus = 6
delta = r - rho
rho += BETA * delta
if not intense:
log.append(delta)
return rho
rho = 1.0
for phase, days, share in (("ordinary days", 7, 0.0), ("plus frequent intense stimuli", 14, 0.30),
("intense stimuli removed", 7, 0.0)):
for d in range(days):
log = []
rho = day(rho, share, log)
if d in (0, days - 1):
neg = sum(1 for x in log if x < -0.05) / len(log)
mean = sum(log) / len(log)
print(f"{phase:30s} day {d + 1:2d}: rho {rho:4.2f}, ordinary event delta {mean:+.2f}, "
f"below -0.05 in {100 * neg:3.0f} %")
# how many ordinary events until rho is back within 10 % of 1.0, starting from the inflated value
rho, n = 2.5, 0
while rho > 1.1:
rho += BETA * (1.0 - rho); n += 1
print(f"from rho 2.5, events of ordinary reward until rho < 1.1: {n} (about {n / EVENTS_PER_DAY:.1f} days at {EVENTS_PER_DAY}/day)")
# ordinary days day 1: rho 1.00, ordinary event delta +0.00, below -0.05 in 0 %
# ordinary days day 7: rho 1.00, ordinary event delta +0.00, below -0.05 in 0 %
# plus frequent intense stimuli day 1: rho 2.28, ordinary event delta -0.68, below -0.05 in 95 %
# plus frequent intense stimuli day 14: rho 2.13, ordinary event delta -1.30, below -0.05 in 100 %
# intense stimuli removed day 1: rho 1.34, ordinary event delta -0.66, below -0.05 in 100 %
# intense stimuli removed day 7: rho 1.00, ordinary event delta -0.00, below -0.05 in 0 %
# from rho 2.5, events of ordinary reward until rho < 1.1: 135 (about 2.2 days at 60/day)注
这是简化模型,不是测量。没有研究直接测量过人在刷短视频时中脑多巴胺神经元的预测误差,也没有研究测量过「短视频之后日常努力的多巴胺误差为负」。模型说明的是:如果大脑按平均奖励率评估奖励,那么频繁的强刺激会让普通奖励显得不如预期;它也说明这种效应应当在强刺激撤掉之后恢复,恢复快慢取决于平均值更新的速度 ,而 在人身上是多少,并不知道。程序里「两天多」的恢复时间来自假设的参数,不应被当作「戒断几天」的建议。
对手过程
还有一种更古老的描述。所罗门(Solomon)与科比特(Corbit)在 1974 年提出对手过程理论:一个强烈的情绪刺激引起一个快速的「a 过程」,同时引起一个缓慢的、方向相反的「b 过程」;感受到的情绪是二者之差。b 过程随着反复暴露而增强,于是刺激带来的高峰变低,刺激结束后的反向低谷变深、变长 (Solomon and Corbit 1974)。
推导
对手过程的简化模型。a 过程时间常数 1 分钟,b 过程 8 分钟;b 的增益每次暴露后增长一点,停止暴露后每天衰减 3%。
# Opponent-process model of affect (after Solomon & Corbit 1974), as a simplified model:
# a-process follows the stimulus quickly; b-process is slow and opposes it; its gain g grows a little
# with every exposure and decays slowly between exposures. Felt affect = a - b.
def exposure(g, minutes=20, total=120, dt=0.1):
a = b = 0.0
peak, trough, t_neg, t = 0.0, 0.0, 0.0, 0.0
while t < total:
s = 1.0 if t < minutes else 0.0
a += dt * (s - a) / 1.0 # fast: time constant 1 min
b += dt * (g * a - b) / 8.0 # slow: time constant 8 min, driven by a
f = a - b
peak, trough = max(peak, f), min(trough, f)
if t > minutes and f < -0.05:
t_neg += dt
t += dt
return peak, trough, t_neg
g = 0.3
print("exposure b-gain peak affect after-dip minutes below -0.05")
for n in range(1, 61):
if n in (1, 10, 30, 60):
p, tr, tn = exposure(g)
print(f"{n:8d} {g:6.2f} {p:11.2f} {tr:9.2f} {tn:8.0f}")
g = g + 0.05 * (1.6 - g) # strengthening with use, towards a ceiling of 1.6
for days in (7, 30):
g_rest = 0.3 + (g - 0.3) * 0.97 ** days # slow decay of the gain during abstinence (3 % per day)
p, tr, tn = exposure(g_rest)
print(f"after {days:2d} days without exposure: b-gain {g_rest:.2f}, peak {p:.2f}, after-dip {tr:.2f}")
# exposure b-gain peak affect after-dip minutes below -0.05
# 1 0.30 0.89 -0.17 13
# 10 0.78 0.78 -0.51 22
# 30 1.31 0.70 -0.91 26
# 60 1.54 0.67 -1.09 28
# after 7 days without exposure: b-gain 1.30, peak 0.70, after-dip -0.91
# after 30 days without exposure: b-gain 0.80, peak 0.78, after-dip -0.53模型给出三个可检验的方向:反复暴露后,高峰略降,事后的低谷加深、持续更久;停止暴露之后,低谷逐渐变浅,但比增强的过程慢。对手过程理论最初用来描述跳伞、献血、成瘾等情境,它与多巴胺回路的具体对应关系仍在研究之中;本书只把它当作描述情绪时间动态的模型。
假说 · 尚未验证
尚未确立。 在每天花大量时间于短视频等高频强反馈媒介的成年人中,连续 14 天把这类使用减少到每天 30 分钟以下,会使他们对预先选定的日常任务(如阅读 20 分钟)的自评兴趣和完成时长提高,且提高主要发生在第 3 至第 10 天之间,与平均奖励率模型的恢复曲线一致。如果在随机分组的对照试验中,减少组与不减少组在第 14 天的任务完成时长差异的 95% 置信区间完全落在 ±5 分钟以内,假说就被推翻。
小结
多巴胺的相位性信号更像一个「比预期好还是差」的报告,而不是快乐本身。基线被抬高的直觉,在平均奖励模型中有一个清楚的形式,但它是模型,不是测量。下一章转向另一个回路:压力激素的负反馈。
参考文献
Fan, Y. (2026). Dynamical Systems of Neurotransmitters and Endocrinology: Dopamine Reward Prediction Error, Serotonergic Homeostasis, HPA-Axis Allostatic Load and the Challenge Hypothesis, Read Beside East Asian Classics of Mind Regulation [神经递质与内分泌的动力系统] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23738782 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).