1700541060
1700541061
1700541062
1700541063
图14.15 德州扑克AI Libratus的决策过程
1700541064
1700541065
牌类游戏与棋类游戏不同。国际象棋、中国象棋和围棋等都是“完美信息”游戏,也就是说,所有玩家在游戏中获得的信息是确定的、公开的和对称的。AI攻克这些游戏的难度,主要取决于游戏过程的决策点数量,这决定了需要的计算量。然而,扑克是一种包含很多隐藏信息的“不完美信息”游戏。玩家掌握不对称信息,只看得到自己手里的牌,却不知道对手手中的牌,更不知道对手如何猜测自己的手牌。因此,虽然一局德扑的决策点数量要少于一盘围棋,但是不确定性的加入,使得每个决策点上,玩家都要全盘进行推理,计算量难以想象。在非对称信息博弈中,对同样的客观状态,由于每个玩家看到的信息不同,这增加了玩家状态空间的数目以及做决策的难度。如果考虑心理层面的博弈,有别于机器,人类可以“诈唬”来虚张声势,这被人类看作是智商和情商的完美结合。
1700541066
1700541067
非对称博弈中双方的猜测是彼此的,是相互影响的,故而没有单一的最优打法,AI必须让自己的移动随机化,这样在它唬骗对方时对方才无法确定真假。举个石头剪子布的例子,如果别人一直用石头剪刀布各1/3的混合策略,那自己就会发现好像怎么出招收益都是0;于是每次都出石头,但是这样的话,对手就可以利用这个策略的弱点提高自己的收益。所以好的算法就要求,基于别人已有策略得到的新策略要尽可能地少被别人利用。这样的研究有很实际的意义,它将来能够应用在金融谈判、拍卖、互联网安全等领域,需要AI在“不完美信息”的情景中做出决策,这或许正是Libratus擅长的。
1700541068
1700541069
■ AI电子竞技
1700541070
1700541071
2013年,尚未被谷歌收购的DeepMind发表了一篇里程碑式的论文《用深度强化学习玩Atari》(Playing Atari with deep reinforcement learning)[62]。Atari 2600是20世纪80年代一款家庭视频游戏机(见图14.16),相当于以前的小霸王学习机,输出信号接电视机,输入则是一个控制杆。研究者通常在它的模拟器Arcade Learning Environment(ALE)上做实验[63]。这篇论文试图让AI仅凭屏幕上的画面信息及游戏分数,学会打遍所有Atari 2600上的游戏。该文充分吸收了近些年深度学习的研究成果——深度卷积神经网络,结合强化学习的已有框架,运用经验回放的采样思路,设计出深度Q-learning算法,最后结果出奇地好,在很多游戏上都胜过人类高手。传说正是因为这点,让谷歌看上了DeepMind。2015年,谷歌DeepMind在《自然》杂志上发表了著名的文章《通过深度强化学习达到人类水平的控制》(Human-level control through deep reinforcement learning),提出了著名的深度Q网络(DQN),仅训练一个端到端的DQN,便可在49个不同游戏场景下全面超越人类高手[64]。
1700541072
1700541073
1700541074
1700541075
1700541076
1700541077
1700541078
1700541079
图14.16 游戏机Atari上的游戏
1700541080
1700541081
此外,在2016年4月,另一家AI研究公司——OpenAI对外发布了一款用于研发和评比强化学习算法的工具包Gym。Gym包括了各种模拟环境的游戏,如最经典的倒立摆。该平台提供一个通用的交互界面,使开发者可以编写适用不同环境的通用AI算法。开发者通过把自己的AI算法拿出来训练和展示,获得专家和其他爱好者的点评,大家共同探讨和研究。强化学习有各种各样的开源环境集成,与它们相比,Gym更为完善,拥有更多种类且不同难度级别的任务,如图14.17所示。
1700541082
1700541083
1700541084
1700541085
1700541086
倒立摆(Cart Pole):这是一个经典控制问题。一个杆一个小车,杆的一端连接到小车,连接处自由,杆可以摆来摆去。小车前后两个方向移动,移动取决于施加的前后作用力,大小为1。目标是控制力的方向,进而控制小车,让杆保持站立。注意小车的移动范围是有限制的。 月球登陆者(Lunar Lander):这个游戏构建在Box2D模拟器上。Box2D是一款2D游戏世界的物理引擎,可处理二维物体的碰撞、摩擦等力学问题。本游戏的场景是让月球车顺利平稳地着陆在地面上的指定区域,接触地面一瞬间的速度最好为0,并且消耗的燃料越少越好。 双足行走者(Bipedal Walker):同样基于Box2D模拟器,这个游戏中玩家可以控制双足行走者的步进姿态。具体地说,是控制腿部膝关节处的马达扭力,尽量让行走者前进得更远,同时避免摔倒。本环境提供的路面包括台阶、树桩和陷坑,同时给行走者提供10个激光测距值。另外,环境的状态信息包括水平速度、垂直速度、整体角速度和关节处角速度等。 毁灭战士(Doom: Defend Line):这是一款仿3D的第一人称射击游戏。游戏场景是在一个密闭的空间里,尽可能多地杀死怪物和保全自己,杀死的怪物越多,奖励就越多。AI玩家所能观察的,同人类玩家一样,只是一个第一人称的视野。
1700541087
1700541088
(a)倒立摆
1700541089
1700541090
1700541091
1700541092
1700541093
(b)月球登陆者
1700541094
1700541095
1700541096
1700541097
1700541098
(c)双足行走者
1700541099
1700541100
1700541101
1700541102
1700541103
(d)毁灭战士
1700541104
1700541105
图14.17 Gym中的各种小游戏
1700541106
1700541107
OpenAI显然不满足于此。2016年年底,继4月发布Gym之后,OpenAI又推出一个新平台——Universe(见图14.18)。Universe的目标是评估和训练通用AI。同Gym上的定制游戏不同,Universe瞄准的环境是世界范围的各种游戏、网页及其他应用,与人类一样面对相同复杂和实时程度的环境,至少在信息世界这个层面上,物理世界还有待传感器和硬件的进步。具体地讲,游戏程序被打包到一个Docker容器里,提供给外部的接口,人与机器一样的,谁都不能访问游戏程序的内部,只能接收屏幕上的画面,和发送键盘和鼠标指令。
1700541108
1700541109
[
上一页 ]
[ :1.70054106e+09 ]
[
下一页 ]