腾讯AI足球队夺冠Kaggle竞赛,绝悟强化学习方案迁移至足球队

北城以北 提交于 2021-01-01 18:54:59

12月30日,腾讯宣布其人工智能球队摘得首届谷歌足球Kaggle竞赛冠军。该冠军球队来自腾讯AI Lab研发的绝悟WeKick版本,凭借1785.8的总分在与全球顶级技术团队的竞技中以显著优势胜出。

今年11月底,腾讯AI Lab与王者荣耀联合研发的策略协作型AI绝悟升级为完全体,首次让AI精通了所有英雄的所有技能。此次绝悟WeKick版本的整体设计正是基于绝悟完全体迁移得到,并针对足球任务进行了一些针对性的调整,展现了绝悟AI背后深度强化学习方法的通用能力。

Kaggle 竞赛 google-football 排行榜前十名,

来自 https://www.kaggle.com/c/google-football/leaderboard 

Kaggle创立于2010年,是全球最大的数据科学社区和数据科学竞赛平台。此次足球AI比赛由Google Research与英超曼城俱乐部在Kaggle平台上联合举办。

一直以来,足球运动团队策略以其复杂性、多样性和高难度,成为长期困扰世界顶尖AI研究团队的难题,更加稀疏的游戏激励也使得其成为比MOBA游戏更难攻克的目标。今年Kaggle首次针对足球AI领域发布赛题,为深度强化学习多智能体技术竞技和基准评测提供了一个全新舞台。深度强化学习多智能体技术竞技和基准评测提供了一个全新舞台。

比赛使用Google Research Football强化学习环境,基于开源足球游戏Gameplay Football开发,采取11vs11的赛制,参赛团队需要控制其中1个智能体与10个内置智能体组成球队,兼具挑战性和趣味性。一经推出,便吸引了来自世界顶级院校和研究机构的1100多支科研强队参与挑战。

 

“11 个强化学习智能体的合作与对抗”

 

Google Football(on Kaggle)以流行的足球游戏为模型,就像是一款由AI操作的FIFA游戏,智能体控制足球队中的一个或所有足球运动员,学习如何在他们之间传球,并设法克服对手的防守以进球。其竞赛规则与普通足球比赛类似,比如目标都是将球踢入对方球门以及越位、黄牌和红牌规则。

不同于常见足球视频游戏的统一调控式NPC球队,在本次Kaggle竞赛中,每个球员都各由一个单独的智能体控制,而参赛的AI模型则根据比赛情况控制其中一个智能体,与其他10个内置智能体配合。这要求每个球员不仅需要观察对手的行为,还需要留意己方队员的情况,背后需要非常复杂的团队协作和竞争策略作为支撑。

举个例子,当对方球员控球时,己方智能体不仅要根据球场上双方球员的分布位置预测控球球员的下一步动作,还需要与己方其他球员协同如何合规地夺取足球的控制权。且由于球场动态瞬息万变,因此高速的实时决策能力也是必需的。

此外,从零开始完全采用强化学习方法来训练完整的足球AI实际上也相当困难。与MOBA游戏中不断有经济、血量、经验等实时学习信号不同,足球的游戏激励非常稀疏,基本只能依靠进球,而稀疏激励一直是目前强化学习一大难题。

 

绝悟AI如何走上冠军之路

得益于深度强化学习在游戏领域突飞猛进的发展,从Atari游戏到围棋再到多种不同的视频游戏,AI智能体在不断的迭代演化中变得越来越强大,而足球运动团队策略的难关也得以被攻克。

绝悟WeKick版本首先采用了强化学习和自博弈(Self-Play)来从零开始训练模型,并部署了一种异步的分布式强化学习框架。虽然该异步架构牺牲了训练阶段的部分实时性能,但灵活性却得到显著提升,而且还支持在训练过程中按需调整计算资源,使其能适应 11 智能体足球游戏训练环境。

由于MOBA游戏和足球游戏任务目标的差异,绝悟WeKick版本采用了生成对抗模拟学习(GAIL)与人工设计的奖励结合,在特征与奖励设计上进行了扩展和创新。

 

架构概况

具体来说,该模型由一些密集层(每层 256 维)和一个 LSTM 模块(32 步,256 隐藏单元)构成。训练过程采用了一种改进版的近端策略优化(PPO)强化学习算法。学习率固定为 1e-4。参数更新则采用了 Adam 优化器。这套方案能实现非常快速的适应和迭代,且内存占用也较为合理。

在算法上,绝悟总体上采用了一种改进版PPO强化学习算法,这与不久之前发布的绝悟完全体的架构一致。简单来说,PPO算法的思路在每个步骤计算更新时不仅会保证成本函数尽可能地小,而且还会确保与之前策略的偏差相对较小。这一策略能克服强化学习难以调试的缺点,在实现难度、样本复杂度和调试难度之间取得合适的平衡。

在价值估计上,采用了绝悟完全体的多头价值(MHV)估计方案,即奖励会被分解为多个头,然后再使用不同的折现因子聚集到一起。采用这一方案的原因是某些事件仅与近期的动作相关,比如拦截、越位和铲球;另一些事件则涉及一系列决策,比如进球。因此不同事件的奖励会具有不同的权重。

在特征设计上,研究者对标准的115维向量进行了扩展,使之包含了更多特征,比如队友与对手的相对姿态(位置与方向)、活动球员与足球之间的相对姿态、标记可能越位的队友的越位标签、红/黄牌状态等特征。这些扩展为训练速度带来了30%的效率增益。

WeKick传球配合

除了人工设计的奖励,绝悟WeKick版本还采用了生成对抗模拟学习(GAIL),该方案利用了生成对抗训练机制来拟合专家行为的状态和动作分布,使其可以从其它球队学习。

比如某个 AI 球队展现出的「反攻(counter attack)」策略就给研究者留下了深刻印象,即接球后退→传到守门员→守门员高传到前场。这是一种相对复杂的序列动作,难以通过人工方法定义其奖励;但使用 GAIL,绝悟WeKick版本可以成功地基于回放(replay)进行学习。然后,再将 GAIL 训练的模型作为固定对手进行进一步自博弈训练,绝悟WeKick版本的稳健性得到了进一步提升。

  GAIL 的优势(WeKick 的奖励设计综合了 Reward Shaping 和 GAIL 两种方案)

但这种通过自博弈强化学习得到的模型有一个天然的缺点:很容易收敛到单一风格。在实际比赛的时候单一风格的模型很容易发生由于没见过某种打法而表现失常,最终导致成绩不佳的情况。因此,为了提升策略的多样性和稳健性,绝悟还采用了针对多智能体学习任务的League(若干策略池)多风格强化学习训练方案。

 

这种League多风格强化学习训练方案的主要流程可简单总结为先专精后综合。 

1. 训练一个基础模型,具备一定程度竞技能力,比如运球过人、传球配合、射门得分;

2. 基于基础模型训练出多个风格化模型,每个模型专注一种风格打法;在风格化模型训练的过程中会定期加入主模型作为对手,避免过度坚持风格,丢失基本能力;

3. 基于基础模型训练一个主模型,主模型除了以自己的历史模型为对手以外,还会定期加入所有风格化对手的最新模型作为对手,确保主模型的策略具备鲁棒性,能够适应风格完全不同的对手。

内部能力评分系统显示,加入对手池训练以后的主模型,可以在基础模型的上提高 200 分,比最强的风格化打法高 80 分。

最终,基于绝悟完全体的架构迁移,定制化的框架改进,加上关键性的生成对抗模拟学习(GAIL)方案和 League (若干策略池)多风格强化学习训练方案,使得绝悟实现了优于其它竞争AI球队的优势,最终成就了冠军之路。

视频:https://www.kaggleusercontent.com/episodes/7012487.webm

WeKick vs SaltyFish(第二名)近期的一局比赛记录,成绩为 3:2

此次绝悟WeKick版本夺冠,意味着在绝悟继完全体升级后,其背后的深度强化学习方案又训练出了适应复杂足球竞技场景的AI模型,展现了腾讯AI Lab在前沿AI技术上的研发实力,也验证了腾讯绝悟AI底层架构与方法的通用性。

据了解,绝悟团队的研究方向正在从足球比赛中的单个智能体控制向11个智能体同时控制、协同作战深入,当完整的足球独立智能体个数达到11个,强化学习的难度将随着智能体个数的增长呈现指数级的爆炸增长,同时足球智能体之间差距不大,如何自动形成角色分工以及在不同角色间的激励分配也一直多智能体强化的难题。在此前5v5形式(多智能体)的谷歌天梯比赛Google Research Football League中,腾讯绝悟团队也摘得冠军。

WeKick射门2

从围棋AI绝艺到MOBA游戏AI绝悟再到如今的AI足球队WeKick,腾讯AI Lab的深度强化学习智能体正在步步进化,逐渐向更复杂更多样化的问题迁移,向通用人工智能的终极目标不断迈进。可以预见,这类方法未来还有望进一步迁移至机器人等更多领域,创造更大的实用价值。

附赛事技术介绍:

https://www.kaggle.com/c/google-football/discussion/202232


更多精彩推荐
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!