

Baseline与动作A无关。

因此我们可以把策略梯度改写。

采用Monte Carlo 近似期望。


然后使用随机梯度上升更新 θ \theta θ

一个好的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

REINFORECE 采用 u t u_t ut作为 Q π Q_{\pi} Qπ的Mente Carlo 近似。

同时采用价值网络近似 V π V_{\pi} Vπ



记: v ( s t ; w ) − u t = δ t v(s_t;w)-u_t=\delta_t v(st;w)−ut=δt

策略网络采用梯度上升更新参数。

价值网络采用SGD更新参数。


再完成一句游戏后,观测的轨迹,可以获得多个 u t , δ t u_t,\delta_t ut,δt ,因此可以进行多次更新。

与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。

这里证明了几个定理。



同样采用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)

我们将这部分称为 优势函数。
使用定理进行等式变形。


我们便可以进行随机梯度上升更新 θ \theta θ
对于价值网络,我们可以使用TD target更新。





因此当优势函数值为正说明 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。

两者网络结构完全相同。



A2C的TD target 可以使用 multi step 更新。


而REINFORECE 使用 u t u_t ut 计算 δ t \delta_t δt

可以看出,REINFORCE是multi step TD target 的特例。
