Actor crtic算法的思路,流程如下图所示
actor critic算法伪代码如下图所示
其中,critic使用基于值函数近似的方法,近似函数为线性函数,参数为w ,为TD error
根据DQN中的参数更新公式
所以有critic的参数更新公式如下图倒数第四行表示
actor使用策略网络,参数为,根据策略梯度公式
注意!!!!!!AC算法中,actor使用的策略网络 更新参数公式中的Q是critic中近似函数估计出来的Q值,即actor更新参数中的Q,并不是原始策略梯度公式中的Q(基于自己的策略网络的Q)
我想 这一步就是“actor以critic的打分作为自己的行为准则”的体现
还需要注意一点的是,AC算法的顺序很重要,因为更新actor的参数时,需要用到critic值函数近似的参数w,所以先更新actor的参数,再更新w
因为actor更新策略参数时,用的value function并不是真实的Q值,所以会有一定的bias,但如果用真实无BiasQ值,采用蒙特卡洛回合更新的思路,则又回到了REINFORCE算法。AC算法中虽然有可能存在bias的地方,但是可以单步更新策略网络的参数,而无需等到回合结束