强化学习 · Sutton & Barto

第 1 章 · 导论:什么是强化学习

课程第 1 课 · 依据《强化学习(第 2 版)》第 1 章 · 约需 25–35 分钟

🎯 本课目标(一个可检验的胜利) 学完本课,你能用自己的话说清:强化学习与有监督/无监督学习的本质区别、它独有的"试探—开发"困境、四个核心要素各自的角色,以及井字棋例子中那个更新公式为什么叫"时序差分"。

1. 从交互中学习

人类是通过与环境交互来学习的:婴儿挥舞双臂、四处张望,没有老师,只有运动感知带来的直接联结。从这些交互中,我们学到因果关系、动作的后果、以及达到目标的方法。强化学习(Reinforcement Learning, RL)就是研究"在交互中学习"的计算性方法——以人工智能研究者或工程师的视角,而非直接建立人或动物的学习理论。

"强化学习就是学习做什么(即如何把当前的情境映射成动作)才能使得数值化的收益信号最大化。"—— §1.1

注意这句话里的两个关键特征,它们是强化学习最重要、最显著的标志:

① 试错(Trial and Error)没有人告诉智能体应该采取什么动作,它必须自己尝试,去发现哪些动作带来最丰厚的收益。
② 延迟收益(Delayed Reward)动作影响的不仅是即时收益,还影响下一个情境,从而影响之后的全部收益。眼前的甜头可能是长远的坑。

2. 与有监督、无监督学习的区别

有监督学习无监督学习强化学习
学习信号带标注的训练集(每个情境给出正确动作)无标注,寻找数据隐含结构数值化的收益信号
目标泛化:对没见过的情境做出正确分类/预测揭示结构最大化长期总收益
为何不适用交互问题不可能获得所有情境下既正确又有代表性的动作示例找出结构 ≠ 最大化收益—(正是为此设计)

所以书中明确主张:强化学习是与有监督、无监督并列的第三种机器学习范式。

强化学习独有的挑战:试探 vs 开发

为了获得收益,智能体倾向于选择过去有效的动作(开发,exploitation);但为了发现更好的动作,又必须尝试没选过的动作(试探,exploration)。两者都不可偏废——只开发可能错过更优解,只试探则浪费收益。这个"试探—开发"困境在有监督/无监督学习中(至少在最简单形式下)不存在,是强化学习独有的挑战,数学家研究了几十年仍未彻底解决。

Q1. 强化学习区别于有监督学习的最根本一点是?

3. 四个核心要素(§1.3)

除智能体与环境之外,强化学习系统有四个核心要素:

① 策略(Policy)π 环境状态到动作的映射,定义智能体在特定时刻的行为方式。对应心理学的"刺激—反应"规则。策略是强化学习智能体的核心。
② 收益信号(Reward Signal) 每一步环境发给智能体的一个标量,定义了目标:智能体的唯一目标是最大化长期总收益。收益决定"短期内什么是好的",是改变策略的主要基础。
③ 价值函数(Value Function) 一个状态的价值 = 从该状态出发对未来累积收益的期望。收益是即时的愉悦/痛苦,价值是对未来的远见判断。某状态即时收益低,仍可能价值高(之后会到高收益状态),反之亦然。
收益由环境直接给出,价值必须靠综合评估与反复重估——价值评估方法几乎是所有强化学习算法中最重要的组成部分,这是 60 年来关于 RL 最重要的认识。
④ 环境模型(Model,可选) 对环境反应模式的模拟:给定状态和动作,可预测下一个状态和收益。模型用于规划(在真正经历之前先考虑未来)。用模型+规划的叫有模型方法;纯试错的叫无模型方法。
Q2. 某个状态的即时收益很低,但它的价值却可能很高。为什么?

4. 一组例子(§1.2)

体会这些例子的共性——决策智能体 + 不确定环境 + 明确目标 + 动作影响未来:

共同点:动作影响未来环境状态 → 需要远见和规划;影响无法完全预测 → 需要监视与反应;有明确目标可判断进展;且智能体可以利用经验改进性能。

5. 扩展实例:井字棋与时序差分(§1.5)⭐

这是全章最重要的一节。问题:对手是一个会犯错的 imperfect 玩家(平局 = 输),能否构造一个越下越强的玩家?

为什么经典方法不行:极大极小(Minimax)算法不适用——它假设对手完美,从不走入可能输的状态,而这些状态恰恰是战胜弱对手的机会;动态规划需要对手走棋概率的完整说明,而实践中未知。

价值函数方法的做法

  1. 建一张表:每个棋局状态对应一个数 = 当前对获胜概率的估计。三连 X 的状态价值为 1,三连 O 或棋盘下满为 0,其余初始化 0.5。
  2. 走棋时查看每种走法产生的状态价值,大多数时候贪心选价值最高的,偶尔随机试探——试探可能带我们到达从未见过的状态。
  3. 博弈中不断回溯更新:把后继状态的价值"回传"给先前状态。

更新公式(若 $S_t$ 是贪心动作之前的状态,$S_{t+1}$ 是之后的状态):

V(St) ← V(St) + α [ V(St+1) − V(St) ]
为什么叫"时序差分"? 更新量正比于两个不同时刻的状态价值之差,即 V(St+1) − V(St)——"时间上的差分"。α 是小的正分数,称为步长参数,控制学习速率。这就是著名的时序差分(Temporal-Difference, TD)学习的雏形,第 6 章将正式展开。

效果:α 随时间适当减小时,对任何固定对手,价值收敛到最优策略下每个状态的真实获胜概率——即收敛到针对该对手的最佳策略;α 不降到 0 时,还能对抗缓慢改变策略的对手。

Q3. 井字棋更新公式 V(St) ← V(St) + α[V(St+1) − V(St)] 中,"时序差分"指的是什么?

进化方法 vs 价值函数方法

进化方法(遗传算法等)价值函数方法
评估单位整个策略(多局比赛的最终胜负)单个状态的价值
中间信息忽略博弈中间发生的事,甚至把功劳分给从未出现的动作利用博弈过程中每一步的可用信息
与环境的交互中学习?否(仅在个体生命周期之外进化)是

RL 的迷人之处:井字棋玩家没有对手模型、也不显式搜索未来所有序列,却能达到规划与预测的效果——它甚至能学会给短视的对手设多步陷阱。

Q4. 相比进化方法,价值函数方法在井字棋上的关键优势是?

6. 适用范围(§1.4 与 §1.5 末尾)

7. 本章小结

8. 检索练习(凭记忆作答)

Q5. 强化学习系统的四个核心要素是?
Q6. 收益信号和价值函数分别衡量什么?

📝 书后练习(可在下节课向我提问讨论)

📖 推荐一手资料 Sutton & Barto, Reinforcement Learning: An Introduction (2nd ed.),第 1 章原文(你手头的中文版第 523–655 行)。英文版官方全文免费:incompleteideas.net。1.7 节"早期历史"(试错学习、最优控制/动态规划、时序差分三条主线的交汇)建议作为延伸阅读。
💬 有疑问随时问我 我是你的老师。任何看不懂的段落、公式、练习题,直接在下一次对话中问我,我会针对你的困惑重新讲解。

查看第 1 章术语速查表 →