分布式强化学习方法汇总

1、Espeholt L, Soyer H, Munos R, et al. Impala: Scalable distributed deep-rl with importance weighted actor-learner architectures[C]//International Conference on Machine Learning. PMLR, 2018: 1407-1416.

分布式强化学习方法汇总_第1张图片

IMPALA的灵感来自于热门的A3C架构(上图左),A3C使用多个分布式actor来学习agent的参数。在类似这样的模型中,每个actor都使用策略参数的一个副本,在环境中操作。actor会周期性地暂停探索,将它们已经计算得出的梯度信息分享至中央参数服务器。
IMPALA中的actor不会被用来计算梯度信息。它们只是收集经验,并将这些经验传递至位于中心的learner。learner会计算梯度。因此在这样的模型中,actor和learner是完全独立的。在配置中可支持单个learner机器,也可支持多个相互之间同步的learner机器(上图右)。由于Actor无须计算梯度,因此就可以一直采样,而无须等待策略的更新。

2、Acme: A Research Framework for Distributed Reinforcement Learning(2020)

ACME是DeepMind在2020年6月1日公开出来的一个适合并行化训练强化学习模型的新架构。这里面最大的贡献应该是来自于Reverb这个东西。DRL有一个瓶颈在于数据效率的问题:需要agent执行动作收集数据、然后再对收集来的数据采样学习。大规模或者并行化训练的时候,这个就很影响效率。所以在分布式RL学习中需要解决这部分数据IO瓶颈,DeepMind就直接设计了这个可以用来处理(包括但不限于)经验回放场景的数据存储结构。
Reverb:在现有的RL方法中,大多数都会将这部分问题的处理分解成两个单独的模块:经验的产生者(actors:执行动作、采集数据),经验使用者(learners:学习和训练这个数据);然后让这两个模块并行地运行。但通常来说,这两者中间存在一个数据存储系统,需要存储和传输数据。Reverb就是一个用来做数据存储和传输的系统。优点是:efficient,flexible和scalable。

3、Yazdanbakhsh A, Chen J, Zheng Y. Menger: Massively Large-Scale Distributed Reinforcement Learning[J]. 2020.

Menger:大规模分布式强化学习架构。增加Actor实现大量样本的采集,而且还应能够在训练过程中快速迭代这些样本。
提出两个问题:1)Actor向Learner进行大量读取请求以进行模型检索,这就造成Learner的负担,随着Actor数量的增加模型表现明显受限(如收敛时间的显著增长)
2)在将训练数据输送给TPU计算核心时,TPU性能通常受到输入管道效率的限制。随着TPU计算核心数量的增加,输入管道的性能对于训练时间的影响更加明显。
解决方案:1)Learner和Actor之间引入了透明的分布式缓存组件,并通过Reverb进行优化。多个Actor放置在不同的Borg单元中,Learner仅将更新的模型发送给分布式缓存组件。每个缓存组件应对邻近Actor和缓存区的模型请求更新。缓存区不仅减轻了Learner对模型更新请求提供服务的负担,而且减少了Actor的平均读取延迟。
分布式强化学习方法汇总_第2张图片
分布式强化学习方法汇总_第3张图片

2)使用了Reverb——一种专为机器学习应用设计的、新型开源数据存储系统。使用Reverb的分片功能来增加Actor、Learner和和回放缓冲区之间的吞吐量。分片可在多个回放缓冲服务器之间平衡大量Actor的写入负载,而不是仅仅作用于单个回放缓冲服务器,同时由于少数Actor共享同一服务器,可以最小化每个回放缓冲服务器的平均写入延迟。这样Menger就可以在多个Borg单元中扩展数千个Actor。
分布式强化学习方法汇总_第4张图片

4、SEED RL: SCALABLE AND EFFICIENT DEEP-RL WITH ACCELERATED CENTRAL INFERENCE(2020)

SEED RL:大规模分布式强化学习框架。https://github.com/google-research/seed_rl
Actor由大量CPUs组成,只进行环境交互,不再进行推理采样。Learner由GPU组成,高度的算力集中,完成推理采样、数据存储及学习训练。
分布式强化学习方法汇总_第5张图片

5、Mava: a research framework for distributed multi-agent reinforcement learning(2021)

一个分布式多智能体强化学习研究框架。https://github.com/instadeepai/Mava
Mava框架的核心是一个系统的概念。系统是指一个完整的多代理强化学习算法,由以下具体部分组成:an Executor, a Trainer and a Dataset。
Executor是系统的一部分,它与环境互动,为每个代理采取行动,并观察下一个状态,作为观察的集合,系统中的每个代理都有一个。从本质上讲,Executor是单代理RL中典型行动者类的多代理版本,其本身是通过向执行者提供政策网络字典而构建的。Trainer负责从最初从执行者那里收集的数据集中取样,并更新系统中每个代理的参数。因此,Trainer是典型学习者类的多代理版本。Dataset以行动、观察和奖励的字典集合的形式存储了所有由执行者收集的信息,其键与各个代理的ID相对应。
分布式强化学习方法汇总_第6张图片

你可能感兴趣的:(强化学习,深度学习,人工智能,分布式)