OpenAI的机器人刚刚在 Dota2 1v1 比赛中战胜了人类顶级职业玩家 Denti。以建设安全的通用人工智能为己任的 OpenAI,通过“Self-Play”的方式,从零开始训练出了这个机器人。

Dota2沦陷

  继横扫顶级的人类国际象棋大师和围棋大师后,计算机如今在风靡全球的电子游戏Dota2中战胜了世界级的职业玩家。此前未被披露的此场对决发生于Valve奖金高达2400万美元的Dota2国际邀请赛“The International”。

Dendi(图左)在赛前与 OpenAI 的 GregBrockman(图右)交谈

  在这场一对一的对战中,OpenAI设计的一款机器人击败了职业玩家Danylo“Dendi”Ishutin,Dendi在此前的职业生涯中已赢得累计735449.4美元的奖金。OpenAI的机器人在首场对战中用时十分钟击败了Dendi,之后Dendi在第二局对战中退出并拒绝再战第三局。

  Dendi

  “请放过我吧,”赛间Dendi对机器人对手这样说道。

  OpenAI在电子竞技领域首度击败人类顶级玩家。这比国际象棋及围棋等游戏要复杂得多。

  OpenAI的CTO Greg Brockman在赛前介绍称这一款机器人通过数千次的加以指导的自我对决进行训练,并称该机器人已经击败了数个Dota2的职业玩家。Brockman在博客中称:“过去几周内,我们的机器人已经战胜过包括SumaiL(世界顶级1v1选手)及Arteezy(世界顶级overall选手)等多个顶级玩家”。

  “自我对决”的理念是OpenAI研发的关键。这是一种AI系统学习解决极其复杂任务的有效方法:与太弱或太强的对手对战,它都无法从中学到东西,但自身反倒是有价值的对手。Brockman介绍道:“你可以看到AI从完全的随机状态一步步发展到如今的顶级水平”。

  AI公司惯常用电子竞技游戏来测试他们的技术,如谷歌的DeepMind攻克“星际2”,微软的AI团队今日则宣称他们在吃豆人游戏中获取高分。

  OpenAI并未打算就此停止征战的脚步。他们希望在明年的参与正式的五对五比赛。与此同时他们也对外发布了此机器人,所以任何人有兴趣均可与之对战。第一个击败此机器人的玩家则可获得Valve专设的赏金。

  我们创造了在Dota21v1比赛中能够击败世界顶尖职业选手的AI。其完全是用self-play的方式训练,没有使用模仿学习(imitation learning)或树搜索。这对构建在混乱、包含人类行为在内的复杂场景下能够完成well-defined goals的AI系统是重要一步。

  Dota1v1是含有隐藏信息的复杂游戏。代理需要学习计划、进攻、花招以及误导对手。选手技巧和手速(每分钟动作)的关联不那么强烈,实际上,我们的AI“手速”只是一般人类选手的水平。

  想要在Dota中取胜,要求选手培养出对对手的直觉,并采取相应的策略。在上述视频中,你能看到,我们的机器人已经通过完全的self-play学会了预测其他选手的动作,并在不熟悉的场景下即兴发挥,以及如何作用于选手的单位。

  完全通过Self-Play的方式训练,从零达到世界顶级水平

  OpenAI的目标是建设安全的通用人工智能。对于AI来说,Dota是一个非常理想的试验场,竞争激烈,游戏复杂。如果想在这门游戏中获得成就,就必须推进现有技术,实现技术突破。我们现在开发了一个AI,能够在Dota的1v1比赛中击败顶尖职业选手。  

  Dota的规则非常复杂,如果是用规则方法,那么构建出的AI一定是个蹩脚的player。所以,我们完全采用的是自我游戏(self-play)的训练方法。刚开始训练时,AI对于自己所处的世界全无认识,而只是和自己的copy比赛,这也就意味着它和它的对手永远是旗鼓相当的。它用这个方法一点点地提升,直到达到了世界上最优秀的职业运动员的水平。TheInternational(TI)是Dota的世界锦标赛,吸引了世界各地20000名观众来观看职业运动员争夺2400万奖金。在TI上,我们派出AI和其中的多位高手进行了比赛,在比赛中,AI展现出了很强的鲁棒性和技巧,许多职业选手希望能持续和我们的AI比赛,并考虑要把它当做是一种训练手段。


不过呢, 以上AI技术都是被动AI, 什么时候主动AI出现了的话, 人类就该关进动物园了 ~

自我意识的AI迟早将统治地球 ~~

更多访问here

AI单挑Dota 2世界冠军:被电脑虐哭……的更多相关文章

  1. AI+云原生,把卫星遥感虐的死去活来

    摘要:遥感影像,作为地球自拍照,能够从更广阔的视角,为人们提供更多维度的辅助信息,来帮助人类感知自然资源.农林水利.交通灾害等多领域信息. 本文分享自华为云社区<AI+云原生,把卫星遥感虐的死去 ...

  2. CONTEST23 2014xmoi邀请赛(被pj虐哭)

    http://www.luogu.org/contest/show?tid=23 表示被普及的虐瞎了T_T_T_T_T_T_T_TT_T_T_T_T_T_T_T_T 33名100多分滚粗 各种贪心神题 ...

  3. 三面阿里,被Java面试官虐哭!现场还原真实的“被虐”场景

    前言 人人都有大厂梦,我也不例外,从大三开始,就一直想进入阿里工作,大毕竟是大厂,想想也没那么容易,不过好在自己学历还过得去,项目经验也有得讲,所以今年也斗胆尝试了一下,直接就投了阿里云计算.简历是过 ...

  4. Dota2团战实力蔑视人类,解剖5只“AI英雄”

    去年,OpenAI 在 DOTA 的 1v1 比赛中战胜了职业玩家 Dendi,而在距离进阶版 OpenAI Five 系统战胜人类业余玩家不过一个月的时间,今天凌晨,它又以 2:1 的战绩再次完成对 ...

  5. 你的电脑适合升级 Win11 吗?「GitHub 热点速览 v.21.26」

    作者:HelloGitHub-小鱼干 WhyNotWin11 是个有意思的项目,本以为是从 360 度"抨击" Windows 11 的不好用之处,但它是一个实实在在地从硬件角度告 ...

  6. 面对最菜TI战队,OpenAI在Dota2上输的毫无还手之力

    作者:Tony Peng 去年,OpenAI 的 1v1 AI 击败了世界顶尖选手 Dendi,OpenAI CTO Greg Brockman 承诺:明年,我们会带着 5v5 的 AI bot 重回 ...

  7. A Simple Problem with Integers_树状数组

    Problem Description Let A1, A2, ... , AN be N elements. You need to deal with two kinds of operation ...

  8. 转自一个CG大神的文章

    <如何学好游戏3D引擎编程>此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰           ——阿哲VS自 ...

  9. 转载:[转]如何学好3D游戏引擎编程

      [转]如何学好3D游戏引擎编程 Albert 本帖被 gamengines 从 游戏引擎(Game Engine) 此文为转载,但是值得一看. 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的 ...

随机推荐

  1. Java---16---多线程---死锁

    死锁: 概念: 所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用.它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的 ...

  2. C#复制数组的两种方式,以及效率比较

    如何高效地进行数组复制? 如果把一个变量值复制给另外一个数组变量,那么2个变量指向托管堆上同一个引用. 如果想在托管堆上创建另外的一份数组实例,通常使用Array.Copy方法. class Prog ...

  3. uistatusBar 详解

    成功的方法: 方法1.隐藏应用程序内所有的StatusBar 第一步:在Info.plist,然后添加一个新的row,"View controller-based status bar ap ...

  4. sqlite 截取字符串函数substr

    函数:substr(string string,num start,num length) 用法: string为字符串: start为起始位置:字符串的第一个字符的位置为1,不是从0开始计算 len ...

  5. iPhone上将短信内容发送到指定邮箱的方法

    iPhone上将短信内容发送到指定邮箱的方法 迄今为止,移动应用安全基本聚焦在以下几个方面,一是移动设备管理BYOD(bring your own device),二是移动恶意软件分析,三是移动设备用 ...

  6. ios开发经常使用RGB色值

    iOS中RGB经常使用的色值,同一时候可将对颜色的设置定义成宏,方便开发应用,如: // RGB颜色转换(16进制->10进制) #define UIColorFromRGB(rgbValue) ...

  7. java用正则方法验证文件名是否合法

    Java中用到文件操作时,经常要验证文件名是否合法. 用File类的createNewFile()方法的确很管用.但当要批量验证时,效率上就会有问题.正则匹配的开销比创建文件少了很多. 那么一个合法的 ...

  8. spring4 quartz2 集群动态任务

    实现定时任务的执行,而且要求定时周期是不固定的.测试地址:http://sms.reyo.cn 生产环境:nginx+tomcat+quartz2.2.1+spring4.2.1 集群. 实现功能:可 ...

  9. 推荐ThinkJS

    之前在学习node.js时,写过一些例子和demo,偶尔也会有人发email问我node.js的一些问题.因为是二三年前写的东西,当时使用的第三方库和node.js的版本跟最新的可能有所不同甚至比较大 ...

  10. Universal-Image-Loader解析(二)——DisplayImageOptions的详细配置与简单的图片加载

    在使用这个框架的时候,我们必须要配置一个DisplayImageOptions对象来作为ImageLoader.getInstance().displayImage()中的参数,所以很有必要讲解这个对 ...