作者:白杨
12月30日,腾讯宣布其人工智能球队摘得了首届谷歌足球Kaggle竞赛冠军。这是一场由Google Research与英超曼城俱乐部在Kaggle平台上联合举办的足球AI比赛,经过多轮角逐,腾讯AI Lab研发的绝悟WeKick版本以1785.8的总分成为冠军球队。
创立于2010年的Kaggle是全球最大的数据科学社区和数据科学竞赛平台,今年,也是Kaggle首次针对足球AI领域发布赛题。
比赛使用Google Research Football强化Learning环境,基于开源足球游戏Gameplay Football开发,采取11vs11的赛制,参赛团队需要控制其中1个智能体与10个内置智能体组成球队。
WeKick的比赛场景
该赛事发布后,吸引了来自世界顶级院校和研究机构的1100多支队伍参加,而腾讯此次派出的队伍其实是11月底刚刚升级为完全体的“绝悟”,当时,腾讯“绝悟”首次精通了王者荣耀所有英雄的所有技能,此次参加足球赛,就是在其基础上进行了一些针对足球的调整。
AI如何踢足球?
Google Football(on Kaggle)以流行的足球游戏为模型,就像是一款由AI操作的FIFA游戏,智能体控制足球队中的一个或所有足球运动员,学习如何在他们之间传球,并设法克服对手的防守以进球。其竞赛规则与普通足球比赛类似,比如目标都是将球踢入对方球门以及越位、黄牌和红牌规则。
不同于常见足球视频游戏的统一调控式NPC球队,在本次Kaggle竞赛中,每个球员都各由一个单独的智能体控制,而参赛的AI模型则根据比赛情况控制其中一个智能体,与其他10个内置智能体配合。这要求每个球员不仅需要观察对手的行为,还需要留意己方队员的情况,背后需要非常复杂的团队协作和竞争策略作为支撑。
比如,当对方球员控球时,己方智能体不仅要根据球场上双方球员的分布位置预测控球球员的下一步动作,还需要与己方其他球员协同如何合规地夺取足球的控制权。且由于球场动态瞬息万变,因此高速的实时决策能力也是必需的。
此外,从零开始完全采用强化学习方法来训练完整的足球AI实际上也相当困难。与MOBA游戏中不断有经济、血量、经验等实时学习信号不同,足球的游戏激励非常稀疏,基本只能依靠进球,而稀疏激励一直是目前强化Learning一大难题。
“绝悟”的冠军之路
据腾讯方面介绍,绝悟WeKick版本首先采用了强化学习和自博弈(Self-Play)来从零开始训练模型,并部署了一种异步的分布式强化学习框架。虽然该异步架构牺牲了训练阶段的部分实时性能,但灵活性却得到显著提升,而且还支持在训练过程中按需调整计算资源,使其能适应 11智能体足球游戏训练环境。
由于MOBA游戏和足球游戏任务目标的差异,绝悟WeKick版本还采用了生成对抗模拟学习(GAIL)与人工设计的奖励结合,在特征与奖励设计上进行了扩展和创新。
该方案利用了生成对抗训练机制来拟合专家行为的状态和动作分布,使得绝悟WeKick版本可以从其它球队学习。然后,再将 GAIL训练的模型作为固定对手进行进一步自博弈训练,进一步提升策略的稳健性。
但这种通过自博弈强化学习得到的模型有一个天然的缺点:很容易收敛到单一风格。在实际比赛的时候单一风格的模型很容易发生由于没见过某种打法而表现失常,最终导致成绩不佳的情况。因此,为了提升策略的多样性和稳健性,绝悟还采用了针对多智能体学习任务的League(若干策略池)多风格强化学习训练方案。
这种League多风格强化学习训练方案的主要流程可简单总结为先专精后综合。
首先训练一个具备一定程度竞技能力的基础模型,比如运球过人、传球配合、射门得分;
接着基于基础模型训练出多个风格化模型,每个模型专注一种风格打法,在风格化模型训练的过程中会定期加入主模型作为对手,避免过度坚持风格,丢失基本能力;
最后基于多个基础模型训练一个主模型,主模型除了以自己的历史模型为对手以外,还会定期加入所有风格化对手的最新模型作为对手,确保主模型能够适应风格完全不同的对手。
最终,基于绝悟完全体的架构迁移,定制化的框架改进,加上关键性的生成对抗模拟学习(GAIL)方案和 League(若干策略池)多风格强化学习训练方案,使得绝悟实现了优于其它竞争AI球队的优势,成就了冠军之路。