德州扑克被 AI 攻克的背后:一个产业的危机和几个人的 20 年

摘要

人工智能研究的最新突破对在线赌博行业发出了重大威胁。

编者按:今年一月,在美国宾夕法尼亚州匹兹堡的 Rivers 赌场,由卡内基梅隆大学开发的 Libratus 人工智能系统击败了人类顶尖玩家。这是继去年 AlphaGo 在围棋领域横空出世之后,人工智能在此类游戏中对人类的又一次打击。

而在这背后,人类其实已经尝试用机器人打扑克很久了,Bloomberg 的这篇文章(https://www.bloomberg.com/news/articles/2017-01-31/inside-the-20-year-quest-to-build-computers-that-play-poker)也许能帮我们更好地了解这背后的故事。原文标题为 Inside the 20-Year Quest to Build Computers That Play Poker,其中略有删节。


世界上最好的职业扑克选手中的 4 位在一月的时候在匹兹堡参加了一项比赛,然而他们输了。他们每天早上 11 点出现在电脑前,穿着运动裤和球鞋,玩的是 1500 手的一对一无限下注德州扑克,然后一直玩到晚上,这意味着他们每天的比赛时间超过 10 个小时。在一天的过程中,咖啡和水瓶都堆放在玩家的键盘旁边,而吃的 Chipotle 袋子则散落一地。

每当这些玩家发出一个动作,它就会被传送到位于 5 英里外的卡内基梅隆大学处的计算机服务器上。在那里,一个信号将再旅行 12 英里到他们的对手——一个名为 Libratus 的软件处,它运行在位于郊区的匹兹堡超级计算中心。Libratus 一次发出 8 个动作——每个对手应对两个。它刻意把自己的速率降低,这让它的人类对手们有点蛋疼,其中一位 Jason Les 表示:「这让一天的时间变得更长了」。在 Les 这位运动男看来,「等待确实不应该影响我,但有时就像是,『好吧,这还有完没完了?』」

Libratus 当然不需要休息,但它和人类选手的区别还多着呢。当赌桌上的赌注金额变大时,人类会思考更长的时间,而计算机则恰恰相反,它会在金额更小时玩得更慢,因为需要它浏览的可能性变得更多了。Libratus 也倾向于做出巨额的、突然的赌注,通过把钱不规律地投入场中,它也经常违反所谓的标准化赌博规则。

从人类玩家的角度来看,这样的行为是刺激且鲁莽的,从长远来看也代价高昂。但 Libratus 作为一个扑克选手的主要属性就是它没有人类的那些特质。当 20 天的比赛在周一结束时,人类已经损失了 180 万美元。Tuomas Sandholm 和 Noam Brown 这两位来自卡内基梅隆大学的计算机科学家开发了 Libratus,他们为计算机第一次在这项世界最顶级的扑克大赛中击败人类开始欢庆。

人工智能专家们一直将这些游戏作为开发和测试的工具,在此之前,计算机已经在国际象棋、跳棋、西洋双陆棋和围棋中击败了人类。扑克则有些不同,因为几率的原因,也因为你不知道你的对手拿的是什么牌。这种所谓的不完美信息类游戏需要那种人类的智能——比如欺骗对手和体察到对手在欺骗自己——而这是计算机所缺乏的。

1600x-1.jpg

                (Noam Brown 在过去五年中一直在开发 AI 应用程序来破解扑克这项游戏)

「无限制德扑就是你看到的这项游戏,它甚至更被称为是一项艺术而非科学」,《完美的赌注》这本书的作者 Adam Kucharski 说道,「人们长久以来也觉得这项游戏暂时不会被机器染指。」

然而上面这种想法在最近几周破灭了。在 1 月初,阿尔伯塔大学的研究人员发表了一篇论文,他们研发的一个名为 DeepStack 的 AI 程序击败了 11 名专业的扑克玩家。DeepStack 能否击败 Libratus 还存在争议,Sandholm 觉得自家 AI 击败的人类选手要比 DeepStack 的更强,而阿尔伯塔大学计算机项目的负责人 Michael Bowling 也承认了这一点,但他同时也认为人类在持续玩了一个月游戏时是否还处于最佳状态有待商榷,并且 DeepStack 的胜率是 Libratus 的三倍。

但无论如何,这两位都认为 AI 在扑克领域跨过了一个重要门槛。对他们来说,这与扑克这项游戏没什么关系,德州扑克只是他们为自己的 AI 程序寻找合作伙伴的一种方式,而由此得到的收获将回馈到诸如网络安全这样的具体应用当中。「我们的主要基准是在这个项目打败人类,但这些算法不仅仅是为了扑克」,Sandholm 说道,这位长相酷似盖茨的科学家曾经是世界上排名最高的风帆冲浪运动员,「它们的目标是通用。」

DeepStack 和 Libratus 玩的是不同寻常的扑克游戏。计算机与单个对手相对,而不是一组玩家,每个玩家持有的筹码数量会在每手牌之后重置,通过让拥有更多筹码的玩家逼迫较穷的玩家不得不进行大额度投注而消除了心理方面的复杂影响。世界上最大的在线扑克平台 PokerStars 的发言人 Eric Hollreiser 认为这让 AI 给扑克行业带来的威胁被限制了,「虽然从一手接一手的游戏功能上来说,它确实模拟了这项游戏;但它离赌桌上的现实还太远」,Hollreiser 如此评价道。

800x-1.jpg

                 (Tuomas Sandholm 是卡内基梅隆大学扑克项目的负责人)

还有不少的实验在受控更少的环境中进行。在线上的现金游戏中,只要科学家们在实验室中造出了一个机器人,它就被扔到线上去比赛。它们过去玩的主要还是赌注很低的游戏,并且通常被认为技巧匮乏。但在赌博行业分析师 Chris Grove 看来,机器人正在向更高级别的竞赛中扩张,「如果你是一个在线扑克比赛运营商,这种机器人问题可能是你要面临的第一个欺诈问题」,他说道。

事实上,扑克行业和学术界已经悄然合作多年了。虽然大家都语焉不详,但不管是试图开发商业机器人的人还是试图打败机器人的人都在密切关注着学术界的动向。Bowling 的几个学生已经去了在线扑克平台工作,已经至少有一位卖出了用于在线游戏的机器人。

「当然,很多赌博的人都担心这些机器人会杀死互联网赌博这个行业,因为人们担心机器人会表现得过于出色」,Sandholm 说道,「这也许会发生,但不是我要担心的事。」

这项工作背后有这些人

在扑克界的俚语中,一个帮你打牌的计算机程序被叫做「梦想机器(dream machine)」,在网络论坛上,玩家们随时交换着任何可疑的机器人玩家信息。

PokerStars 由加拿大博彩公司 Amaya 持有,它专门雇佣了 70 人来打击这种欺诈。员工会呼叫玩家并要求他们根据相关手牌描述他们会采取的策略。该公司还会向玩家发送电子邮件,要求他们制作视频,其中用户必须 360 度旋转相机以显示其周围环境,然后以手和键盘完全可见的形式玩一个小时以上。

不用非常熟练的扑克机器人就能为其运营者盈利,这对于这个产业来说是非常危险的。但是,位于英国的在线游戏公司 Gamesys 的扑克策略负责人 Darse Billings 认为,「梦想机器(dream machine)」和学术 AI 使用不同的技术,它们试图解决的挑战也完全不同。打败「坏」玩家和打败精英玩家完全不是一个概念,它们是两个完全不同的问题。

1600x-1 (1).jpg

Billings 比任何人都了解扑克世界,他在 20 世纪 90 年代获得计算机科学硕士学位,然后成为一个职业扑克玩家以偿还他的学生贷款。几年后,他回到学校,与阿尔伯塔大学的计算机科学家 Jonathan Schaeffer 合作,这位科学家最著名的成就是编写了完美的跳棋程序。Billings 说服了 Schaeffer 把下一个目标放到扑克上。

为了解决跳棋问题,Schaeffer 使用了一种方法,这种方法从本质上计算每一步在相关情况下的最佳下法是什么,而不管这一点究竟发生了什么。但是,这种孤立的计算在扑克里是行不通的,因为扑克中涉及运气,玩家们不能掌握所有的信息。于是阿尔伯塔大学的研究人员着手制定了一个总体战略,其中需要博弈论中的纳什均衡理论——在一个两人游戏中,无论你的对手做出何种回应,你都立于不败之地。

均衡理论不是一种单一的理想游戏方式。对扑克来说,均衡战略的关键是发挥自己手牌的最强潜力,同时要保持不可预测性。该团队开发了两个 AI 程序,一个是谨慎的 AI,被称为 Mr. Pink;另一个是富有侵略性的 AI,命名为 Agent Orange。

这种平衡理论吸引了阿尔伯塔大学的 Bowling,他的专长就是博弈论。Sandholm——这位当初是 Bowling 在卡内基梅隆大学毕业论文委员会的老师也在第二年转向了扑克领域,他也采取了相似的方法。他们二者一起在 2006 年开办了年度计算机扑克大赛,并且开始定期对决人类玩家。即使互相之间有竞争关系,双方也一直在收集彼此的研究和见解。

这两个项目在过去几年中走到了极限。在 2015 年 1 月,Bowling 的团队发表了一篇论文,其中显示了它要如何解决一对一有限制德州扑克的方法,因为它比无限制更简单,玩家能够在投注时被限制。Sandholm 和他的博士生 Brown 在过去的五年里一直投入在扑克 AI 上,并且在几个月之前举办了第一届的「Brains v. AI」大赛。他们的名为 Claudico 的机器人在和 4 名专业玩家的 8 万手比赛之后输掉了 73.2 万美元,Sandholm 认为比赛非常接近于平局,他同时声称有一个玩家还作弊了。

Sandholm 和 Brown 表示他们的 AI 系统已经在一些通用的领域得到了改善,Claudico 在比赛前期表现良好,但总是在手牌结束阶段犯错。而 Libratus 改进了许多部分,它的开发者们也在持续改进它。

1600x-1 (2).jpg

                          (Jason Les,参加人机大战的扑克选手之一)

而有关 Libratus 的所有细节都将会在其开发者发表的内容中展现出来,这种学术工作往往以各种方式映射到现实世界的扑克比赛中。据布朗说,年度计算机扑克大赛中已经引入了现金玩家,而 Bowling 也表示他自己的相关研究论文在机器人开发论坛的留言板上非常受欢迎,「专门有一群人在阅读这些研究资料并试图去理解它们」,他说。

Billings 在 2008 年也进入了扑克领域,他是从阿尔伯塔大学离开之后还从事研究行业的少数人之一,因为他们中的大多数都被运行游戏平台的公司雇佣了。而 Richard Gibson 则是其中的异类,他自己创立了一家名为 Robot Shark Gaming 的公司,这家公司开发 AI 程序去学习打策略型游戏。

Gibson 在 2013 年完成了他的博士学业,然后一群职业游戏玩家找上了他,让他帮忙开发一个能帮助他们训练的软件。Gibson 只知道他们中一个人的名字,也完全没见过其中任何一个客户。「即使他们没有用这个软件来在线赌博,这对我来说也不是什么光彩的事」,他说道。

Gibson 自己开发了多个程序,他还设计了软件去展示不同策略之间的有效性,在他最赚钱的一年里,Gibson 在这个项目上赚了大约 10 万美元,而他的客户还得再额外付出 2-3 万美元以搭建所需的计算能力。

当然,上面那些匿名客户并不是 Gibson 所有的客户。在一个案例中,他说有人给了他几万美元,让他在 6 个月的时间内开发一个轻量级的扑克机器人。他并没有询问那个人要如何使用它——他也不想知道——但是具体的设计却指向一个特定的应用程序。「我的客户想要一个独立的、可以加载到其笔记本电脑上的东西」,他说道,「我猜他们正试着在线上游戏中使用它们。」

离全方位碾压还有距离

在匹兹堡的每个夜晚结束的时候,Les 和他的扑克队友们一边订外卖,一边根据当天出牌的数据搜索 Libratus 的弱点。在月初的时候,他们每天早上醒来都很乐观,因为他们总能有一些新的技巧,「我们在前几天发现了具体的漏洞」,Les 说道,「我们不断地攻击它们,但现在以及结束了。」

Libratus 也在做着调整。在白天的时候,这个程序会把自己分成两个部分,一个部分在前面比赛,另一个部分则负责 Sandholm 所说的「持续性的策略提升」。到了晚上,程序则会完全关注到策略部分,使用超级计算机的 600 个节点来分析计算,这相当于约 3,330 台高端 MacBook 一起协同工作。

在扑克中,就像其他游戏一样,计算机已经开发出了能过滤给人类玩家的策略。就像 Les 所说的那样,他试图去找到一些能适应 Libratus 不规则投注的办法出来,但这非常困难。「很简单,我们就是没有那种心理能力去那样做」,他说道。

如果人类已经达到了像他们的计算机对手那样出类拔萃的能力,那像 Sandholm 和 Bowling 们的实验室就会面临着近乎相反的问题。同专业选手的一对一比赛是一回事,但我们现在还没有明确的办法让 Libratus 和 DeepStack 变得能在和一群有缺陷的普通人比赛中有信心获胜。这是由于 AI 使用的均衡策略会在多人比赛中失效,因为你在那一刻考虑的不再是给出完美一击,而是要确认并发现其他对手的弱点。

在几年前,Bowling 做了一个实验,他让三个机器人互相比赛。其中两个使用他们实验室最接近完美战法的策略,另一个则被设定为鲁莽型的。在比赛结束时,那个最笨的机器人损失了一点钱,一个完美型的机器人赚了最多的钱,但另一个则亏了最多。

「这真的是很困难的部分。如果你知道坐在你对面的一个人类还是一个不怎么样的机器,你会怎么解释这些比赛呢?」Bowling 说道,「所以你必须为此做好准备。」

(编辑:Melody)

最新文章

极客公园

用极客视角,追踪你不可错过的科技圈.

极客之选

新鲜、有趣的硬件产品,第一时间为你呈现。

张鹏科技商业观察

聊科技,谈商业。