Actor Critic

2018-11-07  本文已影响0人  winddy_akoky

一、介绍

Actor-Critic 算法有两部分组成:actor 和 critic。其中 action 就是Policy Gradient 算法,critic 是Q-learning。所以实际上 actor-critic算法是Q-learning算法和policy gradient算法的结合。

  1. Actor Critic 算法能在有限维的输入和有限维的输出中起到比较好的效果。
  2. Actor 角色起到的作用是:在当前状态下决定哪一个动作被执行会达到最好的效果;而Critic则是对某一个状态下采取的某个动作做出评价。这个评价会影响 actor 今后的选择。
  3. Actor-Critic 算法所需要的训练时间要比Policy Gradient 算法短。

二、回顾 Q-learning

对于Q-learning,有如下特点:

如上图的网络都是为了近似 Q(s,a)函数,有了 Q(s,a),我们就可以根据Q(s,a)的值来作为判断依据,作出恰当的行为。

image.png

Q-learning算法最主要的一点是:决策的依据是Q(s,a)的值。即算法的本质是在计算 当前状态s, 采取某个动作 a 后会获得的未来的奖励的期望,这个值就是 Q(s,a)。换句话说,我们可以把这个算法的核心看成一个评论家(Critic),而这个评论家会对我们在当前状态s下,采取的动作a这个决策作出一个评价,评价的结果就是Q(s,a)的值。

但是,Q-learning 算法却不怎么适合解决连续动作空间的问题。因为如果动作空间是连续的,那么用Q-learning算法就需要对动作空间离散化,而离散化的结果会导致动作空间的维度非常高,这就使得Q-learning 算法在实际应用起来很难求得最优值,且计算速度比较慢。

而Policy Gradient 正好弥补了这个缺点。

三、回顾 Policy Gradient

Policy Gradient 算法的核心思想是: 根据当前状态,直接算出下一个动作是什么或下一个动作的概率分布是什么。即它的输入是当前状态 s, 而输出是具体的某一个动作或者是动作的分布。

image.png

我们可以想像,Policy Gradient 就像一个演员(Actor),它根据某一个状态s,然后作出某一个动作或者给出动作的分布,而不像Q-learning 算法那样输出动作的Q函数值。

四、Actor Critic

Actor-Critic 是Q-learning 和 Policy Gradient 的结合。
为了导出 Actor-Critic 算法,必须先了解Policy Gradient 算法是如何一步步优化策略的。

image.png

如上图所示, 最简单的Policy Gradient 算法要优化的函数如下:
L = \sum log \pi_\theta(s_t, a_t) v_t

其中 v_t 要根据 Monte-Carlo 算法估计,故又可以写成:
L = \sum log \pi_\theta(s_t, a_t) G_t

但是这个 G_t 方差会比较大,因为G_t是由多个随机变量得到的,因此,我们需要寻找减少方差的办法。
一个方法就是引入一个 baseline 的函数 b, 这个 b 会使得 (G_t - b)的期望不变,但是方差会变小,常用的 baseline函数就是 V(s_t)。再来,为了进一步降低 G_t的随机性,我们用 E(G_t) 替代 G_t,这样,源式就变成:
L = \sum log \pi_\theta(s_t, a_t) (E(G_t) - V(s_t))
因为 E(G_t| s_t, a_t) = Q(s_t, a_t),故进一步演化成:
L = \sum log \pi_\theta(s_t, a_t) (Q(s_t, a_t) - V(s_t))

照上面的式子看来,我们需要两个网络去估计 Q(s_t, a_t)V(s_t),但是考虑到贝尔曼方程:
Q(s_t, a_t) = E[r + \gamma V(s_{t+1})]
弃掉期望, 得:
Q(s_t, a_t) = r + \gamma V(s_{t+1})

即最终的式子为:
L = \sum log \pi_\theta(s_t, a_t) (r+ \gamma V(s_{t+1}) - V(s_t))

这样只需要一个网络就可以估算出 V 值了,而估算 V 的网络正是我们在 Q-learning 中做的,所以我们就把这个网络叫做 Critic。这样就在 Policy Gradient 算法的基础上引进了 Q-learning 算法了

image.png

引用

https://www.jianshu.com/p/25c09ae3d206
https://www.bilibili.com/video/av24724071/?p=6
https://www.jianshu.com/p/277abf64e369

上一篇 下一篇

猜你喜欢

热点阅读