Policy Gradient with Baseline
Posted Harris-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Policy Gradient with Baseline相关的知识,希望对你有一定的参考价值。
Policy Gradient with Baseline
1.Baseline
Baseline与动作A无关。
因此我们可以把策略梯度改写。
采用Monte Carlo 近似期望。
然后使用随机梯度上升更新 θ \\theta θ
一个好的baseline可以减少方差,加快收敛。
1.1 baseline的选择
b=0时是标准的policy gradient
第二种将b设为 V π ( s t ) V_\\pi(s_t) Vπ(st) ,因为 V π V_\\pi Vπ是 Q π Q_\\pi Qπ的期望,与 Q π Q_\\pi Qπ接近,且不依赖于 A t A_t At
2.REINFORCE with Baseline
REINFORECE 采用 u t u_t ut作为 Q π Q_\\pi Qπ的Mente Carlo 近似。
同时采用价值网络近似 V π V_\\pi Vπ
2.1 网络结构
2.2 更新网络
记: v ( s t ; w ) − u t = δ t v(s_t;w)-u_t=\\delta_t v(st;w)−ut=δt
策略网络采用梯度上升更新参数。
价值网络采用SGD更新参数。
2.3 总结
再完成一句游戏后,观测的轨迹,可以获得多个 u t , δ t u_t,\\delta_t ut,δt ,因此可以进行多次更新。
3. Advantage Actor-Critic (A2C)
与AC不同的是,AC采用 q ( s , t ; w ) q(s,t;w) q(s,t;w)近似 Q π ( s , t ) Q_\\pi(s,t) Qπ(s,t),A2C 是采用 v ( s ; w ) v(s;w) v(s;w)近似 V π ( s ) V_\\pi(s) Vπ(s)
A2C同样基于baseline。
3.1 基本定理
这里证明了几个定理。
同样采用Mente Carlo近似 Q π ( s t , a t ) Q_\\pi(s_t,a_t) Qπ(st,at) 和 V π ( s t ) V_\\pi(s_t) Vπ(st)
3.2 优势函数
我们将这部分称为 优势函数。
使用定理进行等式变形。
我们便可以进行随机梯度上升更新 θ \\theta θ
对于价值网络,我们可以使用TD target更新。
3.3 解释说明
因此当优势函数值为正说明 a t a_t at是好的,否则是坏的。
policy network 通过 s t s_t st 选择 a t a_t at 由环境产生 r t , s t + 1 r_t,s_t+1 rt,st+1,value network 计算 advantage function 用来更新policy network,使用TD算法更新value network。
4.REINFORCE versus A2C
两者网络结构完全相同。
A2C的TD target 可以使用 multi step 更新。
而REINFORECE 使用 u t u_t ut 计算 δ t \\delta_t δt
可以看出,REINFORCE是multi step TD target 的特例。
以上是关于Policy Gradient with Baseline的主要内容,如果未能解决你的问题,请参考以下文章