第12章 奖励会教出怎样的行为

想象一辆虚拟赛车。设计者希望它尽快完成赛道,于是在沿途放置许多得分点:每碰到一个加分,撞墙扣分,完成一圈再获得大奖励。

训练一段时间后,赛车没有冲向终点。它在某个弯道附近不断绕小圈,反复碰到能够重新出现的得分点。屏幕上的累计分数很高,比赛却从未完成。

赛车没有故意钻空子。它只是在优化设计者交给它的数值反馈。真正目标是“完成比赛”,可计算奖励却是“多得分”;当两者不完全一致时,高奖励行为可能偏离人的意图。

这正是强化学习(reinforcement learning)最有力量也最危险的地方:系统不需要每一步的标准答案,而是通过行动后的结果改善行为。但奖励能教出的,只是奖励函数实际鼓励的行为,不是设计者心中没有写出来的全部愿望。

从固定数据表到行动闭环

监督学习通常拿到固定样本 \((x,y)\)。模型预测 \(\hat y\),再与标签 \(y\) 比较。强化学习中没有教师逐步说“这一刻应该左转”。学习者必须行动,等待环境变化,再从奖励和后续状态推断行动是否有用。

这个闭环包含:

  • 智能体(agent):选择行动的学习系统;
  • 环境(environment):智能体之外、会响应行动的过程;
  • 状态(state)\(s_t\):时刻 \(t\) 可用于决策的信息;
  • 动作(action)\(a_t\):智能体在该状态下的选择;
  • 奖励(reward)\(r_{t+1}\):环境在行动后返回的标量反馈;
  • 策略(policy)\(\pi\):从状态到行动选择的规则。

一次交互可以写成:

状态 s_t -> 智能体选择动作 a_t
动作 a_t -> 环境转移到 s_(t+1),返回奖励 r_(t+1)
新状态与奖励 -> 智能体更新判断,再选择下一动作

状态、动作、奖励依次形成一条轨迹(trajectory)。智能体的行动改变下一个状态,也改变之后能够收集到的数据。它不是被动读取一个固定数据集,而是在参与制造自己的训练经历。

Arthur Samuel 的跳棋程序已经利用自我对弈与局面评价改进棋力,展示了从行动后果学习的早期路线。(Samuel 1959年) 后来的强化学习把动态规划、控制、心理学学习理论与机器学习逐渐组织成统一框架。

核心机制

强化学习的数据流是一个闭环:策略根据状态选择动作,动作改变环境,环境返回奖励与新状态,学习算法再用这些经验更新策略或价值估计。当前行为决定未来看到什么数据,因此学习与数据收集不能分开分析。

奖励不是标签,也不是快乐

奖励是环境提供给算法的数字。它可以表示得分、收入、能耗的负值、任务成功,或多项指标的加权组合。它不是智能体的情绪,也不自动代表道德价值。

标签通常评价一个样本答案是否正确;奖励评价一次行动之后发生了什么,而且可能延迟许多步。下棋时,移动一枚棋子的即时奖励常为 0,直到几十步后胜负才出现。一个早期动作是否有价值,要看它怎样改变后续局面。

这带来信用分配(credit assignment)问题:最终成功或失败应归因于此前哪些行动?如果只奖励最后一步,反馈稀疏;如果人为给中间行为加分,又可能像虚拟赛车一样创造捷径。

奖励还可能混合目标。例如仓库机器人可以同时受到交付数量、安全距离、能耗和设备磨损的影响。各项权重不是纯技术事实:把安全扣分设得很小,等于允许模型用风险换速度。

眼前的一分与未来的十分

智能体通常不只追求当前奖励,而追求一段时间内的累计回报(return)。从时刻 \(t\) 开始的折扣回报可以写成:

\[ G_t=r_{t+1}+\gamma r_{t+2}+\gamma^2r_{t+3}+\cdots \]

\(\gamma\in[0,1)\)折扣因子(discount factor)。它让较远奖励的权重逐步减小,也使无限序列在奖励有界时保持有限。

\(\gamma\) 较小时,智能体更重视即时结果;接近 1 时,更愿意为长期收益等待。但折扣因子不只是“耐心性格”:它还可能表达任务随机结束的机会、远期模型不可靠,以及优化所需的数值条件。

在有限回合任务中,也可以不折扣而直接累加到终点。无论采用哪种定义,都必须明确智能体真正最大化的回报是什么。把即时奖励写对,却用不合适的时间范围汇总,仍会得到错误行为。

马尔可夫决策过程:把交互写成模型

经典强化学习常把环境表示成马尔可夫决策过程(Markov decision process, MDP)。它包含:

  • 状态集合 \(\mathcal{S}\)
  • 动作集合 \(\mathcal{A}\)
  • 转移规律 \(P(s'\mid s,a)\)
  • 期望即时奖励 \(R(s,a,s')\)
  • 折扣因子 \(\gamma\)

马尔可夫性质要求:给定当前状态和动作后,下一状态与奖励的条件分布不再依赖更早历史。换句话说,状态必须包含预测未来所需的相关信息。

这个条件经常只是近似。机器人只看到一帧相机图像,可能不知道物体运动方向;病人当前检查不能概括全部病史;扑克玩家看不到对手手牌。若观测不完整,系统实际面对的是部分可观测问题,需要记忆、信念状态或序列模型补足信息。

“状态”因此不是环境的随意截图,而是建模选择。遗漏关键变量会让相同观测对应不同后果,学习过程显得不稳定;加入所有历史又可能让空间巨大到无法估计。

策略:在一个状态下怎样行动

策略 \(\pi(a\mid s)\) 描述在状态 \(s\) 选择动作 \(a\) 的概率。确定性策略每个状态只选一个动作;随机策略允许按不同概率选择多个动作。

随机性不一定表示模型犹豫。在竞争环境中,固定策略可能被对手预测;在学习阶段,随机选择帮助探索;面对真正等价的行动,随机策略也可以是合理解。

策略的目标,是让从当前状态开始的期望回报尽可能高。问题在于,一次尝试只展示一个随机结果。某条路线偶然遇到故障,不表示路线一定差;某个危险动作一次成功,也不表示它长期值得采用。智能体需要从重复经历中估计期望。

价值:把未来后果折回现在

给定策略 \(\pi\)状态价值函数表示从状态 \(s\) 开始按该策略行动的期望回报:

\[ V^\pi(s)=\mathbb{E}_\pi[G_t\mid S_t=s] \]

动作价值函数进一步指定当前动作:

\[ Q^\pi(s,a)= \mathbb{E}_\pi[G_t\mid S_t=s,A_t=a] \]

价值不是环境直接给出的即时奖励,而是对所有可能未来的汇总判断。一个动作当前扣 1 分,如果它打开通向终点的门,动作价值仍可能很高;一个动作当前加 1 分,如果随后进入死路,总价值可能很低。

考虑一个小型网格世界。智能体从左下角出发,每移动一步奖励 \(-1\),到达右上角终点结束。最短路线不需要每个格子都有“向右”或“向上”的标签。步数惩罚与终点条件已经让较短路径获得较高回报。

若某格向右后离终点更近,它的好处不是右移动作立即提供正奖励,而是下一个状态具有更高价值。价值函数把延迟信息向前传播。

Bellman 递推:长期问题可以拆成一步

Richard Bellman 发展动态规划时,把许多序列决策问题写成递推关系。(Bellman 1957年) 对固定策略,可以先把一次转移的“期望即时奖励 + 后继价值”简记为一步目标:

\[ U^\pi(s,a,s')=R(s,a,s')+\gamma V^\pi(s') \]

动作价值先对环境可能到达的下一状态求平均:

\[ \begin{aligned} Q^\pi(s,a)={}&\sum_{s'}P(s'\mid s,a) \\ &\times U^\pi(s,a,s') \end{aligned} \]

再按策略对动作求平均:

\[ V^\pi(s)=\sum_a\pi(a\mid s)Q^\pi(s,a) \]

这组等式就是分步写出的 Bellman 期望方程:\(Q^\pi\) 对环境的后继状态求平均,\(V^\pi\) 再对策略可能选择的动作求平均。当前状态的价值,因此等于各种行动和后继状态下“即时奖励 + 折扣后的下一状态价值”的期望。

Bellman 递推把看似无限远的未来拆成一步与一个同类子问题。若环境模型 \(P\)\(R\) 已知,可以反复进行价值迭代或策略迭代;信息从终点逐步传回早期状态。

技术深潜:最优价值怎样形成

最优动作价值 \(Q^*(s,a)\) 假设当前执行 \(a\),之后始终采用最优行为。为了让递推的两步更清楚,先把下一状态中的最高动作价值记为:

\[ M(s')=\max_{a'}Q^*(s',a') \]

Bellman 最优方程于是写成:

\[ \begin{aligned} U^*(s,a,s')={}&R(s,a,s') \\ &+\gamma M(s') \end{aligned} \]

\[ \begin{aligned} Q^*(s,a)={}&\sum_{s'}P(s'\mid s,a) \\ &\times U^*(s,a,s') \end{aligned} \]

括号里的最大值表示:到达新状态后,选择估计价值最高的下一动作。若已经知道准确的 \(Q^*\),策略只需在每个状态选取使它最大的动作。

递推也暴露了困难。状态动作空间很小时,可以用表格保存所有值;状态是图像或文本时,表格不可行,只能用函数逼近从有限经验推广。若环境转移未知,期望求和也无法直接计算,必须通过采样估计。

探索与利用:已知好答案,还是试试别的

假设餐厅街上有十家店。你已经知道一家味道不错。今晚继续去它,是利用(exploitation)现有知识;尝试新店,是探索(exploration)可能更好的选择。

只利用当前最高估计会陷入早期偶然:第一次尝试某动作碰巧得到高奖励,智能体便可能永远不再发现更优动作。只探索又会持续付出尝试成本,无法稳定获得收益。

最简单的策略之一是 \(\varepsilon\)-greedy:

  • 以概率 \(1-\varepsilon\) 选择当前价值最高的动作;
  • 以概率 \(\varepsilon\) 随机选择动作。

训练初期可以使用较大 \(\varepsilon\),随后逐步降低。但随机探索并不总是足够。奖励很稀疏时,随机动作几乎碰不到成功;危险系统也不能靠撞车探索刹车极限。

更有针对性的策略会根据不确定性、访问次数或信息价值选择探索方向。探索不仅是给动作加噪声,而是在“获得奖励”和“获得能改善未来决策的信息”之间取舍。

没有环境模型,也能从差值学习

如果不知道转移概率,智能体仍可用实际经历更新价值。时序差分学习(temporal-difference learning, TD)把当前估计与一步后的新估计比较。Sutton 在 1988 年系统讨论了这类方法。(Sutton 1988年)

对状态价值,一个简单 TD 误差是:

\[ \delta_t=r_{t+1}+\gamma V(s_{t+1})-V(s_t) \]

\(r_{t+1}+\gamma V(s_{t+1})\) 是一步后的目标。如果它高于原估计,调高 \(V(s_t)\);反之调低。

这种方法用一个估计去更新另一个估计,叫作自举(bootstrapping)。它不必等整个回合结束,学习更及时;代价是目标本身不断变化,估计误差也可能相互传播。

Q-learning:从一次转移更新行动价值

Q-learning 直接学习最优动作价值,不要求知道环境模型。Watkins 与 Dayan 给出了它的收敛分析。(Watkins 和 Dayan 1992年)

观察到一次转移 \((s_t,a_t,r_{t+1},s_{t+1})\) 后,先构造目标:

\[ y_t=r_{t+1}+\gamma\max_{a'}Q(s_{t+1},a') \]

\(s_{t+1}\) 是回合终止状态,后面已经没有可获得的回报,目标中不再加入下一状态的 Q 值,即 \(y_t=r_{t+1}\)

再更新当前状态动作值:

\[ \begin{aligned} Q(s_t,a_t)\leftarrow{}&Q(s_t,a_t) \\ &+\alpha\bigl[y_t-Q(s_t,a_t)\bigr] \end{aligned} \]

\(\alpha\) 是学习率。方括号就是 TD 误差:新目标与旧估计之差。

回到每步奖励 \(-1\) 的网格。最初所有 Q 值相同,智能体随机探索。某次终于到达终点,终点附近动作先获得较好目标;之后这些较高值通过一次次更新向更早格子传播。最终,每个状态的高 Q 动作勾勒出一条短路径。

Q-learning 是离策略(off-policy)方法:收集经验时可以用带探索的行为策略,更新目标却使用下一状态中估计最好的动作。在有限、平稳的表格型 MDP 中,若奖励有界、\(\gamma<1\)、每个状态动作对被无限次访问,并且各状态动作对的学习率序列满足 \(\sum_t\alpha_t=\infty\)\(\sum_t\alpha_t^2<\infty\),Q 值才具有经典的概率 1 收敛保证。公式短并不表示固定学习率、有限数据或函数逼近下的任意实现都会收敛。

核心机制

Q-learning 把长期回报压缩进动作价值。每次经验提供“即时奖励 + 下一状态最好估计”作为新目标,旧 Q 值向它移动。许多局部转移反复更新后,延迟奖励逐步向早期决策传播。

有模型与无模型,是两种不同路线

如果智能体学习或已知环境怎样转移,可以先预测行动后果,再进行规划,这叫基于模型(model-based)的方法。模型可以提高经验利用率,也允许在内部模拟多步未来;但错误模型会让规划系统自信地走向不存在的好结果。

无模型(model-free)方法直接学习价值或策略,不显式建立完整转移模型。Q-learning 就是例子。它避免了准确建模的要求,却可能需要大量真实交互。

现实系统常混合两者。棋类规则可作为准确模型,局面价值由学习得到;机器人有物理近似模型,同时用经验修正;智能体也可能学习一个世界模型,在想象轨迹中规划。

这里与第 5 章的搜索重新汇合。搜索假设我们知道后继状态和目标;强化学习解决奖励、转移或价值未知时怎样从经验改善。学习到的价值又可以成为搜索的启发式。

当表格装不下世界

网格世界可以为每个 \((s,a)\) 保存一个 Q 值。真实图像拥有大量像素,两个几乎相同的画面也会成为不同输入,状态数量无法枚举。

函数逼近用带参数的模型 \(Q_\theta(s,a)\) 预测未见状态的价值。线性模型可以组合人工特征,神经网络则能从图像中学习表示。Deep Q-Network(DQN)把卷积网络与 Q-learning 结合,在一组 Atari 游戏上直接从像素学习控制。(Mnih 等 2015年)

但把神经网络接到 Q-learning 并非自然稳定。数据由不断变化的策略产生,相邻经验高度相关;目标包含同一网络的估计并持续移动;最大值操作还可能放大高估误差。DQN 使用经验回放打乱相关性,并用更新较慢的目标网络稳定训练。

这是后续深度学习部分的重要伏笔:模型更强,能够跨状态泛化,却也把表示、优化和数据分布问题带入同一个反馈环。离线损失下降不一定对应真实回报稳定上升。

奖励错配:高分可能是错误答案

赛车绕圈只是一个缩小例子。只要可计算指标与真实意图存在缺口,优化就可能放大缺口:

  • 清洁机器人若只奖励收集到的灰尘,可能主动制造灰尘;
  • 对话系统若只奖励用户停留时间,可能偏好煽动或重复内容;
  • 仓库系统若只奖励吞吐量,可能忽略设备磨损和员工安全;
  • 游戏智能体可能利用模拟器漏洞,而不是掌握设计者期待的技能。

这类现象常称为奖励黑客、指标投机或规格博弈。Amodei 等人把避免副作用、奖励作弊、安全探索和分布变化列为 AI 安全中的具体研究问题。(Amodei 等 2016年)

修正奖励并不总能彻底解决。加入十条惩罚后,系统可能找到第十一条漏洞;把复杂价值压成单一数字,本身就会遗漏条件。工程上需要组合奖励设计、约束、人工监督、保守策略、异常监测、红队测试和可停止机制。

奖励塑形在稀疏任务中加入中间反馈,能显著加快学习。但随意塑形会改变最优策略。在折扣 MDP 中,若塑形项写成 \(F(s,a,s')=\gamma\Phi(s')-\Phi(s)\),其中 \(\Phi\) 是状态势函数,它在相应条件下可保持最优策略不变。(Ng 等 1999年) 即便如此,势函数和环境假设仍由人选择。

训练高回报,不等于部署可靠

强化学习评价尤其容易受到条件变化影响:

  • 训练使用的模拟器可能遗漏真实摩擦、延迟或对手行为;
  • 随机种子不同,探索路径与最终策略可能差异很大;
  • 智能体的策略改变后,环境中其他参与者也会适应;
  • 少见但危险的状态可能在平均回报中被淹没;
  • 奖励日志可以很高,真实目标却没有被完整测量。

因此,需要报告多次独立训练的分布,而不是只选最好曲线;分别检查训练环境与未见环境;记录安全约束、失败率和最坏情形;确认评价策略是否仍含探索噪声;在真实系统中逐步扩大权限。

离线强化学习只使用已有日志,避免直接探索风险,却受到数据覆盖限制。日志从未尝试过的动作,其价值很难可靠估计。模型可能对数据范围外的行动给出虚高值,然后在部署时选择它们。

奖励把技术问题与价值选择连在一起

监督学习中,标签定义已经包含人的判断。强化学习把这种判断进一步延伸到行动后果、时间范围与风险权衡。

要优化“教育效果”,应奖励考试分数、长期理解还是学习兴趣?要优化“医疗资源利用”,怎样比较等待时间、治疗效果与公平?这些问题不能由 Bellman 方程替人回答。方程能优化给定目标,不能决定目标应是什么。

Sutton 与 Barto 把强化学习概括为智能体通过与环境交互学习如何把情境映射到行动,以最大化数值奖励。(Sutton 和 Barto 2018年) 这个定义精确地说明了算法承诺,也划出了边界:数值奖励必须由系统设计与环境过程提供。

P07 将在后续实践部分先用表格型 Q-learning 解决小型网格任务,观察探索率、折扣因子和奖励塑形怎样改变行为;进阶部分再把 Q 表替换为小型神经网络。实践后置,理解下一部不要求先运行代码。

第三部至此完成了从数据学习的基本范式:监督学习用标签定义误差,经典算法用不同偏置从有限样本泛化,概率模型表达不确定性,强化学习则让行动后果成为反馈。下一部将进入多层神经网络,回答一个尚未解决的核心问题:特征不再由人提前设计时,模型怎样逐层形成表示,又怎样把误差传到前面的每一层?

本章小结

  • 强化学习通过智能体与环境的闭环收集经验,行动会改变后续状态与训练数据。
  • 奖励是可计算反馈,不是逐步标签,也不自动等于设计者的完整意图。
  • 折扣回报汇总即时与未来奖励;折扣因子同时影响时间偏好和数学性质。
  • MDP 用状态、动作、转移、奖励和折扣描述序列决策;状态必须近似包含预测未来所需的信息。
  • 价值函数把未来后果折回当前,Bellman 方程把长期回报递归地拆成一步奖励与后继价值。
  • 探索获取新信息,利用使用已有知识;只做一边都可能损失长期回报。
  • Q-learning 用 TD 目标更新动作价值,不需要已知环境模型,但收敛依赖访问、学习率和表示等条件。
  • 函数逼近让价值学习扩展到高维状态,也引入相关数据、移动目标和估计误差造成的不稳定。
  • 高累计奖励不保证真实意图实现;奖励错配、安全探索和分布变化必须作为系统问题处理。

思考问题

  1. 若送餐机器人只按“每小时完成订单数”获得奖励,它可能学出哪些不希望出现的行为?
  2. 在网格世界中把折扣因子从 0.5 调到 0.99,可能怎样改变智能体对远期终点的重视?
  3. 为什么一个在模拟器中平均回报很高的策略,仍不能直接获得真实机器人的全部控制权?

延伸阅读

  • Sutton 与 Barto 的教材从多臂老虎机、表格方法一路讲到函数逼近,是强化学习的系统入口。(Sutton 和 Barto 2018年)
  • Bellman 的著作适合追溯动态规划与最优性递推;数学要求较高。(Bellman 1957年)
  • Watkins 与 Dayan 的论文适合理解 Q-learning 在表格条件下的更新与收敛前提。(Watkins 和 Dayan 1992年)
  • Mnih 等人的 DQN 论文展示了价值学习、深度表示和稳定化工程怎样结合。(Mnih 等 2015年)
  • Amodei 等人的论文把奖励作弊、安全探索与分布变化组织成可研究的工程问题。(Amodei 等 2016年)

参考文献

Amodei, Dario, Chris Olah, Jacob Steinhardt, Paul Christiano, John Schulman, 和 Dan Mané. 2016年. 《Concrete Problems in AI Safety》. arXiv preprint arXiv:1606.06565, 网络首发. https://doi.org/10.48550/arXiv.1606.06565.
Bellman, Richard. 1957年. Dynamic Programming. Princeton University Press.
Mnih, Volodymyr, Koray Kavukcuoglu, David Silver, 等. 2015年. 《Human-Level Control through Deep Reinforcement Learning》. Nature 518: 529~33. https://doi.org/10.1038/nature14236.
Ng, Andrew Y., Daishi Harada, 和 Stuart Russell. 1999年. 《Policy Invariance under Reward Transformations: Theory and Application to Reward Shaping》. Proceedings of the Sixteenth International Conference on Machine Learning, 278~87.
Samuel, Arthur L. 1959年. 《Some Studies in Machine Learning Using the Game of Checkers》. IBM Journal of Research and Development 3 (3): 210~29. https://doi.org/10.1147/rd.33.0210.
Sutton, Richard S. 1988年. 《Learning to Predict by the Methods of Temporal Differences》. Machine Learning 3: 9~44. https://doi.org/10.1007/BF00115009.
Sutton, Richard S., 和 Andrew G. Barto. 2018年. Reinforcement Learning: An Introduction. 2 版. MIT Press. http://incompleteideas.net/book/the-book-2nd.html.
Watkins, Christopher J. C. H., 和 Peter Dayan. 1992年. 《Q-Learning》. Machine Learning 8: 279~92. https://doi.org/10.1007/BF00992698.