Skip to content

Lecture 11 Deep Reinforcement Learning 学习笔记

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

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

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

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

text
监督学习/无监督学习

强化学习问题:数据由 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 与监督/无监督学习的区别【必考】

监督学习的数据形式是:

模型学习从输入 到标签 的映射。

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

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

强化学习的数据形式是:

其中:

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


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

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

老鼠的动作空间:

奖励规则:

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

策略定义为:

其中:

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


2. Markov Decision Process, MDP

2.1 MDP 的定义【必考】

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

其中:

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

表示从 执行动作 转移到 时获得的 reward。

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

这里:

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


2.2 Markov 性质【必考】

MDP 的核心假设是 Markov property:

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

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


2.3 Trajectory 与 Discounted Return【必考】

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

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

也可写为:

其中:

物理/逻辑意义:

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

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

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


3. Value Function 与 Optimal Policy

3.1 Policy Value Function【必考】

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

其中:

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


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样本 , , Q-learning, DQN, PG样本效率、稳定性、探索问题

5. Value Iteration

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

Planning 分两步:

核心是 Bellman optimality backup。


5.2 Value Iteration 公式【必考】

初始化:

重复更新:

直到:

其中:

逻辑直觉:

当前状态 的价值等于:立刻获得的 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【重要】

可以直接迭代

收敛到:

贪心策略:

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


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 方差高,所以不直接替换 ,而是做 soft update:

等价于:

其中:

定义 TD error:

则更新为:

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


6.4 Q-learning 算法【必考】

text
Initialize Q(s,a) arbitrarily

For each episode:
    Pick initial state s
    Repeat:
        Choose action a using ε-greedy 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 terminal

收敛条件:

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


7. Exploration vs Exploitation

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

Exploration:

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

缺点:短期 reward 可能不高。

Exploitation:

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

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


7.2 -greedy policy【必考】

其中:

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


8. Terminal State 与 Episode

8.1 Terminal/Absorbing State【重要】

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

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

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


9. On-policy vs Off-policy

9.1 定义【必考】

On-policy:

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

Off-policy:

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


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

Q-learning 更新使用:

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

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

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


9.3 SARSA 是 on-policy【必考】

SARSA 更新:

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

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

对比:

算法更新目标是否 on-policy核心区别
Q-learningOff-policy用 greedy action 更新
SARSAOn-policy用实际采样的下一动作更新

10. Deep Q-Network, DQN

10.1 为什么需要 DQN【必考】

Tabular Q-learning 需要维护表:

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

例如 Atari 图像状态:

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

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

DQN 用神经网络近似:

其中:

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


10.2 DQN 的学习目标【必考】

目标是让:

接近 TD target:

损失函数:

代入 TD target:

梯度下降更新:

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


11. Target Network

11.1 Moving Target 问题【必考】

DQN 的 TD target 是:

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

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


11.2 Target Network 解决方案【必考】

引入目标网络参数:

TD target 改为:

更新主网络:

每隔 步同步一次:

直觉:用较慢更新的 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 中:

输出:

其中 是 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 的路径是:

特点:

策略通常是 deterministic:

优点:

可以 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 推导【必考】

从定义开始:

写成积分:

把梯度移入积分:

利用:

得到:

因此:


18.4 去掉环境项【必考】

轨迹 log probability:

求导:

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

所以:

代回:

条采样轨迹近似:


19. REINFORCE Algorithm

19.1 算法流程【必考】

text
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(θ)

更新形式:

直觉:

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

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

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


19.2 REINFORCE 是 on-policy【必考】

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

因此它是 on-policy。

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


20. Policy Gradient 的高方差问题

20.1 高方差来源【必考】

Policy gradient 估计:

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

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


21. 用 Causality 降低方差

21.1 原始 return 的问题【必考】

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

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

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


21.2 Reward-to-go【必考】

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

梯度估计:

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

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

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


22. 用 Baseline 降低方差

22.1 Baseline 形式【必考】

原始估计:

引入 baseline:

课件给出:

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


22.2 Baseline 不引入 bias【必考】

真实 policy gradient:

减去 baseline:

因为:

利用:

得到:

由于概率分布积分为 1:

所以:

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


23. Advanced Policy Gradient Methods

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【必考】

text
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:

梯度估计:

其中:

核心直觉:

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

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

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


27. Soft Actor-Critic, SAC

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

普通 Policy Gradient / Actor-Critic 目标:

SAC 目标:

其中:

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

SAC 的特点:

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


28. 最终大对比表

方法类型是否需要模型是否 on-policy样本效率稳定性核心公式/思想重要程度
Value IterationPlanning需要 不适用稳定Bellman optimality必考
Q-learningValue-based RL不需要Off-policy较高表格下稳定TD target + max必考
SARSAValue-based RL不需要On-policy更保守用实际 更新必考
DQNDeep value-based不需要Off-policy较高原始不稳定NN 近似 Q必考
Target NetworkDQN trick不需要Off-policy提高稳定性固定 必考
Experience ReplayDQN trick不需要Off-policy提高降低相关性replay buffer必考
Double DQNDQN variant不需要Off-policy较高降低高估selection/evaluation 分离必考
PERDQN variant不需要Off-policy提高可能更快按 TD error 采样重要
REINFORCEPolicy-based不需要On-policy高方差log-gradient trick必考
Actor-CriticHybrid不需要通常 on-policy比 PG 稳定Advantage + critic必考
A3CActor-Critic不需要On-policydecorrelation多 learner 异步重要
PPOPolicy-based/AC不需要On-policy很稳定clipped ratio必考
SACActor-Critic不需要Off-policyreward + 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 解决高方差、更新过大和探索不足的问题。

Static academic notes built with VitePress and KaTeX.