起底德州扑克的AI赌神Libratus:不以人类为师,方能胜过人类

尽管美国卡内基梅隆大学(CMU)的计算机系教授托马斯•桑德霍姆(Tuomas Sandholm)和其研究生诺姆•布朗(Noam Brown)在1月份捧红了一位AI赌神Libratus,但每当问及个中原理,他们一直在卖关子。近日,为了迎接当地时间2月4日旧金山开幕的美国人工智能协会年会(AAAI),桑德霍姆和布朗终于在CMU网站上上传了论文,揭晓了其中的谜团。

1月份在美国匹兹堡的大河赌场(Rivers Casino)举行的一场人机“华山论剑”,引发了无数人工智能专家和德扑爱好者的关注。在连续20个比赛日中,一个名为Libratus的人工智能在共计12万手的一对一无限注德州扑克比赛中击败了四名顶尖人类高手,共计领先人类团队176万美元筹码。而Libratus最令人咋舌之处,是它非常善于诈唬对手同时又不被对手诈唬。那么这个AI赌神到底是如何炼成的呢?

残局计算:人工智能的制胜之地

残局计算一向是机器在棋类游戏中战胜人类的法门。在2016年3月份阿尔法狗与世界围棋冠军李世石的人机大战中,不少围棋行家都指出阿尔法狗随着比赛进程“越下越慢”,这说明在残局阶段发挥远超人类的计算能力是阿尔法狗获胜的关键。

但围棋和德扑性质上是完全不同的。此前20年间被人工智能攻克的西洋双陆棋、跳棋、国际象棋和围棋都是“完美信息”游戏,所有玩家在游戏中能获得的确定性信息是对称的。人工智能掌握这些游戏的难度,主要取决于游戏中需要做出的决策点(decision points)的数量,这决定了计算机需要的计算量。人工智能在每一个决策点都能独立地计算出一个最优解。

但德州扑克是一种包含很多隐藏信息的“不完美信息”游戏。玩家只掌握不对称的信息,他不知道对手手中是什么牌,不知道五张公共牌会开出怎样的结果,也不知道对手猜测自己握有怎样的手牌。因而,虽然一局德扑中的决策点数量要少于一盘围棋,但是这些决策点并不独立,在每一个决策点上,玩家都需要再从全盘进行推理,这在计算量上是难以想象的。

因此,以往人工智能处理“不完美信息”游戏会采用一种缩略的方法,即将一盘大型游戏简化为一盘近似的小游戏,在缩略的游戏中进行计算,并将结果输出到真实游戏中。但在这个过程中,信息会不可避免地流失,因而此前人工智能迟迟未能攻克德州扑克。

比如在处理对方的下注筹码上,由于在计算量上难以将对方所有的下注可能性都列入决策树(Decision Tree),因而有一种经典的行动翻译法(action translation),例如将对手下注201美元近似为200美元进行简化处理。

而桑德霍姆和布朗的这篇论文题为《不完美信息游戏中安全内嵌的残局计算法》,介绍了一种新的残局计算法,即通过纳什均衡来计算该如何应对对手那些没出现在决策树上的招数,并以收益反馈对自身的出招进行动态修正,以期达到最大可能的收益,而非简单地将对手的行为进行近似处理。

这种新的残局计算法最大的特点,是开发者可以获得一定程度的“确定性”。而“确定性”正是时下大热的深度学习最缺乏的。

桑德霍姆说,“现在深度学习集万千宠爱于一身,这也是它应得的,但深度学习不能给你确定性。”

基于深度神经网络(deep neural networks)的深度学习无疑是目前人工智能领域最耀眼的明星,也是缔造这一波人工智能热潮的最大功臣。从Facebook的人脸识别系统到微软的机器翻译,再到震惊世界的谷歌围棋AI阿尔法狗,深度学习风头一时无二。

但深度学习有两大局限性,注定它并不是人工智能万灵丹。首先,深度学习的本质是机器通过分析海量数据习得一些模式,但并不是所有领域都能采集到海量数据。以自动驾驶为例,显然通过积累海量事故经验来习得避免事故发生是不现实的。此外,深度学习是一个知其然而不知其所以然的“黑匣子”,这在许多重大安全事件上并不能令人放心。自动驾驶的事故问责问题就是一例。

不以人类为师,方能胜过人类

美国《连线》杂志的一篇文章则指出,Libratus主要是依赖三套相辅相成的系统大获成功。残局计算是在比赛过程中发挥主要作用的系统。而比赛前期的学习系统和比赛后期的反馈系统同样重要。前期的系统是所谓的强化学习(reinforcement learning)。这是一种将试误理论发挥到极致的机器学习方法。简单来说,Libratus通过自己与自己玩成千上万局德扑来学习。与Libratus的从零开始学习不同,谷歌的围棋AI阿尔法狗是在学习了3000万张人类棋谱后才开始“左右互搏”进行自我强化的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://9837qp.com/a/ziyuan/dezhoupukeluntan/dezhoupukeguanfangwangzh/2019/0212/857.html