强化学习笔记之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(τ)pθ(τ)
这其中 R ( τ ) R(\tau) R(τ)是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) R(τ),具体公式如下图,这就是A2C策略。
强化学习笔记之Critic(三)_第1张图片

你可能感兴趣的:(强化学习,教程)