《Deterministic Policy Gradient Algorithms》阅读笔记(or 翻译)

阅读笔记(or 翻译)

Posted by LCY on December 25, 2018

《Deterministic Policy Gradient Algorithms》阅读笔记(or 翻译)

原论文&附录

Deterministic Policy Gradient Algorithms Deterministic Policy Gradient Algorithms: Supplementary Materia(论文附录)

论文摘要(Abstract)

在本文中,我们考虑确定性策略梯度(Deterministic Policy Gradient)算法,用于连续行动的强化学习。确定性策略梯度具有特别吸引人的形式:它是动作 - 值函数的预期梯度。这种简单的形式意味着可以它可以比通常的随机政策梯度具有更有效率的估计。为了确保充分的探索,我们引入了一种离线(off-policy)actor-critic算法,该算法从探索性行为策略中学习确定性目标策略。我们证明了确定性策略梯度算法在高维动作空间中可以显着优于其随机对应部分。

简介(Introduction)

随机策略梯度算法广泛用于具有连续动作空间的强化学习问题。基本思想是通过在当前状态 , 根据参数向量 来随机的选取动作 ,来确定一个策略 。在这篇论文中,我们令确定性策略

以前认为,确定性梯度策略不存在或只model-base的情况才会存在[Peters, J. (2010). Policy gradient methods.Scholarpedia, 5(11):3698]。然而在这篇论文中,作者指出确定性梯度策略确实存在,并且它具有简单的遵循动作-值函数梯度的无模形式(model-free ),确定性梯度策略是策略差异趋向于0的随机梯度策略的特殊情况。

从实践的角度来看,随机策略和确定性策略梯度之间存在着至关重要的差异。在随机情况下,策略梯度在状态和动作空间上进行整合,而在确定性情况下,它仅在状态空间上进行整合。计算随机策略梯度可能需要更多样本,特别是在动作空间有许多维度的情况下。

背景知识(background)

增强学习是在时间序列上针对不同state选取action的过程,我们将之建模为马尔科夫过程(MDP),该过程包含:状态空间 ,动作空间 ,初始状态分布(概率密度函数) ,动态转移概率 (该概率满足马尔科夫的属性 ),评价函数

的概率集合, 为一组 维向量,则选取action的策略为 是当前策略转移到 的条件概率。agent用自己的策略与环境交互,产生状态-动作-奖励的MDP过程: ,其中 是从 往前的总折扣奖励,即,当 时, 。而预期总奖励为 。agent的目标为获取一个策略,使累积奖励最大化。目标函数为

从状态 经过 时间过度到状态 的概率密度为 。状态分布为 。把目标函数写作期望的话:

随机策略梯度定理(Stochastic Policy Gradient Theorem)

下面的推导主要依赖于 这一性质。

综上,尽管状态分布 依赖于策略的参数,策略梯度却不依赖与状态分布的梯度。

随机actor-critic算法(Stochastic Actor-Critic Algorithms)*

基于梯度策略理论的actor-critic算法是一个被广泛使用的框架(Sutton et al., 1999; Peters et al.,2005; Bhatnagar et al., 2007; Degris et al., 2012a)。该框架主要由两部分组成,actor通过随机梯度上升用来更新随机策略 的参数 。虽然我们不知道公式中的真实action-value对应关系的函数 ,但是我们使用参数 创建近似的价值函数 ,通过合适的策略计算算法,可以尽量令

通常来说,用 来逼近 会引入偏差,为了消除偏差,应满足:

  1. (对于随机策略的函数逼近为线性)
  2. 参数 ,应该最小化均方误差

那么我们的策略梯度为:

在实践中,放宽条件2,更有利于算法通过时间差分学习到更有效的评估函数。如果条件1,2全部满足的话,整个算法相当于不需要使用critic。

离线actor-critic学习(Off-Policy Actor-Critic)*

从轨迹中不同的策略行为 ,离线估计策略梯度是很常用的方法。在离线环境下,评估目标通常修改为目标策略的价值函数。

梯度约为

离线actor-critic算法(OffPAC)使用行为策略(behaviour policy) 来生成轨迹。critic是一个状态-价值的函数 。actor用来更新策略的参数 ,actor和critc都是通过离线的轨迹数据进行训练。和公式中 不同的是,我们使用时间差分误差 ,这样可以提供真实梯度的近似值。可以使用 这一比率判断action到底是根据策略 还是

##

确定性策略梯度(Gradients of Deterministic Policies)

现在考虑如何将策略梯度框架扩展到确定性策略。类似于前面部分提出的随机政策梯度定理。确定性策略梯度实际上是随机策略梯度的一个特例。

动作-值函数梯度(Action-Value Gradients)

大多数model-free强化学习都是基于一般的策略迭代:策略评估和策略更新交错进行(Sutton and Barto, 1998)。策略评估是通过蒙特卡洛或时间差分算法产生数据,拟合 ,最常见的算法是采用贪心算法,最大化动作-值函数:

但是在动作空间连续的情况下,贪心算法需要在每一步都最大化,就产生了问题。一个简单的替代方案是将策略往 的梯度方向移动,而不是全局最大化 。具体来说,对于每一个探索过的状态 ,策略网络的参数 的一定比例来更新。每个不同的状态,都提供了一个更新的方向,所有方向的均值,可以看作

策略更新可以分解为动作-值函数的梯度和评估策略的梯度更新

按照惯例, 是一个雅可比矩阵,也就是说,每一列都是梯度 是动作空间的维度)。通过改变策略,不同的状态都会被探索,并且状态分布 也会被改变。

确定性策略梯度定理(Deterministic Policy Gradient Theorem)

现在考虑带有参数向量 确定性策略 。定义目标函数为 ,定义概率分布 ,折扣状态分布 ,将目标函数写为期望:

定理1(Deterministic Policy Gradient Theorem)

如果MDP过程满足 ,在参数 , , , 下都是连续的,那么意味着 存在且确定性策略梯度存在。那么:

证明

如果MDP满足 ,在参数 , , , 下都是连续的,那么 对于 都是连续的。对于任意 ,状态空间 是紧凑的,因此 都是 的有界函数。

迭代这一过程消去 :

整个推导过程中,有几块运用到了梯度的链式法则:

因此,我们有:

确定性策略是随机策略梯度的特殊情况

我们把随机策略 用确定策略 和方差 来代替,当 时, ,随机策略等同于确定性策略。

(下箭头是指 单调递减收敛于0)

证明*

// TODO

(http://proceedings.mlr.press/v32/silver14-supp.pdf)

确定性actor-critic算法(Deterministic Actor-Critic Algorithms)

在线确定性actor-critic(On-Policy Deterministic Actor-Critic)

critic用来评估动作-值函数,actor根据动作-值函数进行梯度上升。actor根据以下公式调整参数

与随机策略梯度一样,我们用可微分的动作-值函数 来代替真实的动作-值函数 。critic的作用就是采用适当的迭代算法使 。例如,采用Sarsa更新的话:

离线确定性策略(Off-Policy Deterministic Actor-Critic)

现在考虑离线策略, 从一系列轨迹数据中学习。我们的目标函数为:

梯度为:

同样的,用可微分的动作-值函数 来代替真实的动作-值函数 。离线学习通过 产生轨迹数据。下面是ciritc通过Q-learning的学习策略进行更新:

Compatible Function Approximation

用近似的 代替真实情况,不一定代表策略梯度是真实情况的梯度。

如果近似函数 兼容,那么满足以下两个条件:

  • y应最小化均方误差 ,其中,
证明*

如果 最小化 MSE,那么 的梯度一定是0。根据条件1,

//TODO: