强化学习笔记之Critic(三)

前面介绍了Actor的策略,接下来介绍Critic。

1. 什么是critic

critic就是一个神经网络,以状态s为输入,以期望的reward为输出。

1.1 Actor和Critic的区别

  • Actor是以s为输入,输出对应的action和其概率。
  • Criti则是以s为输入,输出对应的reward期望值。

1.2 为什么要有critic

在前面介绍Actor时,我们定义的用来更新θ的
Rˉθ=τR(τ)pθ(τ)\triangledown\bar R_\theta=\sum_\tau R(\tau)\triangledown p_\theta(\tau)
这其中R(τ)R(\tau)是machine与环境互动所获得的实际reward,这就导致具有很大的不确定性。因为machine采取什么样的动作是一种概率性的行为,而同一个动作,环境给予什么样的reward也是具有随机性的,这样将会导致machine的学习效率比较低下,就像没头苍蝇乱撞,可能学习很久都找不到正确的方向。所以我们要给machine一个正确的方向,即使用它的期望值代替实际的reward,期望值是可以被估算、计算的,这样就有利于我们去设计特定的函数来估算、计算期望的reward,从而引导我们的machine去做出我们想要的action。

1.3 critic和Q-Learning的区别

critic是只计算期望的reward,并不会根据这个reward选择action,而Q-Learning则会根据估算出来的reward选择最大的那个reward对应的action。

1.4 value-based和policy-based的区别

value-based是根据计算出来的期望reward,选择最大的期望reward所对应的action。典型代表Q-Learning。
policy-based是将计算出来的期望reward当作选择action的概率,期望的reward越大,对应的action被选中的概率也就越大,但不一定就会被选中,只是概率。典型代表Policy Gradient。

2. 如何获得Critic

非常简单,直接使用一个神经网络,以状态s为输入,value为输出即可。

3. critic怎么和actor结合

使用critic输出的value代替R(τ)R(\tau),具体公式如下图,这就是A2C策略。
强化学习笔记之Critic(三)