主题
第 14 章 深度强化学习
第三部分 · 进阶模型课件 51 页讲义约 34 分钟Deep Reinforcement Learning
学习目标
- 掌握强化学习的基本要素(状态、动作、策略、奖励、状态转移)和马尔可夫决策过程;
- 理解总回报、折扣率和强化学习的目标函数;
- 掌握状态值函数、Q 函数及其贝尔曼方程,理解策略迭代与值迭代;
- 掌握蒙特卡罗方法、时序差分学习,以及 SARSA 和 Q 学习的区别(同策略 vs. 异策略);
- 掌握 DQN 的两个关键技巧:经验回放和目标网络;
- 掌握策略梯度定理与 REINFORCE 算法,理解基线和 Actor-Critic 如何降低方差。
课件幻灯片

1 / 51
提示:点击幻灯片左右两侧或使用 ← → 键翻页,手机上左右滑动;按 F 全屏。
讲义
14.1 强化学习问题
强化学习是指一类从(与环境)交互中不断学习的问题以及解决这类问题的方法。与监督学习不同,强化学习没有直接的“正确答案”,智能体只能通过试错,从环境给出的奖励中学习如何决策;而且奖励往往是延迟的——下棋时只有终局才知道输赢,需要解决“功劳分配”问题。幻灯片 2 幻灯片 3
基本要素:幻灯片 4
- 状态
:对环境的描述;动作 :对智能体行为的描述; - 策略
:智能体根据状态决定下一步动作的函数,可以是确定性的或随机性的; - 状态转移概率
:在状态 下执行动作 后,环境转移到 的概率; - 即时奖励
:一个标量函数,执行动作后环境给出的反馈。
智能体与环境的交互可以看作一个马尔可夫决策过程(MDP):下一个状态只依赖于当前状态和动作,
总回报:一个回合的累积奖励。对于无终止状态的持续任务,需要引入折扣率
强化学习算法大致分为三类:基于值函数的方法、基于策略函数的方法,以及二者结合的 Actor-Critic 方法。用深度神经网络来表示值函数或策略,就是深度强化学习。幻灯片 10 幻灯片 11
flowchart TB
RL["强化学习"] --> MB["基于模型<br/>(已知 p 与 r)"]
RL --> MF["模型无关"]
MB --> PI["策略迭代"]
MB --> VI["值迭代"]
MF --> VB["基于值函数"]
MF --> PB["基于策略函数"]
VB --> MC["蒙特卡罗"]
VB --> TD["时序差分"]
TD --> SARSA["SARSA(同策略)"]
TD --> QL["Q 学习(异策略)"]
QL --> DQN["DQN"]
PB --> RF["REINFORCE"]
RF --> AC["Actor-Critic"]
TD -.-> AC
14.2 值函数
贝尔曼方程:值函数可以递归地计算——当前状态的值等于即时奖励加上下一状态值的折扣期望:幻灯片 15 幻灯片 16
最优策略:存在一个策略
14.3 基于模型的方法:动态规划
当 MDP 的状态转移概率
- 策略迭代:交替进行策略评估(用贝尔曼方程迭代计算当前策略的
,直到收敛)和策略改进( ),直到策略不再变化。幻灯片 20 - 值迭代:把策略评估和策略改进合并,直接用贝尔曼最优方程迭代
,收敛后再导出最优策略。幻灯片 21
动态规划的局限:需要已知模型;状态空间大时计算代价高(需要遍历所有状态),且无法直接用于连续状态。
14.4 模型无关的方法:蒙特卡罗与时序差分
在模型未知时,只能通过与环境交互采样来估计值函数。幻灯片 22
蒙特卡罗方法:从状态
利用与探索。如果总是选择当前认为最好的动作(利用),可能永远发现不了更好的动作;需要一定的探索。常用
用于采样的策略
时序差分学习(TD):蒙特卡罗方法需要等一个完整回合结束才能更新,效率低、方差大。TD 方法结合了动态规划和蒙特卡罗:每走一步,就用“即时奖励 + 下一状态的估计值”作为目标,更新当前估计:幻灯片 25
括号内称为时序差分误差。这种用估计来更新估计的做法称为自举。
- SARSA 算法(State–Action–Reward–State–Action):
由当前的 -贪心策略选出,即用实际执行的下一个动作更新,是同策略算法。幻灯片 26 - Q 学习算法:直接用下一状态的最大 Q 值作为目标,是异策略算法:幻灯片 27
在网格世界中运行表格型 Q 学习,观察 Q 值如何从终点逐步传播、ε-贪心如何平衡探索与利用:
在单独页面中打开:Q 学习网格世界
14.5 深度 Q 网络
当状态空间很大或连续时(如 Atari 游戏的画面),无法用表格存储 Q 值,需要用一个参数化函数
直接这样训练存在两个问题:目标不稳定——目标本身依赖于正在更新的参数;样本之间有很强的相关性——连续的交互数据不满足独立同分布。深度 Q 网络(DQN)用两个技巧来解决:幻灯片 30
- 目标网络冻结:用一个参数为
的目标网络计算目标值, 每隔一段时间才从 复制一次,在此期间保持不变; - 经验回放:把交互得到的转移
存入一个回放缓冲区,训练时从中随机采样小批量,打破样本之间的相关性,并提高数据利用率。
DQN 以原始像素为输入,在 49 种 Atari 游戏中的大部分上达到或超过了人类玩家的水平。幻灯片 31 幻灯片 33 之后的改进包括 Double DQN(解决 Q 值过估计)、Dueling DQN、优先经验回放等。
AlphaGo 结合了深度网络与蒙特卡罗树搜索:先用人类棋谱监督训练策略网络,再通过自我对弈用策略梯度强化学习,并训练一个值网络评估局面;对弈时用策略网络缩小搜索宽度、用值网络减少搜索深度。后续的 AlphaGo Zero 完全不依赖人类棋谱。幻灯片 34 幻灯片 35
14.6 基于策略函数的方法
基于值函数的方法需要先学 Q 值再取
策略梯度:利用
其中
REINFORCE 算法:用蒙特卡罗采样的轨迹估计上式,每采一条轨迹,就对每个时刻
降低方差:引入基线。REINFORCE 的梯度估计方差很大,训练不稳定。可以从回报中减去一个只依赖于状态的基线
一个自然的选择是
Actor-Critic 算法:进一步用时序差分来估计回报,
| 算法 | 类型 | 回报估计 | 特点 |
|---|---|---|---|
| 策略迭代 / 值迭代 | 基于模型 | 动态规划 | 需已知 MDP |
| SARSA | 值函数,同策略 | 时序差分 | 稳健、偏保守 |
| Q 学习 / DQN | 值函数,异策略 | 时序差分 | 可用回放数据 |
| REINFORCE | 策略函数 | 蒙特卡罗 | 无偏但方差大 |
| Actor-Critic | 策略 + 值函数 | 时序差分 | 方差小、可单步更新 |
本章小结
- 强化学习通过与环境交互、最大化期望总回报来学习策略,可以形式化为马尔可夫决策过程。
- 值函数满足贝尔曼方程;模型已知时用策略迭代 / 值迭代,未知时用蒙特卡罗或时序差分(SARSA 同策略、Q 学习异策略)。
- DQN 用深度网络近似 Q 函数,依靠经验回放和目标网络稳定训练。
- 策略梯度直接优化策略:REINFORCE 无偏但方差大,基线和 Actor-Critic 降低方差。
思考题与习题
- (计算) 某回合奖励序列为
,折扣率 ,计算 ;若 呢? - (推导) 从值函数的定义出发推导
的贝尔曼方程。 - (分析) 在经典的“悬崖行走”问题中,SARSA 和 Q 学习学到的路径有何不同?用同策略 / 异策略解释原因。
- (概念) 解释 DQN 中经验回放和目标网络各自解决了什么问题。为什么 Q 学习可以使用经验回放,而 SARSA 不太适合?
- (推导) 证明引入基线
不改变策略梯度的期望: 。 - (编程) 在 Gymnasium 的 CartPole 环境上分别实现 DQN 和 Actor-Critic,比较它们的样本效率和训练稳定性。
部分提示
- 第 1 题:
: ; : 。 - 第 3 题:SARSA 考虑了探索时掉下悬崖的风险,学到远离悬崖的安全路径;Q 学习按贪心目标学习,学到紧贴悬崖的最短路径(但训练时因探索更常掉落)。
- 第 4 题:Q 学习是异策略的,目标中的
与产生数据的行为策略无关;SARSA 的目标依赖当前策略选出的 ,旧数据来自旧策略。 - 第 5 题:
。
延伸阅读
- 教材:邱锡鹏《神经网络与深度学习》第 14 章「深度强化学习」。
- Sutton R S, Barto A G. Reinforcement Learning: An Introduction, 2nd ed., 2018。
- Mnih V, et al. Human-level control through deep reinforcement learning, Nature 2015;Silver D, et al. Mastering the game of Go with deep neural networks and tree search, Nature 2016。
- 实践:nndl-practice 中的强化学习相关章节。
- 交互:Q 学习网格世界。
- 第二版对应章节:第 12 章「深度强化学习」。