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