揭秘Libratus变身德扑赌神背后:人工智能20年的研发心血
今年一月,全球四位顶尖扑克职业玩家一直“藏”在匹兹堡的Rivers Casino里参加一场比赛。然而,他们最终输了。这四位职业玩家会穿着厚运动裤和时尚运动鞋,在早晨11点之前出现然后坐在电脑屏幕前一直玩到晚上。他们每个人都需要在线玩1500手一对一无限注德州扑克,这就意味着他们需要一直玩到晚上10点之后。在一天的过程中,星巴克的咖啡杯和水杯会成堆放在选手键盘旁边,而墨西哥卷饼的袋子则散落一地。
玩家每走一步,他的动作都会被传送到五英里之外卡内基梅隆大学的计算机服务器里。在那,服务器会将信号传送到12英里之外的对手那里——在近郊门罗威尔市匹兹堡超级计算中心运行的Libratus软件。Libratus可以一次玩八手——和每一位对手对阵两手。它进行得过于“从容不迫”,以至于其中一位人类玩家Jason Les有些气愤。“时间都变得漫长了。”说这话时,这位体格健美的男士就像是亟待提前几分钟下班一样,“等待这件事无论如何也不应该影响到我,但有些时候你还是会感觉‘这还有完没完了?’”
当然,Libratus是不需要休息的。在其他方面,它也与人类玩家不同。当赌注增加时,人们往往思考的时间也会变长。计算机玩家在金额不大的赌局上则动作缓慢,这是由于它们需要为了拥有更多筹码而计算所有的可能性。Libratus还倾向于突然大笔下注,这与牌局的下注惯例不符。
如果人类玩家突然间大笔下注,那这样的行为是刺激、鲁莽的,从长远角度来说这也是代价极高的。但是Libratus作为扑克玩家,它没有人类的特征。当为期20天的锦标赛在周一结束时,人类玩家输掉了180万美元(他们无需支付这笔钱,钱其实是德州扑克里的得分)。开发Libratus的是卡内基梅隆大学里的两位计算机科学家Tuomas Sandholm和Noam Brown。当计算机第一次在无限注德州扑克(全球最有名的扑克游戏)里打败顶尖扑克玩家时,他们就欢庆了这项胜利。
人工智能领域的专家一直是用游戏来开发并且验证自己的想法。在此之前,计算机在国际象棋、西洋跳棋、西洋双陆棋以及围棋上超越了顶尖的人类选手。扑克的几率性以及选手不知道对手手中的牌使其成为了人工智能要攻克的一大难题。所谓的不完美信息游戏就需要利用人类的智力——比如说欺骗对手并且在她欺骗你的时候你也能洞察这一点——而这是计算机所缺乏的。
“无限注德州扑克是你在锦标赛中看到的那种游戏,它甚至被称作是更像一种艺术,而不是科学。” 《完美下注:科学和数学如何去除赌博中的运气》的作者Adam Kucharski这样说道,“这意味着扑克不会在短时间内被机器取代。”
然而这种想法在最近几周突然幻灭了。一月初,阿尔伯塔大学的研究人员基于一场竞赛发表了一篇论文——他们自己开发的人工智能DeepStack打败了11位专业扑克玩家。
至于DeepStack能否打败Libratus,这依旧是一个存在争议的问题。Sandholm表示自家机器人对阵的专业选手要优于DeepStack击败的人。阿尔伯塔大学计算机项目的负责人Michael Bowling也承认了这一点,但他提出质疑——人类能否在连续近一个月的时间里发挥出最佳状态呢?DeepStack和对手的胜利局数差是Libratus和对手的三倍。
但双方都认为扑克人工智能已经跨越了一个重大门槛。对他们而言,这一进步与扑克本身无太大关系。德州扑克只是一种用来为其人工智能项目找到陪练的方式。人工智能取得的进展将会映射到网络安全等应用中。“这是我们整个开发社区选定的主要标准,但这些算法并非只是为扑克而设计的。”曾是世界顶尖帆船运动员的Sandholm这样说道,“它的目标是成为通用的算法。”
DeepStack和Libratus玩的是一种不同寻常的扑克。计算机是与单个对手进行比赛,而不是一群扑克玩家。玩家持有的筹码数量在每手牌之后都会重置,这就消除了复杂心理产生的影响——拥有更多筹码的玩家会恐吓筹码较少的玩家,迫使他们下更大的赌注。全球领先在线扑克平台PokerStars的发言人Eric Hollreiser表示这限制了人工智能对扑克行业造成的威胁。“尽管从每一手游戏功能上来说,它都是在模仿扑克,但和赌桌上发生的真实情况相比,它仍然相距甚远。”
在相对受控较少的环境下也进行了一些其他实验。一旦科学家在实验室里开发出了一个机器人,它就会被放到线上去参与现金局比赛。一直以来,扑克机器人参与的都是小赌注的赌局,且玩牌的技术被认为是不太高超的。但赌博行业分析师兼《在线扑克报告》的作者Chris Grove却表示,如今机器人已经开始进行赌注更高的比赛。“如果你是一位在线扑克运营商,那这很有可能是你最担心的作弊问题。”
扑克行业和学术界多年来一直在悄然进行合作。参与其中的所有人对于具体细节了解有限,但是不管是开发商业机器人的人还是那些试图打败机器人的人,他们都在密切关注着学术界。Bowling之前的一些学生也任职于一些在线扑克公司,已经至少有一位学生出售了可以在线游戏的机器人。
“当然,很多赌博的人都在担心这将扼杀在线赌博行业,这是因为人们担心机器人的表现会太过出色。”Sandholm说道,“这有可能会发生,但我担心的并非是这一点。”
在扑克的行话来说,可以帮你打牌的计算机程序叫做“梦想机器”(dream machine)。在网络论坛上,参与者可以交流有关机器人替玩可疑行为的信息——或是他们是如何制作自己的机器人的传奇故事。
加拿大博彩公司Amaya开发的PokerStars雇佣了70名员工来打击这类欺诈行为。员工会打电话给玩家,要求他们根据某些手牌来描述自己会采用何种策略。公司还会给玩家发送电子邮件,要求他们录制视频——360度转动摄像机来展示自己所处的环境,之后在手和键盘完全可视化的情况下玩一个多小时。
机器人不必非常精于玩扑克牌来为运营商赚钱或是对这个行业造成威胁。从普通玩家那里赚到适中的钱也许更为合适。但英国在线游戏公司Gamesys的扑克策略负责人Darse Billings表示梦想机器以及学术型人工智能正在利用不同的技术,它们尝试解决的问题在本质上就存在很大差异。打败糟糕的玩家并非是打败精英玩家的简化版,这完全是两个不同的问题。
Billings比任何人都要了解学术界的扑克世界以及扑克行业。在20世纪90年代攻读计算机硕士学位的同时,他研究了这一游戏。之后为了偿还学业贷款,他成为了一位职业扑克玩家。几年之后,他再次回到学校与阿尔伯塔大学的计算机科学家Jonathan Schaeffer合作。这所大学以编写了一个无法被击败的西洋跳棋人工智能程序而闻名。Billings劝服Schaeffer开始专攻扑克。
为了解决西洋跳棋, Schaeffer使用的方法从本质上来说就是在任何相关情况下尝试计算出最佳一步棋,而无需考虑目前发生了什么。但在解决像扑克这样需要运气以及并非是每个人都能获取到所有相关信息的游戏时,将每一步动作当做是独立问题来考虑就无意义了。阿尔伯塔大学的研究人员决定设计出一个总策略。这就要寻找到博弈论中的纳什均衡——不管对手作何反应,这种方法都可以在两人博弈时立于不败之地。
纳什均衡并非是一种单一的理想游戏方式。扑克中,均衡策略的关键在于要在发挥手中牌最大潜力的同时保持一定的不可预测性。“当你给自己最大的牌下注时,你仍需存有一定怀疑。”Billings说道。团队开发了两个人工智能程序——一个审慎行事的人工智能Mr. Pink,另一个则是富有侵略性的Agent Orange。
这一均衡方法吸引了阿尔伯塔大学Bowling的注意,他的专长就是博弈论。2003年,他将该方法应用到扑克中。Sandholm 曾是Bowling在卡内基梅隆大学毕业论文委员会中的老师,他在第二年转向了扑克领域并且采用了类似的方法。Sandholm和Bowling在2006年创办了年度计算机扑克大赛并且开始定期与顶尖人类玩家进行比赛。即便双方之间是在竞争,但在此过程中,实验室也从彼此双方的研究中收获了很多见解。
两个项目在过去几年内都快速走向尾声。在2015年1月,Bowling团队发表了一篇论文,解释了它是如何解决一对一有限注德州扑克游戏的。这种两人游戏要比无限注德州扑克更简单,这是因为玩家投注时受到了限制。Sandholm和Brown(Brown是Sandholm的博士生,五年来一直和Sandholm合作专攻扑克人工智能)则在几个月后的Rivers Casino举办了第一届与顶尖人类玩家对阵的“Brains v. AI”比赛。他们的机器人Claudico在和四位职业玩家进行的8万手比赛中输掉了73.2万美元。Sandholm表示这场比赛近乎平局并且声称至少有一位玩家作弊了。
Sandholm和Brown表示在比赛之后,他们的人工智能程序在一些通用领域得到了改善。Claudico在早期阶段的表现不错,但在手牌结束时会时常犯错。它会在错误的时机进行偷鸡(当你手上拿着的牌很弱时,你可于短时间里扮作手持强牌,以进取的姿态下注及加注,希望吓退对手并且令他们放弃手上原本比你更强的牌)并且无法基于已知的、被去除的牌来明确一副扑克牌中的成败比发生了什么变化。简单来说,这样的推理类似于:桌面上有两张K,你有两张K,那么你的对手就不可能有K。Libratus在上述这些领域都进行了改进。在一些其他领域,它的开发者并未完全透露具体情况,比如说它是如何根据一天的玩牌情况进行调整的。
有关Libratus的所有细节都将在开发者发布的论文中披露。这类学术工作往往会以多种形式映射到现实世界的扑克比赛中。据Brown表示,年度计算机扑克大赛已经引入了现金玩家。Bowling表示他的研究论文在机器人开发者的留言板上颇受欢迎。“会有一类人去阅读这些论文并且尝试进行理解。”他这样说道。
Billings在2008年进入了扑克行业。他是离开阿尔伯塔大学项目之后为数不多继续从事研究的人。大部分人都被运营游戏平台的公司雇佣了。Richard Gibson则是其中的异类,他自己创建了一家开发人工智能程序来研究和打策略游戏的公司Robot Shark Gaming。之后,他还创建了一家名叫SportsBid的梦幻体育公司。
Gibson在2013年完成了自己的博士学业。当时,有一群职业玩家联系过他,想要让他有偿开发一个他们能用于训练的软件。Gibson只知道其中一个人的名字,而从来没有亲自见过任何一位客户。他不确定这一群人中到底有多少人。“即便他们没有用此进行在线赌博,这对我来说也是污点。”他这样说道。
Gibson开发了多个程序并且表示他开发软件是要展示不同策略的有效性——单一策略是无法成功的。Gibson在这个项目上赚了大约10万美元。
这一波匿名选手并不是Gibson唯一的客户。他表示曾有一次,有人支付了数万美元来让他在六个月时间来开发一个轻量级的扑克机器人。他并没有过多询问机器人的用途——他也不想知道——但该机器人的设计要求却指向一个特殊的应用。“我的客户想要一个独立的、可以加载到他们自己笔记本电脑上的机器人。”他说道,“我想他们是要在在线游戏中使用它。”
在Rivers赌场每天夜晚结束的时候,Les会和他的队友们点外卖,然后一起研究白天的出牌数据来寻找Libratus的弱点,月初那段时间,他们每天醒来的时候都很乐观,因为他们有了一些新的技巧。“我们在最初几天发现了一些漏洞。我们不断进行攻击,如今它们都已经消失不见了。”Les这样说道。
Libratus也在进行调整。白天,程序会将自己的计算能力分成两个部分,一部分用于比赛,一部分则用于Sandholm描述的“持续性策略改进”。夜晚,程序则会利用超级计算机的600个节点来集中关注策略部分,这等用于3330台高端MacBook一起工作。
和其他人工智能已经表现得很出色的游戏一样,在扑克中,计算机已经设计出了一些能够过滤给人类玩家的策略。Les表示他正试图找到方法来将Libratus无规则的下注行为用于自己的比赛中。这很难。“我们只不过是没有这样的心理承受能力罢了。”他说道。
如果人类到达了像计算机对手一样无可匹敌的层次,那像Sandholm以及Bowling的实验室就会面临近乎相反的问题。和职业玩家一对一进行比赛是一回事,但目前我们尚且无法让Libratus和DeepStack有自信到可以打败一群有缺陷的普通人类玩家。这是因为人工智能使用的均衡策略在多人比赛中会失效,此时要考虑的就不是完美一击,而是要找到其他人比赛中的劣势并且加以利用。
几年前,Bowling做过一次实验。他让三个机器人互相进行比赛。其中两个机器人使用的是他实验室里的完美打法策略,第三个机器人则是被设定为随意加注型。游戏最后,最笨的机器人输掉了少部分钱。其中一位完美打法的机器人赢得了最多的钱,而另一个则输得精光。
“这真的是很困难。如果你知道和你一起比赛的是人类玩家或是表现不怎么样的程序,你又该如何推断牌的打法呢?”Bowling这样说道,“你必须为此做好准备。”
小程序搜索难?猎云网精品小推荐正式上线,你想要的都在这里: xiao.lieyunwang.com
269440