dota2机器人solo脚本比赛怎么让AI选相同的英雄

2被浏览936分享邀请回答0添加评论分享收藏感谢收起0添加评论分享收藏感谢收起写回答类型MOBA大小7.09GB
《DOTA2》的AI是如何打败顶级职业选手的?
作者:喵喵么么
在这几天当中,人工智能扔在不断自我学习和进化。8月9日,Sumail以2:1的分数战胜了人工智能,但一天以后,就吃了个0:6的大鸭蛋。
比赛的结局可能在不少人的意料之中,毕竟这是一场敢于在全球直播中表演的中单对决,只有足以匹敌职业选手水平的AI,才能站在这个全球DOTA2玩家共同瞩目的舞台正中;但整个比赛过程,几乎出乎了所有玩家和职业选手的意料:由人工智能操控的SF并非完全依靠绝对精准的数值计算,而是有所取舍地掌握并运用了拉扯兵线、吸引/取消仇恨、越兵线压制、打断大药,甚至骗补刀消耗这些游戏中的技巧。
这次人工智能是在云端与Dendi进行的对决
中单第二局,上一把输掉的Dendi在出兵后选择故意放兵,用进塔策略快速消耗第一波小兵,从而把第二波兵控制在己方坡上的策略,同时也在试探这个人工智能会如何应对。而卡兵出门的人工智能在第一波地方小兵进入一塔视野范围之后,第一时间选择放兵阻止对方进塔。虽然这一举动没能成功阻止Dendi的妙招,但人工智能依然依靠操作和意识,将第二波小兵留在了优势地形,并一步步积累优势,赢得了这场人与人工智能比赛的胜利。这个名叫OPEN AI的超级人工智能的实际表现,征服了众多玩家和职业选手。
几乎每个DOTA玩家都有和自带AI交手的经历,但面对这样一个人工智能,每个人都能清楚地认识到,它与以往的那些所谓&AI&完全不同。
与国际围棋棋手对决而声名鹊起的AlphaGo,从属于谷歌DeepMind工作室。这家人工智能领域的明星,接受了业内不少科技巨头的注资,同时担任特斯拉和SpaceX首席运营官一职的著名商业人物埃隆马斯克也是它的早期投资人之一。它击败韩国围棋冠军李世石后,埃隆马斯克第一时间发推,赞扬人工智能的发展成果。
而在OPEN AI击败了Dendi之后,马斯克在推特上这样说道:&OpenAI第一次在电竞比赛上完胜世界顶级选手,这可比象棋围棋复杂多了&。OpenAI这家非盈利性质的人工智能研究公司成立于2015年,而埃隆马斯克是正是它的联席主席之一。
在2016年12月,OpenAI发布了一个名叫&Universe&的AGI测试训练平台,这个平台的最终目的,是让人工智能像人一样使用计算机。在类型众多、数量庞大的测试项目中,游戏占了相当一个比重,从ATARI2600到近年的网页游戏,甚至其中还包括我们人人都熟知的《GTA5》。
但回到Ti7上的中单SF对决,一些对这个AI的评价依然抱有争议:人工智能与职业选手获取信息的方式、量级是否相等?人工智能的反应速度、实际操作是否被限制在于人类相同的范围以内?
这些公司的很多游戏都在Universe中进行测试
这是个很严峻的问题。如果人工智能是依据游戏后台数据进行分析操作,并运用了远超人类的操作和反应速度优势的话,人类可以说是没有胜算的,这场对决就变得毫无意义。而这些问题,或许可以在Universe这一项目中得到解答。
在Universe中,人工智能通过捕捉屏幕像素捕捉信息,并模拟鼠标和键盘进行实际操作,游戏屏幕被分为个缓冲区。以ATARI2600游戏为例,人工智能在局域网云端观察每秒60帧游戏画面后,存在20毫秒的观察滞后,和10毫秒的行动滞后。而在公共互联网中,帧数降低至20帧,观察滞后80毫秒,行动滞后30毫秒。
而人类一般的反应速度是250毫秒,职业选手要更短一些。OpenAI在Dendi比赛结束之后有称,人工智能的实际反应和操作被限定在了人类合理范围以内。
可与此同时,另一个问题也接踵而至。在比赛间隙,OpenAI一侧透露人工智能仅仅训练SF中单有两周左右,如此短暂时间里OpenAI已经可以做到击败全球实力水平最高的职业选手,但与此同时,DeepMind的AlphaGo训练《星际争霸2》,却仅仅到了&学会遇到危险飞起基地&的水平。两者究竟有什么不同?
近几年来,人工智能得到了长足地进步和发展。现如今已经可以做到看、听、说、甚至学习生成文字、图像、声音,甚至打败围棋世界冠军。但这在人工智能领域中,依然被称作&狭义人工智能&&&你可以赋予它某一个特定领域中远超于人类的能力,但它缺乏领域以外的合理执行力:即使AlphaGo学会了如何下围棋,但你无法让它陪你玩其他游戏,它无法应用现有经验带入新的尝试中,只能以不断试错的方式去学习。
以一个叫做《Montezuma&s Revenge》的ATARI2600游戏为例,这款游戏中玩家需要控制角色,利用各种设施进行移动,并躲避移动的头骨,拿到过关钥匙。人类玩家可以从画面中瞬间识别目标和危险,但是让人工智能去尝试,它无法一眼将头骨视为阻止它过关的威胁只能通过无尽的试错,才能找到正确的通关方式。
为了让人工智能能够通过自我学习找到游戏目标,Universe尝试让人工智能去提取画面中的奖励机制。幸运的是,很多老游戏都在画面中有显示分数奖励,这使得人工智能终于能在一些游戏中主动寻求到游戏目标,并完成游戏。
虽然OpenAI训练《DOTA2》人工智能进行中单对抗只有两个星期,但并不意味着这样短的时间内人工智能就能读懂游戏。早在今年上半年,OpenAI项目组就开始让人工智能学习《DOTA2》,经过强化训练后,它在3月1日学会了用小黑放神牛的风筝,并在4月份开始对抗真人玩家。
《DOTA2》天梯玩家都有一个叫MMR的分数,这个分数一定程度上体现出玩家在团队PVP对战的实际水平,例如Arteezy是万分大神,Sumail8300分,dendi7300分。有数据显示,超过7500分的玩家数量仅占0.01%,有58%的玩家地狱3000分,15%的玩家低于1500分。进入5月份,人工智能已经能在真人对抗中迎战1500分的玩家了。
今年6月初,人工智能第一次击败了1500分玩家,并在月底把大部分3000分局的胜场掌握在自己手中。随着训练不断进行,人工智能终于在7月初勉强拿下了一场7500分局的胜利。7月底,才开始OpenAI口中的那&两个星期&的训练周期。
随着训练,人工智能的胜率变得越来越高  8月7日,人工智能依次以3:0、2:1和3:0分别击败了6200分的Blitz、8500分级的Pajkatt和8900分的CC&C。两天后,人工智能又击败了万分大神Arteezy,当时这些选手一致认为,Sumail能够找出击败它的方法。
在这几天当中,人工智能扔在不断自我学习和进化。8月9日,Sumail以2:1的分数战胜了人工智能,但一天以后,就吃了个0:6的大鸭蛋。
在这一阶段,一些奇招是可以打败人工智能的。Pajkatt赢得那场,他通过快速合成魔棒,并适当配合仙灵之火的瞬间回复方式,击败了人工智能。而经过高达1000场线上测试后,OpenAI发现了几个人工智能的漏洞:把兵线反复后拉到塔与塔之间,小兵清干净后人工智能会被塔砸死;毒球+风灵之纹可以在开局制造非常大的移速优势,并可以快速拿到一血;出门学一级影压,一些分的玩家可以通过短时间内的连续影压带走对方。
当然,OpenAI的训练绝非完全自主的,这些特殊战术在之后都被放入了人工智能的训练单当中。经过一定训练后,人工智能甚至在遇到信使勾引的情况下,合理判断是击杀还是放弃。在自我学习和人工补足的协同下,最终使我们在Ti现场亲眼目睹了那场比赛。
5V5还有多远?
在战胜Dendi后,OpenAI表达了希望能在明年表演一场职业队伍VS人工智能的5V5比赛。当然,这场比赛的根基,才刚刚开始搭建。《DOTA2》每天有100万场公开匹配局,每局的录像都会在Valve服务器储存两个星期,OpenAI团队如今收集了超过580万场超过45分钟的高端局录像,让人工智能不断模仿和学习。
不删档内测
不限号测试
开放性测试
不限号内测舜网-济南时报
舜网-济南日报
中国青年网
美媒称,算上网上购票,吴京的《战狼2》在14天中的总票房达到5.939亿美元(1美元约合人民币6.7元——本网注),这部影片本周几乎必定会成为史上在单一地区最卖座的影片之一。您的当前位置: >
AI吊打DOTA2人类高手 你又被标题党坑了
来源:作者:网络
制作:关西科健产业研究院 Chubbler
监制:中国科学院计算机网络信息中心
最近,AI英雄榜又喜迎一位重量级新成员。在大家逐渐接受了人工智能&阿尔法狗&(AlphaGo)先后完虐人类两大顶尖棋手李世石和柯洁的事实,并开始逐渐淡定之时,8月11日,由埃隆&马斯克(Elon Musk)推出的一位AI玩家&&OpenAI Bot高调出席了Dota2国际邀请赛&The International&),并在1v1比赛环节中于第一局比赛开场的十分钟之内,就迅速&吊打&了乌克兰现役Dota2顶级职业玩家Danylo Ishutin(绰号&Dendi&)。媒体当即哀鸿遍野,Dota2战场正式&被&宣布沦陷。
(Dendi与OpenAI Bot的&世纪之战&,图片截图自优酷视频)
于此同时,谷歌DeepMind联手暴雪娱乐也发出官 方声明,欲训练AI挑战《星际争霸2》世界顶级玩家。
人工智能代表着计算机领域发展的制高点,在各行各业具有着无限潜力和应用价值,但不难发现,近几年来新闻中出镜率颇高的AI(人工智能)技术突破往往总和各类游戏联系在一起,从传统的棋牌类游戏(象棋、围棋、德州扑克)到电子游戏(星际、Dota),投资商及软件开发精英似乎总是偏爱从与人类生活关系并不密切的游戏入手,通过开发,如AlphaGo这样的游戏AI,在娱乐中促使我们思考诸如人类与人工智能的关系、人工智能的发展方向与未来等深奥的科学哲学问题。
那么问题来了,为何AI的开发总要以游戏为切入点呢?
正如AlphaGo之父,谷歌旗下DeepMind公司CEO哈萨比斯所说:&游戏是测试AI算法的完美平台,这里有无限的训练数据,不存在测试偏差,能够实施并行测试,并且还能记录每个可以量化的进展&。
&Games are the perfect platform for testing AI algorithms. There's unlimited training data, no testing bias, parallel testing, and you can record measurable progress.&
-- Demis Hassabis, CEO and co-founder of DeepMind
(AI研究者与游戏挑战的关系,图片来自网络)
由此可见,与其说是AI 研究者爱跳游戏挑战的坑,不如说是游戏挑战平台高效、安全和可测的运行环境就是为AI 研究者跳坑而生。例如,在开发在自动驾驶系统中可以自动识别交通标志的AI时,为了避免在现实环境中进行测试为正常的车辆和行人造成困扰,普林斯顿大学(Princeton University)的研究团队更倾向于选择在《侠盗车手》(Grand Theft Auto)游戏中对AI识别交通标志的能力进行开发和测试。
由此可见,在这些游戏中胜出的AI,其意义远不仅局限于赢得比赛本身,而是想通过AI算法的开发,让其像人脑一样不仅具备处理各种问题的能力,还兼具自我学习和进化的能力,再利用其算法为人类做出更多的贡献。
事实上,自2014年以来,连续举办的通用游戏AI竞赛(General Video Game AI Competition,GVG-AI Competition)的核心就是测试AI解决各种问题的能力。在这项比赛中,AI 需要在未知的10款Atari游戏中对战并学习如何赢得比赛。
正如阿尔法狗在真正进行人机对弈之前,进行过无数次的自我对弈一样,游戏AI的对手并不局限于人类,不同团队开发的游戏AI之间,甚至某个游戏AI自身都可以进行对弈。
(传统的俄罗斯方块游戏(左)与GVG-AI竞赛中AI之间的俄罗斯方块比赛(右),图片来自网络)
所以说,现在AI开发者都在玩什么游戏呢?
随着AI技术的不断发展,AI所能进行的竞技性游戏更加复杂化、多元化。广义上来说,竞技性电子游戏可分为两种类型:完全信息博弈(complete information game)游戏和不完全信息博弈(Incomplete information game)游戏。
完全信息博弈游戏:在这类游戏中,每一个参与者都拥有所有其他参与者的特征、策略集及得益函数等方面的准确信息的博弈(尴尬而不失礼的翻译:己方的生命值,武器系统,技能系统等相关信息都被博弈对手所完全掌握,反之亦然。当然,这里并不是说你将要使出的招法在出招之前就能被对方预知,而是说你只能使出招式表中的招法。对手即便知晓你的全部出招可能,出什么招,何时出仍然是你根据场上形势随机应变,相时而动的)。
典型的完全信息博弈游戏包括:《乓》、《太空侵略者》、《街霸3》和《象棋》等等。进行这类游戏时,两个玩家共享同一个屏幕,看到的画面完全同步。
(完全信息博弈游戏,图片来自网络)
不完全信息博弈:对其他参与人的特征、策略空间及收益函数信息了解的不够准确、或者不是对所有参与人的特征、策略空间及收益函数都有准确的信息,在这种情况下进行的博弈就是不完全信息博弈(尴尬而不失礼的继续翻译:玩家只能知道己方(甚至仅仅自己)正在进行的操作,而对于对方玩家的情况仅知晓一部分。最典型的例子就是RTS游戏中的战争迷雾(war fog)让玩家并不能直接获取对手的动态,对手是选择暴兵还是升级科技往往只有短兵相接的那一刻才能真正揭开谜底。)。
典型的不完全信息博弈游戏包括《星际》、《CS:GO》、《Dota》等即时战略(RTS)或第一人称射击游戏。
即使通过游戏体验,普通玩家也能猜到完全信息博弈情形下的游戏AI开发难度要远远低于非完全信息博弈。譬如,在棋类游戏中,游戏AI与人类玩家共享相同的战局态势,一旦突破了核心算法,AI的超强运算能力就有了用武之地。AlphaGo在与柯洁的对战中体现出滴水不漏的攻防,展示出决胜千里的妙招也就不足为奇了。
在AlphaGo这样高度进化的游戏AI出现之后,人类围棋技艺中所谓&势&的概念也可能要成为历史了。&势&这样玄乎其技的说法,实际上是在掩饰人类大脑的运算能力无法看破复杂局面的窘迫,对于AI来说,于人类而言如同迷雾一般的棋局可能不过是中央处理器多运行的几十个纳秒而已。
通用游戏AI竞赛中的十多款Atari游戏都属于完全信息博弈。在这些游戏中,复杂度最高的几款游戏AI仍达不到击败人类玩家的水平。而在其余的一些规则相对简单的游戏中(如《乓》和《太空侵略者》游戏),人类玩家已经远不是AI的对手。
在这些游戏中,AI是如何被开发并优化,一步步击败人类的呢?
目前比较流行的通用游戏AI训练方式是以2013年NIPS上发表的,关于深度Q网络(Deep Q-Learning Network , DQN) 为基础的强化学习 (Reinforcement Learning)和深度神经网络 (Deep Neural Network,DNN)的结合。下面两篇文献中有详细的解释,这里仅以《乓》为例做简要介绍。
& Playing Atari with Deep Reinforcement Learning. ArXiv (2013)
& Human&level control through deep reinforcement learning. Nature (2015)
首先,简要介绍一下啥叫强化学习和深度神经网络。
强化学习(Reinforcement Learning)是机器人(可以理解为AI)在与环境交互中,根据获得的奖励或惩罚,不断进行学习的一种机器学习方式。
(强化学习示意图)
如图所示,从环境中,机器人会不断地得到状态 (State) 和奖励 (Reward)。这与动物学习非常类似。一开始,机器人不知道环境会对不同行为做出什么样的反应,仅从环境中获取观察的状态,这就是最上方箭头表示的感知(Perception)。而环境能够根据机器人的行为反馈给它一个奖励。
例如在《乓》中,向上移动回击小球,如对手没接住就分会增加一分,那么这一步的奖励就是正值;反之,奖励为负值。重复感知、行动和奖励的过程就形成一个强化学习的交互流程,AI在这种交互中不断纠正自己的行为,从而对环境变化做出最佳的应对。
深度神经网络(Deep Neural Network,DNN),也被称为深度学习, 其产生来源于科学家们模拟人脑中神经元之间传递信号的方法开发出的机器学习技术(所以才叫人工智能啊喂)。
众所周知,人脑中神经网络由1000亿多个神经元(即神经细胞)构成,不同神经元之间通过突触结构彼此相连。在这之中,每个神经元需要接收来自不同数个临近神经元传来的信号(输入1,输入2,输入3&&),进行整合(后最终被传播到&输出层&,将神经网络的最终结果输出给用户。
由此可见,神经元的计算对数据的识别、处理(加权)及最终输出具有至关重要的作用,在计算机领域,这个中间步骤被称为网络的&隐藏层&。
(神经元/深度神经网络工作原理,图片来自网络)
深度神经网络与强化学习的联合应用,即是深度Q网络模型(深度强化学习)。例如,在《乓》中深度Q网络的简略流程 :输入游戏原始画面,经过隐藏层加权后会输出概率动作输出空间。例如,在《乓》中选择上移(Up)、下移(Down)和不动(Stay)的概率。
(深度Q网络流程图(图片来自))
又如,Deepmind在2013年提出的一个更为复杂的深度Q网络网络结构。输入是连续4帧游戏原始画面,输出是不同动作的长期化收益Q,中间为两个卷积层(Convolutional Layer)和两个全连接层(Fully Connected Layer)。
(DQN网络结构图(图片来自http://www.teach.cs.toronto.edu))
我们再回到开头,看一下这次Dota2的人机对抗视频。比赛距今已约两周的时间,OpenAI最终公布了Dota AI的一些比赛细节,不过还是有所保留,并未公布全部的技术细节,不过我们可以从公开消息中猜测一二:
1. Dota是不完全信息博弈,玩家并不能直观获得对手的位置和活动信息。这使得每一步的决策都是在具有不确定性的条件下做出的。
2. AI机器人并不能局限于仅提供类似&向上移动&这样的微观操作。必须把微观操作转换连续的宏观动作流程,就像比赛视频中的卡兵操作。
3. Dota是多机器人 (multi-agent) 合作博弈,这是当前AI领域最具有挑战性的部分。
4. 合理的分配、使用道具,这涉及到长期的规划策略。
OpenAI Bot选择了1v1的对抗模式,简化其有效动作数(available actions)和有效状态空间(state space)数。在该限制条件下,对抗的关键为技能选择和短期策略,并不涉及到长期规划和多机器人协调。也就是说对战环境的设置更加类似于《街霸》一类的格斗游戏,而不是真正的即时战略。
(一些可能的AI输入信息)
值得注意的是,如果将游戏设置为即时战略(RTS)模式,从目前来看,就算在OepnAI的限制场景下, OpenAI Bot还未达吊打人类的水平。由于算法鲁棒性和泛化能力的局限性,它还无法像人类玩家一样从若干几回合的对局中找到对手弱点并加以针对。就像Deepmind在开源的星际2人工智能学习环境(SC2LE)中指出的那样,现阶段,AI还不具备在即时战略(RTS)游戏中对抗人类玩家的能力。
(OpenAI Bot被战翻50余次)
从传统的棋牌类游戏(象棋、围棋、德州扑克)到经典对战电子游戏(星际、Dota、CS),AI在征服了几乎全部的棋牌类游戏之后,又将魔爪伸向了即时战略游戏。人类还能在多大程度上延缓AI的攻势,即时战略游戏何时才会全面沦陷?非完全信息博弈游戏集中体现了人类智慧的高度,如同两国交战,战术和战略层面的种种策略&&诱敌深入、千里奔袭、围魏救赵、擒贼擒王、声东击西、瞒天过海&&都可以在Dota以及CS中找到对应的影子。
如果有一天,AI也能产生&谋略&,像人类一样运筹帷幄、纵横捭阖,类似电影《终结者》系列中拥有自主智能并致力于绞杀人类的AI&天网&可能绝非狂想。在不断提升AI性能、应用领域的同时,人类还需不断的思考人工智能的发展方向以及人类与人工智能的未来。
1. Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves, Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller. Playing Atari With Deep Reinforcement Learning. NIPS Deep Learning Workshop, 2013.
2. Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Andrei A. Rusu, Joel Veness, Marc G. Bellemare, Alex Graves, Martin Riedmiller, Andreas K. Fidjeland, Georg Ostrovski, Stig Petersen, Charles Beattie, Amir Sadik, Ioannis Antonoglou, Helen King, Dharshan Kumaran, Daan Wierstra, Shane Legg, Demis Hassabis. Human-level Control through Deep Reinforcement Learning. Nature, 518: 529&533, 2015.
3. PySC2 - StarCraft II Learning Environment. /deepmind/pysc2
4. Dota Bot Scripting - API Reference. /wiki/Dota_Bot_Scripting_-_API_Referenc
&科普中国&是中国科协携同社会各方利用信息化手段开展科学传播的科学权威品牌。

我要回帖

更多关于 dota2机器人比赛指令 的文章

 

随机推荐