Add files via upload

This commit is contained in:
Yiyuan Yang
2022-11-21 21:44:54 +08:00
committed by GitHub
parent ec28635307
commit e03c52ec6f
2 changed files with 132 additions and 69 deletions

View File

@@ -1,105 +1,168 @@
## Scalable trust-region method for deep reinforcement learning using Kronecker-factored approximation
learning using Kronecker-factored approximation
## 使用 Kronecker 因子近似法的深度强化学习的可扩展信任区域方法
作者Yuhuai Wu, Elman Mansimov, Roger B. Grosse, Shun Liao, Jimmy Ba
作者单位University of Toronto Vector InstituteNew York University
论文发表来源Advances in Neural Information Processing Systems 30 (NIPS 2017)
论文发表时间2017
论文查看网址https://proceedings.neurips.cc/paper/2017/hash/361440528766bbaaaa1901845cf4152b-Abstract.html
论文贡献本文扩展了自然政策梯度的框架提出使用Kronecker因子近似曲率K-FAC与信任域来优化actor和critic作者称该方法为使用Kronecker因子信任域的actor-criticACKTR。作者认为这是第一个用于actor-critic方法的可扩展信任域自然梯度方法。该方法可以学习连续控制中的非平凡任务也直接从原始像素输入中学习离散控制策略。作者在Atari游戏的离散领域以及MuJoCo环境的连续领域中测试了该方法。与以前SOTA的actor-critic方法相比本文的方法获得了更高的奖励采样效率平均提高2-3倍。
论文贡献:本文扩展了自然政策梯度的框架,提出使用 Kronecker 因子近似曲率K-FAC与信任域来优化 actor 和 critic作者称该方法为使用 Kronecker 因子信任域的actor-criticACKTR。作者认为这是第一个用于 actor-critic 方法的可扩展信任域自然梯度方法。该方法可以学习连续控制中的非平凡任务,也直接从原始像素输入中学习离散控制策略。作者在 Atari 游戏的离散领域以及 MuJoCo 环境的连续领域中测试了该方法。与以前 SOTA 的 actor-critic 方法相比,本文的方法获得了更高的奖励,采样效率平均提高 2-3 倍。
论文代码库https://github.com/openai/baselines
### Motivation(Why)
深度RL方法使用随机梯度下降(SGD)来训练控制策略。SGD和相关的一阶方法对空间的探索效率不高交互时间比较长。自然梯度使用基于曲面的Fisher指标来做为度量梯度的最陡下降方向的指标。自然策略梯度难以精确计算梯度需要对Fisher信息矩阵求逆。TRPO通过使用Fisher向量积避免了显示存储和对Fisher矩阵求逆。但是获取一步参数更新需要求多步共轭梯度准确估计梯度需要每批都有大量样本。因此TRPO不适用于大模型且样本效率很低。
Kronecker因子近似曲率(K-FAC)是一种可扩展的自然梯度近似。在监督学习中它用更大的mini-batch能加速各种最新的大规模神经网络的训练。与TRPO不同的是每次更新成本与SGD相当保持了曲率信息均值允许使用小批量样本。由此表明将K-FAC用于策略优化可以提高当前DRL方法的样本效率
1. 深度强化学习方法使用随机梯度下降 (SGD) 来训练控制策略。SGD 和相关的一阶方法对空间的探索效率不高,交互时间比较长
2. 采样效率是强化学习的关注点之一,减小样本大小对于梯度更新是更高级的优化技术。
3. 自然梯度使用基于曲面的 Fisher 指标来做为度量梯度最陡下降方向的指标。自然策略梯度难以精确计算梯度,需要对 Fisher 信息矩阵求逆。TRPO 通过使用 Fisher 向量积避免了显示存储和对 Fisher 矩阵求逆。但是获取一步参数更新需要求多步共轭梯度,准确估计梯度需要每批都有大量数据样本。因此 TRPO 不适用于大模型,且样本效率很低。
4. Kronecker 因子近似曲率 (K-FAC) 是一种可扩展的自然梯度近似。在监督学习中,使用更大的 mini-batch 能加速各种最先进的大规模神经网络的训练。与 TRPO 不同的是,每次更新成本与 SGD 相当,保持了曲率信息的均值,允许使用小批量样本。由此表明,将 K-FAC 用于策略优化可以提高当前深度强化学习方法的样本效率。
### Main idea(What)
本文介绍了一种使用Kronecker因子信任域方法的actor-critic方法(ACKTR)。该方法是针对actor-critic的可扩展信任域优化算法。该方法使用自然策略梯度的Kronecker因子使得梯度的协方差矩阵能有效求逆。本文首次通过高斯-牛顿近似扩展自然策略梯度算法来优化值函数。
本文介绍了一种使用 Kronecker 因子信任域方法的 actor-critic 方法 (ACKTR)。该方法是针对 actor-critic 的可扩展信任域优化算法。该方法使用自然策略梯度的 Kronecker 因子,使得梯度的协方差矩阵能有效求逆。本文首次通过高斯-牛顿近似,扩展自然策略梯度算法来优化值函数。
### How
#### 1.背景知识
##### 1.1 强化学习和actor-critic方法
我们考虑一个与无限视界贴现马尔科夫决策过程互动的agent为一个五元组 $(X, A, \gamma, P, r)$。agent的目标是最大化策略参数为$\theta$的折扣累积回报的期望$J(\theta)$。策略梯度方法直接参数化策略$\pi_{\theta}(a \mid s_{t}$,更新$\theta$以最大化目标$J(\theta)$。策略梯度的一般形式定义为:
我们考虑一个与无限视界贴现马尔科夫决策过程互动的 智能体为一个五元组 $(X, A, \gamma, P, r)$。智能体的目标是最大化策略参数为 $\theta$ 的折扣累积回报的期望 $J(\theta)$。策略梯度方法直接参数化策略 $\pi_{\theta}(a \mid s_{t})$,更新 $\theta$ 以最大化目标 $J(\theta)$。策略梯度的一般形式定义为:
![插入图片](img/ACKTR-1-1.png)
其中$\psi^{t}$通常选用为优势函数$A^{\pi}(s_{t},a_{t})$。本文参考异步优势actor-critic(A3C)方法来定义优势函数如下:
其中 $\psi^{t}$ 通常选用为优势函数 $A^{\pi}(s_{t},a_{t})$。本文参考异步优势 actor-critic(A3C) 方法来定义优势函数如下:
![插入图片](img/ACKTR-1-2.png)
其中 $V^{\pi}_{\phi}(s_{t})$是值网络,$V^{\pi}_{t}(s_{t})=E_{\pi}[R_{t}]$。为值网络的参数本文通过更新TD来最小化自举 $k$ 步回报 $\hat{R}_{t}$ 和预测值之间的平方差,$\frac {1}{2}\left \| \hat{r}_{t} - V^{\pi}_{\phi}(s_{t}) \right \|^{2}$.
其中 $V^{\pi}_{\phi}(s_{t})$ 是值网络,$V^{\pi}_{t}(s_{t})=E_{\pi}[R_{t}]$。为值网络的参数,本文通过更新 TD ,来最小化自举 $k$ 步回报 $\hat{R}_{t}$ 和预测值之间的平方差,$\frac {1}{2}\left\|\hat{r}_{t} - V^{\pi}_{\phi}(s_{t})\right \|^{2}$.
##### 1.2 使用Kronecker因子近似的自然梯度
为了最小化非凸函数$J(\theta)$,用最陡下降法计算更新 $\nabla \theta$,最小化 $J(\theta + \nabla \theta)$。然而欧氏范数的变取决于参数 $\theta$这是不合适的因为模型的参数化是一个任意选择不应该影响优化轨迹。自然梯度法利用Fisher信息矩阵$F$构造范数-KL散度的局部二次逼近。该范数独立于概率分布类上的模型参数 $\theta$提供了更稳定更有效的更新。但是由于神经网络可能包含数百网格参数计算和存储精确的Fisher矩阵及其逆是不切实际的因此需要借助近似值。
Knonecker因子近似曲率技术使用Knonecker因子近似能对Fisher矩阵的执行有效的近似自然梯度更新。细节看如下原文:
为了最小化非凸函数 $J(\theta)$,用最陡下降法计算更新 $\nabla \theta$,最小化 $J(\theta + \nabla \theta)$。然而欧氏范数的变化取决于参数 $\theta$,这是不合适的;因为模型的参数化是一个任意选择,不应该影响优化轨迹。自然梯度法利用 Fisher 信息矩阵 $F$ 构造范数- KL 散度的局部二次近似。该范数独立于概率分布类上的模型参数 $\theta$,提供了更稳定更有效的更新。但是由于神经网络可能包含数百万个参数,计算和存储精确的 Fisher 矩阵及其逆是不切实际的,因此需要借助近似值。Knonecker 因子近似曲率技术使用 Knonecker 因子近似能对 Fisher 矩阵的执行有效的近似自然梯度更新。细节看如下原文:
![插入图片](img/ACKTR-1-3.png)
这种近似可以解释为假设激活和反向传播导数的二阶统计量是不相关的。有了这个近似,自然梯度更新可以有效计算。
K-FAC近似自然梯度更新只需要对与w大小相当的矩阵进行计算。也有研究将K-FAC算法扩展到卷积网络及分布式网络分布式K-FAC在训练大型现代分类卷积网络时速度提高了2-3倍。
这种近似可以解释为假设激活和反向传播导数的二阶统计量是不相关的。有了这个近似,自然梯度更新可以有效计算。K-FAC 近似自然梯度更新只需要对与 $W$ 大小相当的矩阵进行计算。也有研究将 K-FAC 算法扩展到卷积网络及分布式网络,分布式 K-FAC 在训练大型现代分类卷积网络时速度提高了 2-3 倍。
#### 2. 方法
##### 2.1 actor-critic中的自然梯度
为了定义强化学习目标的Fisher度量本文使用策略函数定义了给定当前状态下的动作分布并在轨迹分布上取期望:
##### 2.1 actor-critic 中的自然梯度
为了定义强化学习目标的 Fisher 度量,本文使用策略函数,定义了给定当前状态下的动作分布,并在轨迹分布上取期望:
![插入图片](img/ACKTR-2-1.png)
描述一种应用自然梯度来优化critic的方法。学习critic可以被认为是一个最小二乘函数近问题,尽管这个问题的目标是移动的。在最小二乘函数逼近中,常用高斯-牛顿法它将曲率近似高斯-牛顿矩阵 $G:=E[J^{T}J]$ ,其中 $J$ 是映射参数到输出的Jacobian矩阵。高斯-牛顿矩阵等价于高斯观测模型的Fisher矩阵。这种等价性使得我们可将K-FAC也应用到critic上。假设critic $v$Fisher矩阵被定义为高斯分布$p(v\mid s_{t})\sim N(v;V(s_{t},\sigma^{2}))$。criticFisher矩阵是根据这个高斯输出分布定义的。 $\sigma$ 设为1这就是普通高斯-牛顿法。
如果actor和critic是分离的可用上面定义的指标分别应用K-FAC更新。我们可以通过假设两个输出分布的独立性来定义策略和价值分布的联合分布即 $p(a,v\mid s)=\pi(a\mid s)p(v\mid s)$ ,并构建关于 $p(a,v\mid s)$ 的Fisher度量。它与标准的K-FAC没有区别只是我们需要独立对网络输出进行采样。然后我们可应用K-FAC近似Fisher矩阵 $E_{p(\tau)}[\nabla log p(a,v|s)\nabla log p(a,v|s)^{T}]$,来进行同步更新。
此外作者还采用正则化技术。作者执行Knonecker近似所需的二阶统计量和逆的异步计算以减少计算时间
本文描述一种应用自然梯度来优化 critic 的方法。学习 critic 可以被认为是一个最小二乘函数近问题,尽管这个问题的目标是移动的。在最小二乘函数近似中常用高斯-牛顿法它将曲率近似高斯-牛顿矩阵 $G:=E[J^{T}J]$ ,其中 $J$ 是映射参数到输出的 Jacobian 矩阵。高斯-牛顿矩阵等价于高斯观测模型的 Fisher 矩阵。这种等价性使得我们可将 K-FAC 也应用到 critic 上。假设 critic $v$Fisher 矩阵被定义为高斯分布 $p(v\mid s_{t})\sim N(v;V(s_{t},\sigma^{2}))$。criticFisher 矩阵是根据这个高斯输出分布定义的。 $\sigma$ 设为 1这就是普通高斯-牛顿法。
如果 actor 和 critic 是分离的,可用上面定义的指标分别应用 K-FAC 更新。我们可以通过假设两个输出分布的独立性来定义策略分布和价值分布的联合分布,即 $p(a,v\mid s)=\pi(a\mid s)p(v\mid s)$ ,并构建关于 $p(a,v\mid s)$ 的 Fisher 度量。它与标准的 K-FAC 没有区别,只是我们需要独立对网络输出进行采样。然后我们可应用 K-FAC 近似 Fisher 矩阵 $E_{p(\tau)}[\nabla log p(a,v|s)\nabla log p(a,v|s)^{T}]$,来进行同步更新
此外,作者还采用正则化技术。作者执行 Knonecker 近似所需的二阶统计量和逆的异步计算,以减少计算时间。
##### 2.2 步长选择和信任域优化
采用传统的自然梯度更新会导致算法过早收敛到一个接近确定性的策略。本文采用K-FAC的信任域公式选择有效步长 $\eta$ 为
采用传统的自然梯度更新会导致算法过早收敛到一个接近确定性的策略。本文采用 K-FAC 的信任域公式,选择有效步长 $\eta$ 为
$$min(\eta_{max}, \sqrt{\frac{2\delta}{\nabla \theta^{T}\hat{F}\nabla \theta}})$$
其中学习率 $\eta$ 和信任域半径 $\delta$ 是超参数。如果actior和critic是分离的这两个参数需要分别调参。
其中学习率 $\eta$ 和信任域半径 $\delta$ 是超参数。如果 actior 和 critic 是分离的,这两个参数需要分别调参。
#### 3. 相关工作
自然梯度[1]由Kakade[10]首次应用于策略梯度方法。Bagnell和Schneider[3]进一步证明[10]中定义的度量是由路径分布流形推导出的协方差度量。Peters和Schaal[19]随后将自然梯度应用到actor-critic算法中。他们提出对actor的更新执行自然政策梯度对critic的更新使用最小二乘时间差分(LSTD)方法。
然而在应用自然梯度法时有效存储Fisher矩阵和计算其逆存在着巨大的计算挑战。以前的工作限制了该方法使用兼容函数逼近器(线性函数逼近器)。为了避免计算负担,信任域策略优化(TRPO)[21]近似求解线性系统使用共轭梯度和快速Fisher矩阵-向量乘积类似于Martens[13]的工作。这种方法有两个主要缺点。首先它需要重复计算Fisher向量积不利于扩展到更大的架构即用于从Atari和MuJoCo的图像观察中学习的实验。其次它需要大量的rollout以便准确估计曲率
自然梯度[1]由Kakade[10]首次应用于策略梯度方法。Bagnell 和 Schneider[3]进一步证明[10]中定义的度量是由路径分布流形推导出的协方差度量。Peters 和 Schaal[19]随后将自然梯度应用到 actor-critic 算法中。他们提出对 actor 的更新执行自然政策梯度,对 critic 的更新使用最小二乘时间差分 (LSTD) 方法
K-FAC通过使用易于处理的Fisher矩阵近似和在训练过程中保持曲率统计数据的运行平均值来避免这两个问题。尽管TRPO显示出比使用Adam[11]等一阶优化器训练的策略梯度方法更好的每次迭代进展,但它的样本效率通常较低
然而,在应用自然梯度法时,有效存储 Fisher 矩阵和计算其逆存在着巨大的计算挑战。以前的工作限制了该方法使用兼容函数逼近器(线性函数逼近器)。为了避免计算负担,信任域策略优化 (TRPO)[21] 近似求解线性系统,使用共轭梯度和快速 Fisher 矩阵-向量乘积,类似于 Martens[13] 的工作。这种方法有两个主要缺点。首先,它需要重复计算 Fisher 向量积,不利于扩展到更大的架构,即用于从 Atari 和 MuJoCo 的图像观察中学习的实验。其次,它需要大量的短轨迹(rollout),以便准确估计曲率
几种提高TRPO计算效率的方法被陆续提出。为了避免重复计算Fisher向量乘积Wang等人[27]用策略网和当前策略网的运行平均值之间的KL散度的线性近似来解决约束优化问题。Heess等[8]和Schulman等[23]在目标函数中添加KL代价作为软约束而不是信任域优化器施加的硬约束。在连续和离散控制任务的样本效率方面这两篇论文都显示了对普通策略梯度的一些改进
K-FAC 通过使用易于处理的 Fisher 矩阵近似和在训练过程中保持曲率统计数据的运行平均值来避免这两个问题。尽管 TRPO 显示出比使用 Adam[11] 等一阶优化器训练的策略梯度方法更好的每次迭代进展,但它的样本效率通常较低
几种提高 TRPO 计算效率的方法被陆续提出。为了避免重复计算 Fisher 向量乘积Wang 等人[27]用策略网和当前策略网的运行平均值之间的KL散度的线性近似来解决约束优化问题。Heess 等[8]和 Schulman 等[23]在目标函数中添加 KL 代价作为软约束,而不是信任域优化器施加的硬约束。在连续和离散控制任务的样本效率方面,这两篇论文都显示了对普通策略梯度的一些改进。
最近还引入了其他 actor-critic 模型,通过引入经验重放[27]、[7]或辅助目标[9]来提高样本效率。这些方法与本文的工作是正交的,可以与 ACKTR 结合,进一步提高样本效率。
最近还引入了其他actor-critic模型通过引入经验重放[27]、[7]或辅助目标[9]来提高样本效率。这些方法与本文的工作是正交的可以与ACKTR结合进一步提高样本效率。
#### 4. 实验
本文进行了一系列实验来研究以下问题:
(1)在样本效率和计算效率方面ACKTR与最先进的on-policy方法和常用的二阶优化器基线相比如何?
(1)在样本效率和计算效率方面ACKTR 与最先进的 on-policy 方法和常用的二阶优化器基线相比如何?
(2)什么是更好的临界优化范数?
(3)与一阶方法相比ACKTR随批量规模缩放的性能如何?
作者在两个标准基准测试平台上评估了提出的方法ACKTR。
(3)与一阶方法相比ACKTR 随 batch size 缩放的性能如何?
作者在两个标准基准测试平台上评估了提出的方法 ACKTR。作者采用Open AI Gym 中的任务环境做为评估基准。离散控制任务用 Atari2600 游戏模拟器做为评估基准;连续控制任务用 MuJoCo 物理引擎做为评估基准。进行对比的基线算法是 A2C 和 TRPO。ACKTR和基线算法采用相同的模型架构除了 Atari 游戏上的 TRPO 基线,由于运行共轭梯度内循环的计算负担,作者只能使用更小的架构。
##### 4.1 离散控制
经过1000万时间步训练的6款Atari游戏的结果如图1所示并与A2C和TRPO2进行比较。在所有游戏中ACKTR在样本效率(即每时间步数的收敛速度)方面显著优于A2C。我们发现TRPO只能在1000万时间步内学习两款游戏即《Seaquest》和《Pong》并且在样本效率方面表现不如A2C。
经过 1000 万时间步(1时间步等于4帧)训练的 6 款 Atari 游戏的结果如图 1 所示,阴影区域表示 2 个随机种子的标准差。与 A2C 和 TRPO2 相比较在所有游戏中ACKTR 在样本效率(即每时间步数的收敛速度)方面显著优于 A2C。作者发现 TRPO 只能在 1000 万时间步内学习两款游戏即《Seaquest》和《Pong》并且在样本效率方面表现不如A2C。
![插入图片](img/ACKTR-1.png)
1是在六款Atari 2600游戏上对离散控制任务的实验评估数据。
1 是在六款 Atari 2600 游戏上对离散控制任务的实验评估数据。ACKTR 和 A2C 结果显示在 5000 万时间步后获得的最后 100 个平均回合奖励,以及在 1000 万时间步后获得的 TRPO 结果。表格中还显示了第 $N$ 个回合,其中 $N$ 表示第 $N$ 到第 $(N + 100)$ 个游戏的平均奖励超过人类表现水平[16]的第 1 回合,平均超过 2 个随机种子。在《Beamrider》、《Breakout》、《Pong》和《Q-bert》等游戏中A2C 需要比 ACKTR 多2.7、3.5、5.3 和 3.0 倍的回合才能达到人类的表现。此外在《太空入侵者》中A2C的运行结果不如人类的表现而 ACKTR 的平均成绩是 19723是人类表现(1652)的 12倍。在《Breakout》、《Q-bert》和《Beamrider》中ACKTR 获得的回合奖励分别比 A2C高出 26%、35% 和 67%。
作者还在 Atari 的其他游戏中评估了 ACKTR完整结果见原文附录。作者将 ACKTR 与 Q-learning 方法进行了比较,发现在 44 个基准中有 36 个ACKTR 在样本效率方面与 Q-learning 方法相当,并且消耗的计算时间大大减少。
![插入图片](img/ACKTR-2-2.png)
如图 2 所示在《亚特兰蒂斯》游戏中ACKTR 很快就学会了在 1.3 小时( 600 集)内获得 200 万的奖励。A2C 花了 10 个小时( 6000 集) 才达到同样的性能水平。
![插入图片](img/ACKTR-2.png)
##### 4.2 连续控制
作者在MuJoCo[中进行连续控制任务的模拟。由于高维动作空间和探索连续控制任务有时更具挑战性。经过100万个时间步训练的8个MuJoCo环境的结果如图3所示。本文的模型在8个MuJoCo任务中的6个任务上显著优于基线在其他两个任务(Walker2d和Swimmer)上与A2C具有竞争力。
作者在 MuJoCo 中进行连续控制任务的模拟。由于高维动作空间和探索,连续控制任务有时更具挑战性。经过 100 万个时间步训练的 8 个 MuJoCo 环境的结果如图 3 所示(阴影区域表示 3 个随机种子的标准差。)。本文的模型在 8 个 MuJoCo 任务中的 6 个任务上显著优于基线,在其他两个任务 (Walker2d 和 Swimmer) 上与 A2C 差不多。
![插入图片](img/ACKTR-2-3.png)
如表2所示ACKTR 在所有任务上更快地达到指定的阈值除了Swimmer, TRPO 的样本效率是 TRPO 的 4.1 倍。一个特别值得注意的例子是 Ant其中 ACKTR 的样本效率是 TRPO 的 16.4 倍。在平均奖励分数方面,除了 TRPO 在 Walker2d 环境下的奖励分数高出 10% 外,其他三种模型表现相当。
![插入图片](img/ACKTR-2-4.png)
作者还尝试直接从像素来学习连续控制策略。从像素学习连续控制策略比从状态空间学习更具挑战性,部分原因是与 Atari 相比渲染时间较慢(MuJoCo为0.5秒Atari为0.002秒)。最先进的 actor-critic 方法 A3C[17]只报告了相对简单任务的像素结果,如 Pendulum、 Pointmass2D 和 Gripper。如图4所示。可以看到在经过 4000 万时间步训练后ACKTR模型在最终回合奖励方面明显优于 A2C。更具体地说在 Reacher、HalfCheetah 和 Walker2d 上,本文模型获得的最终奖励是 A2C 的 1.6 倍、2.8 倍和1.7 倍。
![插入图片](img/ACKTR-2-5.png)
从像素训练策略的视频: https: //www.youtube.com/watch?v=gtM87w1xGoM
预训练的模型权重https: //github.com/emansim/acktr。
##### 4.3 是一个优化critic的更好范式吗
之前的自然策略梯度方法只对actor应用自然梯度更新。本文作者还建议对critic应用自然梯度更新。区别只在于选用什么范式来对critic进行最快的梯度下降;即2.2节中定义的范式 $\left \| \cdot \right \| _{B}$。此处将ACKTR应用于actor并比较了使用一阶方法(即欧氏范数)和使用ACKTR(即高斯-牛顿定义的范数)进行临界优化。图5 (a)和(b)显示了连续控制任务《HalfCheetah》和雅达利游戏《Breakout》的结果。我们观察到无论我们使用哪种范式来优化critic与基线A2C相比对actor应用ACKTR会带来改进。
之前的自然策略梯度方法只对 actor 应用自然梯度更新,本文作者还建议对 critic 应用自然梯度更新。区别只在于选用什么范式来对 critic 进行最快的梯度下降;即2.2节中定义的范式 $\left \| \cdot \right \| _{B}$。此处将 ACKTR 应用于 actor并比较了使用一阶方法(即欧氏范数)和使用 ACKTR (即高斯-牛顿定义的范数)进行临界优化。图5 (a)和(b)显示了连续控制任务《HalfCheetah》和 Atari 游戏《Breakout》的结果。作者观察到无论使用哪种范式来优化 critic与基线 A2C 相比,对 actor 应用 ACKTR 都会带来改进。
![插入图片](img/ACKTR-3.png)
然而,使用高斯-牛顿范数优化critic所带来的改进在训练结束时的样本效率和情景奖励方面更为显著。此外,高斯-牛顿范数也有助于稳定训练,因为我们观察到在带有欧氏范数的随机种子上的结果有更大的差异。作者发现自适应高斯-牛顿算法并没有比普通的高斯-牛顿算法提供任何显著的改进。
然而,使用高斯-牛顿范数优化 critic 所带来的改进在训练结束时的样本效率和回合奖励方面更为显著。此外,高斯-牛顿范数也有助于稳定训练。作者发现自适应高斯-牛顿算法并没有比普通的高斯-牛顿算法提供任何显著的改进。
##### 4.4 ACKTR在挂钟时间上与A2C相比如何?
我们将ACKTR与基准A2C和TRPO进行了比较。表3显示了6款Atari游戏和8个MuJoCo(来自状态空间)环境下的平均每秒时间步数。
作者将 ACKTR 与基准 A2C 和 TRPO 进行了比较。表 3 显示了 6 个 Atari 游戏和 8 个 MuJoCo (来自状态空间)环境下的平均每秒时间步数。所得结果与之前的实验设置相同。注意,在 MuJoCo 中,任务回合是按顺序处理的,而在 Atari 环境中,回合是并行处理的;因此更多的帧是在 Atari 环境中处理的。从表中我们可以看到, ACKTR 比 A2C 最多只增加 25% 的计算时间,证明了它的实用性和很大的优化效益。
![插入图片](img/ACKTR-3-1.png)
所得结果与之前的实验设置相同。注意在MuJoCo中任务片段是按顺序处理的而在Atari环境中片段是并行处理的;因此更多的帧是在Atari环境中处理的。从表中我们可以看到ACKTR每个时间步最多只增加25%的计算时间,证明了它的实用性和很大的优化效益。
##### 5.5 ACKTR和A2C在不同批处理大小下的表现如何?
我们比较ACKTR和基线A2C在不同批处理大小下的表现。我们试验了160和640的批次大小。图5 (c)显示了以时间步数表示的奖励。
作者比较了 ACKTR 和基线 A2C 在不同 batch size 下的表现。我们分别试验了 160 和 640 的 batch size。图 5 (c) 显示了以时间步数表示的奖励。
![插入图片](img/ACKTR-3.png)
我们发现批次大小较大的ACKTR与批次大小较小的ACKTR表现一样好。但是随着批量的增加A2C的样本效率下降明显。这与图5 (d)中的观察结果相对应在图5 (d)中我们根据更新次数绘制了训练曲线。我们发现与使用A2C相比使用更大批处理的ACKTR的好处大大增加。这表明在分布式设置中ACKTR有很大的加速潜力在这种情况下需要使用大的mini-batch
图五(a)和(b)比较了用高斯-牛顿范数(ACKTR)和欧氏范数(一阶)来优化 critic (值网络)。(c)和(d)比较不同 batch size 的 ACKTR 和 A2C
作者发现batch size 较大的 ACKTR 与 batch size 较小的 ACKTR 表现一样好。但是,随着 batch size 的增加A2C 的样本效率下降明显。这与图 5 (d) 中的观察结果相对应,在图 5 (d) 中,我们根据更新次数绘制了训练曲线。我们发现,与使用 A2C 相比,使用更大 batch size 的 ACKTR 的好处大大增加。这表明在分布式设置中ACKTR 有很大的加速潜力,在这种情况下,需要使用大的 mini-batch。
#### 5. 结论
本文提出了一个用于深度强化学习的样本效率高且计算成本低的信任域优化方法。作者使用一种称为K-FAC的技术来近似actor-critic方法的自然梯度更新并对稳定性进行信任域优化。本文第一个提出使用自然梯度更新优化actor-critic。作者在Atari游戏和MuJoCo环境中测试了ACKTR方法观察到与一阶梯度方法(A2C)和迭代二阶方法(TRPO)相比样本效率平均提高了2到3倍。由于本文算法的可扩展性该方法也是第一个直接从原始像素观测空间的连续控制中的训练几个非平凡任务的技术。
总结本文针对TRPO样本效率不高不易扩展的问题结合自然策略梯度kronecker因子近似技术提出了带有信任域的knonecker因子近似技术用于优化actor-critic方法。本文方法通过离散控制和连续控制实验表明,明显提高了样本效率和可扩展性
本文提出了一个用于深度强化学习的样本效率高且计算成本低的信任域优化方法。作者使用一种称为 K-FAC 的技术,对 actor-critic 方法近似自然梯度更新,并对稳定性进行信任域优化。本文第一个提出使用自然梯度更新来优化 actor-critic。作者在 Atari 游戏和MuJoCo 环境中测试了 ACKTR 方法,观察到与一阶梯度方法 (A2C) 和迭代二阶方法 (TRPO) 相比,样本效率平均提高了 2 到 3 倍。由于本文算法的可扩展性,该方法也是第一个直接从原始像素观测空间训练连续控制的几个非平凡任务的技术
#### 6. 个人简介
#### 个人总结
本文针对 TRPO 样本效率不高,不易扩展的问题,结合自然策略梯度 kronecker 因子近似技术,提出了带有信任域的 knonecker 因子近似技术,用于优化 actor-critic 方法。本文方法通过离散控制和连续控制实验表明,明显提高了样本效率和可扩展性。
汪莉娟:天津大学研究生,专业方向为控制科学与工程,主要研究方向为交通优化与智能控制。

View File

@@ -24,46 +24,46 @@
#### 1. 前提
将一个无限水平贴现马尔科夫决策过程(MDP)定义为一个元组 $<S,A,P,c,\rho_{0},\gamma>$ $S$ 是有限状态集,$A$ 是有限动作集,$P:S\times A\times S \to R$ 是转移概率分布,$c:S\to R$ 是代价函数,$\rho_{0}:S\to R$ 是初始状态 $s_{0}$ 的分布,$\gamma \in(0,1)$ 是折扣因子。
将一个无限水平贴现马尔科夫决策过程(MDP)定义为一个元组 $<S,A,P,c,\rho_{0},\gamma>$$S$ 是有限状态集,$A$ 是有限动作集,$P:S\times A\times S \to R$ 是转移概率分布,$c:S\to R$ 是代价函数,$\rho_{0}:S\to R$ 是初始状态 $s_{0}$ 的分布,$\gamma \in(0,1)$ 是折扣因子。
令 $\pi$ 表示随机策略 $\pi:S\times A \to [0,1]$,令 $\eta(\pi)$ 表示期望折扣代价,则有:
![在这里插入图片描述](img/TRPO-0.png#pic_center)
![图片描述](img/TRPO-0.png)
状态动作值函数 $Q_{\pi}$ ,值函数 $V_{\pi}$ ,优势函数 $A_{\pi}$ 标准定义如下:
![在这里插入图片描述](img/TRPO--0.png#pic_center)
![图片描述](img/TRPO--0.png)
则随着时间步的累积,根据 $\pi\$ 的优势表达了另一个策略 $\tilde{\pi}$ 的期望代价如公式(1):
![在这里插入图片描述](img/TRPO--1.png#pic_center)
![图片描述](img/TRPO--1.png)
令$\rho_{\pi}$为非归一化的折扣访问频率,则
![在这里插入图片描述](img/TRPO-2.png#pic_center)
![图片描述](img/TRPO-2.png)
将公式(1)重新排列为对状态求和,则有公式(2):
![在这里插入图片描述](img/TRPO--2.png#pic_center)
![图片描述](img/TRPO--2.png)
这个公式意味着对于任意策略更新 $\pi \to \tilde{\pi}$ 保证减少 $\eta$,或在期望优势处处为 $0$ 的情况下使其保持不变,$\tilde{\pi}$ 在每个状态 $s$ 都有一个非正的期望优势,即 $\sum_{a}\tilde{\pi}(a|s)A(\pi)(s,a)\le 0$。这意味着由精确策略迭代执行更新的经典结果。然而,在近似设置中,由于估计和近似误差,某些状态的预期优势为正通常是不可避免的,即 $\sum_{a}\tilde{\pi}(a|s)A(\pi)(s,a)\ge 0$。
$\rho_{\tilde{\pi}}$ 对 $\tilde{\pi}$ 的复杂依赖使得公式(2)难以直接优化。于是本文引入下面对 $\eta$ 的局部逼近:
![在这里插入图片描述](img/TRPO--3.png#pic_center)
![图片描述](img/TRPO--3.png)
然而,如果我们有一个参数化的策略 $\pi_{\theta}$ ,其中 $\pi_{\theta}(a|s)$ 是参数向量 $\theta$ 的可微函数,则 $L_{\pi}$ 对 $\eta$ 到一阶。那就是说,对于任意参数值 $\theta_{0}$,有
![在这里插入图片描述](img/trpo--4.png#pic_center)
![图片描述](img/TRPO--4.png)
公式(4)表明能改进 $L_{\pi_{old}}$ 的充分小一步更新 $\pi_{\theta_{0}}\to \tilde(\pi)$ 也能改进 $\eta$ ,但是我们无法知道这一步的大小如何。为解决该问题Kakade & Langford (2002)提出一种保守策略迭代的策略更新方案,为 $\eta$ 的改进提供了明确的下界。
为定义保守策略迭代更新,令 $\pi_{old}$ 表示当前策略,假设可解 $\pi'=argmin_{\pi'}L_{\pi_{old}}(\pi')$ 。新策略 $\pi_{new}$ 取为混合策略,如公式(5)
![在这里插入图片描述](img/trpo--5.png#pic_center)
![图片描述](img/TRPO--5.png)
Kakade and Langford证明了这个更新的下述结果
![在这里插入图片描述](img/TRPO--8.png#pic_center)
![图片描述](img/TRPO--8.png)
$\epsilon$是$\pi'$相对于$\pi$的最大优势(或正或负),等式(6)给出了更简单的界。这个界当$\alpha \ll 1$时有点弱。这个界只适用于等式(5)生成的混合策略。混合策略不适用于实际情况,对于所有一般随机策略需要一个实际的策略更新方案。
@@ -71,21 +71,21 @@ $\epsilon$是$\pi'$相对于$\pi$的最大优势(或正或负),等式(6)给出
公式(6)意味着改进公式右边就能保证改进真实的期望代价目标 $\eta$。本文的主要理论结果是,通过用 $\pi$ 和 $\tilde{\pi}$ 之间的距离度量来替换 $\alpha$,公式(6)中的策略改进边界可以扩展到一般的随机策略,而不是仅适合于混合策略。这一结果对于将改进保证扩展到实际问题是至关重要的。对于离散概率分布 $p,q$ ,定义两个策略之间的总变分散度为:
![在这里插入图片描述](img/TRPO--9.png#pic_center)
![图片描述](img/TRPO--9.png)
定理1.令 $\alpha=D^{max}_{TV}(\pi_{old},\pi_{new})$,令 $\epsilon=max_{s}\left | E_{a\sim\pi'(a|s)}[A_{\pi}(s,a)]\right |$,则公式(8)成立。证明在附录。
我们注意到变分散度和KL散度之间有这样的关系$D_{TV}(p||q)^2 \le D_{KL}(p||q)$。令 $D^{max}_{KL}(\pi, \tilde{\pi}) = max_{s}D_{KL}(\pi(\cdot|s))$,可从公式(8)直接推导出下面的界,即公式(10):
![在这里插入图片描述](img/TRPO--10.png#pic_center)
![图片描述](img/TRPO--10.png)
![在这里插入图片描述](img/TRPO-11.png#pic_center)
![图片描述](img/TRPO-11.png)
算法1描述了基于公式(10)中策略改进边界的近似策略迭代方法。注意,我们假设了优势值$A_{\pi}$ 的精确评估。
由公式(10)可知算法1保证生成一系列单调改进策略 $\eta(\pi_{0})\ge\eta(\pi_{1})\eta(\pi_{2})\ge ...$。令
![在这里插入图片描述](img/TRPO--11.png#pic_center)
![图片描述](img/TRPO--11.png)
通过每次迭代中最小化 $M_{i}$,我们可以保证真正的目标 $\eta$ 是不增加的。这个算法是一种majorization-minimization(MM)算法这是一类包括期望最大化的方法。在MM算法中$M_{i}$ 是代理函数,优化 $\eta$ 等于 $\pi_{i}$ 。该算法也联想到近端梯度法和镜像下降法。下一节中提出的信任域策略优化是算法1的近似算法1使用对KL发散的约束而不是惩罚来健壮的允许大的更新。
@@ -93,19 +93,19 @@ $\epsilon$是$\pi'$相对于$\pi$的最大优势(或正或负),等式(6)给出
本节讲述了在有限样本数和任意参数化的基础上,如何从理论基础得出一个应用算法。
因为我们用参数向量 $\theta$ 考虑了参数化策略 $\pi_{\theta}(a|s)$,因此我们用函数 $\theta$ 而不是 $\pi$ 重载以前的策略表示。优化目标为下式:
![在这里插入图片描述](img/TRPO-13.png#pic_center)
![图片描述](img/TRPO-13.png)
如果采用上式的惩罚系数 $C$ 步长会非常小以稳健方式采取更大步骤的一种方法是对新旧策略之间的KL散度使用约束即信任域约束如公式(12):
![在这里插入图片描述](img/TRPO--12.png#pic_center)
![图片描述](img/TRPO--12.png)
公式(12)强加了约束条件即KL散度在状态空间的每个点上都是有界的。本文使用一种考虑平均KL散度的启发式近似
![在这里插入图片描述](img/TRPO-12.png#pic_center)
![图片描述](img/TRPO-12.png)
由此将生成策略更新的优化问题变为公式(13):
![在这里插入图片描述](img/TRPO--13.png#pic_center)
![图片描述](img/TRPO--13.png)
类似的策略更新在以前的工作中已被提出,本文实验中也与以前的方法做了比较。实验表明,这种类型的约束更新与公式(12)中的最大KL散度约束具有相似的实验性能。
@@ -113,15 +113,15 @@ $\epsilon$是$\pi'$相对于$\pi$的最大优势(或正或负),等式(6)给出
本节描述了如何使用蒙特卡洛模拟逼近目标函数和约束函数。公式(13)通过扩展 $L_{\theta_{old}}$ 可有公式(14):
![在这里插入图片描述](img/TRPO-14.png#pic_center)
![图片描述](img/TRPO-14.png)
用期望 $frac{1}{1-\gamma}E_{s\sim\rho_{old}}[...]$ 代替 $\sum_{s}\rho_{\theta_{old}}[...]$,用优势值 $A_{\theta_{old}}$ 代替Q值 $Q_{\theta_{old}}$。最后用一个重要性采样估计量代替动作的和,用 $q$ 表示采样分布,则单个 $s_{n}$ 对损失函数贡献为:
![在这里插入图片描述](img/TRPO-14.png#pic_center)
![图片描述](img/TRPO-14.png)
则公式(14)中的优化问题完全等价于公式(15)中用期望表示的优化问题:
![在这里插入图片描述](img/TRPO--15.png#pic_center)
![图片描述](img/TRPO--15.png)
剩下的就是用样本均值代替期望用经验估计代替Q值。
@@ -143,17 +143,17 @@ $\epsilon$是$\pi'$相对于$\pi$的最大优势(或正或负),等式(6)给出
在小的有限动作空间中,我们可以从给定的状态为每一个可能的动作生成一个短轨迹(rollout)。从单个状态 $s_{n}$ 对 $L_{\theta_{old}}$ 的贡献如下:
![在这里插入图片描述](img/TRPO--16.png#pic_center)
![图片描述](img/TRPO--16.png)
在大的或连续状态空间中,我们利用重要抽样来构造代理损失的估计量。单个状态 $s_{n}$ 的自归一化估计量为
![在这里插入图片描述](img/TRPO--17.png#pic_center)
![图片描述](img/TRPO--17.png)
假设我们执行了来自状态 $s_{n}$ 的 $K$个动作 $a_{n,1}, a_{n,2},…, a_{n,K}$ 来自状态sn。这种自归一化估计器消除了对 $Q$ 值使用基线的需要(向q值添加一个常数梯度不变)。对 $s_{N}\sim \rho(\pi)$ 求平均值,可以得到 $L_{\theta_{old}}$ 的估计量,以及它的梯度。
图1说明了vine方法和单路径方法。
![在这里插入图片描述](img/TRPO-1.png#pic_center)
![图片描述](img/TRPO-1.png)
左图为单路径程序示意图。通过模拟策略生成一组轨迹,并将所有状态-动作对 $(s_{n}, a_{n})$ 合并到目标中。右图为vine方法示意图。生成一组“主干”轨迹然后从到达状态的子集生成“分支”展开。对于每个状态 $s_{n}$,执行多个操作(这里是 $a_{1}$ 和 $a_{2}$),并在每个操作之后执行一次短轨迹,使用公共随机数(CRN)来减少方差。
@@ -188,13 +188,13 @@ vine方法中用于采样的轨迹可以被比作藤蔓的茎它在不同的
自然策略梯度:做为公式(13)更新的特例,通过对 $L$ 线性近似,对 $\bar{D}_{KL}$ 约束使用二次逼近,从而得到下式:
![在这里插入图片描述](img/TRPO--18.png#pic_center)
![图片描述](img/TRPO--18.png)
更新 $\theta _{new}=\theta _{old}-\lambda A(\theta _{old})^{-1} \nabla _{\theta }L(\theta )|_{\theta =\theta _{old}}$,其中拉格朗日乘子 $\lambda$ 为算法参数。该算法更新与本文的TRPO不同TRPO每次更新强制执行约束。实验证明本文算法提高了处理更大问题时的性能。
通过使用 $l_{2}$ 约束或惩罚TRPO也获得了标准策略梯度更新
![在这里插入图片描述](img/TRPO-19.png#pic_center)
![图片描述](img/TRPO-19.png)
通过求解无约束问题 $minimize_{\pi}L_{\pi_{old}}(\pi)$ 也可得到迭代策略更新。
@@ -204,7 +204,7 @@ Levine and Abbeel (2014)使用KL发散约束TRPO不显式估计系统动态
#### 7. 实验
![在这里插入图片描述](img/TRPO-3.png#pic_center)
![图片描述](img/TRPO-3.png)
图2为运动实验的二维机器人模型swimmerhopperwalker。由于欠驱动及接触连续hopper和walker比较难训练。
@@ -232,11 +232,11 @@ Levine and Abbeel (2014)使用KL发散约束TRPO不显式估计系统动态
算法对模型评估的结果看图4。图3上图为机器人动作训练的网络下图为玩Atari游戏的网络。本文用神经网络表示策略参数见文章附录。
![在这里插入图片描述](img/TRPO-4.png#pic_center)
![图片描述](img/TRPO-4.png)
图4为机器人训练的学习曲线每个算法随机初始化的五次运行平均结果hopper和walker 的前进速度是-1说明只学到了站立平衡没学会如何走路。
![在这里插入图片描述](img/TRPO-5.png#pic_center)
![图片描述](img/TRPO-5.png)
比较的方法单路径TRPO, vine TRPO, 奖励加权回归(RWR), 类EM的策略搜索方法相对熵策略搜索(REPS), 交叉熵法(CEM),无梯度法,协方差矩阵自适应(CMA), 经典自然策略梯度算法(使用固定惩罚系数-拉格朗日乘子)经验FIM(使用梯度的协方差矩阵), max KL(只适用于cart-pole使用最大KL散度)。
@@ -254,7 +254,7 @@ TRPO学习策略的视频链接:http://sites.google.com/ site/trpopaper/。
单路径法和vine法结果如表1还包括一个人类玩家和Deep Q-Learning,蒙特卡洛树搜索与监督训练的组合。
![在这里插入图片描述](img/TRPO-6.png#pic_center)
![图片描述](img/TRPO-6.png)
TRPO算法(底部行)在每个任务上运行一次,使用相同的架构和参数。性能在不同的运行之间有很大的差异(策略的随机初始化不同),但由于时间限制,作者无法获得错误统计数据。