本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:【j2开奖】阿里巴巴为什么要选择星际争霸作为AI算法研究环境?(3)

时间:2017-05-22 13:21来源:天下彩论坛 作者:开奖直播现场 点击:
最近我们在《星际争霸》里的微观战斗场景下,提出来一个多智能体双向协作网络,关于这个网络的详细内容大家感兴趣可以下载我们的 paper 看一下,这

最近我们在《星际争霸》里的微观战斗场景下,提出来一个多智能体双向协作网络,关于这个网络的详细内容大家感兴趣可以下载我们的 paper 看一下,这个工作是我们跟 UCL 一起合作完成的,用来探索或者解决多智能体协作的问题。

wzatv:【j2开奖】阿里巴巴为什么要选择星际争霸作为AI算法研究环境?

这是我们提出来的 BiCNet(Multiagent Bidirectionally-Coordinated Net) 的网络结构,它其实也是比较经典的结构,分成两部分,左边这部分是一个 policy 的网络,就是说从下往上会把《星际争霸》的环境进行一些抽象,包括地图的信息、敌方单位的血量、攻击力,还有我方 unit 的信息,抽象出来形成一个共享的 State,经过一个双向的 RNN 这样的网络,进行充分的双向的沟通,再往上每个 Agent 去得出自己的 Action,比如我到某一个地方去攻击谁。

左边这个 policy network 就是对于当前的状态应该采取什么行动,右边就是一个 value 的 network,根据前面 policy 得出来的 Action,还有抽象出来的 State 进行评估,Q 值大概是多少,做出一个预判。当采取这些行动以后,这个环境就会给出相应的反馈,一些 Reward 来说明这步打的好还是不好,然后会通过一个 Reword 从右边这个网络下来,去反向传播更新里面的参数。

这个网络有几点比较好的设计:

第一,它的 scalability 比较好,《星际争霸》里面打仗的时候随时可能会有伤亡,这个 Agent 死掉以后这个网络不是还可以正常的工作,包括源源不断涌现的新的 Agent 进来,是不是也是可以工作。我们看到双向网络参数是共享的,所以是不会有影响的。

第二,我们在中间用了这样一个双向网络以后,其实是在一个效率和性能之间做了比较好的平衡,atv直播,如果用全连接网络的话,计算量会过大。但是我们用一个双向网络,前面告诉你大概要做什么样的 Action,回来再告诉前面的人他们采取了什么样的 Action,一结合,最后算出来应该追加的策略是什么样子,从实际来看效果也是非常好的。

wzatv:【j2开奖】阿里巴巴为什么要选择星际争霸作为AI算法研究环境?

其实我们认知计算实验室在设计一些算法或者模型的时候会参考神经科学里边目前的一些研究成果,我们认为研究认知心理学、大脑、类脑的研究或者神经科学,对于做人工智能应该有两个好处。

第一个好处就是,神经科学具有启发性,就是当你在一些具体的问题或者场景里面去思考的时候,会遇到一些问题,这些问题可能是从来没有人解过的,如果神经科学、交叉科学里有类似的这种结构或者算法,这些可能会很好的解决你的问题,带来算法上的一些启发。

反过来另外一点,神经科学也可以帮你做验证,你设计一个算法以后,如果神经科学里面有类似的结构,那么很大概率这个算法是可以工作的。

其实我们的 Actor-Critic 网络在人脑里面也是有相应的对应,左边就是 Actor-Critic 这个网络,右边是我们的大脑,大脑里边纹状体就是负责 Actor、Critic 两部分,这个纹状体腹部是负责 Critic 这部分,背部是负责 Actor 这部分,Reward 下来以后我们大脑会计算,这与预期的 Reward 有什么差距,这个差距就会以多巴胺的形式影响到 Actor,下一次你就要按照这个去调节,让下一次 Action 做的更好一点。

其实多巴胺体现在我们的算法里面就是 TD error,也就是我们算的 Reward 的误差,这其实是一个很好的对应。

  实验平台和实际效果

wzatv:【j2开奖】阿里巴巴为什么要选择星际争霸作为AI算法研究环境?

前面是网络架构的设计,为了实现这样一个算法模型,我们搭了一个实验平台,这个实验平台就是基于 Facebook 的 TorchCraft,它是把《星际争霸 1》和 Torch 封装在一起,但是我们比较习惯于 TensorFlow 和 Python,所以在上面做了一个封装,再把这套架构放在这个 OpenAI 标准接口里边,大家有兴趣可以试一下。

这个架构主要分成两部分,对应刚才说的强化学习:

左边是 Environment,其实就是《星际争霸》这个游戏,包括引擎,还有里面的 DLL,DLL 基于 BWEnv,这是一个官方认可的 DLL。基于这个 BWEnv DLL 把内部的状态、指令封装起来,其实这就是一个 Server;

右边就是 Agent,是一个 Client,这样你可以连上很多的 Agent 玩这个游戏。中间是传递的信息,Environment 会把它每一帧的数据吐给 Agent,Agent 会把每一帧的数据抽象成状态,然后再把这个 State 送到 model 里面去学习或者做预测,反过来会预测出来一些 Action,这些 Action 会封装成指令,再发回给《星际争霸》的 Environment,比如说开枪或者逃跑,这个是我们搭的这样一个《星际争霸》的实验平台。

下面是我们这个实验平台做到的一些效果,总结起来有五种可观测的智能。

  第一种,可以配合走位。

wzatv:【j2开奖】阿里巴巴为什么要选择星际争霸作为AI算法研究环境?

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容