P4 actor-critic methods

Actor—Critic Methods

(actor可以看成策略网络 critic可以看成价值网络 两者关系可以比较运动员和打分的裁判员,关系可以如下:

回顾之前价值学习和策略学习的内容,带入到actor-critic方法中,状态价值函数可以有下图中的改写:

构造策略神经网络:(见P3

构造价值神经网络:

\[1.输入状态s和动作a\\ 2.分别用一个卷积层和一个全连接层从输入得到特征,得到两个向量\\ 3.将这两个向量拼接得到一个更高的特征向量\\ 4.通过一个全连接层输出一个实数,这个数就是所谓的打分 \]

同时训练价值网络和策略网络就是actor-critic method

训练网络:

\[状态价值函数使用神经网络改写成v(s;\theta,w)\\ 训练是为了更新θ和w,更新θ是为了让V的值更高(也就是对动作的评价越好),而更新\\w目的则是为了让π函数的评价越好,而\theta的更新又是依赖于π函数的 \]

步骤概况如下:

\[1.输入当前状态s_t\\ 2.通过π函数随机抽样得到动作a_t\\ 3.执行a_t之后得到下一次的状态s_{t+1}和奖励r_t\\ 4.通过TD算法梯度下降更新w\\ 5.根据梯度下降更新\theta \]

回顾一下TD算法更新w和用蒙特卡洛近似来更新θ:(具体见P2和P3)

总结整个流程步骤:

\[1.观察状态s_t,并在π函数中根据当前动作s_t来随机抽样得到动作a_t\\ 2.执行动作a_t,然后环境得到下一步的状态s_{t+1}和奖励r_t\\ 3.从π函数中随机抽样得到动作a_{t+1} (注意,这里只是随机得到动作,并不执行这个动作)\\ 4.执行两次价值神经网络得到两次的q值\\ 5.根据两次q值得到TD误差\\ 6,7,8,9 更新w_{t+1}和\theta_{t+1}\\ PS:在第九步中,有些论文会用的是\delta_t而不是q_t,这两种方法都是正确的,而用\delta_t的\\方法称为policy\ gradient\ with\ baseline(这种方法的精确度更加高一点,因为用了\\baseline的方法可以减低方差,让算法的收敛更加快 \]

posted @ 2021-07-22 14:46  乖张❤  阅读(88)  评论(0)    收藏  举报