首页
学习
活动
专区
工具
TVP
发布

从“星际争霸2”看强AI时代

8月10日,DeepMind和暴雪终于开源「星际争霸2」的机器学习平台。这个平台对于state-of-the-art的深度强化学习算法来说是个极好的测试平台。

DeepMind是Alphabet旗下子公司。15年春天,该公司的人工智能AlphaGO击败了围棋九段李世石。该公司一直暗示其可能会挑战实时战略视频游戏。之所以选择「星际争霸2」作为人工智能研究的目标,是因为在此游戏中,玩家必须快速做出高级战略决策。

围棋是“完全信息博弈”游戏里最杂乱的一个,又很有艺术性。AlphaGo在围棋上制服人类,这说明如今的机器学习机制已经可以处理所有基于完全信息推理的棋类游戏。

*完全信息博弈:可以实时观测对手的行动,并做出相应决策

这个机器学习机制能否在“非完全信息博弈”上打败人类?这个问题有趣且极富学术价值。星际争霸是一个很适宜的测试对象。星际争霸最常见的是两个玩家对战,没有兵力在附近就看不见对方的行动,对方在干什么本身不知道,这就是“非完全信息博弈”—— 玩家对对手的行动很少有直观的了解,这点跟围棋和象棋有很大区别。

那么问题来了,什么是机器学习呢?

人具有天然的智能。每个人的一生都在学习,因为学习就是通过不同的途径获得知识或技能的过程。比如一个没撸过猫的少女,在撸猫的过程中发现挠猫的脖子时猫主子会发出很爽的叫声,这名少女便是在实践中学习了正确的撸猫方式。

‍‍‍再比如,少女看见闺蜜给猫主子投食可以博得猫主子的好感度,于是抓了把猫粮也来投食,这就是通过模仿他人学习了正确的撸猫方式。

以此类推,机器学习就是通过让机器模拟或实现人类的学习行为,以获取新的知识或技能,并且总结、优化已有的知识结构从而不断提升自己性能的过程。‍‍‍

机器学习有三个基础属性:数据、算法、模型

机器学习的常用类型

电小科有个小表妹名为纪算姬。宠妹狂魔电小科为了能名正言顺地跟表妹玩,常常用各种方式来教纪算姬学习。这不,电小科开始教表妹学习如何分辨动物。

首先,电小科拿出宠物录,给纪算姬翻看许多张猫和狗的萌图,小表妹天然地喜欢萌物,开开心心地翻看了好久好久好久⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄

然后电小科会面临三种选择。

假如电小科直接告诉纪算姬这些图片当中哪些是猫哪些是狗,纪算姬通过这些被标记和分类的图片,学会分辨猫猫和狗狗,这就是监督学习法。

监督学习:数据+标签

如果电小科不告诉纪算姬哪些是猫,哪些是狗,而是让纪算姬自己去判断和分类,让她自己总结出猫和狗的不同之处,聪明的纪算姬通过观察各种动物之间的特性,会发现这些特性背后的规律——比如喜欢摇尾巴求抚摸的是狗狗,眼睛随着光线改变的是猫,这些规律也就是非监督学习所学到的东西。

非监督学习:数据,无标签

如果电小科指出宠物录里两三只猫猫和狗狗,表妹通过这几张照片总结规律,再自己探索宠物录里其他猫狗图片,这就是半监督学习。

然而优秀的电小科平日里不会只教小表妹,有时也会教教珍瑶表弟,对于非常喜欢抢自己游戏机的珍瑶表弟,电小科通常喜欢采用“强化学习法”。就是把珍瑶丢到一个对于它完全陌生的环境或者让它完成一项从未接触的任务,让他自己尝试各种手段,最后他自己成功适应这一个陌生的环境或者学会完成这项任务的方法途径。

比如教珍瑶撸猫的正确方式,我们只需要给它一只猫,并告诉它你把主子撸爽了我给你记一分,让它自己去尝试各种各样的撸猫方法,刚开始它可能反过来被主子撸,不过珍瑶会自己总结失败或成功的经验,最后找到成功撸猫的方法。这就是强化学习,也是AlphaGo的学习手段。

AlphaGo运用的就是这种方式

和强化学习类似,但是是通过淘汰机制去选择最优的设计或模型的,叫做遗传算法,因为它与优胜劣汰的自然法则类似

除了“非完全信息博弈”的难点之外,「星际争霸2」并非回合制游戏,机器学习系统需要面对持续变化的环境。玩家一方面需要制定长线策略,一方面也要运用好短线战术。让软件同时具备这两方面的能力是目前难以逾越的挑战。

DeepMind的研究人员Oriol Vinyals认为,跟国际象棋和围棋相比,「星际争霸2」更能模拟真实世界的混乱状况。他说:“如果要让代理人程序学会玩「星际争霸2」,它需要有效利用记忆,还要能制定长远计划,而且能根据最新信息调整计划。”他认为,如果能开发一套机器学习系统,让它掌握操作「星际争霸2」的技巧,这种技术将最终可以用来执行真实世界的任务。

也就是说,这是一个教机器人做战略分析的研究。这条路的终点,机器人不再是“机器”,它们可以实现完整的认知、分析和战场决策,甚至可能欺骗。

有点怕怕( ̄ ̄")

不过幸好, 在整局游戏环境下时,即便是表现优异的基准机器人,比如说A3C,在对抗最简单的内置AI时也无法获得一局胜利。机器人早期并不能完成对人类来说简直不值一提的简单操作。但是经过训练之后,机器人就会作出很多有意义的操作。如果是以竞技为目标的话,人类还需要在深度增强学习及其相关领域有更多的突破才行。

之前有一个热门视频,AI控制的虫族100条小狗咬爆了人族的20辆坦克。人类选手绝对不可能实现这个操控,它需要一只小狗受到坦克攻击的时候,边上的小狗全部跳开,免得被炮弹作用范围内的溅射杀死,这需要的手速超过了人类极限。

然而即使AI有微操优势,也还是打不过星际争霸人类选手。人类选手根本不给电脑正面摆阵战斗的机会,而是各种花招往上招呼。人类可以早期突袭,可以派兵骚扰杀农民打了就跑,可以空投对方基地捣乱,可以派隐形兵力让对方挨打了还不知道发生了什么。

而且对战非常需要侦察,人类很容易分析出电脑的发展方向作出针对性安排。电脑想要侦察人类的动向却非常复杂,很需要随机应变,显性地写代码几乎不可能做到。

一旦人类在侦察上占优,就可以抓住电脑的弱点作出针对性的骚扰,电脑没有防空人类就派空军,没有防隐形就派隐形兵种去打,电脑几乎难以应对。可以预计,想让电脑拥有“即时反应”的应变能力,如果是显性地编程去做,涉及的代码量是海量的,开发难度极大。而且即使勉强开发出来了,也很快就会被高水平的人类对手发现漏洞。

丰富的策略与随机应变正是「星际争霸2」的游戏精髓,人类用编程的办法应该没有出路,正如围棋AI用代码编程实现高手思想不可能成功。从根本上来说,还是得让机器自我学习发展出随机应变的能力。

因此,机器自我学习这条路感觉机会要大一些,但从Deepmind的报告能看出,这条路刚起步就困难重重,无法完成一些最基本的任务。机器学习挑战星际争霸的难度,应该是超过业界的想象了,也许接近强人工智能的难度。深度学习和增强学习在围棋之后,终于撞上现代科技可能是无法逾越的障碍。如果这个障碍越过,那就是强AI的时代。

棋手柯洁曾说:“人类已经研究围棋研究了几千年了,然而人工智能却告诉我们,我们甚至连其表皮都没揭开。“

也许“超越人类认知的极限”,才是AI研究的终极意义。

客官点个赞支持一下电科RM的技术科普吧!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171222G0W6RE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券