目录
Deep Deterministic Policy Gradient
Multi-agent Deep Deterministic Policy Gradient
本文主要关注于强化学习中基于策略梯度的方法。首先会简要介绍什么是策略梯度,什么是Actor-Critic算法,以及DPG算法,之后会重点讲述DDPG(Deep Deterministic Policy Gradient)算法,以及DDPG的多智能体版本:MADDG(Multi-agent Deep Deterministic Policy Gradient)。
策略梯度(Policy Gradient)
与基于策略梯度(Policy Based)的方法相对应的,是基于动作价值函数(Value Based)的方法。我们熟悉的DQN(Deep Q Learning)就是典型的基于动作价值函数的强化学习方法。它们都是先学习动作价值函数,然后根据估计的动作价值函数来选择动作,如果没有这个动作价值函数,那么策略也不会存在。但是Value Based的方法也存在一些问题,首先,Value Based的方法很难处理连续动作的问题,因为Value Based的方法是根据动作价值函数q(s,a),寻找能使得q最大的a,如果a是一个连续空间下的动作,这个问题就会很难处理。另外,Value Based的方法也很难输出一个随机策略,因为我们最后选择动作是去选择q(s,a)最大的,而不是基于一个a的概率,因此,我们期望能有一种方法,可以不经过价值函数,直接输出动作的概率,这就是Policy Based的方法。
如上所述,我们要学习的策略,可以形式化地表达为,也就是在t时刻,状态s下选择a动作的概率。我们讨论的策略参数θ的学习方法都是基于某种性能度量J(θ)的梯度,这些梯度是度量J(θ)对策略参数的梯度,我们的目标是最大化性能指标,所以它们的更新近似于J的梯度上升。
所有符合这个框架的方法都称为策略梯度法,不管它们是否还同时学习一个近似的价值函数。
我们基于策略梯度定理 来对参数进行优化。
有了对参数的优化方法,下面的问题就是这个策略函数具体应当是怎样的。我们可以简单看一下,在离散的情况下,策略梯度函数是怎样的。我们可以根据一个指数柔性最大化分布
选择。在这里h可以是任意的函数,它既可以是一个复杂的神经网络,也可以是一个简单的线性组合。在这里,我提一个问题,连续性的动作,我们是怎么基于
来进行策略选择的?粗看这个公式,它输出的是在特定环境下,某个动作a出现的概率,这看起来好像和Q(s,a)没有啥区别,面对无限的连续空间,我们依然找不到那个最大的概率,那我们是怎么选择动作的呢?
想要进一步了解策略梯度算法的可以去学习REINFORCE蒙特卡洛策略梯度算法。
我们对策略梯度的基本内容介绍到此为止,接下来我们看一种同时学习策略和价值函数的方法——Actor-Critic
行动器-评判器方法(Actor-Critic)
基于策略梯度的算法,比如蒙特卡洛策略梯度算法,都是基于回合更新的,学习比较缓慢,因此我们考虑使用时序差分的方法来消除这些不便。因此,我们可以考虑用一个Actor(继承策略梯度的方法)来学习策略,和一个Critic(继承Value based)的方法来实现单步更新,Critic就是在做对策略的评估,也就是。基于这种想法,策略梯度的更新公式如下所示

最低0.47元/天 解锁文章
850





