vivo公布AI研究新进展:教会手机打《王者荣耀》
刘一一 | 2019-01-30 10:01
只有一颗做手机的心,肯定是做不好手机的。
上周五凌晨,一场史诗级人机大战“悄然开场”,代表机器参赛的是Google旗下AI大公司DeepMind开发的全新AI程序AlphaStar,另外一方是2018 WCS Circuit排名13、神族最强10人之一的人类选手MaNa。
结果也正如2年多前的围棋AI AlphaGo(同样由DeepMind开发)一般,AlphaStar以10:1的战绩,“完虐”人类职业高手。
要知道,“星际2”这款游戏比围棋又复杂上了许多:例如动作的种类,围棋只有361个下棋位置,星际2算上各种技能和走位控制,即便一个84x84分辨率的小屏幕,也有一亿多种可能的操作。同时,在玩“星际2”的过程中,玩家并不能看到整个战场的信息,你甚至还要猜测、估算对方的行动,来进行你自己的规划和决策。
这么难都能打赢人类,AI这几年来取得的进展“可见一斑”。
事实上,因为人类一直对AI不完全掌握,再加上AI技术和应用探索的过程中往往需要大量的数据,可以随意试错、拥有大量人类数据的电子游戏,一直被视为人工智能最好的实验平台之一。因为游戏本身就是认为创造的,用以帮助人来习得某个技能或者测试技能水平的工具。
在某些特定的人工智能方向,如自动驾驶,人们甚至还会专门认为创造一个类似于电子游戏的虚拟世界,用来作为训练人工智能的环境。
除了上文所提到的DeepMind之外,很多国内公司实际上也在进行着在游戏环境中训练人工智能的尝试,其中就包括了vivo,他们所瞄准的正是国内最多人玩的手游之一:《王者荣耀》。
训练AI打《王者荣耀》这件事
代表vivo向《王者荣耀》发起AI冲击的,是去年7月成立的“vivo AI Lab”,后者的建立是vivo在2018年年初的vivo战略发布会上就已经做的决定。
本次“vivo AI Lab”所使用的强化学习架构
在本次对《王者荣耀》挑战的背后,“vivo AI Lab”专门提出并使用了一种全新的分层强化学习模型。这种神经网络模型既能够通过模仿人类来制定宏观策略,同时还能根据强化学习来保证微观操作。尤其适应即时战略游戏(RTS)对于操作的需求。
就《王者荣耀》而言,关键性的大局观包括单元“去哪儿”、“应该何时去支援队友”、“队友应该何时一起参加团战”等。重要的精细化操作则包括“何时闪现”、“何时交出大招”、“多人团战中应该如何精细走位”、“团战中应该如何释放技能”等。
这两种操作需求实际上相差很大,大局观层面其实很难量化和计算,所以主要的是先参考人类的数据,进行模仿学习和专家引导。在精细化操作的时候,“vivo AI Lab”直接使用了一种被叫做“多智能体”的强化学习方法。你可以把它看做成百上千个机器人在虚拟团战走位、技能释放等操作,其中只有表现最好的能够留下来。通过不断的对垒,机器自然而然就学会了最优的操作方式。
最终训练出来的结果:观察到电脑开大,马上闪现然后反身开大,一气呵成。(图中方框为图像识别对象框)
根据“vivo AI Lab”官方公布的成果,经过这一系列神经网络训练出来的模型,1V1模式下能以100%的胜率击败游戏中的内置AI,同时能够在5V5模式下以AI战队的形式表现出较好的协同性能。
除了游戏AI外,vivo还“做”了更多
在实验全新深度学习模型的同时,“vivo AI Lab”还更具挑战性地选择了一条更难的路径——不使用游戏的API接口,而是选择直接从图像监测并获取游戏中的各种特征数据。
之前不少公司和机构都曾在电子游戏上发起人工智能挑战,基本都采用了游戏的API接口。人工智能无需经过图像分析等手段就可以直接获知游戏中各个单位、环境的数据。
“AlphaStar”获取的游戏数据,明显非常简洁
以游戏表现上最出色的DeepMind的“AlphaStar”为例,它并没有直接从图像中获取单位的信息,而是从游戏引擎里面读取特征信息,这些图像直接标记了哪里是兵或者工厂。
“vivo AI Lab”专门为采集游戏数据所打造的一套深度学习网络
“vivo AI Lab”则选择了用另外一套深度学习网络来捕捉《王者荣耀》中5个英雄的特征,具体的来说,就是把5个英雄对应的大地图和小地图数据,通过卷积神经网络提取信息,结合多目标检测提取的特征向量,再输入到上文所提到的分层神经网络当中。然后各个英雄根据自身状态环境,决策出不同的动作,实现在各自情况下的对应操作。
虽然这个过程不起眼,但实际上却可能对人工智能的表现起到很大影响。毕竟实际用户都是通过手机显示的图像来获取信息的,假如人工智能都从API接口来获取信息,你又怎么能保证这些信息的层级和精准度都是跟人类从图像中获取的一致?
之所以vivo这次额外花力气填补这一流程,正是想让人工智能能够完整模拟人类从看到屏幕上图像,到实际操作的全过程,让人工智能的运转环境条件更接近普通用户。
分布式神经网络训练环境
为了实现同时对多个英雄数据进行采集,并且提高整个《王者荣耀》人工智能模型的采样效率,样本多样性和训练速度,“vivo AI Lab”还搭建了一整个“分布式强化学习环境”:手机负责游戏的运行、动作执行和数据采集;电脑负责连接手机和服务器,进行强化学习算法选择、动作决策单元的运转;云端的GPU服务器集群负责整个神经网络的运行和存储。
而在这个环境中,“vivo AI Lab”还更具普适性地直接使用了全开源的gRPC技术,这种技术是HTTP 2.0时代的基础底层数据框架。这也让整个“分布式强化学习环境”具有极大的网络化潜力。
关于这次《王者荣耀》的人工智能尝试,“vivo AI Lab”还以论文的形式公开刊发了出来,有兴趣可以点击网址查看。http://arxiv.org/abs/1901.08004
超越成绩的一次尝试
手机厂商来做游戏的AI,乍一听真的会让人摸不着头脑,毕竟最终训练出来的AI也不太可能被应用到游戏或是真实当中。
但从“vivo AI Lab”此番挑战的细节来看,你也很难将其简单地归为“做游戏AI”。以选择不使用游戏的API接口、转而从游戏界面的图像获取数据为例,这不仅仅是一个技术上的挑战,更是vivo着眼于此次AI尝试未来的适用性。
因为整个深度学习过程中的数据都是从手机终端直接采样而得,除了其他玩法类似、基础操作需求相近、图像识别相近的游戏外,vivo还能利用与本次尝试相同的架构(手机图像识别+特定深度学习神经网络+深度学习网络化环境),对手机中的各种场景进行学习归纳。最终让vivo手机从方方面更懂你。
其次是采用gRPC技术来构建整个人工智能学习环境的数据传输,要知道在当下的人工智能发展过程中,“如何采集到足够的样本数据”和“如何让尽可能多的用户用上花大力气训练出来的神经网络”,仍是关键性的难点所在。想要解决他们,“网络化”是唯一可行的路径。
所以整体看下来,与其说是vivo在做一次游戏AI的尝试,倒不如说是一次面向未来手机人工智能发展的尝试。
这种前瞻且大胆的尝试,也是vivo一直所坚持的,早在去年3月,vivo就在X21上首次发布了“Jovi”人工智能助手,能够在屏幕中直接识别人物、快递、景点地址、网址等关键信息;负一屏的“智慧场景” ,更能有效地将通勤时间、票务酒店预订、步数、天气等信息进行整合展示。去年9月,vivo发布的全新IoT战略“Jovi物联”,更让Jovi能够方便地适配一系列智能家居产品,让Jovi成为“把人和数字世界联系在一起”的控制核心。
因为在世界不断数字化的当下和未来,人的认知愈发难以跟上数据膨胀的速度,借助AI来提升人类的能力将会是一个重要的解决方案。而vivo,显然想要帮助自己的用户首先成为这一类人。
喜欢数码科技资讯的你,就记得点击订阅啦。
关注「锋潮评测室」微信公众号【微信号:fengchaopingceshi】,还会送上更多你想要的哦~