一.Advantage(优势函数)详解
什么是 Advantage?
Advantage 表示当前动作比平均水平好多少。
其定义公式为:
A ( s , a ) = Q ( s , a ) − V ( s ) A(s, a) = Q(s, a) - V(s) A(s,a)=Q(s,a)−V(s)
其中:
- Q ( s , a ) Q(s, a) Q(s,a):在状态 s s s 下执行动作 a a a 所得到的期望回报
- V ( s ) V(s) V(s):在状态 s s s 下的平均期望回报
简而言之:
- 如果 A ( s , a ) > 0 A(s, a) > 0 A(s,a)>0,说明该动作比平均值好,应该增强其概率
- 如果 A ( s , a ) < 0 A(s, a) < 0 A(s,a)<0,说明该动作不好,应该削弱其概率
在策略梯度算法中的作用
在策略梯度方法(如 PPO、REINFORCE)中,优化目标常写为:
L ( θ ) = − log π θ ( a ∣ s ) ⋅ A ( s , a ) \mathcal{L}(\theta) = -\log \pi_\theta(a|s) \cdot A(s, a) L(θ)=−logπθ(a∣s)⋅A(s,a)
含义是:
- 当 Advantage 大时,增大该动作概率;
- 当 Advantage 小时,减小该动作概率;
- Advantage 起到了加权放大奖励信号的作用。
总结表格
项目 | 描述 |
---|---|
定义 | 动作与当前状态平均价值的差异 |
数学表达 | A ( s , a ) = Q ( s , a ) − V ( s ) A(s, a) = Q(s, a) - V(s) A(s,a)=Q(s,a)−V(s) |
主要用途 | 用于衡量动作质量,指导策略梯度方向 |
使用场景 | PPO、REINFORCE、A2C、TRPO 等策略优化算法 |
是否关键 | 是策略更新的核心量,通常结合 GAE 进一步估算 |
二.GAE:Generalized Advantage Estimation
什么是 GAE?
GAE 是一种用于计算 Advantage(优势函数)的方法,目的是 在偏差和方差之间取得平衡,从而提高策略梯度算法(如 PPO、TRPO)的稳定性与收敛速度。
背景知识
回顾基本定义:
-
状态值函数 : V ( s t ) V(s_t) V(st) 表示在状态 s t s_t st 下的期望回报。
-
优势函数 : A ( s t , a t ) = Q ( s t , a t ) − V ( s t ) A(s_t, a_t) = Q(s_t, a_t) - V(s_t) A(st,at)=Q(st,at)−V(st),表示某动作比平均动作好多少。
-
TD误差(Temporal Difference Error):
δ t = r t + γ V ( s t + 1 ) − V ( s t ) \delta_t = r_t + \gamma V(s_{t+1}) - V(s_t) δt=rt+γV(st+1)−V(st)
GAE 的公式
GAE 使用加权和的形式累积多个时间步的 TD 误差:
A ^ t GAE ( γ , λ ) = ∑ l = 0 ∞ ( γ λ ) l δ t + l \hat{A}t^{\text{GAE}(\gamma, \lambda)} = \sum{l=0}^{\infty} (\gamma \lambda)^l \delta_{t+l} A^tGAE(γ,λ)=l=0∑∞(γλ)lδt+l
其中:
- δ t = r t + γ V ( s t + 1 ) − V ( s t ) \delta_t = r_t + \gamma V(s_{t+1}) - V(s_t) δt=rt+γV(st+1)−V(st) 是 TD 误差
- γ \gamma γ:折扣因子(控制未来奖励的重要性)
- λ \lambda λ:平滑因子(控制 bias vs. variance)
当 λ = 0 \lambda = 0 λ=0,只考虑一步 TD 误差(高偏低方);
当 λ → 1 \lambda \to 1 λ→1,接近 Monte Carlo(低偏高方);
GAE 的优势
特性 | 描述 |
---|---|
降低方差 | 多步估计会平滑短期噪声 |
保持较小偏差 | 引入 λ \lambda λ 控制偏差 |
提高训练稳定性 | 在 PPO、TRPO 等算法中大幅提升收敛性能 |
易于实现 | 可用递推公式高效实现 |
递推公式(更高效)
实际中常用递推方式高效计算:
A ^ t = δ t + γ λ A ^ t + 1 \hat{A}t = \delta_t + \gamma \lambda \hat{A}{t+1} A^t=δt+γλA^t+1
从最后一个时间步开始反向计算,避免显式展开加权和。
总结
- GAE 是 TD 和 MC 方法之间的折中
- 关键控制参数是 λ \lambda λ,需调节其值以在 bias/variance 间权衡
- 是现代策略优化算法中的核心技术之一