姓名:王茜茜 学号:19020100141 学院:丁香2号书院
转自:https://blog.csdn.net/bozitong1996/article/details/98034530
【嵌牛导读】本文将对AI在电竞上的具体应用和实际技术进行概述
【嵌牛鼻子】OpenAIFive
【嵌牛提问】OpenAIFive如何发挥人工智能?
【嵌牛正文】近年来,多智能体强化学习成为了人工智能的热门研究方向。不同于围棋和星际争霸这类单智能体任务。多智能体系统中包含多个智能体,它们共享一个环境,每个智能体的行为都会对共同的环境产生影响。如何让多个智能体学会协同合作解决问题一直困扰着诸多研究人员。由OpenAI组织研发「OpenAIFive」是人工智能界2018年的一大亮点。它以MOBA类多人对抗游戏Dota2作为背景,使用深度学习和强化学习训练多智能体系统,在短时间内就击败了游戏内置AI和业余玩家组成的战队。Dota2是世界上最流行和最复杂的多人电子竞技游戏,同时也是一个典型的AI难题。同围棋一样,AI每时每刻都要进行长期规划;同星际争霸一样,AI面对的是不完全信息博弈,在不确定的情况下进行推理和规划。与二者不同的是,Dota2是5v5的团队游戏,需要多个智能体协作完成复杂的任务。多智能体博弈已经成为了人工智能研究的新方向。因此,攻克Dota2将会是一个里程碑式的成就。
Ti8首秀
DOTA2国际邀请赛,The International DOTA2 Championships,是每年一次在夏季举行DOTA2最大规模和最高奖金额度的国际性高水准比赛。今年的TI8的奖金高达2500万美金以上,是全世界奖金最高的电竞赛事。为了挑战更强的对手,OpenAI Five在Ti8上与职业选手交手。
OpenAI Five第一场比赛的对手是来自南美的paiN Gaming战队,它们是来参加本届Ti的十八支顶尖战队之一。在开局不久后,paiN战队选手w33带队拿下一血(首次击杀对方英雄),paiN众人的表情都十分轻松,似乎已经胜券在握。在随后的比赛中,OpenAI始终没有在团战中落入下风,相反是美如画的技能combo和坚定的执行力帮助经济并不领先的OpenAI将局势紧紧攥在手里。paiN众人的表情逐渐凝重,仿佛意识到了危险,并逐渐开始挽回局势。最终,认真起来的paiN战队还是战胜了OpenAI Five。
第二天,OpenAI Five经过调整后再次亮相。在一场长达 45 分钟的比赛中,AI 输给了中国 Dota 2 名人堂五位选手组成的战队。AI在50多分钟的鏖战中,从牢牢掌控局面到被人类一点点消磨到崩盘。相似的情节再次上演。人类选手在对线上略微有点吃亏,但是意识、出装依然能看出当年专业的水平,而且人类队打的其实还比较轻松,看上去没有特别紧张。
总的来看,这个版本的OpenAI Five在小操作和团战上胜过人类选手,也能在团战中看出他们的一些技能配合。但是它在很多细节处理上让人大跌眼镜,比如把多个侦察守卫放置在一起、经常迷路到BOSS位置、阵亡之后立刻选择买活等。每到中后期便逐渐疲软这一明显的弱点,暴露了它只注重眼前利益而缺少对任务的长期规划。
OG战队:王者归来
2018年8月26日,在Ti8总决赛的精彩对决中,OG更胜一筹,以3:2的比分战胜了中国战队PSG.LGD。他们击败了来自世界各地的顶尖战队,在全世界面前捧起了冠军盾,拿下了DOTA2无与伦比的最高荣耀。队员Notail与JerAx成功拿下四大联赛大满贯,教练7ckngMad亲自登场并且率队创造了历史。
遥想开赛之前,因为在17-18赛年成绩不佳,即便他们在重组后拿下了欧洲区预选赛的冠军,OG在正赛开始前也并没有被看好。在这一年里,作为一支有着稳定赞助、稳定阵容的传统强队,OG在DPC赛季中糟糕的成绩辜负了粉丝们的期待,甚至连建队元老都选择携手出走。然而就在一切崩盘的时候,他们却用一次神奇的转会,让我们看到了这支队伍不为人知的一面,更是在全世界面前捧起了TI冠军盾,拿下了DOTA2无与伦比的荣耀。霸主归来,OG一路从海选赛打出重围到TI正赛的一往无前,再到击败PSG.LGD拿下TI8冠军,对于他们实属不易。抛除队员个人技术和队伍的战术打法不谈,OG战队最恐怖的实力就是:韧性,尤其是面对逆风局时的韧性,而这也正是冠军队伍必备的品质之一,值得我们每一个人学习。回顾OG战队在Ti8上的所有比赛,不论处于多大劣势,他们从来都没有放弃,即便是失败也会撑到基地爆炸,很少提前放弃比赛,这也使得他们在正赛开始后,一路从胜者组走到了决赛,最终拿下冠军。
卷土重来,挑战王者
经过了一年的学习和提升后,OpenAI Five卷土重来。2019年3月26日,OpenAI宣布于2019年4月13日举办最后一场挑战赛,对手是世界冠军,王者OG战队。这一消息发布后,随即成为了国内外各大论坛的热门话题。人们的看法各不相同,但都对这场比赛抱有很大的期待。大部分人依旧不看好它,毕竟先前在Ti8上大败而归,况且这次对手还是世界冠军,结果必然凶多吉少。也有小部分人持乐观态度,认为AI这次有很大希望战胜人类。据研究人员称,OpenAI Five学习一年相当于人类学习四万年!相信它一定能超越人类十余年来积累的成果。
比赛在Dota2 7.21版本上进行,采用三局两胜制。
不同于传统的比赛,人机对抗在游戏规则上有所限制:
英雄池仅包含17个英雄,:斧王、水晶室女、死亡先知、撼地神牛、矮人直升机、巫妖、恶魔巫师、死灵法师、痛苦女王、剃刀、隐刺、影魔、斯拉克、矮人火枪手、斯温、潮汐猎人、冥界亚龙、巫医。这些英雄没有召唤单位和幻象技能。能够召唤单位或是制造幻象的物品也被禁止:分身斧、死灵书和支配头盔。
第一局双方选择的阵容如下:
OpenAI Five作为天辉方,选择了火枪、飞机、冰女、死亡先知、斯温;
OG战队作为夜魇方,选择了小牛、巫医、毒龙、隐刺、影魔。
确定阵容后,OpenAI Five给出的胜率预测是67.6%。这一乐观数值的来源尚未可知,笔者猜测是因为选到了在训练过程中胜率较高的几名英雄,所以有较大的把握取胜。
刚刚开局,双方的侦察小队就在野外遭遇,OpenAI Five率先拿到巫医的第一滴血, OG众人也还以颜色,击杀了对方冰女。一波激烈的交火后,双方都不敢再深入,便各自散去。在对线期,双方的击杀数一直不相上下,AI一方依靠良好的对线操作,在团队经济上取得了一些小优势。双方从资源分配方式上已经有了明显的区别:
虽然总体经济落后,OG战队的三名核心英雄却高于AI方的核心英雄。这就是人类比赛中常用的3核心+2辅助战术,牺牲2名英雄的经济保证另外3名英雄的发育。而AI这边的经济分配较为平均,最低冰女和最高的死亡先知仅仅差了1700。
比赛进行到17分钟时,OG双线发难,拿到了双倍攻击神符的隐形刺客带领牛头人入侵对手野区,击杀了正在打野的飞机。AI第一时间选择了买活,震惊了在场的所有人。买活是一种用经济换取时间的方式,它允许玩家在阵亡后无需等待数十秒的复活时间,直接回到战场。除了需要大量的现有金钱外,还会降低买活后的经济收入。当我们还在思考AI选择买活的原因时,落单的死亡先知和斯温也陆续被OG众人击杀。这一次,AI还是选择了买活并集合所有英雄进攻中路。
19分钟,第一波大团战在中路打响。AI方依靠精彩的操作和配合击杀了对方所有英雄,而己方无任何损失。这波大胜直接使得OG战队中路高地告破,经济拉开了六千的差距。同时也导致圣坛被摧毁,高地之外几乎全部落入天辉方(OpenAI Five)的掌控。接下来OG只能选择防守反击,而AI方则是稳中求胜,逐步扩大优势。
35分钟,OG的核心装备成型,主动出击并在天辉远古野处抓到落单的冰女击杀。但是,AI的另外四人火速增援,击杀了OG四名英雄。买活的毒龙独木难支,OG顺利攻破上路和下路并有序撤退。
最终,OpenAI Five拿下了第一场比赛。现场也是一片掌声。这场比赛中,AI展现了清奇的思路:出门装就选择两个大药,后续的装备也更倾向于买补给品,而不是提高自身属性。
第二局比赛双方的阵容如下:
OpenAI Five作为天辉方,选择了冰女、飞机、斯温、巫医、毒龙
OG战队作为夜魇方,选择了火枪、小牛、死亡先知、小鱼人、莱恩
阵容确定后,AI对自身胜率的预测是60.8%,略低于上一局。
比赛前两分钟,OG战队中单Topson使用的火枪手被毒龙单杀,送出了一血。在对线过程中,AI各路开花,冰女和巫医带动了全场节奏。十分钟,比分就已经来到了11:3,OG接近崩盘。面对如此大劣,OG并没有选择猥琐发育,而是继续强行打团战,结果就是劣势越来越打,三核心的经济全面落后,完全看不到翻盘的希望。
14分钟,领先了1万经济的AI攻上了OG高地。OG已然被打乱了阵脚,上演了葫芦娃救爷爷——一个一个送的“好戏”。
仅仅21分钟,OG的基地被推掉,OpenAI Five轻松拿下第二局。直到比赛结束,OG拿下人头还是个位数,被AI打成了46:6。
2:0,这一结果出几乎让所有人大跌眼镜。在第一局中,AI前期有略微的劣势,然后开始发力挽回了局势,第二局几乎就是一直碾压OG。纵观整个系列赛,OpenAI Five已经改善了此前的大多数弱点,比如:胡乱逛街、空放大招、一旦劣势便手足无措等。并且体现出了相当强大的局势控制能力。不过对局过程中还是能看出AI在细节上有一些不足。比如说面对在复杂树林中绕来绕去的人类,AI就无能为力。今天的比赛中,Ceb就靠绕树林救了自己一命。
我们可以毫不夸张地说,这一次,人类方一败涂地。
技术探究
OpenAI的快速进化是它训练的成果,也就是不断自我对局。它们的训练量远非人类能及,当然对计算力的需求也无比巨大。OpenAI一共使用了256块P100 GPU和12.8万块CPU核心进行训练,OpenAI Five每天的训练量相当于人类180年。
Dota 2 中大概有 170,000 个不同的动作,包括正常的动作,如移动和攻击,还包括技能施放、物品使用、状态升级等。在每个时间点上并非所有操作都可以使用——比如可能还没有学这个技能,或者背包里没有这个装备。但你仍然可以使用大约 1000 种不同的操作。此外,许多动作都有参数,例如你想要移动到什么区域或你想要攻击哪个敌人。OpenAI在博文中也展示了很好的动作空间的可视化,如下图所示:
![
右侧的游戏画面中,智能体控制的英雄水晶室女的动作空间及可选目标如图左所示,其中可选动作包含了移动、攻击、使用回城卷轴和使用技能等。不同动作对应的目标也各不相同,目标可以是单位也可以是空地(用坐标表示)。
OpenAI Five的五个AI玩家每个人都拥有一个自己的LSTM神经网络,其中包含1024个神经元。输入当前游戏状态后,该神经网络会计算出下一步采取的动作。OpenAI使用了自主研发的Rapid通用强化学习训练系统,并使用近端策略优化算法进行学习。既然是五个智能体组成的战队,当然还要让它们能够互相配合,各司其职。为此,OpenAI设计了一个名为“团队精神“的参数来控制。这一参数的取值范围在0到1之间,决定了AI对自身奖励函数和队友平均奖励函数的关注程度的分配。
训练系统分为自我训练的Rollout Workers,它运行一个游戏副本并用一个智能体收集经验。修正神经网络参数的Optimizer在一系列GPU中执行同步梯度下降,更新LSTM神经网络的参数。评估模型的Eval Workers会与硬编码的脚本AI、先前版本的AI对战以评估当前AI的实力。OpenAI Five的自我训练是从随机参数开始的,为了避免“战略崩溃“,自我训练被分为两部分:80%是和当前版本的自己对战、20%是和之前版本对战。经过几个小时的训练,带线、刷钱、抓人等战略陆续出现。几天后,它们已经学会了人类的基本战略,如抢对手的神符、占线刷钱、抱团推进等。成功的探索自然离不开回报的指引。OpenAI为Dota2设计的回报机制是基于人类玩家对行为的具体评判:如团队作用、技能施放、死亡次数、助攻次数和击杀次数等。每当智能体做出有利于战局的行为,就会获得一个奖励信号,从而激励它在以后趋向于执行类似的行为。同时,为了防止智能体钻漏洞,还需要计算了另一队的平均奖励,然后用本队英雄表现减去这个值来具体评判。
结语
到今天为止,OpenAI的Dota AI诞生两年,已经几次震惊世人。它的进化令人刮目相看。它的胜利赢得了人们的掌声。我们可以预料的是,人们对于人工智能的探索将不会停止。随着AI技术的发展,公众对于它的态度也会更为包容。