当前位置: 首页 > 科技观察

清华打造足球AI:首次实现同时控制10名球员完成比赛,胜率94.4%

时间:2023-03-20 14:36:52 科技观察

清华足球AI:首次控制10名球员同时完成比赛,胜率94.4%。“我看到那个4号球员在队友的配合下,迅速突破防线,直塞,射门,进了!”观众朋友们大家好,你们现在看到的是谷歌AI足球比赛的现场。黄衫是来自清华大学的AI选手。今年的清华AI团队不一般。经过刻苦训练,他们不仅拥有个人能力出众的明星球员,更拥有世界上最强、最紧密的团队合作。在多次国际比赛中立于不败之地,获得冠军。“哦,现在7号接到队友助攻,踢门,又进了!”言归正传,以上其实是清华大学在足球比赛中打造的一款强大的多智能体强化学习AI-TiKick。在多项国际赛事中夺冠,意味着TiKick在单智能体控制和多智能体控制上都取得了SOTA的表现,同时控制十名球员完成整场足球比赛,这在国内尚属首次。这支强大的AI团队是如何训练出来的?Multi-agentfootballAI从single-agentstrategy演化而来在此之前,我们先简单了解一下用于训练的强化学习环境,也就是这款足球比赛:GoogleResearchFootball(GRF)。由谷歌于2019年发布,提供基于物理的3D足球模拟,支持所有主要比赛规则,一名或多名足球运动员由智能代理控制与对方内置的AI比赛。在由3000步组成的游戏的上半场和下半场,agent需要连续决定移动、传球、射门、运球、抢断、冲刺等19个动作来完成目标。在这样的足球比赛环境下进行强化学习有两个难点:一是因为多智能体环境,即共有10名球员(不包括守门员)可供操作,算法需要搜索在如此巨大的行动空间中寻找合适的人。动作组合;第二,大家都知道足球比赛的进球数很少,算法很难频繁从环境中获取奖励,训练难度大大增加。清华大学这次的目标是控制多人完成比赛。从2020年Kaggle举办的GRF世界锦标赛开始,他们观察了夺冠的WeKick团队的数万条自对局数据,并采用离线强化学习的方式进行学习。本次赛事只需要控制场上一名选手进行对战即可。如何从单智能体数据集中学习多智能体策略?直接学习WeKick中的单智能体操作,然后照抄到每个玩家身上,显然是不可取的,因为这样一来,大家只会抢着球冲向球门,没有团队配合。而后场不活跃球员的动作数据也没有,那怎么办呢?他们在动作集中加入了第20个动作:内置,并给所有不活跃的玩家打上了这个标签(如果在游戏过程中选择内置作为玩家的动作,玩家将按照内置的规则进行动作).然后使用多代理行为克隆(MABC)算法对模型进行训练。对于离线强化学习,其核心思想是在数据中寻找优质的动作,并加强对这些动作的学习。因此,在计算目标函数时需要为每个标签分配不同的权重,以防止玩家倾向于只将某个动作作为一个动作。这里的权重分配有两个考虑:一是从数据集中选择目标较多的比赛,只使用这些高质量的数据进行训练。由于奖励密集,该模型可以加速收敛并提高性能。二是训练Critic网络对所有动作打分,并根据结果计算优势函数,然后对优势函数值较大的动作赋予较高的权重,反之则赋予较低的权重。这里为了避免梯度爆炸和消失,对优势函数进行了适当的裁剪。最终的分布式训练架构由一个Learner和多个Worker组成。其中Learner负责学习和更新策略,Worker负责收集数据,他们通过gRPC交换共享数据和网络参数。Worker可以以多进程的方式同时与多个游戏环境交互,也可以通过I/O同步读取离线数据。这种并行执行的方式也大大提高了数据收集的速度,从而提高了训练速度(5小时就可以达到其他分布式训练算法两天才能达到的性能)。此外,通过模块化设计,该框架还可以在不修改任何代码的情况下实现单节点调试模式和多节点分布式训练模式的一键切换,大大降低了算法实现和训练的难度。94.4%的胜率,平均净差3分在多智能体(GRF)博弈上不同算法的对比结果中,TiKick(+AW)的最终算法胜率最高(94.4%),最大目标差异达到最佳性能。TrueSkill(机器学习中竞技类游戏的排名系统)分数也是第一。TiKick与内置AI的对战取得了94.4%的胜率,场均净胜3分。GRF学术场景TiKick与baseline算法的横向对比可以看出,TiKick在所有场景下都做到了最好的性能和最低的样本复杂度,差距明显。与其中的baselineMAPPO相比,还发现只需要100万步就可以在5个场景中的4个场景中获得最高分。作者介绍第一部作品黄世宇,清华大学博士生,研究方向为计算机视觉、强化学习和深度学习的交叉领域。曾就职于华为诺亚方舟实验室、腾讯AI、卡内基梅隆大学和商汤科技。共同作者是来自清华大学的陈文泽。此外,作者还包括国防科技大学的张龙飞,腾讯AI实验室的李子阳、朱凤鸣、叶德恒,清华大学的陈婷。通讯作者为清华大学朱军教授。论文地址:https://arxiv.org/abs/2110.04507项目地址:https://github.com/TARTRL/TiKick参考链接:https://zhuanlan.zhihu.com/p/421572915