Skip to main content
QUICK REVIEW

[论文解读] Reinforcement Learning through Asynchronous Advantage Actor-Critic on a GPU

Mohammad Babaeizadeh, Iuri Frosio|arXiv (Cornell University)|Nov 18, 2016
Reinforcement Learning in Robotics参考文献 10被引用 174
一句话总结

GA3C 是 A3C 的混合 CPU/GPU 实现,将神经网络集中在 GPU 上,使用预测队列和训练队列,并自动调整资源配置,与仅 CPU 的 A3C 相比可显著加速训练。

ABSTRACT

We introduce a hybrid CPU/GPU version of the Asynchronous Advantage Actor-Critic (A3C) algorithm, currently the state-of-the-art method in reinforcement learning for various gaming tasks. We analyze its computational traits and concentrate on aspects critical to leveraging the GPU's computational power. We introduce a system of queues and a dynamic scheduling strategy, potentially helpful for other asynchronous algorithms as well. Our hybrid CPU/GPU version of A3C, based on TensorFlow, achieves a significant speed up compared to a CPU implementation; we make it publicly available to other researchers at https://github.com/NVlabs/GA3C .

研究动机与目标

  • 动员并分析在 GPU 上训练时异步深度强化学习方法的计算瓶颈。
  • 提出 GA3C 架构,以在保持收敛性性质的同时更好地利用 GPU 并行性。
  • 研究系统可调参数(预测器、训练器、代理)的动态自调,以最大化训练吞吐量(TPS)。
  • 评估 GA3C 如何随着网络规模和硬件变化而扩展,并将收敛速度与基于 CPU 的 A3C 进行比较。

提出的方法

  • 在 TensorFlow 中实现一个带有单个 GPU 模型实例的 CPU/GPU 混合版本 A3C(GA3C)。
  • 引入一个用于代理批量请求策略的预测队列,以及一个用于更新 GPU 模型的批量训练队列。
  • 使用一个或多个 GPU 预测器对策略推断进行批量服务,以及多个训练器在 GPU 上对模型进行批量更新。
  • 将 DNN 权重集中在类似参数服务器的结构上,以消除每个代理的模型拷贝和同步开销。
  • 在策略损失中加入熵正则化项以促进探索。
  • 在对数概率和熵计算中加入一个小的 epsilon,以在延迟导致参数滞后时稳定梯度(策略滞后)。
  • 基于观测到的 TPS,每分钟动态调整 N_P(预测器)、N_T(训练器)和 N_A(代理),以找到近优配置。

实验结果

研究问题

  • RQ1通过将 DNN 集中在 GPU 上并对预测和训练进行批处理,GA3C 是否能显著超过基于 CPU 的 A3C 的速度提升?
  • RQ2预测器/训练器/代理数量如何影响 GA3C 的 GPU 利用率、训练吞吐量(TPS)和收敛稳定性?
  • RQ3对 N_P、N_T、N_A 的动态自调是否在不同游戏和硬件上提升收敛速度和鲁棒性?
  • RQ4策略滞后和训练批量大小对 GA3C 的学习稳定性与收敛有何影响?
  • RQ5与 CPU 实现相比,GA3C 在更大 DNN 架构上的扩展性如何?

主要发现

  • 在可比任务上,GA3C 对小型 DNN 的加速可达约 6 倍,对较大 DNN 的加速可达约 45 倍,超过 CPU A3C。
  • 最佳配置通常使用多个代理(通常比 CPU A3C 多得多),并在预测器/训练器比率保持平衡的情况下(如 N_P ≈ N_T,N_A 设置以利用 CPU 内核)。
  • 对 N_P、N_T、N_A 的动态自调可以在相同硬件上发现近优配置并在不同游戏(如 Pong、Boxing)之间自适应。
  • 在实际范围内,将训练批量增大到大约 20–40 可通过减小策略滞后来提高学习稳定性和收敛速度,然而过大的批量会降低吞吐量。
  • 在若干个 Atari 游戏上,GA3C 的实测学习曲线相对于 A3C 更快,其中在约 1 天内训练的 GA3C 与在约 4 天内训练的 A3C 的分数相当。
  • 手工测量表明在朴素设置中 GPU 存在大量空闲时间,强调了批处理和集中式 GPU 使用的好处。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。