强化学习算法(三)——演员-评论员算法

文章目录

  • 1. 策略梯度与深度Q网络
  • 2. 演员-评论员算法
  • 3. 优势演员-评论员算法(A2C)

演员-评论员算法是一种结合策略梯度和时序差分学习的强化学习方法。

  • 演员:指策略函数 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(as),输入状态输出动作或动作的概率,以期获得尽可能高的回报。
  • 评论员:指价值函数 V π ( s ) V^\pi(s) Vπ(s),对当前策略的价值进行估计。

常见算法

  • A3C:异步优势演员-评论员算法
  • A2C:优势演员-评论员算法

1. 策略梯度与深度Q网络

策略网络希望输入一个状态,输出动作或动作的概率,使得输出动作获得的奖励最大。
(1)策略梯度
∇ R ˉ θ = 1 N ∑ n = 1 N ∑ t = 1 T ( ∑ t ′ = t T γ t ′ − t r t ′ − b ) ∇ log ⁡ p θ ( a t n ∣ s t n ) \nabla \bar{R}_\theta = \frac{1}{N}\sum_{n=1}^N \sum_{t=1}^T (\sum_{t'=t}^T \gamma^{t'-t}r_{t'}-b) \nabla \log p_\theta(a_t^n|s_t^n) Rˉθ=N1n=1Nt=1T(t=tTγttrtb)logpθ(atnstn)

其中, G = ∑ t ′ = t T γ t ′ − t r t ′ G=\sum_{t'=t}^T \gamma^{t'-t}r_{t'} G=t=tTγttrt表示累积奖励,但是G是一个随机变量。给定相同状态s,采取动作a,而每次计算获得的奖励不同。我们有两种方式计算G值:

  • 采样:做少量采样,但采样结果不稳定。
  • 期望:使用网络估测累积奖励值,引入基于价值的方法DQN。DQN有两种函数: Q π ( s ∣ a ) , V π ( s ) Q^\pi(s|a),V^\pi(s) Qπ(sa),Vπ(s)
    强化学习算法(三)——演员-评论员算法_第1张图片

2. 演员-评论员算法

如何利用深度Q网络估计累计奖励G值呢?

  • 随机变量G的期望值正好是Q:
    E [ G t n ] = Q π θ ( s t n , a t n ) E[G_t^n]=Q^{\pi_\theta}(s_t^n,a_t^n) E[Gtn]=Qπθ(stn,atn)

理解:累计奖励G是在状态s采取动作a获得的奖励,与Q函数定义相同。

  • 用价值函数 V π θ ( s t n ) V^{\pi_\theta}(s_t^n) Vπθ(stn)来表示基线
    强化学习算法(三)——演员-评论员算法_第2张图片

理解: V π θ ( s t n ) V^{\pi_\theta}(s_t^n) Vπθ(stn) Q π θ ( s t n , a t n ) Q^{\pi_\theta}(s_t^n,a_t^n) Qπθ(stn,atn)的期望值,所以相减会有正有负。

基于上述两种思想,演员-评论员算法的策略梯度为:
∇ R ˉ θ = 1 N ∑ n = 1 N ∑ t = 1 T ( Q π θ ( s t n , a t n ) − V π θ ( s t n ) ) ∇ log ⁡ p θ ( a t n ∣ s t n ) \nabla \bar{R}_\theta = \frac{1}{N}\sum_{n=1}^N \sum_{t=1}^T (Q^{\pi_\theta}(s_t^n,a_t^n)-V^{\pi_\theta}(s_t^n)) \nabla \log p_\theta(a_t^n|s_t^n) Rˉθ=N1n=1Nt=1T(Qπθ(stn,atn)Vπθ(stn))logpθ(atnstn)

缺点
需要估计两个网络:Q网络和V网络。估测不准的风险变成两倍。

3. 优势演员-评论员算法(A2C)

为了解决需要估计两个网络导致的不稳定的问题,我们使用V网络来表示Q网络。

  • 只估测网络V,用V的值来表示Q的值
    Q π θ ( s t n , a t n ) = E [ r t n + V π θ ( s t + 1 n ) ] Q^{\pi_\theta}(s_t^n,a_t^n) = E[r_t^n+V^{\pi_\theta}(s_{t+1}^n)] Qπθ(stn,atn)=E[rtn+Vπθ(st+1n)]
    注意:引入随机变量 r t n r_t^n rtn,但相对于累计奖励G,它的方差小一点。
  • 把期望值去掉
    Q π θ ( s t n , a t n ) = r t n + V π θ ( s t + 1 n ) Q^{\pi_\theta}(s_t^n,a_t^n) = r_t^n+V^{\pi_\theta}(s_{t+1}^n) Qπθ(stn,atn)=rtn+Vπθ(st+1n)

原始的异步优势演员-评论员算法论文试了各种方法,最后发现这个方法最好。

优势函数
Q π θ ( s t n , a t n ) = r t n + V π θ ( s t + 1 n ) Q^{\pi_\theta}(s_t^n,a_t^n) = r_t^n+V^{\pi_\theta}(s_{t+1}^n) Qπθ(stn,atn)=rtn+Vπθ(st+1n)

策略梯度
∇ R ˉ θ = 1 N ∑ n = 1 N ∑ t = 1 T ( r t n + V π θ ( s t + 1 n ) − V π θ ( s t n ) ) ∇ log ⁡ p θ ( a t n ∣ s t n ) \nabla \bar{R}_\theta = \frac{1}{N}\sum_{n=1}^N \sum_{t=1}^T (r_t^n+V^{\pi_\theta}(s_{t+1}^n)-V^{\pi_\theta}(s_t^n)) \nabla \log p_\theta(a_t^n|s_t^n) Rˉθ=N1n=1Nt=1T(rtn+Vπθ(st+1n)Vπθ(stn))logpθ(atnstn)

强化学习算法(三)——演员-评论员算法_第3张图片
改进
强化学习算法(三)——演员-评论员算法_第4张图片

你可能感兴趣的:(强化学习,强化学习,演员-评论员算法,A3C)