dota2怎么和ai soloopenaislo

怎么能和openai对战
我看国外好多人都和openai对战过了,国内有吗?菜鸡一枚想借提高技术。
并提高不了技术 只是看它正反补然后单杀你
天梯打到8000分,加入北美职业队
[quote][pid=]Reply[/pid] [b]Post by [uid=]路西法之血丶[/uid] ( 13:48):[/b]并提高不了技术 只是看它正反补然后单杀你[/quote]这位同学注意审题[s:ac:嘲笑]
[b]Reply to [pid=]Reply[/pid] Post by [uid=]CrystalMinister[/uid] ( 13:49)[/b]据说也打不过了
就没人回答下游戏里那里调出这个AI么?我一直想试试[del]我会被打多惨[/del]个人如何才能使用OpenAI去进行dota2对抗练习呢? - 知乎3被浏览2161分享邀请回答01 条评论分享收藏感谢收起他这个Z炮是怎么压到我的?——OpenAI解释Dota2AI的实现过程 - 为程序员服务
他这个Z炮是怎么压到我的?——OpenAI解释Dota2AI的实现过程
译者按:本站之前已经介绍了OpenAI带来的Dota2的人工智能机器人的一些信息。而今天,OpenAI发表的文章为我们提供了这个AI研究过程中的种种细节,包括训练环境的搭建、AI的成长历程以及未来研究团队的目标和方向。阅读这些信息对于了解人工智能发展现状以及增强学习的一些特性颇有帮助,因此本站特将该文章翻译在此,请各路大神指正。
原文标题:More on Dota2
原文作者:OpenAI
原文链接:
我们(指OpenAI,下同——译者注)研究的人工智能在Dota2上面的
证明,只要提供足够的计算资源,自我学习方式(self-play)能够飞速提升机器学习系统的性能,从而将人工智能的水平从低于人类水平攀升至超过人类的等级。在过去的一个月里,我们的人工智能系统从刚刚能和高水平的人较量一番提升到了可以打败世界上最顶尖的选手,而它的水平还在不断提升。基于深度学习的有监督学习系统(猜猜在说谁呢?——译者注)只能达到与它们使用的训练数据一样的水平,但是在自学系统中,游戏数据会自动随着机器人水平的提升而越来越好。
上图是我们最好的机器人的
(与国际象棋中的ELO评分相类似)随时间变化的图线,这个图线是根据机器人之间的对战模拟以及胜率评测来得出的。AI系统中任何部分的改善都能提升这里的评分,包括为算法增加新特性或是进行系统优化等等。令人惊奇的是这个图线是线性的,这意味着机器人的竞技水平增长速度是以指数形式向上攀升的。
(很多人也许会问为什么图线是线性的但水平上升是指数形式的,这是因为在TrueSkill系统下,玩家的水平越高,则分数的提升越困难,因此只有保证水平指数上升才能让评分稳步提高——译者注)
这个项目的时间表如下所示。根据一些观点,Dota2中大约有15%的人
在1500以下,低于3000的玩家有58%,而99.99%的玩家都低于7500。
在一个简单的Dota2环境中完成我们的第一个传统的
,这个过程的主要任务是指挥卓尔游侠(小黑——译者注)学会风筝一个固定编码的撼地者(小牛)。
天梯分1500的测试者声称我比AI不知高到哪里去
天梯分1500的测试者输了
与3000分的测试者较量,赢得大部分比赛
在与7500分的准职业选手较量时
以3-0打败了
(6200分的前职业选手)、2-1打败了
(8500分的职业选手)、3-0打败了
(8900分的职业选手)。所有人都认为Sumail(天才少年,很多人称其是世界第一中单——译者注)能够找出打败AI的办法
以10-0的比分打败Arteezy(10000分的职业选手),他也认为Sumail可以获胜
Sumail以0-6的比分输掉了(辜负了多少人的期待。。。——译者注),他认为这个AI是不可战胜的。但当面对八月九日的AI时,Sumail获得了2-1的胜利。
以2-0的比分打败了Dendi(7300分的职业选手,前世界冠军,Dota届老司机)。这一天的机器人相对于八月十日的AI有60%的胜利。
Bot与SumaiL进行对战
我们的任务
一局完整的Dota2游戏是5对5的,但是1对1的Solo比赛在一些
。我们研究的机器人是完整按照大赛的基本规则来的——我们并没有基于1对1的场景对AI的策略进行某种简化。
机器人基于以下的准则来完成行动:
环境观测:
这里将游戏内的视觉要素,包括英雄、小兵、信使以及建筑等等封装成一个API供AI使用,我们保证AI所获得的要素跟人类玩家是完全一致的,AI并没有获得游戏内部的全局视野。
游戏动作:
对于英雄的动作指挥也是通过API来完成的,动作的施放频率也和人类等同,这些动作包括移动英雄到某个位置、攻击某个单位或是使用物品。
游戏反馈:
机器人会受到各种因素的影响,比如说获胜可能性以及类似于血量和
这些基本数据。
我们为AI设置了一些基本的出装思路,然后每次使用一种出装来进行评估。我们还额外使用传统的增强学习技术来训练AI学会一开始的挡兵动作,这个动作一般发生在敌方还尚未露面的时候。
Bot与Arteezy进行对战
Dota2国际邀请赛
我们的成果,即这种仅包含少量「指导」的AI自我学习成果能够保证机器人在本年度的国际邀请赛的举办期间(周一到周四)也能显著地提升游戏水平。在周一晚上,因为使用了出人意料的出装思路(早期出了一个魔棒),Pajakatt获得了一次胜利,于是我们也将这种出装加入了我们的训练名单之中。
在周三下午的一点左右,我们测试了当时的机器人性能。当时的机器人在第一波兵线消耗时就会丢掉一管血。我们当时认为也许我们需要回滚一下,但是紧接着我们发现接下来的游戏场景非常精妙,当时AI在第一波对抗时的策略是引诱对手来攻击自己,而在后面的自学过程中AI自行修复了这种不适当的策略,并掌握了如何对抗挑衅的办法。这时候,我们在第一波的策略中使用周一的机器人来进行策略组合,并在4点钟与Arteezy的比赛的20分钟之前完成了整个过程。
Arteezy的比赛结束后,我们更新了AI的挡兵系统,这次更新将AI的TrueSkill评分提高了一分。而在周四Sumail的比赛之前,更多的训练过程使得TrueSkill评分又提升了两分。Sumail指出机器人已经学会了如何在对手的视野之外施放影压,这是一个我们从未知晓的对战技巧:在对手的视野之外施放技能时,对手的魔棒将不会获得点数。
Arteezy还和我们7500分的准职业测试人员玩了一场,毫无疑问10000分的Arteezy完胜,但是我们的测试者使用他在AI身上学到的技巧轻轻地耍了Arteezy一把,Arteezy笑谈这个策略只有Paparazi在对付他时使用过一次,而他从来没有对此进行过训练。
Pajkatt打败了周一的Bot。注意他采取的策略是引诱机器人与他交战,然后使用仙灵之火和魔棒来回复生命。Bot一般能很好地预测到哪一方能够在交战中获胜,但是它之前从未见过早期就装备魔棒这个道具的敌人。
挑战机器人
虽然Sumail认为这个机器人是「不可战胜的」,在面对从未见过的游戏局面时,AI也会变的傻乎乎的。我们在TI7国际邀请赛的场馆内安排了可以和AI一较高下的线下比赛,这里世界各地的玩家总共与机器人进行了1000余场比赛,玩家们绞尽脑汁使用各种办法来打败AI。
打败AI的玩家基本上使用了以下三种策略机制:
无脑拉兵线:
在小兵前进时,玩家可以通过攻击兵线来让小兵一出现就追逐自己(在中路二塔到三塔之间),这样做的结果就是你被一帮小兵满地图追着跑,而对面的一塔会因为无人把守而迅速崩溃(值得一提的是Dota2的内置AI也有这个问题,电脑在面对玩家无脑拉兵线的行为时总会无所适从——译者注)。
毒球加风灵之纹:
这种出装能确保玩家在一级的时候就能有一个很明显的速度优势,因此在对抗AI时玩家能够迅速地拿到一血。当然根据比赛规则,玩家要利用这个优势再一次击杀机器人才行(Solo大赛的规则是二杀一塔,即首先拿到两个人头或是摧毁敌方一塔的玩家获胜——译者注)。
一级学影压:
这是个高等级技巧,但是一些6千到7千的玩家使用这个办法成功地击杀了机器人,方法就是在一级的时候学影压然后在尽量短的时间里使用影压击中对手3到5次(这确实是Solo比赛中的一种高端策略,牺牲一开始的补刀积累,通过早期的技能伤害建立血量上的优势——译者注)。
解决这些问题的办法与解决Pajkatt发现的Bug是类似的。当然我们要注意在5对5的游戏中,这些策略基本是不能奏效的,我们也需要一个更完整的系统来处理各种AI没见过的复杂奇怪的游戏状况。
我们还没有准备好向大家介绍机器人的一些内部原理——我们的团队正在全力为5v5做着准备。
我们在项目中所面对的第一个问题就是如何在云端的物理GPU中运行Dota2的游戏环境,当我们尝试在GPU的云端实例中运行游戏时,游戏返回了一大堆令人费解的错误信息。但是当我们在Greg的私人电脑上(这个主机就是TI7的活动现场所展示的计算机)启动运行时,我们发现当显示器接入之后,游戏便开始正常启动;而当我们断开显示器时,游戏便返回了和之前一样的错误信息。因此我们修改了云端GPU环境的配置文件,让游戏认为环境中存在一个真实的显示器。
由于Dota2现在还不支持自定义的私人服务器,因此如果没有GPU而又需要灵活运行这个游戏的话,游戏的渲染速度将会非常缓慢。因此我们构建了一个中间层来阻拦了大部分的OpenGL调用,除了一些特别的游戏用来完成启动的语句。
(这里解释一下,OpenAI的训练环境是在云端的GPU服务器集群上来完成的,现场所展示的U盘只记载着训练好的模型。一般GPU的云服务器环境都是Linux,而Dota2的Linux版本是使用OpenGL来渲染的。当然,由于OpenAI的训练过程依靠的是Dota2自身的接口,因此在训练过程中游戏根本没必要去渲染画面——但是作为一个游戏,它必须时刻监控游戏渲染画面来保证游戏运行的稳定,这就是为什么OpenAI的研究人员需要使用一个中间层来处理游戏的OpenGL调用,其目的是让游戏认为其运行在一个有显示器、渲染过程稳定的环境之中。——译者注)
与此同时,我们还编写了一个由脚本控制的机器人——我们需要一个基准来充当参照物(主要是游戏的内置AI在1对1时表现得很差劲),同时我们也需要深刻理解Dota2的
的各种细节。这个脚本机器人在没有敌人的情况下能够在十分钟内拿到70个补刀,但是这种水平仍然会被聪明的人类玩家打败。目前我们的机器人所达到的最好的补刀数字是97(再拿到这个数字之前AI就攻破了对方的防御塔,所以这个数字是推断出来的),而十分钟内理论的补刀上限是101。
Bot与著名的逗逼主持人
对战。Slacks使出的疯狂买鸡恶心人战术并没有奏效。
1对1就已经足够复杂了,而5对5更是复杂得难以想象。我们明白我们必须极大地拓宽AI的视野来让其能够进行5v5的对抗。
千里之行始于足下,我们将从行为模范策略开始来逐渐构筑模型。Dota2每天会有上百万场公开比赛,而所有这些比赛的录像会在Valve的服务器上保留两周。我们从去年十一月开始就开始下载所有专家级别的游戏录像,然后已经拥有了580万场游戏的海量数据库(每场游戏都是10个人类玩家,游戏时长在45分钟左右)。我们使用
(一家提供Dota2录像查询的网站,它能为OpenAI标明那些游戏是专家级别的——译者注)来发现这些录像,并为他们提供了1.2万美元的资助(他们10年的资金募集目标)来完成这个项目。
我们有着各种各样的奇妙主意,而且也为实现我们的目标而
(我们期望的人才不一定是专家,但必须对机器学习满怀好奇)。在这里我们也感谢微软Azure云平台以及Valve公司的大力协助。
集智是一家关注新时代信息科技的网站,致力于建成在线教育到求职招聘的一体化平台。 我们将以多样的互动形式,向您展现数据科学与人工智能技术的无穷魅力。
原文地址:, 感谢原作者分享。
您可能感兴趣的代码

我要回帖

更多关于 dota2omg怎么和电脑玩 的文章

 

随机推荐