Actor-Critic的方法是PG方法的一种,它把PG方法与value function结合起来了。
一、基本介绍
Actor:代表 policy update。算法中采用Actor来产生动作。
Critic:代表 policy evaluation 或者 value estimation。算法中采用Critic来评价policy,或者做一些值的估计。
二、QAC
之前介绍的REINFORCE算法是PG+MC。而PG+TD(实际是值函数近似的Sarsa)就是QAC算法,同样也是On-policy的算法。
且其本身就具有探索能力(也是被逼无奈)。
对于每个step:
通过选取动作,获取到,状态转移到
通过选取动作
Critic-更新q函数:
Actor-更新policy函数:
三、A2C
A2C主要是在QAC的基础上引入偏置量,达到“在采样梯度的时候,随机变量的方差很小”的效果
梯度表达式的性质介绍:
在式子中引入不影响梯度的平均值,但会影响梯度的估计方差。
性质证明
...
定义一个新的随机变量,满足:
即:
证明的方差受引入的偏置影响
...book
对于梯度估计来说,的方差当然越小越好
证明最好的形式是
...book
最优的太复杂了,实际应用的时候会去掉表达式中的权重:
最后发现这个就是
把上面介绍的“梯度表达式的性质”引入QAC算法,就得到了A2C算法。
A2C的梯度上升公式:
其中:
称为优势函数(advantage function):描述的是与之间的差值,在意义上是的期望,也就是说,如果一个a的q大于均值,说明他是好的,有一定优势的。(有点抽象)
在应用之前,还可以把拆开,这里还是近似替换:
之所以可以近似替换是由于:
...
替换之后就不需要给两个网络分别估计与,只需要一个网络估计。
A2C算法的完整流程,仍然是On-policy的算法
对于每个step:
计算优势函数
critic-更新v函数参数
actor-更新policy函数参数