【新智元导读】继围棋、Dota和星际争霸后,AI进军体育游戏了!近日,谷歌AI发布足球游戏强化学习训练环境“足球引擎”,智能体经过由易到难的强化学习自我比赛训练,成功完成跑动配合、防守反击、二过一、门前抢点得分等高级行为。足球游戏“虐电”要成为历史了吗?
强化学习(RL)的目标是培养能够与环境互动并解决复杂任务的智能体,开发出机器人技术的更多实际应用。近年来,让智能体玩游戏,如标志性的Atari主机游戏、围棋游戏,专业视频游戏等,如Dota 2或《星际争霸2》,推动了这一领域的快速发展。所有这些游戏都提供了极具挑战性的训练环境,可以以安全、可重复的方式快速测试新的算法和理念。
对于强化学习来说,足球类游戏尤其具有挑战性,因为智能体需要在短期内学会控制、学习陌生概念(比如传球),并在高水平的不同战略之间实现自然平衡。
为此,Google AI 发布了一个新的强化学习环境Google Research Football Environment,智能体的目标是掌握世界上最受欢迎的体育项目——足球。该环境以流行的足球视频游戏为模型,提供基于真实的3D足球模拟,由智能体控制球队中的一个或所有球员,学习如何传球,并设法突破对方的防守取得进球。这个环境由几个关键部分组成:高度优化的游戏引擎、一系列严格的基准,以及由易变难的强化学习场景。为了便于研究,我们在Github上发布了基础开源代码的测试版。
强化学习“足球引擎”:真实模拟足球场上常见场景事件
该强化学习环境的核心是一种先进的足球游戏模拟,称为“足球引擎”,它基于一个足球游戏版本经大量修改而成。根据两支对方球队的输入动作,模拟了足球比赛中的常见事件和场景,包括进球、犯规、角球和点球、越位等。“足球引擎”采用高度优化的C++代码编写,可以在现有的计算机上运行,无论是否依赖GPU渲染都可以运行。在单CPU六核计算机上的运行速度可以达到每天约2500万步。
“足球引擎”是一种先进的足球游戏环境模拟,支持所有主要的足球比赛规则,如开球(左上),进球(右上),犯规,出牌(左下),角球和点球(右下)和越位。
此外,该引擎还具备了针对强化学习的更多功能。首先,引擎可以从不同的状态表示中学习,包括玩家位置之类的语义信息,也可以从原始像素进行学习。其次,为了研究随机性对游戏的影响,可以在随机模式(默认设置即为随机模式)下运行,在该模式下,环境和对手AI动作中都存在随机性,而在确定模式中不存在随机性。第三,开箱即用,与广泛使用的OpenAI Gym API 兼容。研究人员可以通过使用键盘或游戏手柄与智能体对战,来获得对游戏的感觉。
训练基准:由易到难,进球和带球近门都有奖励
通过基准测试,研究人员为基于足球引擎的强化学习研究设立了一系列基准问题,其目标是针对固定的基于规则的对手进行“标准”的足球游戏,这些对手是为此而手工设计的。我们提供三个版本的基准:简单、普通和困难,实力由弱到强。
作为参考,本研究提供了两种最先进的强化学习算法的基准测试结果:DQN和IMPALA,它们既可以在一台机器上的多个进程中运行,也可以在多台机器上同时运行。我们针对两种奖励设置进行了研究,第一种设置提供的唯一奖励是取得进球。第二种设置为智能体将球移动至球门附近提供额外的奖励。
研究结果表明,简单模式下的基准测试似乎更适用于单机版算法的研究,困难模式的基准即使对于大规模分布式强化学习算法而言也具有很大的挑战性。基于环境的性质和基准测试的难度,我们期望这些测试和环境可用于研究当前的科学难题,例如样本有效的强化学习、稀疏奖励,或基于模型的强化学习等。
不同基线的不同难度级别的智能体的测试结果。对于简单模式基准测试的对手,DQN智能体训练2000万步即可战胜,而要战胜中等和困难模式的对手需要使用大规模分布式算法,如IMPALA,需要训练2亿步。
未来方向:从自训练到适应对手
为了完成完整的足球策略训练,研究人员还提供了“足球学院”,提供各种测试难度的多个场景。研究人员可以探索新的研究思路,测试更高级的概念,并为课程学习研究思路提供基础。
智能体可以从由易到难的场景中学习。“足球学院”场景示例包括,智能体必须学习如何在球员之间快速传接球,并学习如何进行防守反击。研究人员可以使用简单的API,进一步自定义场景并训练智能体解决更多问题。
由上至下:(1)一个成功的进攻策略,迎球跑动,面对门将射门得分。(2)策动并完成一次漂亮的反击。(3)应对前场2打1的简单方式。(4)角球后门前抢点得分。
此次提出的足球游戏智能体训练基准遵循的是标准的强化学习设置,由智能体与固定的对手竞争,竞争对手被视为环境的一部分。而实际上,足球是一个双方的游戏,是两个不同的球队之间的竞争,一方必须要适应对方的行动和战略。我们为研究这种环境提供了独特的机会,一旦我们完成了自游戏的测试,就可以进一步研究更多更有趣的测试环境。
参考链接:
https://ai.googleblog.com/2019/06/introducing-google-research-football.html