Actor-Critic
介绍 Actor-Critic 算法的基本原理,包括 Critic 模型的学习方法、几种 AC 算法的对比等内容
Actor-Critic 算法
-
通过引入真 TD 误差作为优势函数的无偏估计量(TD 误差在期望意义下等于优势函数,因此可作为其在线估计),REINFORCE 算法得到了极大改进,其不再需要完整回合,方差大幅下降,而且在线、持续学习成为可能
-
然而,在 REINFORCE 算法中, 来自真实轨迹,无需额外模型,那么 TD 误差中的价值函数 由谁提供?
-
它不是环境给的,也不是 “天然存在” 的
-
倘若使用真值 ,需要知道 ,也即需要知道完整 MDP,这显然不现实
-
真实状态价值函数
-
期望展开后有
-
真实价值 是对未来所有可能路径的加权平均,权重就是转移概率 P
-
不知道 P,就不可能算出真实的期望
-
-
那么只能自己学习一个价值函数 —— 用一个函数逼近器,在线估计
-
由此,Critic 模型正式登场
-
-
Actor-Critic 架构
-
使用 Critic 去估计状态价值函数 ,Actor 根据 Critic 的估计更新策略
-
Critic 更新价值函数的参数 ,即
-
此时的 不再是 “真优势”,而是 “估计的优势”
-
自此,Actor 更新策略的参数 ,根据 Critic 建议的方向
-
-
如何学习 Critic 模型
-
首先,Critic 的优化目标是最小化均方误差损失:
-
根据贝尔曼方程,真实价值满足:
-
用采样值代替期望,构造 TD 目标:
-
定义 TD 误差:
-
损失函数可写为 TD 误差的平方:
-
对参数 w 求梯度:
-
由于 TD 目标中 不参与当前步梯度计算(semi-gradient 设定),仅对 求导:
-
执行梯度下降更新:
-
代入梯度后得到最终更新形式:
-
即通过 TD 误差来更新参数,进而逼近
-
-
算法流程
-
Critic 使用线性函数逼近器,使用 TD (0) 逼近
-
初始化策略参数 和价值函数参数
-
循环更新
-
从起始状态 开始
-
根据策略 选择动作
-
执行动作 ,观察奖励 和下一状态
-
更新价值函数
-
更新策略
-
将状态更新为 ,
-
重复直到达到终止状态
-
-
-
误区澄清
-
在纯 V-critic Actor-Critic 中,Critic 并不直接为 Actor 提供动作区分信号,而动作区分完全由 提供
-
状态价值函数 仅作为 baseline 使用,而真正驱动策略更新的是 TD 误差
-
它是对优势函数 的在线估计
-
几种 AC 算法的对比
| 维度 | V-critic | Q-critic | Advantage-critic |
|---|---|---|---|
| Critic 估计对象 | 状态价值函数 | 动作价值函数 | 优势函数 |
| 是否显式区分动作 | 不区分 | 区分 | 区分 |
| Actor 使用的信号 | TD 误差 | 值 | 优势值 |
| 策略梯度形式 | |||
| 是否天然 baseline | 是 | 否 | 是 |
| 方差 | 中 | 高 | 最低 |
| 兼容函数逼近 | 不适用 | 有条件 | 标准成立 |
| 典型算法 | A2C(V 版) | NAC | A2C / A3C / PPO |
-
V-critic Actor–Critic
-
Critic 的估计目标:使用函数逼近器估计状态价值函数
-
-
Actor 使用的核心信号
-
TD 误差作为优势函数的在线估计
-
在 收敛时,有
-
-
Critic 参数更新(TD (0),半梯度):最小化 TD 误差平方的半梯度下降
-
Actor 参数更新:使用 TD 误差调制策略梯度
-
关键性质
- Critic 不显式区分动作,不显式表示优势,只是 “间接提供一个 noisy 的优势样本”
- 动作区分完全由 提供
- TD 误差决定更新幅度与方向稳定性
- 不满足兼容函数逼近定理,但实践中稳定高效
-
-
Q-critic Actor–Critic
-
Critic 的估计目标:使用函数逼近器估计动作价值函数
-
Actor 使用的信号:直接使用动作价值作为回报估计
-
Actor 参数更新(原始形式):策略梯度以 值作为权重
-
主要问题
- 本身是回报期望,未减 baseline
- 更新方差较大,稳定性较差
-
常见改进思路:引入状态相关 baseline,该形式自然过渡到 Advantage-critic
-
理论上可构造兼容形式,但很少直接使用
-
-
Advantage-critic Actor–Critic
-
Critic 的估计目标:直接估计优势函数
-
Actor 使用的信号:使用去除 baseline 后的动作优势
-
Actor 参数更新(标准形式):策略梯度直接乘以优势函数
-
优势函数满足(相比 Q-critic,方差显著降低):
-
兼容函数逼近条件
-
若 Critic 采用
-
且 最小化
-
则策略梯度无偏
-
-
A2C、A3C、PPO 等算法的核心形式
-