前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >视频 | NIPS 2017线上分享第一期:新型强化学习算法ACKTR

视频 | NIPS 2017线上分享第一期:新型强化学习算法ACKTR

作者头像
机器之心
发布2018-05-10 12:00:42
8230
发布2018-05-10 12:00:42
举报
文章被收录于专栏:机器之心机器之心

上周我们发布了《攻略 | 虽然票早已被抢光,你可以从机器之心关注 NIPS 2017》,在 NIPS 2017 正式开始前,我们将选出数篇优质论文,邀请论文作者来做线上分享,聊聊理论、技术和研究方法。11 月 8 日,第一期分享已经结束。

周三晚上,多伦多大学三年级博士生 Yuhuai Wu(吴宇怀)为大家分享了 NIPS 2017 论文《Scalable trust-region method for deep reinforcement learning using Kronecker-factored approximation》。以下是本期视频回顾:

视频内容

本期分享 PPT 下载:https://pan.baidu.com/s/1bp4hqFX

ACKTR(音同「actor」,Actor Critic using Kronecker-factored Trust Region)是由多伦多大学和纽约大学的研究者联合开发的新算法。OpenAI 与其合作实现代码开源。作者在论文中展示 ACKTR 算法可以学习模拟机器人(以像素作为输入,连续的动作空间)和 Atari 游戏(以像素作为输入,离散的动作空间)的控制策略。

  • 代码:https://github.com/openai/baselines
  • 论文:https://arxiv.org/abs/1708.05144

ACKTR 可以学习连续性控制任务。比如仅仅根据低像素的输入,把一个机器手臂移动到目标位置(左图)。

ACKTR 融合了三种不同的技术:以 actor-critic 算法为基础,加上 TRPO 来保证稳定性,同时融入了提升样本效率和可扩展性的分布式 Kronecker 因子分解(Kronecker factorization)。

样本与计算复杂度

对于机器学习算法,主要需考虑两个因素:样本复杂度与计算复杂度。样本复杂度指智能体学习任务所需与环境交互的次数,计算复杂度指算法每步更新必需执行操作量。

ACKTR 比一阶方法如 A2C 有更好的样本复杂度,因为其使用自然梯度的方向而不是普通梯度方向来迭代。自然梯度给出了在参数空间中,每个网络的输出分布的单位变化下,改善目标函数的最优方向。通过限制 KL 离散度,我们确保新策略的行为与旧策略差别不大,以防止训练的损毁。

至于 ACKTR 的计算复杂度,因为其使用计算非常高效的 K-FAC 算法来估算自然梯度,所以 ACKTR 的每个更新步仅比标准梯度算法慢 10% 到 25%。之前的自然梯度算法,例如 TRPO(Hessian-free optimization)则需要非常昂贵的共轭梯度计算,致使其每步计算所需时间非常长。

下面两个视频中,你可以看到在 Q-Bert 游戏中使用 ACKTR 训练的智能体与使用 A2C 训练的智能体,在不同训练时段(timesteps)的对比。使用相同数量的训练样本后,ACKTR 训练的智能体的得分比 A2C 高的多。

视频内容

使用 ACKTR 训练的智能体(右)在短时间内的得分比 A2C(左)的智能体要高。

OpenAI baselines 代码开源,对比结果发布:

OpenAI Baselines 发布包含了 ACKTR 和 A2C 的代码实现。

我们还评估了 ACKTR 在一系列任务的表现。下文中,我们展示了 ACKTR 在 49 个 Atari 游戏中与 A2C、PPO、ACER 表现的对比。注:ACKTR 的作者只用了 Breakout 游戏对 ACKTR 的进行了超参数的调整。

ACKTR 也适用于大规模分布式训练。因为其不仅利用每个样本来估计梯度(gradient estimate),而且使用该样本信息去估计参数空间的局部曲率(local curvature)。

A2C 和 A3C

《Asynchronous Methods for Deep Reinforcement Learning》发表后,A3C 方法的影响力大大增强。该算法连接了多个关键思想:

  1. 在固定长度(比如,20 个时间步(timesteps))下执行同一个策略获得一长段经验,用来估计目标函数和优势函数(advantage function)。
  2. 策略和价值函数共享基层网络参数。
  3. 异步更新。

读完这篇论文之后,AI 研究人员思考异步是否可以改善性能(如,「或许增加噪声可以提供某种正则化或探索」),或者异步是否是一个允许基于 CPU 的实现的训练过程变得更快的实现细节。

研究人员发现另一种异步实现的替代方案,即一个同步的且非随机的实现。该实现等待每个行为完成自己的经验段的收集再执行更新。这个算法的一大优势是对于大批次数据的处理,它可以更好的利用 GPU 的效率。该算法叫作 A2C(advantage actor critic 的缩写)。

我们的同步 A2C 实现比异步实现表现要好。目前尚未看到任何证据证明异步引入的噪声能够提供任何性能收益。该方法的一个优势就是当使用大型网络时,它在单 GPU 的机器上比 CPU 为主的 A3C 的实现更快。

我们的代码包含了用 A2C 来训练的 CNNs,LSTM 的实现。

论文:Scalable trust-region method for deep reinforcement learning using Kronecker-factored approximation

摘要:在该研究中,我们将近期的提出的 Kronecker 因子的近似曲率(K-FAC),和置信域优化,应用到深度强化学习中。我们将该方法命名为「Actor Critic using Kronecker-Factored Trust Region」,(ACKTR)。就我们所知,这是首个可扩展的置信域自然梯度 actor-critic 的方法。同时它也能直接从原始像素输入(raw pixel input)中成功学习连续和离散的控制任务。我们在 Atari 游戏和 MuJoCo 环境中对此方法进行测试。与之前最顶尖的 on-policy actor critic 方法相比,我们提出的方法不仅能够获取更高的奖励,而且平均样本效率提高了 2 到 3 倍。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档