0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Dota2败给OpenAI-Five究竟是为什么?

mK5P_AItists 来源:电子发烧友网 作者:工程师谭军 2018-07-05 16:17 次阅读

OpenAI昨日发布研究成果,宣布Dota2 5v5在限定条件下(英雄阵容固定,部分道具和功能禁用)战胜人类半职业选手。本文主要对其模型技术架构做一些分析总结。

一、 模型输入与输出

模型的输入是使用RAM(内存信息),如位置坐标,技能血量数值状态等,而不是图像像素信息。

模型输入主要分为两个部分:

直接观测的信息:场面其他英雄的绝对位置,相对距离,相对角度,血量,状态等。

人工定义抽象的信息:是否被攻击以及正在被谁攻击,炮弹距离命中的时间,朝向的cos与sin,最近12帧内的英雄的血量变化等。

模型的输出即是指AI所选择的动作,包括移动,攻击释放技能等。OpenAI将连续的动作,离散化对应到网格,并对各种技能定制化释放动作,以减少动作空间的大小。以下图为例,AI要释放一个攻击技能,需要选取这个技能,并选择一个目标单位周围网格内的一个位置:

值得注意的是,在Dota2游戏内还有其他动作,例如操控信使,购买装备,技能升级与天赋等,这些都是人工定义好,而不需AI决策的。而操控幻象分身,召唤物等涉及更复杂的多单位操作,则未在OpenAI当前版本的考虑范围内。

二、 网络架构与训练方式

网络架构架构局部如下图:

Dota2败给OpenAI-Five究竟是为什么?

模型大图下载链接:https://d4mucfpksywv.cloudfront.net/research-covers/openai-five/network-architecture.pdf

总的来看,大量信息通过连接(concatenate)与全连接层(dense)层进行综合,作为1024维的LSTM的输入。LSTM综合时序信息,并输出决策向量,再用决策向量解构出详细动作。

训练方式:

纯自我对弈训练。

随机化训练:随机初始状态(血量速度移动等)的训练,以增强泛化能力。

使用很高的γ=0.9997。γ为奖励衰减值,一般在其他环境中设置为0.98,0.998。

大量计算:128,000CPU+256GPU,能做到每天模拟玩180年的游戏。

奖励(reward)设计:

总体奖励:当前局面评估(塔的情况等),KDA(个人战绩),补兵表现等。

合作奖励:全队的表现作为自己奖励的一部分。

分路对线的奖励与惩罚:最开始分配一条路,前期发育时如果偏离就会惩罚。

三、 总结

用强化学习玩Dota2需要面对4个挑战:状态空间大,局面不完全可见(有视野限制),动作空间大,时间尺度大。

近期论文中提出的解决方案,大致有以下几个方向:

状态空间大:解决方法如先用World Models抽象,再进行决策。

局面不完全可见:一般认为需要进行一定的搜索,如AlphaGo的MCTS(蒙特卡洛树搜索)。

动作空间大:可以使用模仿学习(Imitation Learning),或者与层次强化学习结合的方法。

时间尺度大:一般认为需要时间维度上的层次强化学习(Hierarchical Reinforcement Leanring)来解决这个问题。

而神奇的是,OpenAI没有使用上述任一方法,而仅仅使用高γ值的PPO基础算法,就解决了这些问题。这说明凭借非常大量的计算,强化学习的基础算法也能突破这些挑战。

OpenAI没有使用的WorldModels,MCTS,IL,HRL等方法,既是学术界研究的重点方向,也是OpenAI-Five潜在的提升空间。这些更高效的方法若被合理应用,可以加快模型的学习速度,增强模型的迁移能力,并帮助模型突破当前的限制。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    26364

    浏览量

    263957
  • 模型
    +关注

    关注

    1

    文章

    2701

    浏览量

    47658

原文标题:技术架构分析:攻克Dota2的OpenAI-Five

文章出处:【微信号:AItists,微信公众号:人工智能学家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DotA2》同时在线人数首次突破100万,全民打年兽?

    早在2015年22日,Steam同时在线人数最高曾超过840万名PC玩家。当时根据Steam统计,当时《DotA2》是玩的人最多的游戏,其次是《CS:GO》,《军团要塞2》,《足球经
    发表于 02-26 15:06

    图解:IGBT究竟是什么?

    图解:IGBT究竟是什么? IGBT究竟是什么?
    发表于 08-10 08:01

    S参数究竟是什么?

    S参数究竟是什么?起决定性作用的S参数将S参数扩展到多端口器件和差分器件
    发表于 03-01 11:46

    我们仿真DDR究竟是仿真什么

    我们仿真DDR究竟是仿真什么?
    发表于 03-04 07:32

    电感饱和究竟是什么

    电感饱和究竟是什么
    发表于 03-11 08:13

    真正软件定义无线电究竟是怎样的?

    真正软件定义无线电究竟是怎样的?
    发表于 05-14 06:47

    分贝究竟是什么?如何去理解它?

    分贝究竟是什么?如何去理解它?
    发表于 05-31 07:05

    一文读懂eMMC究竟是啥?

    eMMC究竟是啥?eMMC长什么样?eMMC用在哪?主要是干嘛用的?eMMC究竟是如何工作的呢?
    发表于 06-18 06:04

    SLC、MLC、Parallel NOR Flash等究竟是什么意思?

    什么是Flash Memory?Flash Memory主要可以分为哪几类?SLC、MLC、Parallel NOR Flash等究竟是什么意思?它们又有什么不同?
    发表于 06-18 09:11

    spec究竟是什么?有谁可以分享一下吗

    spec究竟是什么?哪位同行可以帮忙分享下DFI 5.0的spec?
    发表于 06-21 07:16

    无片外电容LDO究竟是什么?

    无片外电容LDO究竟是什么?有谁清楚吗
    发表于 06-22 08:07

    AI也能相互协作的玩游戏,玩Dota2战胜了人类玩家

    据悉,OpenAI开发了出了一套名为“OpenAI Five”的算法,虽然单独来看这种算法并没有什么突破,只是针对玩Dota2的一种神经网络,并且此前也曾有AI算法在1对1的
    发表于 06-27 05:29 513次阅读

    OpenAI FiveDota2国际竞赛TI8中进行首次对战以失败告终

    OpenAI Five是一个由5个人工神经网络组成的队伍,可以把它想象成一个模拟的“大脑”,是专门为学习Dota而设计的。OpenAI Five
    的头像 发表于 08-24 08:53 4989次阅读

    人工智能战队OpenAI将战Dota2人类最强战队的最终决战

    人工智能战队OpenAI将战Dota2人类最强战队,人工智能在围棋上击败人类之后,很多技术人员就开始展望 AI 在视频游戏中的表现了。2017 年的 Dota2 国际邀请赛 TI7 上,Ope
    发表于 07-04 11:09 1243次阅读

    S参数究竟是什么?

    S参数究竟是什么?
    发表于 11-01 08:24 2次下载
    S参数<b class='flag-5'>究竟是</b>什么?