就是把Baseline用在Actor-Critic网络中。
这里的Actor-Critic网络也有两个网络,分别是策略网络和价值网络,策略网络记作,其中θ为神经网络的参数,该神经网络近似的是策略函数
,来控制agent的动作。价值网络记作
,其中w是价值神经网络的参数,该神经网络近似的是状态价值函数
,用来评价状态的好坏。这里的Actor-Critic网络与之前的不太一样,之前的critic用的是动作价值函数Q,这里用的是状态价值V,动作价值函数Q依赖于状态s和动作a,而状态价值V只依赖于状态s,所以V比Q更好训练。
网络的构建:两个网络有相同的输入s,可以用相同的卷积层来提取特征,两个神经网络共享卷积层参数,然后用一些全连接层来算概率分布,红色部分就是策略网络的输出,agent做的动作就是从这个概率分布中随机抽取得到的,用不同的全连接层来算一些实数,作为价值网络v的输出。
算法步骤:
1.每一轮观测到一个transition。
2.计算TD target,
由两部分构成,一部分是真实观测到的奖励
,另一部分是价值网络对t+1时刻的状态的估计。
3.计算TD error,它是价值网络的预测和TD target的差。
4.用近似策略梯度来更新策略网络参数θ
5.用梯度下降更新价值网络的参数w,用梯度下降可以使得TD error减小,可以让价值网络更接近TD target。