废布厂家
免费服务热线

Free service

hotline

010-00000000
废布厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

DOTA5v5AI的亮点不是如何学的而是如何教的_[#第一枪]

发布时间:2021-06-07 15:00:14 阅读: 来源:废布厂家

AI 科技评论按:我们都已经知道了,OpenAI的 5v5DOTAAI 「OpenAI Five」再次完胜人类。

美国时间 8月 5日星期天下午,OpenAI组织的线下比赛(OpenAI称其为「OpenAI FiveBenchmark」)中一共进行了四局比赛。第一局 5名现场观众组成的路人队伍被 7分钟破中路二塔,9分钟上路上高地,12分钟破两路,人头比 26:4,可以说是完全碾压。

之后的三局比赛是重头戏,「OpenAI Five」对阵 4位前职业选手(Blitz、Cap、Fogged、Merlini)与 1位现任职业选手(MoonMeander)组成的高手队伍。第一局依然惨败,21分钟破第二路高地,人类选手打出GG,人头比 39:8。第二局人类选手选择了更强的控制、更积极的打法,却也只坚持到了 24分钟,人头比 41:12。这样,三局两胜的比赛就已经告负了。

第二局人类高手比赛结束后,OpenAICTOGreg Brockman上前依次拥抱 5位(前)职业选手致意

胜负已分,第三局就成为了娱乐局,现场观众给「OpenAI Five」选择了 5个不怎么厉害的英雄,最后果然让人类玩家获得了胜利。

不过除了比赛比分之外,广大强化学习研究人员和人工智能爱好者还有一个深深的疑问就是,这样的AI是如何训练出来的。

毋庸置疑,DOTA游戏的复杂程度比围棋要高,反馈也相当稀疏,即便选用了OpenAI已经开发得非常成熟的大规模分布式PPO实现「Rapid」,我们也难以直觉上信服「只要有足够的训练时间就能学到如此丰富的游戏行为」。比如首先「OpenAI Five」的团队协作上表现出了人类一样的明确的核心和辅助英雄的区分,比如据OpenAI的研究人员介绍「OpenAI Five」也会选择打肉山,只说这两件事就都是人类玩家需要经过有意识的策略判断和执行才能做出的。强化学习算法现在就有这么高层次的思维了?不太可能吧。

下面这些 5日的比赛中的瞬间也值得玩味:

比赛进行到 20分钟,AI的巫妖去看肉山。实际上整场比赛中 AI的英雄时不时就会去看看肉山

Blitz的影魔被AIGank,用暗影护符原地隐身,AI的直升机和冰女两个有AOE的英雄在附近还有一个AI队友的情况下直接就撤退了。现场解说评价「简直是人类对隐身物品的滥用」

还是天辉方的Blitz的影魔,绕树林被AI方的眼看到。值得注意的是,这时候天辉方下路 2 塔都已经丢了,而这个夜魇方的眼就插在夜魇下路一塔外不远的地方。这个眼位可算是非常保守、非常奇怪

AI的火枪手很喜欢见面就给大,Blitz的满血影魔露头就被大 ——这个策略其实非常有效,团战中人类方的冰女经常在团战开始前先被火枪大到半血,然后团战一开始就马上阵亡

22分钟AI方的冰女补出了点金手,不过在接下来的 3分钟内都没有使用它

强化学习的范式决定了「能帮助带来高反馈的行为」会更容易被学到,而DOTA的复杂就在于,许多行为和最终游戏结果之间的关联似乎也是若即若离,在大多数场合下都能起到一锤定音效果的行为也许人类自己都说不清。即便相信AlphaGo能在反复的自我对局中找到更好的策略的人,也不一定相信在DOTA如此复杂的环境下仅靠自我对局就可以学到定位、分路、补兵、先手、看肉山、插眼等等系列行为。

结合OpenAI之前放出的一些资料和「OpenAI Five」开发团队在比赛现场的访谈,雷锋网 AI 科技评论找到了「计算集群上相当于180 年游戏时间每天的训练」之外的,能帮助我们理解更具体的AI 实现过程一些端倪。相比于说这些是「强化学习研究的小技巧」,我们更觉得这是「人类教学的小技巧」;相比于「OpenAI Five」训练中模型自己的探索行为,我们觉得意义更重大的是人类成功地把自己的知识和经验设法教给了「OpenAI Five」。

只使用最终比赛结果作为反馈,过于稀疏,所以OpenAI还增加了一些评价人类选手表现的常用指标,比如总财产、击杀数、死亡数、助攻数、补刀数等等。这些指标上的改进也会与比赛输赢一起带来反馈的提升,促进模型的学习(避免长时间停留在无效学习区)。

但同时为了避免AI过于关注这些偏向于短期策略的数据,OpenAI对基于指标的反馈的设计并不是「指标数值越大越好」,而是只鼓励AI在这些方面做到人类玩家的平均水平。这项巧妙的设计同时也可以帮助AI学习到不同英雄在团队作战中不同定位:以人类玩家的平均水平而言,火枪是核心英雄,应当高伤害输出、高正补、高人头、低助攻、低辅助行为,冰女则应当低正补、低人头、高助攻、高辅助行为。数据指标的不同就可以引领不同的行动策略。

DOTA中的英雄除了自身的定位,他们之间也是需要合作的,比如抱团杀人拿塔。OpenAI 并没有为 AI 之间设计显式的沟通频道,目前他们设计了一个名为「团队精神」的超参数,这个 0 到 1 之间的值会反应每个英雄关注自己单独的反馈和整个团队的反馈之间的比例。在训练中 OpenAI 通过退火来优化这个值的具体大小。

大家可能记得,在「OpenAI Five」刚刚发布的时候,它是还不支持肉山的。很快支持了肉山之后,大家都很感兴趣OpenAI团队做了哪些改进。在 5日比赛现场OpenAI的研究人员给出了答案:正常的探索中很难出现 5个英雄都来到Roshan坑里然后打了Roshan拿到正面反馈的情况,所以他们引导模型学习的方法是,在训练过程把 Roshan的血量设为随机的,那么在探索过程中英雄如果遇到了血量很低的Roshan,显然就可以轻松地获得高反馈,从而鼓励AI开始关注Roshan。不过同时Roshan也不是随时都要打的,随机血量的设定会让AI只有在觉得自己能打过Roshan的时候才会打。

从长期学习的角度讲,只要有足够的训练时间让AI探索各种行为,人类觉得有帮助的各种游戏操作AI最终都是有机会学会的(比如切假腿吃大药,也比如打肉山),只不过在AI做出足够多的次数之前,都还不能形成有效的学习。那么人类希望AI快速学会的行为,可以通过设计一些正反馈来鼓励学习;而另一方面,不常出现的局面,也就会像我们对深度学习模型的正常预期一样,AI并不知道应该怎么处理。

关于装备和眼,OpenAI的研究人员透露目前都是通过API编写脚本让AI购买的,AI 并不需要自己选择;尤其是眼,目前脚本的设定是眼只要CD就会购买。这样的设定当然降低了训练的难度,让AI享有稳定的出装,同时也给辅助英雄带来一个有趣的境地:因为有眼就要买,就会占它们的格子、迟早需要清出来,这成为了一项促使它们插眼的动力;而实际上,如果真的要为「插眼」动作本身设计反馈的话,OpenAI的研究人员发现还真的很难找到任何指标量化眼插得好不好。所以这样的设计确实是一种简单快捷的解决方案。

现在知道了这些OpenAI的「教学」方法之后,再回过头去看看前面提到的「OpenAI Five」的游戏表现,是否显得合理多了、亲切多了呢?

可以说「OpenAI Five」的开发团队想了许多办法鼓励AI用像人类一样的策略和操作玩DOTA,但并不对表现的上限做出明确的限制。在人类玩家探索了这个游戏这么久之后,借助人类的经验快速避开低效的游戏空间当然是一个好主意。从这个角度讲,OpenAI现阶段的「OpenAI Five」就仿佛是早期的AlphaGo,以从人类的过往游戏中学习为基础,然后尝试提升和创新。

那么这套系统继续优化之后在DOTA2国际邀请赛(TI)上面对现役职业选手还能有如何的表现,比现在明显进化明显全面的(也许是Master版)「OpenAI Five」甚至去掉一切约束完全自己探索的「OpenAI Five」Zero版未来是否还有可能呢?我们拭目以待。

雷锋网 AI 科技评论报道。

挂式小便器价格

传动件批发

厨房水槽价格

全自动烫印机批发