Google Research 与英超曼城俱乐部在 Kaggle 平台上联合举办的 11v11 足球 AI 竞赛 Google Football 近日宣布最终结果:腾讯 AI Lab 绝悟 WeKick 版本(下称绝悟)以 1785.8 的分数获得冠军,且相比于其它队伍优势非常明显。
Kaggle 竞赛 google-football 排行榜前十名,来自 https://www.kaggle.com/c/google-football/leaderboard
比赛使用的 Google Research Football 环境,是基于开源足球游戏 Gameplay Football 开发的强化学习环境。由于其兼具挑战性和趣味性,一经推出便吸引海内外队伍踊跃参加,截至 12 月中旬,已经吸引了来自世界各地的 1100 多个团队,其中包含多支世界顶级学府和研究机构的科研强队。
今年 11 月 28 日,腾讯 AI Lab 宣布与王者荣耀联合研发的策略协作型 AI「绝悟」升级成了完全体,让 AI 掌握了所有英雄的所有技能。仅一个月后,「绝悟」又在竞争如此激烈的竞赛中以显著优势脱颖而出,足以证明「绝悟」工程开发实力和背后深度强化学习方法的优势。
Google Football 竞赛是什么?
Google Football 是基于全世界最受欢迎的体育运动「足球」打造的「11 个强化学习智能体的合作与对抗」竞赛。在竞赛过程中,其规则与普通足球比赛类似,比如目标都是将球踢入对方球门以及越位、黄牌和红牌规则。在具体细则上也有一些不同的之处,如比赛分上下半场(各 45 分钟,1500 步,两支球队各开球一次),游戏场景是完全对称的(所以没有左右换场的必要性)、没有替补球员、没有加时赛、进球多获胜(否则平局)等。
不同于常见足球电子游戏的统一调控式 NPC 球队,Google Football 竞赛的参赛球队中每个球员都各由一个单独的智能体控制,参赛团队需要实时选择并控制其中一个智能体,与其他内置智能体配合。因此,每个球员不仅需要观察对手的行为,还需要留意己方队员的情况。这需要非常复杂的团队协作和竞争策略。
举个例子,当对方球员控球时,己方智能体不仅要根据球场上双方球员的分布位置预测控球球员的下一步动作,还需要与己方球员协同如何合规地夺取足球的控制权。且由于球场动态瞬息万变,因此高速的实时决策能力也是必需的。
绝悟与其他AI配合传球
此外,从零开始完全采用强化学习方法来训练完整的足球AI实际上也相当困难。与MOBA游戏中不断有经济、血量、经验等实时学习信号不同,足球的游戏激励非常稀疏,基本只能依靠进球,而稀疏激励一直是目前强化学习一大难题。
实际上,正是由于足球运动团队策略的复杂性、多样性和高难度,AI 领域的先驱们很早就已开始尝试基于足球研究人工智能技术。机器人世界杯 RoboCup 在 1992 年应运而生,此后每年举办机器人足球比赛,一直延续至今。RoboCup 的目标是到2050年,机器人球队能胜过人类足球世界冠军队。然而直到今天,无论是在机器人运动仿真度上还是机器人团队决策能力上,进展依然缓慢,离目标还有很远的距离。只要看看 RoboCup 机器人摔倒的搞笑视频集锦就能明白这一点。
尽管如此,进步仍旧切实存在。得益于深度强化学习在游戏领域突飞猛进的发展,从 Atari 游戏到围棋再到多种不同的电子游戏,AI 智能体在不断的迭代演化中正变得越来越强大。此次夺冠的绝悟版本通过两项关键技术实现了优于其它竞争 AI 球队的优势。
WeKick vs SaltyFish(第二名)近期的一局比赛记录,成绩为 3:2
绝悟的夺冠秘籍
和大多数参赛队伍一样,绝悟也主要采用了强化学习和自博弈(Self-Play)来从零开始训练模型的方法。其训练的基础架构是基于「绝悟」完全体的架构迁移得到的,详情参阅《腾讯绝悟AI完全体限时开放体验,研究登上国际顶会与顶刊》。基于此,腾讯 AI Lab 又针对足球任务对该框架做针对性改进,使其能适应 11 智能体足球游戏训练环境。
为此,腾讯 AI Lab 部署了一种异步的分布式强化学习框架。虽然该异步架构牺牲了训练阶段的部分实时性能,但灵活性却得到显著提升,而且还支持在训练过程中按需调整计算资源。此外,由于 MOBA 游戏和足球游戏任务目标的差异,团队还在特征与奖励设计上进行了扩展和创新。这些改进加上关键性的生成对抗模拟学习(GAIL)方案和 League 多风格强化学习训练方案,最终铺就了绝悟的冠军之路。
架构概况
具体来说,该模型由一些密集层(每层 256 维)和一个 LSTM 模块(32 步,256 隐藏单元)构成。训练过程采用了一种改进版的近端策略优化(PPO)强化学习算法。学习率固定为 1e-4。参数更新则采用了 Adam 优化器。这套方案能实现非常快速的适应和迭代,且内存占用也较为合理。
在算法上,绝悟总体上采用了一种改进版 PPO 强化学习算法,这与不久之前发布的「绝悟」完全体的架构一致。简单来说,PPO 算法的思路在每个步骤计算更新时不仅会保证成本函数尽可能地小,而且还会确保与之前策略的偏差相对较小。这一策略能克服强化学习难以调试的缺点,在实现难度、样本复杂度和调试难度之间取得合适的平衡。
在价值估计上,采用了「绝悟」完全体的多头价值(MHV)估计方案,即奖励会被分解为多个头,然后再使用不同的折现因子聚集到一起。采用这一方案的原因是某些事件仅与近期的动作相关,比如拦截、越位和铲球;另一些事件则涉及一系列决策,比如进球。因此不同事件的奖励会具有不同的权重。
在特征设计上,研究者对标准的 115 维向量进行了扩展,使之包含了更多特征,比如队友与对手的相对姿态(位置与方向)、活动球员与足球之间的相对姿态、标记可能越位的队友的越位标签、红/黄牌状态等特征。这些扩展为训练速度带来了 30% 的效率增益。
除了人工设计的奖励,绝悟还采用了生成对抗模拟学习(GAIL),该方案利用了生成对抗训练机制来拟合专家行为的状态和动作分布,使其可以从其它球队学习。比如某个 AI 球队展现出的「反攻(counter attack)」策略就给研究者留下了深刻印象,即接球后退→传到守门员→守门员高传到前场。这是一种相对复杂的序列动作,难以通过人工方法定义其奖励;但使用 GAIL,绝悟可以成功地基于回放(replay)进行学习。然后,再将 GAIL 训练的模型作为固定对手进行进一步自博弈训练,绝悟的稳健性得到了进一步提升。
GAIL 的优势
(WeKick 的奖励设计综合了 Reward Shaping 和 GAIL 两种方案)
通过自博弈强化学习得到的模型有一个天然的缺点:很容易收敛到单一风格;在实际比赛的时候单一风格的模型很容易发生由于没见过某种打法而表现失常,最终导致成绩不佳。于是为了提升策略的多样性和稳健性,绝悟还采用了 针对多智能体学习任务的 League 多风格强化学习训练方案。
其主要流程可简单总结为先专精后综合:
1. 训练一个基础模型,具备一定程度竞技能力,比如运球过人、传球配合、射门得分;
2. 基于基础模型训练出多个风格化模型,每个模型专注一种风格打法;在风格化模型训练的过程中会定期加入主模型作为对手,避免过度坚持风格,丢失基本能力;
3. 基于基础模型训练一个主模型,主模型除了以自己的历史模型为对手以外,还会定期加入所有风格化对手的最新模型作为对手,确保主模型的策略具备鲁棒性,能够适应风格完全不同的对手。
内部能力评分系统显示,加入对手池训练以后的主模型,可以在基础模型的上提高 200 分,比最强的风格化打法高 80 分。
研究者认为,基于 League 的多风格强化学习和基于 GAIL 的风格学习方法是保证 WeKick 最终获胜的两大关键秘籍。当然,在「绝悟」框架基础上针对足球任务的一些改进设计也必不可少。
展望未来
绝悟 WeKick 版本的整体设计是基于「绝悟」完全体迁移得到的,然后针对足球任务进行了一些针对性的调整,这也证明了腾讯 AI Lab 开发的「绝悟」的底层架构与方法的通用性,可以预见这类方法未来还有望进一步迁移至机器人等更多领域,从而创造更大的实用价值。
从围棋 AI 「绝艺」到策略决策型 AI 「绝悟」,再到如今的 AI 足球队绝悟 WeKick 版本,腾讯 AI Lab 的深度强化学习智能体步步进化,逐渐向更复杂更多样化的问题迁移,其中的每一次进展都让我们离通用人工智能终极目标更近了一步。
本文转载自腾讯AI实验室。
END