赞
踩
文章转于 伯禹学习平台-动手学强化学习 (强推)
本文所有代码均可在jupyter notebook运行
与君共勉,一起学习。
更多Ai资讯:公主号AiCharm
在之前的内容中,我们学习了基于值函数的方法(DQN)和基于策略的方法(REINFORCE),其中基于值函数的方法只学习一个价值函数,而基于策略的方法只学习一个策略函数。那么一个很自然的问题,有没有什么方法既学习价值函数,又学习策略函数呢?答案就是 Actor-Critic。Actor-Critic 是一系列算法,目前前沿的很多高效算法都属于 Actor-Critic 算法,今天我们将会介绍一种最简单的 Actor-Critic 算法。需要明确的是,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πθ(at∣st)]
其中
ψ
t
\psi_{t}
ψt 可以有很多种形式:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。