当前位置:   article > 正文

动手强化学习(十):Actor-Critic 算法_actor-critic 神经网络matlab

actor-critic 神经网络matlab

动手强化学习(七):DQN 改进算法——Dueling DQN

文章转于 伯禹学习平台-动手学强化学习 (强推)
本文所有代码均可在jupyter notebook运行
与君共勉,一起学习。
更多Ai资讯:公主号AiCharm
在这里插入图片描述

1. 简介

  在之前的内容中,我们学习了基于值函数的方法(DQN)和基于策略的方法(REINFORCE),其中基于值函数的方法只学习一个价值函数,而基于策略的方法只学习一个策略函数。那么一个很自然的问题,有没有什么方法既学习价值函数,又学习策略函数呢?答案就是 Actor-Critic。Actor-Critic 是一系列算法,目前前沿的很多高效算法都属于 Actor-Critic 算法,今天我们将会介绍一种最简单的 Actor-Critic 算法。需要明确的是,Actor-Critic 算法本质上是基于策略的算法,因为这系列算法都是去优化一个带参数的策略,只是其中会额外学习价值函数来帮助策略函数的学习。

2. Actor-Critic 算法

  我们回顾一下在 REINFORCE 算法中,目标函数的梯度中有一项轨迹回报,来指导策略的更新。而值函数的概念正是基于期望回报,我们能不能考虑拟合一个值函数来指导策略进行学习呢?这正是 Actor-Critic 算法所做的。让我们先回顾一下策略梯度的形式,在策略梯度中,我们可以把梯度写成下面这个形式:
g = E [ ∑ t = 0 ∞ ψ t ∇ θ log ⁡ π θ ( a t ∣ s t ) ] g=\mathbb{E}\left[\sum_{t=0}^{\infty} \psi_{t} \nabla_{\theta} \log \pi_{\theta}\left(a_{t} \mid s_{t}\right)\right] g=E[t=0ψtθlogπθ(atst)]
其中 ψ t \psi_{t} ψt 可以有很多种形式:

  1. ∑ t = 0 ∞ γ t r t ′ \sum_{t=0}^{\infty} \gamma^{t} r_{t^{\prime}} t=0γtrt : 轨迹的总回报 $\quad
  2. ∑ t ′ = t ∞ γ t ′ − t r t ′ \sum_{t^{\prime}=t}^{\infty} \gamma^{t^{\prime}-t} r_{t^{\prime}} t=tγttrt : 动作 a t a_{t} at 之后的回报
  3. ∑ t ′ = t ∞ r t ′ − b ( s t ) \sum_{t^{\prime}=t}^{\infty} r_{t^{\prime}}-b\left(s_{t}\right) t=trtb(st) : 基准线版本的改进
  4. Q π θ ( s t , a t ) : Q^{\pi_{\theta}}\left(s_{t}, a_{t}\right): Qπθ(st,at): 动作价值函数
  5. $ \cdot A^{\pi_{\theta}}\left(s_{t}, a_{t}\right)
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/644315
推荐阅读
相关标签