上文我们讲到了 策略梯度法REINFORCE 算法 ,其中,虽然带基线的REINFORCE 算法可以减少方差,但REINFORCE 算法仍然存在一些缺陷,由于REINFORCE 算法是一种基于蒙特卡洛(可参考【强化学习】蒙特卡洛(Monte Carlo)方法)采样的方法,而且它需要采样完整的轨迹数据,计算每个轨迹的回报,然后利用这些回报来更新策略网络的参数。多次采样虽然让它的估计「偏差」较小,但是轨迹的随机性会导致回报「方差」很高,这样训练的收敛速度就会受到影响

Actor-Critic 方法基于值函数 (Value-based) 和基于策略 (Policy-based) 方法的优点,核心思想是:利用 Critic 网络来评估当前策略的好坏,然后 Actor 网络根据 Critic 的评估结果来更新策略。它是一种结合了策略梯度方法和时序差分学习 (参考【强化学习】时序差分法(TD,Temporal Difference)估计) 的方法。

  • Actor:是一个策略网络 π θ ( a ∣ s ) \pi_{\theta}(a|s) πθ(as) ,即想要训练的目标模型,负责生成动作。它接受状态 s s s 作为输入,输出动作 a a a 的概率分布。Actor 的目标是学好一个策略,使得智能体能尽可能得到高回报。
  • Critic :是一个价值函数 V π ( s ) V^\pi(s) Vπ(s) 或一个动作价值函数 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a), 它接收当前状态 s( 和动作a )作为输入,输出一个对当前状态(或状态-动作对)的评估值。Critic 的目标是准确地评估当前策略的好坏。
  • 之前介绍的PG/REINFORCE算法,都只有Actor,而没有Critic这个角色。如果说REINFORCE算法是一种MC方法的话,那Actor-Critic就是它的TD改进版。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐