●李亚山
人工智能终于开始掌握人性中一些独特的能力,并且比它的老师玩得还好。要想在扑克中获胜,就需要利用这样一项能力:狡猾。为了获胜,玩家必须分析对手如何出牌,然后欺骗他们交出手中的筹码。当然,这种狡诈对人来说很自然。现在,人工智能程序首次表现出能够用类似的技能来欺骗人类的职业扑克选手。
近日,脸书与卡内基梅隆大学合作开发的一款新型人工智能系统Pluribus,在世界上最流行、最广泛的扑克游戏:六人无限注德州扑克中击败了顶级人类职业玩家。Pluribus在“5个AI和1个人类玩家”和“1个 AI和5个人类玩家”两种模式下都击败了职业玩家。这是人工智能机器人第一次在超过两名玩家 (或两支队伍)的大型基准游戏中击败顶级专业人士。此前,人工智能技术已经能够在只有一个对手的情况下打败人类扑克高手。但像Pluribus这样,在多人同桌的情况下击败人类精英玩家,才是关键的里程碑。
德扑之父发明人图奥马斯·桑德赫尔
Pluribus是通过基于Libratus的几项创新,以及图奥马斯·桑德赫尔在卡内基梅隆大学研究实验室开发的其他算法和代码实现这一成果的。Libratus是2017年在双人无限注德州扑克中击败人类职业选手的AI。特别是Pluribus采用了新的在线搜索算法,它可以通过之前的几个步骤就能有效地评估其下注选项,而不用搜索到游戏结束。Pluribus还使用了新的更快的自玩算法来玩包含隐藏信息的游戏。
更让让人想不到的是,这些进步可以使用很少的处理能力和内存——相当于不到150美元的云计算资源——就培训出Pluribus。这个效率与最近其他人工智能里程碑项目形成了鲜明对比,它们需要相当于数百万美元的计算资源来进行培训。这些在扑克游戏中的创新具有十分重要的意义,因为两个人的零和互动(一名玩家赢,一名玩家输)在休闲游戏中很常见,但在现实生活中却非常罕见。现实世界中,对有害内容采取行动,应对网络安全挑战,以及管理在线拍卖或导航流量,通常会涉及多个参与者还有多重隐藏信息。多玩家交互对过去的人工智能技术提出了严峻的理论和实践挑战。然而,现在的结果表明,人工智能算法可以在双人零和游戏之外达到超凡的表现。
研究人员通过与一群优秀的人类专业人士比赛来评估Pluribus。职业选手包括2000年世界扑克大赛主赛事冠军 Chris“Jesus”Ferguson,2012年世界扑克大赛主赛事冠军Greg Merson等。参赛的每一个选手之前都在扑克牌桌上赢得了超过100万美元,其中有些人甚至赢得了超过1000万美元的奖金。对战有两种形式:五个职业玩家和一个人工智能,一个职业玩家和五个人工智能副本。在每一种形式下,牌桌上都有六名玩家,每一手开始都有1万个筹码。小盲注是50个筹码,大盲注是100个筹码。
虽然扑克是一种技巧游戏,但也有很大的运气成分。对于顶级专业人士来说,仅仅因为运气不好,就输掉1万手筹码是很常见的。为了减少运气的作用,研究人员使用了AIVAT方差减少算法来评估结果。例如,如果机器人的某一手真的很强,AIVAT将从它的奖金中减去一个基线值来抵消运气成分。
在“5个职业玩家和1个AI”的实验中,10000手游戏玩了12天。每天从专业人员中挑选五名志愿者参与。官方将根据选手的表现分给他们奖金五万美元,以激励他们发挥出最佳水平。在使用AIVAT后,Pluribus的胜率估计为每100手5个大盲注(5 bb/100),这是以精英人类作为对手的压倒性胜利(盈利,p 值为 0.021)。如果每个筹码都值1美元,Pluribus平均每手赢得5美元的奖金,并且每小时可以赚到1000美元。这一结果超过了职业玩家在与职业和业余玩家的混合比赛中获胜的预期。
在“5个AI和1个职业玩家”的模式下,由三名志愿者参与,每个人类玩家和5个Pluribus副本玩5000手。Pluribus并没有根据对手的情况调整策略,因此AI之间不存在故意勾结问题。总的来说,人类损失了2.3 bb/100(每100手2.3个大盲注)。
Pluribus的算法实在太成功了。“这对扑克社区来说可能是非常危险的。”参与开发算法的Facebook研究员Noam Brown说。他今年被评为《麻省理工科技评论》的35岁以下科技创新者之一。“你通常可以找出对手的弱点,但没有找到(它的)弱点。”游戏中的扑克职业选手Jason Les说:“这个AI非常强大,你找不到任何可以利用或占便宜的机会。”
研究人员担心Pluribus可能被用来掏空在线德州扑克公司的金库,因此决定不发布其代码。目前,Facebook也没有计划去应用为六人扑克开发的技术。
几十年来,扑克游戏一直是人工智能领域一个困难而又重要的挑战难题。这是因为扑克游戏中包含隐藏信息,你不知道对手的牌,想要获胜需要会虚张声势以及一些其他策略,而且,这些策略又不同于象棋、围棋和其他游戏。这也是人工智能技术在其他游戏中取得突破,却不能突破扑克的原因,扑克游戏对人工智能技术有天生的抵抗力。
Lemonade Stand游戏
具体来说,六人德州扑克一直面临着两大挑战。第一大挑战,德州扑克不只是两玩家的零和游戏。之前AI突破的所有基准游戏仅限于那些只有两名或两队玩家的零和游戏,例如跳棋、象棋、围棋、双人扑克、星际争霸2和Dota 2。在这些情况下,人工智能取得了成功,因为它采用了一种称为纳什均衡(Nash equilibrium)的策略。在两名或两队玩家的零和游戏中,精确的纳什均衡能做到无论对手做什么都不可能输(例如,剪刀-石头-布的纳什均衡策略是随机选取概率相等的石头、布或剪刀)。
虽然纳什均衡在任何游戏中都是存在的,但在3个或3个以上对战玩家的游戏中,通常不可能有效地计算出纳什均衡。此外,在一场多人参与的游戏中,即使采用精确的纳什均衡策略,也有可能失败。其中一个例子是Lemonade Stand游戏,每个玩家同时在一个圆环上取一个点,并要尽可能地远离其他玩家。纳什均衡是让所有玩家在环上的距离相等,但实现这一点的方法有无穷多种。如果每个玩家独立地计算其中一个均衡,那么最终不太可能使所有参与者在环上的距离相等。
在多于两个玩家的零和游戏中,纳什均衡存在的缺陷,引发研究人员的思考:在这样的游戏中,正确的目标应该是什么?以6人德州扑克为例,研究人员认为,目标不应该是一个特定的博弈论解决方案,而是创造一个通过长期经验战胜人类对手甚至专业人士的人工智能。在多于两玩家的零和游戏中,研究人员用来构造Pluribus的算法不能保证收敛到纳什均衡。尽管如此,Pluribus的策略始终能在六人扑克游戏中击败精英人类扑克专家。
Pluribus和专业玩家的游戏界面
第二大挑战,信息隐藏在更复杂的环境中。没有任何其他游戏能像扑克那样体现隐藏信息的挑战,每个玩家都有其他玩家所缺乏的信息。一个成功的扑克AI必须对这些隐藏的信息进行推理,并谨慎地平衡其策略,保持自身的不可预测,同时仍然选择好下一步行动。例如,虚张声势有时可能是有效的,但总是虚张声势就会被对手预测到手牌,并可能导致损失很多钱。因此,有必要谨慎地平衡一个人虚张声势的概率和他下注的概率。换句话说,在不完全信息博弈游戏中,一个行为的价值取决于选择它的概率和选择其他行为的概率。
相反,在完全信息游戏中,玩家不需要担心如何平衡每一步的概率。例如在国际象棋中,好棋就是好的,无论它被选中的概率是多少。之前的扑克游戏机器人Libratus,通过将基于 Counterfactual Regret Minimization(CFR)理论完善的自玩算法与精心构建的不完全信息游戏搜索过程相结合,来处理像双人德州扑克游戏中的隐藏信息。然而,在德州扑克中添加额外的玩家会成倍地增加游戏的复杂性。这些以前的技术不能扩展到六人德州扑克。如今,Pluribus使用的新技术可以更好地应对这一挑战。
由图奥马斯·桑德赫尔和诺姆·布朗开发的计算机程序在2017年的比赛中击败了四名职业扑克玩家
Pluribus策略的核心是通过自我游戏来计算的,在这种策略中,人工智能对抗自己的副本,不使用任何人类游戏数据作为输入。人工智能通过随机游戏从零开始,并逐渐改进。它会记录游戏进行了哪些操作,以及这些操作上的概率分布,然后在与早期版本的策略对战中获得更好的输出结果。在Pluribus中使用的自我游戏版本是迭代Monte Carlo CFR(MCCFR)算法的改进版本。
在算法的每次迭代中,MCCFR指定一个玩家作为“遍历者”,其当前策略在迭代中更新。在迭代开始时,MCCFR基于所有玩家的当前策略(最初完全是随机的)模拟一手扑克牌。一旦模拟完成,算法会检查遍历器做出的每个决策,并研究如果选择其他可用的操作,它会做得更好还是更差。接下来,人工智能会评估每一个假设的决策的价值,这些决策是按照可用操作做出的,以此类推。
在八天时间内,研究人员在64核服务器上培训了Pluribus的蓝图策略,所需内存不到512GB,而且没有使用GPU。按照典型的云计算的成本估计,培训成本不到150美元。这与最近的其他人工智能项目突破形成了鲜明对比,这些突破通常需要花费数百万美元进行训练。在玩德州扑克时,Pluribus运行在两个CPU上。相比之下,2016年,AlphaGo在与顶级围棋专业人士李世乭的比赛中,使用了1920个CPU和280个GPU进行实时搜索。而且,Pluribus使用不到 128GB的内存。Pluribus搜索每手游戏所花费的时间在一秒到33秒之间变化,具体取决于实际情况。平均而言,Pluribus的速度是典型人类职业选手的两倍:在六人德州扑克中与自己的副本进行比赛时,时间为每手20秒。
此前,人工智能在完全信息的两玩家零和游戏中取得了一系列引人瞩目的成功。但现实世界中的大多数战略互动都涉及隐藏的信息,而不是两方的零和博弈。Pluribus的成功表明,在大规模、复杂的多玩家博弈中,尽管缺乏强有力的性能以及理论保证,但精心构造的自玩搜索算法仍然可以成功。
Pluribus的不同寻常之处还在于,它的训练和运行成本远低于近期其他用于基准游戏的人工智能系统。此前,该领域的一些专家担心,未来的人工智能研究将由拥有数百万美元计算资源的大型团队主导。Pluribus是一个强有力的证据,现在有理由相信,只需少量资源的新方法可以推动前沿人工智能研究。
尽管Pluribus是为玩扑克而开发的,但其所使用的技术并不针对扑克,也不需要开发任何专业领域知识。这项研究让我们对如何构建通用的人工智能有了更好的基础理解。另外,Pluribus在牌桌上击败多个对手的技术可能有助于AI社区在多种领域开发有效的策略。