TLeague: A Framework for Competitive Self-Play based Distributed Multi-Agent Reinforcement Learning

前言

只要有环境,那么数据可以说是无限的,并且复杂环境中rl训练需要的数据量往往很大,如何高效地挖掘环境中的数据是用rl解决实际问题的痛点。

self-play是一种训练模式,learning agent在训练时和自己或者其历史检查点对抗。这种方法在博弈论上是合理的,因为它是所谓的fictitious self-play的蒙特卡罗实现(即对对手进行采样)来近似纳什均衡 。当opponent被采样时,从learning agent的角度看其就是环境的一部分,因此使用单agent的方法作为poxy算法来学习最优反应。基于self-play的概念,population-based training (PBT)被提出。在 PBT 中,智能体被独立训练,具有动态学习或塑造的不同目标。PBT在第一人称视频游戏中展现了成功。类似于PBT,AlphaStar引入了populating the league,其维护一个league,里面有不断增加的多种训练agent,并且可以互相对战。

基于竞争性自我对弈(Competitive Self-Play, CSP)的多智能体强化学习 (MARL) 最近取得了惊人的突破。CSP-MARL 方法是博弈论上合理的,因为它通过虚构的自博弈(Fictitious Self-Play ,FSP)来寻找纳什均衡(NE),其中对手混合是通过对手采样随机近似的,并且best response是通过(单智能体)强化学习实现的,其作为代理算法 。多个benchmark都实现了强大的 AI,包括Dota 2、王者荣耀、Quake III、StarCraft II等等。尽管取得了成功,但 MARL 训练非常需要数据,为了学出一个表现好的agent,通常需要在训练期间从环境中看到数十亿(或者数万亿)帧。TLeague这个框架旨在大规模训练并实现几种主流的 CSP-MARL 算法。训练可以部署在单台机器或混合机器集群(CPUs 和 GPUs)中,其中以云原生方式支持标准 Kubernetes。TLeague 在执行分布式训练时实现了高吞吐量和合理的扩展。由于模块化设计,它也很容易扩展以解决其他多智能体问题或实现和验证 MARL 算法。

开源代码:https://github.com/tencent-ailab/tleague_projpage

TLeague 提供了几种主流算法。对手采样可以是Population Based Training(PBT)、Agent-Exploiter [8]、(Prioritized) Fictitious Self-Play。支持几种典型的PG,例如 PPO和 V-trace。还可以以各种架构构建所需的神经网络,从简单的列表结构到复杂的有向无环图 (DAG)。该代码旨在灵活且友好地将 TLeague 扩展到其他多智能体问题(例如,添加新环境,或 RL 算法,或对手采样算法等)。

相比rllib,TLeague采用了一种更接近 RL 算法和机器的设计,没有引入并行计算的额外抽象,使其很容易以云原生方式(即使用 Kubernetes)运行。TLeague在解耦 RL 组件方面与 IMPALA 和 SEED 最相似,即也采用 Actor-Learner-InferenceServer 架构。但是,TLeague做了几个值得注意的扩展:1) TLeague支持 CSP-MARL,为此设计了单独的模块来管理对手池和维护神经网络参数;2)TLeague使用 Horovod为learner进行跨多个 GPU 的同步梯度更新。

Architecture

Mathematical Settings

多智能体博弈表示为一个元组: < S , P , r i , γ , O i , A i , π i > <S,P,r^i,\gamma,O^i,A^i,\pi^i> <S,P,ri,γ,Oi,Ai,πi>,分别是状态、转移、奖赏、衰减率、观察、动作、策略, i ∈ { 1 , 2 , ⋯   , N } i\in \{1,2,\cdots,N\} i{ 1,2,,N} N N N个agent的索引。策略是基于当前观察还是观察历史,取决于参数化的函数近似器能否建模序列数据,比如有RNN层。horizon指博弈时间内的episode长度。数学形式上,model-free方法可以在不知道 P P P r i r^i ri的情况下学习 π i \pi^i πi

奖励结构意味着游戏模式:是竞争、合作还是混合?两个agent的零和博弈,即 r 1 + r 2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值