Lecture 11 Deep Reinforcement Learning 学习笔记

0. 本章核心目标与“进化树”

本章要解决的核心问题是:

给定一个 agent,它不能直接获得标准监督学习中的标签 ((x_i, y_i)),而是必须通过与环境交互获得经验 ((s,a,r,s’)),如何学习一个策略 ,使长期累计奖励最大?

整章的技术演进可以概括为:

监督学习/无监督学习

强化学习问题:数据由 agent 自己交互产生

MDP:如果知道环境模型 P(s'|s,a), r(s,a),可做 planning

Value Iteration:用 Bellman optimality equation 求 V* 或 Q*

Model-free RL:不知道 P 和 r,只能用样本 (s,a,r,s')

Tabular Q-learning / SARSA

状态空间太大:不能用表格

DQN:用神经网络近似 Q(s,a;θ)

DQN 不稳定:moving target + correlated samples + overestimation

Target Network + Experience Replay + Double DQN + PER

Value-based 间接学策略仍有局限

Policy Gradient:直接优化 πθ(a|s)

REINFORCE 高方差

Baseline / Causality / Actor-Critic

A3C / PPO / SAC

现代趋势:结合 value-based 与 policy-based 的优点

1. Reinforcement Learning 的基本思想

1.1 与监督/无监督学习的区别【必考】

监督学习的数据形式是:

模型学习从输入 (x_i) 到标签 (y_i) 的映射。

无监督学习的数据形式是:

目标是理解、生成或操作无标签数据。

强化学习的数据形式是:

其中:

关键区别是:监督/无监督学习的数据通常是预先收集好的,而 RL 的数据由 agent 自己与环境交互产生。因此 RL 是一种 active learning。

1.2 Cat-Mouse-Cheese 例子【重要】

课件用猫、老鼠、奶酪的迷宫说明 RL:

老鼠的动作空间:

奖励规则:

目标不是让老鼠预测标签,而是让它学会在每个状态下采取正确动作。

策略定义为:

其中:

这个例子强调:RL 学的是行为策略,而不是输入到标签的静态映射。

2. Markov Decision Process, MDP

2.1 MDP 的定义【必考】

MDP 是 agent 与环境交互的数学模型。一个 MDP 包含:

其中:

表示在当前状态 (s) 执行动作 (a) 后,下一个状态为 (s’) 的概率。

表示从 (s) 执行动作 (a) 转移到 (s’) 时获得的 reward。

如果只关心在 (s) 执行 (a) 后的期望即时奖励,可以定义:

这里:

逻辑直觉:如果环境转移是随机的,那么同一个动作可能导致不同 (s’),所以 reward 也可能不同。(r(s,a)) 就是“平均意义上采取动作 (a) 的即时收益”。

2.2 Markov 性质【必考】

MDP 的核心假设是 Markov property:

也就是说,未来只依赖当前状态和当前动作,不依赖更早的历史。

这个假设非常关键,因为它允许我们用 (V(s))、(Q(s,a)) 这种局部函数描述长期收益,而不必记录整个历史轨迹。

2.3 Trajectory 与 Discounted Return【必考】

在策略 下,agent 与环境交互产生轨迹:

如果初始状态是 (s_0),策略为 ,则 discounted total reward 为:

也可写为:

其中:

物理/逻辑意义:

控制 agent 对未来奖励的重视程度。

接近 0 时,agent 近视,只关心眼前 reward。

接近 1 时,agent 更重视长期规划。

3. Value Function 与 Optimal Policy

3.1 Policy Value Function【必考】

由于环境可能随机,同一个策略从同一个状态开始可能产生不同 return。因此定义期望 return:

其中:

直觉: 衡量“状态 (s) 在策略 下有多好”。

3.2 Optimal Policy 与 Optimal Value Function【必考】

最优策略 满足:

最优状态价值函数定义为:

其中:

4. Planning vs Reinforcement Learning

4.1 Planning【必考】

如果知道环境模型:

则可以直接求:

这叫 planning。

4.2 Reinforcement Learning【必考】

如果不知道环境模型,只能收集经验:

这叫 reinforcement learning。

对比:

| 方法 | 已知信息 | 学习对象 | 典型方法 | 局限 | | | ——– | ————— | —————————- | ——————— | ————— | ——– | | Planning | (P(s’ | s,a), r(s,a)) | (), (), () | Value Iteration | 需要完整环境模型 | | RL | 样本 ((s,a,r,s’)) | (), (), () | Q-learning, DQN, PG | 样本效率、稳定性、探索问题 | |

5. Value Iteration

5.1 从 MDP 到最优策略【必考】

Planning 分两步:

核心是 Bellman optimality backup。

5.2 Value Iteration 公式【必考】

初始化:

重复更新:

直到:

其中:

逻辑直觉:

当前状态 (s) 的价值等于:立刻获得的 reward,加上下一个状态的 discounted value,并选择最好的动作。

5.3 Bellman Operator 的收缩性【必考】

Value Iteration 能收敛,因为 Bellman operator 是 contraction:

由于:

误差会逐步缩小,因此无论 () 如何初始化,最终都收敛到 ()。

5.4 Bellman Optimality Equation【必考】

当 () 时,Value Iteration 一步后不再改变:

这就是 Bellman optimality equation。

5.5 Optimal Q-function【必考】

定义最优动作价值函数:

其中:

由 () 得到最优策略:

并且:

5.6 直接对 Q 做 Value Iteration【重要】

可以直接迭代 (Q):

收敛到:

贪心策略:

课件强调: 会在有限步内稳定到

6. Q-learning:从 Planning 到 Model-free RL

6.1 为什么需要 Q-learning【必考】

Value Iteration 需要知道:

但现实中常常不知道环境模型,只能采样经验:

Q-learning 的目标是:

然后:

6.2 从 Bellman Update 到 TD Target【必考】

Value Iteration 的 Q 更新是:

如果可以采样多个下一状态:

则近似为:

如果只有一个样本:

则:

右侧称为 TD target:

TD target 是 Bellman update 的无偏估计,但方差较高。

6.3 Q-learning 更新公式【必考】

因为单样本 TD target 方差高,所以不直接替换 (Q(s,a)),而是做 soft update:

等价于:

其中:

定义 TD error:

则更新为:

直觉:如果 TD target 比当前 (Q(s,a)) 大,就提高估计;如果更小,就降低估计。

6.4 Q-learning 算法【必考】

Initialize Q(s,a) arbitrarily

For each episode:
Pick in itial state s
Repeat:
Choose action a using ε-greed y policy
Take action a, observe r and s'
Q(s,a) ← Q(s,a) + α[r + γ max_a' Q(s',a') - Q(s,a)]
s ← s'
until s is ter minal

收敛条件:

如果每个 ((s,a)) pair 被更新无限多次,则 Q-learning 收敛到 ()。

7. Exploration vs Exploitation

7.1 探索与利用的矛盾【必考】

Exploration:

尝试新的状态/动作,以获得更多经验。

缺点:短期 reward 可能不高。

Exploitation:

利用已有 (Q) 估计,选择当前看起来最好的动作。

缺点:可能错过更优策略。

7.2 (epsilon)-greed y policy【必考】

其中:

直觉:大部分时候利用当前知识,小部分时候随机探索,确保足够多的 ((s,a)) 被访问。

8. Ter minal State 与 Episode

8.1 Ter minal/Absorbing State【重要】

Ter minal state 是进入后无法离开的状态,例如 Game Over。

Episode 是从初始状态到 ter minal state 的完整过程。

在 episodic RL 中,训练通常是一局一局进行的。

9. On-policy vs Off-policy

9.1 定义【必考】

On-policy:

学习的是当前正在执行的策略的 value。

Off-policy:

执行策略和学习目标策略可以不同。

9.2 Q-learning 是 off-policy【必考】

Q-learning 更新使用:

这个 表示假设下一步采用 greed y action:

但实际执行动作可能来自 -greed y,不一定是 greed y action。

所以 Q-learning 学的是 greed y policy 的 value,但行为策略是 -greed y,因此是 off-policy。

9.3 SARSA 是 on-policy【必考】

SARSA 更新:

其中 (a’) 是 agent 在 (s’) 下按照当前策略实际选择的动作。

因此 SARSA 学的是当前行为策略本身的 value,是 on-policy。

对比:

| 算法 | 更新目标 | 是否 on-policy | 核心区别 | | ———- | ————————— | ———— | —————— | | Q-learning | () | Off-policy | 用 greed y action 更新 | | SARSA | (r+gamma Q(s’,a’)) | On-policy | 用实际采样的下一动作更新 |

10. Deep Q-Network, DQN

10.1 为什么需要 DQN【必考】

Tabular Q-learning 需要维护表:

但当状态空间巨大时不可行。

例如 Atari 图像状态:

每个 pixel 有 128 种可能颜色,则状态数极其巨大。

因此不能枚举所有状态,也不能为未访问状态直接查表。

DQN 用神经网络近似:

其中:

神经网络将状态 (s) 映射到每个动作的 Q-value。

10.2 DQN 的学习目标【必考】

目标是让:

接近 TD target:

损失函数:

代入 TD target:

梯度下降更新:

问题:target 本身也依赖 ,所以 一更新,target 也变。这叫 moving target。

11. Target Network

11.1 Moving Target 问题【必考】

DQN 的 TD target 是:

但 (Q) 的参数也是 ,所以目标随着模型参数变化而变化。

这会导致训练不稳定:模型一边追目标,目标一边移动。

11.2 Target Network 解决方案【必考】

引入目标网络参数:

TD target 改为:

更新主网络:

每隔 (C) 步同步一次:

直觉:用较慢更新的 target network 提供更稳定的 TD target。

12. Experience Replay

12.1 为什么需要 Experience Replay【必考】

如果 DQN 每次只用最新 transition 更新,则存在三个问题:

第一,样本利用率低。每个样本只用一次。

第二,相邻 transition 高度相关,导致梯度方差大。

第三,每次更新只来自一个局部状态,收敛慢。

12.2 Replay Buffer【必考】

维护经验池:

每次交互后存入 transition:

训练时随机采样 minibatch:

更新损失:

参数更新:

优势:

| 问题 | Experience Replay 如何解决 | | ——- | ———————- | | 样本利用率低 | 一个 transition 可被多次采样 | | 相邻样本相关 | 随机采样打破时间相关性 | | 单点更新噪声大 | minibatch 提供多点信号 | | 收敛慢 | 多样经验提升稳定性 |

13. Atari DQN

13.1 Atari 设置【重要】

DQN 在 Atari 中:

输出:

其中 (a) 是 18 种 joystick/button 动作之一。

Reward:

网络架构和超参数在多个游戏中固定。

意义:DQN 展示了 end-to-end 从 pixels 到 actions 的 deep RL 能力。

14. DQN 的 Overestimation Bias

14.1 为什么 DQN 会高估 Q-value【必考】

DQN 的 TD target:

由于 Q 估计不准确,包含随机误差

取期望:

理想情况应该是先对 Q 估计求平均,再取最大:

由于:

所以:

这就是 overestimation bias。

直觉:如果每个动作的 Q 估计都有噪声,那么取最大值时更容易选中“被噪声偶然抬高”的动作,因此最大值会系统性偏高。

15. Double DQN

15.1 Double DQN 的核心思想【必考】

DQN 用同一个 target network 完成两个操作:

第一,选择动作:

第二,评估动作价值:

这会导致 overestimation。

Double DQN 将动作选择和动作评估分离。

动作选择使用 online network:

动作评估使用 target network:

完整写作:

更新:

核心直觉:一个网络负责“挑学生”,另一个网络负责“给分”,降低同一噪声同时影响选择和评估带来的高估偏差。

16. Prioritized Experience Replay, PER

16.1 为什么需要 PER【重要】

普通 replay buffer 均匀采样 transition。

但不是所有 transition 都同样重要。

如果某个 transition 的 TD error 很大,说明当前模型在这个样本上预测很差,更值得学习。

16.2 TD Error 作为优先级【必考】

定义 TD error:

priority 可定义为:

或者 rank-based:

采样概率:

其中:

直觉:TD error 大的样本更“意外”,更能提供学习信号。

17. Value-Based RL vs Policy-Based RL

17.1 Value-Based RL【必考】

Value-based RL 的路径是:

特点:

策略通常是 deter ministic:

优点:

可以 off-policy,可以使用 replay buffer,样本效率较高。

缺点:

间接优化策略,需要准确估计 Q;Q 估计误差可能导致不稳定策略。

17.2 Policy-Based RL【必考】

Policy-based RL 直接学习:

其中:

路径是:

策略是 stochastic policy。

优点:

直接优化策略,更自然地处理连续动作和随机策略。

缺点:

通常 on-policy,样本效率较低,梯度估计方差高。

18. Policy Gradient

18.1 Trajectory Probability【必考】

在 stochastic policy 下,轨迹:

每一步:

轨迹概率:

其中:

注意:环境转移概率通常不可导,也不由 控制。

18.2 Policy Gradient 目标函数【必考】

目标是最大化期望累计奖励:

其中:

所以:

优化目标:

梯度上升:

18.3 Log-gradient Trick 推导【必考】

从定义开始:

写成积分:

把梯度移入积分:

[

integral rnabla_theta pi_thetad tau

利用:

得到:

因此:

18.4 去掉环境项【必考】

轨迹 log probability:

求导:

因为这些属于环境,不由策略参数控制。

所以:

代回:

用 (N) 条采样轨迹近似:

19. REINFORCE Algorithm

19.1 算法流程【必考】

Repeat:
1. Sample trajectories {τ_i}_{i=1}^N using current policy πθ
2. Estimate gradient:
∇θJ(θ) ≈ 1/N Σ_i Σ_t ∇θ log πθ(a_t^i|s_t^i) r(τ_i)
3. Update:
θ ← θ + α∇θJ(θ)

更新形式:

直觉:

如果 >0),则增加该轨迹中动作的概率。

如果 ,则降低该轨迹中动作的概率。

所以 REINFORCE 是 trial-and-error 的形式化。

19.2 REINFORCE 是 on-policy【必考】

REINFORCE 用当前策略 采样轨迹,并用这些轨迹更新同一个策略。

因此它是 on-policy。

缺点:每次策略更新后,旧轨迹不再严格适用于新策略,样本效率低。

20. Policy Gradient 的高方差问题

20.1 高方差来源【必考】

Policy gradient 估计:

由于采样 trajectory 很贵,所以 (N) 不能很大。

少量 trajectory 导致估计方差高,训练不稳定。

21. 用 Causality 降低方差

21.1 原始 return 的问题【必考】

原始更新让每个动作 (a_t) 乘以整条轨迹 reward:

但动作 (a_t) 不可能影响过去的 reward:

因此不应让过去 reward 影响 (a_t) 的优化。

21.2 Reward-to-go【必考】

改为使用从当前时刻开始的 future return:

梯度估计:

课件版本使用 ,很多教材也会写成:

本质一样,只是折扣指数是否提取了一个整体因子。

直觉:只用动作之后的 reward 评价该动作,减少无关随机性。

22. 用 Baseline 降低方差

22.1 Baseline 形式【必考】

原始估计:

引入 baseline:

课件给出:

直觉:不是看 trajectory reward 是否大于 0,而是看它是否高于平均水平。

22.2 Baseline 不引入 bias【必考】

真实 policy gradient:

减去 baseline:

因为:

integral pi_theta nabla_theta log pi_theta b d tau

利用:

得到:

[

integral nabla_theta pi_thetab d tau

b nabla_theta integral pi_thetad tau

由于概率分布积分为 1:

所以:

因此 baseline 不改变期望,只降低方差。

23. Advanced Policy Gradient Method s

23.1 原始 PG 的问题【重要】

Policy gradient 的问题:

参数每次只能小步更新,否则策略可能崩溃。

学习率太大:performance collapse。

学习率太小:learning too slow。

因此高级方法目标是:更高效利用 sampled trajectories,并找到“刚刚好”的更新幅度。

课件列出方法:

24. Actor-Critic

24.1 从 optimal value 到 policy value【必考】

Optimal value functions:

关系:

Policy value functions:

关系:

Actor-Critic 的核心就是:policy gradient + policy evaluation。

Actor 学策略

Critic 学价值函数

24.2 Advantage Function【必考】

定义 advantage:

其中:

如果:

说明动作比平均好,应提高概率。

如果:

说明动作比平均差,应降低概率。

Policy gradient 可写为:

24.3 Advantage 的估计【必考】

一般有:

用一个样本 近似:

所以 advantage 估计为:

这其实就是 TD error:

因此 Actor-Critic 中,TD error 可作为 advantage 的估计。

24.4 Critic 的学习【必考】

用神经网络表示 value function:

其中:

训练数据:

critic 的 L2 loss:

这里 target 是:

这是 bootstrapping:用当前 value network 对下一状态的估计构造当前状态的监督信号。

24.5 Online Actor-Critic【必考】

Repeat:
1. Take action a ~ πθ(a|s), get (s,a,s',r)
2. Update critic φ using L2 loss:
target = r + γ V̂φπ(s')
3. Estimate advantage:
Âπ(s,a) = r + γ V̂φπ(s') - V̂φπ(s)
4. Update actor:
θ ← θ + α ∇θ log πθ(a|s) Âπ(s,a)

公式:

24.6 Batch Actor-Critic【重要】

采样一批 experience:

critic 更新:

advantage:

actor 更新:

25. A3C

25.1 Asynchronous Advantage Actor-Critic【重要】

A3C 的思想:

多个 learners 并行运行,轮流更新共享参数。

作用:

第一,decorrelate data,类似于 experience replay 的替代方案。

第二,不同 learner 探索环境的不同区域。

第三,actor 和 critic 可以共享同一个神经网络的主体部分。

A3C 的关键词:

26. PPO

26.1 PPO 的动机【必考】

Actor-Critic gradient:

因为:

所以可以写成:

PPO 引入 old policy,将分母替换为:

得到 probability ratio:

PPO 的思想是让:

也就是新旧策略不要差太远,从而避免过大的 policy update。

26.2 PPO Clipped Objective【必考】

PPO 使用 clipped surrogate objective:

梯度估计:

其中:

核心直觉:

如果 (A>0),说明动作好,PPO 允许增加该动作概率,但最多增加到

如果 (),说明动作差,PPO 允许降低该动作概率,但不会无限降低。

PPO 防止策略一步更新过大,从而提高训练稳定性。

27. Soft Actor-Critic, SAC

27.1 最大熵强化学习目标【重要】

普通 Policy Gradient / Actor-Critic 目标:

SAC 目标:

其中:

Entropy 越高,策略越随机,探索越充分。

SAC 的特点:

偏好高熵策略,探索能力强;通常比 DDPG、A3C 更稳定且样本效率更高。

28. 最终大对比表

| 方法 | 类型 | 是否需要模型 | 是否 on-policy | 样本效率 | 稳定性 | 核心公式/思想 | 重要程度 | | —————– | —————- | ——– | ———— | —- | ————- | ———————– | —- | | Value Iteration | Planning | 需要 (P,r) | 不适用 | 高 | 稳定 | Bellman optimality | 必考 | | Q-learning | Value-based RL | 不需要 | Off-policy | 较高 | 表格下稳定 | TD target + max | 必考 | | SARSA | Value-based RL | 不需要 | On-policy | 中 | 更保守 | 用实际 (a’) 更新 | 必考 | | DQN | Deep value-based | 不需要 | Off-policy | 较高 | 原始不稳定 | NN 近似 Q | 必考 | | Target Network | DQN trick | 不需要 | Off-policy | — | 提高稳定性 | 固定 (theta^-) | 必考 | | Experience Replay | DQN trick | 不需要 | Off-policy | 提高 | 降低相关性 | replay buffer | 必考 | | Double DQN | DQN variant | 不需要 | Off-policy | 较高 | 降低高估 | selection/evaluation 分离 | 必考 | | PER | DQN variant | 不需要 | Off-policy | 提高 | 可能更快 | 按 TD error 采样 | 重要 | | REINFORCE | Policy-based | 不需要 | On-policy | 低 | 高方差 | log-gradient trick | 必考 | | Actor-Critic | Hybrid | 不需要 | 通常 on-policy | 中 | 比 PG 稳定 | Advantage + critic | 必考 | | A3C | Actor-Critic | 不需要 | On-policy | 中 | decorrelation | 多 learner 异步 | 重要 | | PPO | Policy-based/AC | 不需要 | On-policy | 中 | 很稳定 | clipped ratio | 必考 | | SAC | Actor-Critic | 不需要 | Off-policy | 高 | 高 | reward + entropy | 重要 |

29. 期末复习优先级

最高优先级:

中高优先级:

了解即可:

Atari DQN 的具体输入输出设置、A3C 学习速度图、Atari 性能比较图。

30. 一句话总括本章

本章从“已知环境模型时如何用 Bellman equation 做 planning”出发,逐步过渡到“未知环境模型时如何用样本做 RL”;再从表格型 Q-learning 发展到用神经网络近似 Q 的 DQN,并通过 target network、experience replay、Double DQN、PER 修复其不稳定和高估问题;最后转向直接优化 stochastic policy 的 Policy Gradient,并用 baseline、advantage、critic、PPO clipping 和 SAC entropy bonus 解决高方差、更新过大和探索不足的问题。