优势函数

优势函数: A π ( s , a ) = Q π ( s , a ) − V π ( s ) A^\pi(s,a) = Q^\pi(s,a) - V^\pi(s) Aπ(s,a)=Qπ(s,a)Vπ(s) 表示在状态 s下,执行动作 a 比按照平均走法的期望回报高多少。其中 Q 函数(动作价值函数) Q π ( s , a ) Q^\pi(s,a) Qπ(s,a) ,表示在状态 s 采取动作 a 后,未来能获得的累积奖励期望。状态价值函数 V π ( s ) V^\pi(s) Vπ(s) 指的是“状态 s 下的未来累积折扣回报期望”。

在实际应用中,如果直接使用 Q函数 来计算优势函数,我们需要训练一个额外的 Q 函数网络,这增加了算法的复杂性。所以我们通常使用 TD 误差 δ t \delta_t δt 来近似优势函数,只需使用状态价值V函数,无需动作价值Q函数

A t ≈ δ t = r t + γ V π ( s t + 1 ) − V π ( s t ) A_t \approx \delta_t = r_t + \gamma V^\pi(s_{t+1}) - V^\pi(s_t) Atδt=rt+γVπ(st+1)Vπ(st)

其中 r t r_t rt 是 t 时刻的即时奖励, V π ( s ) V^\pi(s) Vπ(s) 和 $ V^\pi(s_{t+1})$ 分别指的是当前状态和下一状态的估计价值(未来累积折扣回报的期望),$\gamma $ 是折扣因子,TD 误差 δ t \delta_t δt 可以看作是对优势函数的一个估计,表示当前状态的实际回报与预期回报之间的差值。

广义优势估计 (GAE)

MC步数太长,偏差小,方差大,TD步数太短,偏差大,方差小,为了平衡偏差和方差、对MC和TD进行折中,即 广义优势估计(Generalized Advantage Estimation,GAE)

用 TD 误差 δ t \delta_t δt 来近似优势函数是一种单步TD方法(【强化学习】时序差分法(TD,Temporal Difference)估计),为了更好地估计优势函数,我们可以使用 n 步回报
R t ( n ) = r t + γ r t + 1 + ⋅ ⋅ ⋅ + γ n − 1 r t + n − 1 + γ n V ( s t + n ) R_t^{(n)} = r_t+\gamma r_{t+1}+···+\gamma^{n-1} r_{t+n-1}+ \gamma^{n} V(s_{t+n}) Rt(n)=rt+γrt+1+⋅⋅⋅+γn1rt+n1+γnV(st+n)

V ( s t + n ) V(s_{t+n}) V(st+n) 是时间步t+n的状态价值估计,当n=1时,即单步TD,当n=∞, 即蒙特卡洛

GAE为了更灵活地进行偏差-方差权衡,使用「加权平均」的技巧,引入参数 λ 融合多步 TD 残差,公式定义如下:
A t = ∑ k = 0 T ( γ λ ) k δ t + k A_t = \sum_{k=0}^{T} ( {\gamma \lambda} )^ k \delta _{t+k} At=k=0T(γλ)kδt+k

λ∈(0,1) 是GAE 权重, λ =0时,GAE即单步TD(0的0次方为0), λ =1时,GAE基本为MC,而 GAE 引入 λ 的核心目的是平衡偏差与方差,实际应用中通常选择 λ=0.95,在偏差和方差之间取折中

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐