技术架构分析:攻克Dota2的OpenAI-Five
来源:CreateAMind
摘要:OpenAI昨日发布研究成果,宣布Dota2 5v5在限定条件下(英雄阵容固定,部分道具和功能禁用)战胜人类半职业选手。本文主要对其模型技术架构做一些分析总结。
一、 模型输入与输出
模型的输入是使用RAM(内存信息),如位置坐标,技能血量数值状态等,而不是图像像素信息。
模型输入主要分为两个部分:
直接观测的信息:场面其他英雄的绝对位置,相对距离,相对角度,血量,状态等。
人工定义抽象的信息:是否被攻击以及正在被谁攻击,炮弹距离命中的时间,朝向的cos与sin,最近12帧内的英雄的血量变化等。
模型的输出即是指AI所选择的动作,包括移动,攻击释放技能等。OpenAI将连续的动作,离散化对应到网格,并对各种技能定制化释放动作,以减少动作空间的大小。以下图为例,AI要释放一个攻击技能,需要选取这个技能,并选择一个目标单位周围网格内的一个位置:
值得注意的是,在Dota2游戏内还有其他动作,例如操控信使,购买装备,技能升级与天赋等,这些都是人工定义好,而不需AI决策的。而操控幻象分身,召唤物等涉及更复杂的多单位操作,则未在OpenAI当前版本的考虑范围内。
二、 网络架构与训练方式
网络架构架构局部如下图:
模型大图下载链接: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智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。
如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”
技术架构分析:攻克Dota2的OpenAI-Five相关推荐
- 【攻克Dota2】OpenAI自学习多智能体5v5团队战击败人类玩家
刚刚,OpenAI 宣布了一个大新闻--还记得去年他们的AI在 Dota2 1v1 比赛中战胜了人类职业玩家 Dendi吗?现在,OpenAI的由5个神经网络组成的OpenAI Five,已经开始击败 ...
- 新浪微博技术架构分析-微博首席架构师杨卫华
新浪科技讯 11月16日下午消息,由新浪微博主办的中国首届微博开发者大会在北京举行,这是国内微博行业的首场技术盛宴.作为国内微博市场的绝对领军者,新浪微博将在此次大会上公布一系列针对开发者的扶持政策, ...
- 微博首席架构师杨卫华:新浪微博技术架构分析和InfoQ访谈
演讲实录 新浪科技讯 11月16日下午消息,由新浪微博主办的中国首届微博开发者大会在北京举行,这是国内微博行业的首场技术盛宴.作为国内微博市场的绝对领军者,新浪微博将在此次大会上公布一系列针对开发者的 ...
- 今日头条技术架构分析,看这篇就对了!
点击上方 "程序员小乐"关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Anywhere, it is a good in the past, re ...
- 新浪微博技术架构分析和设计
第一部分:新浪微博技术架构 新浪微博在2014年3月公布的月活跃用户(MAU)已经达到1.43亿,2014年新年第一分钟发送的微博达808298条,如此巨大的用户规模和业务量,需要高可用(HA).高并 ...
- 新浪微博技术架构分析(2012年)
中国首届微博开发者大会在北京举行,这是国内微博行业的首场技术盛宴.作为国内微博市场的绝对领军者,新浪微博将在此次大会上公布一系列针对开发者的扶持政策,以期与第三方开发者联手推动微博行业的整体发展.图为 ...
- 淘宝应对双11的技术架构分析
双"11"最热门的话题是TB ,最近正好和阿里的一个朋友聊淘宝的技术架构,发现很多有意思的地方,分享一下他们的解析资料: 淘宝海量数据产品技术架构 数据产品的一个最大特点是数据的非 ...
- 大型网站技术架构:核心原理与案例分析阅读笔记二
大型网站技术架构:核心原理与案例分析阅读笔记二 网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变 ...
- 《大型网站技术架构:核心原理与案例分析》笔记05
<大型网站技术架构:核心原理与案例分析>笔记05 网站的课扩展性架构: 扩展性:指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力.表现在系统基础设施稳定不需要经常变更,应用之间 ...
最新文章
- 浏览器左上角的网站图标
- ubuntu16.04 intel_rapl : no valid rapl domains found in packge0
- 计数排序的应用----排序字符串
- 获得系统中某个进程的cpu使用率
- 500 OOPS: cannot change directory:/home/xxx”
- Python测试入门
- [转帖]无法将临时对象绑定到非常量引用
- 181009词霸有道扇贝每日一句
- c语言水表程序流程图,水表检定操作流程图.pdf
- opc服务器组态文件已写保护_opc服务器组态文件已写保护
- CentOS 6.3 下 vsftpd 匿名用户访问配置
- 小红书笔记下沉怎么做到的?
- 使用Matlab/Simulink进行电力电子控制设计
- 后端java通过Base64加密再前端js进行解密
- 旋转编码器(rotary encoder)旋转方向的判断
- 机房动力环境监控系统
- C语言回音消除算法,一种语音识别场景中回音消除的方法
- python爬虫什么书好_python爬虫什么书
- 加密卡华为怎么模拟_华为手机怎么复制加密NFC门卡?
- 基于Ovito的团簇识别分析
热门文章
- 矩阵分析:广义逆矩阵,{1}逆,MP逆,D逆
- 深入 AXI4总线 (四):RAM 读取实战
- JSD-2204-SpringBoot+MyBatis-Day12
- 浏览器解析jsx_React 初窥:JSX 详解
- OCR识别--详解驾驶证识别技术
- java catch空指针异常处理_Java基础学习:java文件空指针异常处理
- AppleID忘记密保问题,同时未开启双重认证,需要签署新的协议才能进行下载或者开发的情况处理
- ionic4自定义插件
- IP地址划分与子网掩码
- element ui注册页面(form+input+steps)