哔哩哔哩技术

B站摘冠!!!强化学习 LastOrder 团队在IJCAI2022-NeuralMMO的比赛中获得冠军

本期作者

钱善良

哔哩哔哩资深算法工程师

2021年加入B站,从事强化学习相关工作。


01 背景

自从在棋类游戏中取得成功以来,强化学习继续在FPS(雷神之锤3)、RTS(星际2)、MOBA(DOTA2)等类型的游戏中表现出色。与这些游戏相比,MMO游戏模拟了更宏观的世界,拥有更丰富的游戏内容,成为强化学习新的应用研究领域。


2019年,OpenAI发布了支持强化学习训练的大规模多智能体游戏环境——Neural MMO。NMMO以丰富的内容和优秀的开放性成为2022年国际人工智能联合会议(IJCAI)的比赛项目。


在IJCAI2022-NeuralMMO的比赛中,哔哩哔哩的强化学习团队LastOrder 获得冠军。


02 Neural MMO

与MMO游戏类似,NMMO模拟一个生态系统,支持不同数量的智能体在其中生存、成长、战斗。在游戏开始之前,图块式(tile based)的地图是随机生成的,包括水、森林、草地、岩石等。智能体会随机出生在地图边缘的某个位置,为了存活下来就必须快速找到水和森林资源,在探索中不断升级,遭遇NPC和其它队伍智能体时则可能需要战斗,和队友之间需要形成配合。战斗时需要选择目标和攻击方式,攻击方式包括近战、远程和魔法三种。


与MOBA等类型的游戏环境有明显区别的是,NMMO并没有明确规定的斗争的双方和各自的“基地”,而是很多队伍在同一个世界中活动。在MOBA游戏中,游戏的一方只需要针对另一方进行发育、战斗;而在NMMO中智能体的队伍必须要考虑其它多支队伍的存在,例如既可以选择保守策略,等着其它队伍战斗之后坐收渔利;也可以选择激进的策略,大杀四方建立优势。最优策略的选择是互相影响的,例如如果其它的队伍都比较保守,那么“坐收渔利”的收益就比较小。


在IJCAI2022-NeuralMMO比赛中,参赛队伍需要控制8个智能体,在一张地图上与其他15个队伍竞争。赛后会对每支队伍整体表现进行评分,评分的内容包括探索行为、生存行为、Farm行为、PVP行为四项,基于得分对队伍进行排名。


03 比赛方案

3.1 特征提取与模型结构

游戏的过程中,智能体能接收到多种信息,主要包括两类,一类是周围的实体(entity)信息,例如视野里的队友、敌人、NPC的相关信息;另一类信息是智能体周围的地形信息,包括它周围15*15的图块的信息,比如岩浆、水、森林、岩石等。这需要对不同的信息进行有针对性的处理。

  • 实体信息:用Transformer进行编码,单个实体的编码一方面需要降维得到整体编码,另一方面也需要保留到后面参与目标选择的计算

  • 地图信息:使用类似scatter connection技术,把一定的entity信息融入地图,然后使用CNN进行编码

  • 上一步动作(pre action):使用Embedding layer进行编码

  • 其它信息:主要是智能体自身的各种信息,以及所在队伍和游戏整体的统计信息,这类信息会用MLP进行编码


这些编码会拼接到一起,进行进一步的处理。为了智能体之间共享信息,部分数据会在队伍成员之间进行pooling操作。为了解决部分观测的问题,网络结构的核心是一个LSTM。LSTM的输出会用于计算智能体的动作和价值。


3.2 奖励设计

环境提供的原始奖励比较稀疏,直接用于训练时也可以得到不错的表现。为了进一步的提升智能体的表现,我们根据环境提供的数据合成了更加适合的奖励,便于智能体学习到需要的策略。


3.3 Meta Solver

最近几年流行把多智能体问题放在Meta solver + Oracle(注1)的框架下来看,现实中Oracle的方案比较清楚,但目前对于Multi-player General sum的情况并没有特别合适的Meta solver落地方案。在研究了多种技术方案之后,兼顾工程难度,我们借鉴了Fictitious self-play的思路,使参与训练的每个智能体队伍都有几率使用历史模型。试验结果表明,这种类FSP算法在这里可以有不错的表现。


3.4 Newton框架


Newton是哔哩哔哩人工智能平台部自研的分布式强化学习训练框架,具有较强的可扩展能力,可以适应不同场景的强化学习训练。本次竞赛的成果就是在Newton框架的基础上实现的。

Newton框架主要由Worker、Training Server、Inference Server和Evaluation Server四部分组成。其中Worker部署在CPU服务器上,用于运行游戏环境,生产训练数据;Training Server部署在GPU服务器上,基于Horovod实现多机多卡训练;Inference server可以加速Worker的推理过程;Evaluation Server用于评估智能体的能力,并对训练过程进行管理。


04 结语

NMMO是一个类似游戏的环境,在哔哩哔哩有大量实际游戏的相关工作,工作中强化学习团队也在为Bilibili World以及游戏团队的AI开发提供支持。

同时,我们很欣喜地看到NMMO的不断进化,最新的版本加入了交易系统等新内容,希望NMMO的内容愈加丰富,NMMO的社区愈加壮大。我们在研究过程中也感受到MMO与强化学习结合产生奇妙化学反应。考虑MMO游戏中真实玩家的参与和包括社交、经济、战斗等系统的存在,这将是强化学习、Human in the loop、LifeLong learning等新算法的实验室,而随着新算法的成熟,MMO极有可能是第一批AGI的诞生地。



注1:Meta solver + Oracle是指将多智能体强化学习的问题转换成把policy视为基本动作的Meta Game,继而可以使用Meta solver和匹配的Oracle进行处理,详情可以参考PSRO等多智能体强化学习的相关文献。