【强化学习】优势函数与广义优势估计
摘要: 优势函数$A^\pi(s,a)=Q^\pi(s,a)-V^\pi(s)$衡量动作$a$在状态$s$下优于平均策略的程度。为简化计算,通常用TD误差$\delta_t=r_t+\gamma V^\pi(s_{t+1})-V^\pi(s_t)$近似优势函数。广义优势估计(GAE)通过参数$\lambda$平衡偏差与方差,融合多步TD残差:$A_t=\sum_{k=0}^T (\gamma\la
优势函数
优势函数: 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+⋅⋅⋅+γn−1rt+n−1+γ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=0∑T(γλ)kδt+k
λ∈(0,1) 是GAE 权重, λ =0时,GAE即单步TD(0的0次方为0), λ =1时,GAE基本为MC,而 GAE 引入 λ 的核心目的是平衡偏差与方差,实际应用中通常选择 λ=0.95,在偏差和方差之间取折中
更多推荐
所有评论(0)