迷雾探险13 | IMPALA论文

迷雾探险13 | IMPALA论文_第1张图片
IMPALA:Importance-Weighted Actor-Learner Architectures

论文链接:https://arxiv.org/abs/1802.01561
DMLab-30项目 GitHub:https://github.com/deepmind/lab/tree/master/game_scripts/levels/contributed/dmlab30

摘要

在本研究中,我们专注于使用单一强化学习智能体与单一参数集解决大型任务集合的问题。在这样的条件下,最主要的挑战是处理越来越大的数据量和不断增加的训练时间——这在单一任务学习中已经是一个挑战。我们开发了一种新的分布式智能体 IMPALA(Importance-Weighted Actor Learner Architecture),它可以扩展到数千台机器上,每秒吞吐量高达 25 万帧。我们通过结合决策和学习分离与新型离策略修正方法 V-trace,达到了很高的吞吐量,实现了稳定学习,这对于学习的稳定性至关重要。我们展示了 IMPALA 在 DMLab-30(DeepMind Lab 环境中一组 30 个任务的集合)和 Atari-57(Arcade Learning Environment 中所有可用的 Atari 游戏)中进行多任务强化学习的有效性。我们的结果展示了 IMPALA 的性能优于之前的智能体,使用的数据更少,更重要的是新方法可以在多任务中展现出积极的迁移性质。

论文三大成果

  • 发布一个多任务集合 DMLab-30
  • 推出一个高度可扩展的、基于分布式架构的智能体架构 IMPALA
  • 基于该架构提出了一种off-policy的新型离策略修正算法 V-trace

DMLab-30中允许研究人员训练单个智能体执行多种任务,这涉及了巨大的数据吞吐量,为了高效利用每个数据点,开发了IMPALA来分部署处理数据(250K frams/s)

因为IMPALA受A3C启发,多个actor获得的参数作为经验汇总给总的learner,因此actor有时会落后于learner,因此引入V-trace算法来弥补两者的差异。

DMLab-30

  • 包含公共动作空间的视觉统一环境中的多种挑战性任务,共30个空间。
  • 任务尽可能多样化:具备不同的目标,从学习、记忆到导航;视觉上从亮度、现代风格的纹理从绿到浅棕色等;物理空间上从开放的多山地带到直角迷宫,再到开放的圆形房间;
  • 需要注意的是,这是一个多任务集合,这个场景和下个场景的任务目标和奖励也不同,从遵循语言命令、使用钥匙开门、采蘑菇,到绘画、沿着一条复杂、不可逆的路径行走。
  • 从动作和观察空间来看,这些环境基本上是一样的,允许单个智能体在该高度变化的任务集合的每一个环境中进行训练。
  • 本质上,这其实就是让单个智能体在高度变化的环境中训练,使它最后可以适应每个环境。
  • https://github.com/deepmind/lab
迷雾探险13 | IMPALA论文_第2张图片
image.png

IMPALA

  • 一种新型分布式智能体 IMPALA,利用高效的 TensorFlow 分布式架构最大化数据吞吐量。
  • IMPALA 受流行的 A3C 架构的启发,A3C 架构使用多个分布式 actor 来学习智能体的参数。在此类模型中,每个 actor 使用策略参数在环境中动作。actor 周期性地暂停探索,和中央参数服务器共享它们计算出的梯度,用于梯度更新。
迷雾探险13 | IMPALA论文_第3张图片
image.png
  • IMPALA 的 actor 不用于计算梯度,而是用于收集经验(即观察结果),然后传输至可计算梯度的中央学习器,生成一个具备完全独立的 actor 和 learner 的模型。
  • 也就是说,在训练之初,actor用策略π更新初始策略µ,并在当前任务中进行几轮迭代。迭代完成后,它再把当前的状态、动作和奖励 x1, a1, r1, . . . , xn, an, rn,以及相应的策略分布µ(at|xt)、初始LSTM状态排列成组,逐个输入learner。利用这些由多个actor收集的数据,learner能不断更新策略π。
  • 为了利用现代计算系统,IMPALA 可使用单个学习器或执行同步更新的多个学习器来实现。用这种方式分离学习和动作可以有效地提高整个系统的吞吐量。
  • actor 不再需要等待学习步(像 batched A2C 架构中那样)。这使得我们可以在多个有趣的环境中训练 IMPALA,无需经历帧渲染时间的变动或耗时的任务重启。


    迷雾探险13 | IMPALA论文_第4张图片
    A2C每次学习都需要暂停,而IMPALA是连续的

    迷雾探险13 | IMPALA论文_第5张图片
    GPU优化:(a)一个正常的LSTM;(b)将batch用于输入层和输出层;(c)将batch融合进整个网络
  • 这个简单的架构使得learner可以在多个机器上并行计算(各actor不用排队),大大提高了GPU的利用率。但是,在更新参数时,由于learner的策略π可能比actor的策略µ提前做了几次SGD,因此两者间存在策略滞后的问题。

V-trace

  • 决策与学习的分离会导致 actor 中的策略落后于学习器。为了弥补这一差异,DeepMind 引入了一种原则性离策略优势 actor critic 算法——V-trace,它通过 actor 的off-policy弥补了轨迹。

首先,我们定义:

  • 折扣因子(discount factor)γ ∈ [0, 1);
  • t时奖励:rt = r(xt, at) ;
  • xt为t时的状态;
  • at ∼ µ(·|xt) 是遵循某个策略μ生成的动作。

我们把这个问题看作是马尔可夫决策(MDP)中的discounted infinite-horizon RL问题,它的目标是找到一个策略π,能使未来奖励的总和,即

最大化。而off-policy学习算法的思路是根据动作策略µ来学习另一个策略,如策略π(μ和π可能不同)的价值函数Vπ,我们也把π称为目标策略。

详细的数学计算可以在论文中找到,这里我们简要介绍3点创新:

随着时间s不断推进,价值参数θ会随vs的梯度值不断更新:
同时,价值函数ω也会随策略梯度的变化不断更新:

为了防止函数过早收敛,论文模仿A3C,在里面加入了一个和轨迹方向一致的熵:
智能体的参数就是通过总结这三个不断更新获得的系数进行调整的,简而言之,这是系统计算超参数的方法

结论

  • 由于 IMPALA 的优化模型,相对于类似智能体而言,它可以处理一到两个数量级的更多经验,让复杂环境中的学习变为可能。
  • DeepMind 比较了 IMPALA 与几种流行的 actor-critic 方法,发现新方法的速度有显著提高。此外,使用 IMPALA 的吞吐量增长与 actor 和 learner 的增加呈线性关系,这意味着分布式智能体模型和 V-trace 算法可以处理大规模实验,甚至上千台机器都没有问题。
  • 在 DMLab-30 的测试中,IMPALA 处理数据的效率是分布式 A3C 的 10 倍,最终得分是后者的二倍。另外,IMPALA 在多任务设置的训练中,相比单任务训练还展示了正向迁移的性质。
迷雾探险13 | IMPALA论文_第6张图片
image.png

原文地址:https://deepmind.com/blog/impala-scalable-distributed-deeprl-dmlab-30/

你可能感兴趣的:(迷雾探险13 | IMPALA论文)