机器之心编辑部
在无限制德州扑克六人对决的比赛中,德扑 AI Pluribus 成功降服了五名专家级人类玩家。Pluribus 由 Facebook 与卡耐基梅隆大学(CMU)共同开拓,实现了前辈 Libratus(冷扑大师)未能完成的任务,该研究已经登上了最新一期《科学》杂志。
六人无限制玩法是德州扑克最受欢迎的游戏办法,Facebook 与 CMU 的成果是第一个在拥有两个(或以上)人类玩家的比赛中击败人类专业选手的 AI。
2017 年 1 月,由 CMU 学者 Noam Brown、Tuomas Sandholm 开拓的人工智能程序 Libratus 在宾夕法尼亚州匹兹堡的 Rivers 赌场持续 20 天的 1 对 1 无限制德扑比赛中成功降服了 4 名环球顶级职业玩家。这也成为了继围棋之后,又一个高难度游戏被 AI 攻陷的里程碑事宜。2017 年底,Libratus 的论文也被《科学》杂志收录。
「冷扑大师」利用大量算力和博弈论等方法来占领信息不完全的纸牌游戏。该研究的另一篇论文《Safe and Nested Subgame Solving for Imperfect-Information Games》也在当年成为了人工智能顶会 NIPS 2017 的最佳论文。
卡耐基梅隆大学打算机科学教授 Tuomas Sandholm(左)与他的学生,现任 Facebook 科学家 Noam Brown。
从 1 对 1 到玩转 6 人对决,人工智能经历了若何的进步?「虽然从二到六看起来是一个渐进的过程,但这实际上是一个巨大的寻衅,」研究游戏与人工智能的纽约大学助理教授 Julian Togelius 表示。「多人游戏方面的研究,此前在所有游戏中都未有涌现。」
在「冷扑大师」的根本之上,Noam Brown 与 Tuomas Sandholm 提出的新算法 Pluribus 须要的算力更小。在为期 12 天,超过 10000 手牌的比赛中,Pluribus 击败了 15 名人类顶级玩家。「很多 AI 研究者此前都认为实现这样的目标是不可能的,」Noam Brown 表示。
几十年来,扑克一贯是人工智能领域一个困难而又主要的寻衅。缘故原由在于,扑克中含有隐蔽信息,也便是说,你无法知道对方的牌。要想在扑克中得胜,你须要 bluff(恐吓)或者利用其他策略,这在棋类比赛中一样平常是不须要的。这一点使得在扑克中运用人工智能变得非常困难。
现在的人工智能已经学会了 bluff,而且还可以看穿人类选手的 bluff。不过在 Noam Brown 看来,这些技巧也是由数学过程决定的策略。
据先容,Facebook 和卡内基梅隆大学设计的比赛分为两种模式:1 个 AI+5 个人类玩家和 5 个 AI+1 个人类玩家,Pluribus 在这两种模式中都取得了胜利。如果一个筹码值 1 美元,Pluribus 均匀每局能赢 5 美元,与 5 个人类玩家对战一小时就能赢 1000 美元。职业扑克玩家认为这些结果是决定性的胜利上风。
这是 AI 首次在玩家人数(或军队)大于 2 的大型基准游戏中击败顶级职业玩家。以下是关于 Pluribus 的细节。
论文:Superhuman AI for multiplayer poker
论文链接:https://science.sciencemag.org/content/early/2019/07/10/science.aay2400
Pluribus 以 Libratus 和其他一些算法、代码为根本进行了几项改进。Libratus 曾于 2017 年在双人无限注德扑中击败人类顶级选手(拜会:《学界 | Science 论文揭秘:Libratus 如何在双人无限注德扑中击败人类顶级选手》)。这些算法和代码都是由 Tuomas Sandholm 带领的卡内基梅隆大学研究实验室开拓的。
值得一提的是,Pluribus 整合了一种新的在线搜索算法,可以通过搜索前面的几步而不是只搜索到游戏结束来有效地评估其决策。此外,Pluribus 还利用了速率更快的新型 self-play 非完美信息游戏算法。综上所述,这些改进使得利用极少的处理能力和内存来演习 Pluribus 成为可能。演习所用的云打算资源总代价还不到 150 美元。这种高效与最近其他人工智能里程碑项目形成了光鲜比拟,后者的演习每每要花费数百万美元的打算资源。
该图显示蒙特卡罗 Counterfactual Regret Minimization 算法如何通过评估真实和假设的动作来更新遍历器的策略。Pluribus 中的遍历器以深度优先的办法进行遍历,以达到优化的目的。
探究其他假设的结果是可能的,这是由于 AI 是自我对弈的。如果 AI 想要理解其他选择之后会发生什么,它只须要问自己如何去回应这些行为。
「traverser」工具实际做了什么选择和可能做什么选择的差异被加入到反事实后悔(counterfactural regret)行为中。在迭代结束的时候,「traverser」工具的策略得到更新。因此,有着更高反事实后悔概率的选择当选中。保持德州扑克这样没有限定的游戏中每一个行动中的策略须要的字节数超过了全体宇宙的原子数。为了减少游戏的繁芜度,研究职员哀求 AI 忽略一些行动,并利用一种抽象方法将类似的决策点聚合在一起。在抽象之后,聚合的决策点被认为是独一无二的。
Pluribus 的自我博弈结果被称为蓝图策略。在实际游戏中,Pluribus 利用搜索算法提升这一蓝图策略。但是 Pluribus 不会根据从对手身上不雅观察到的方向调度其策略。
这幅图显示了 Pluribus 的蓝图策略是如何在演习过程中逐渐改进的。其性能通过演习的终极快照来评估。研究者在这些比较中没有利用搜索,他们基于与人类专业玩家的谈论对普通人类玩家和顶级人类玩家的表现进行评估。该图还显示出了 Pluribus 何时停滞 limping,这是高等人类玩家常日会去避免的一种打法。
研究职员演习蓝图策略用了 8 天,利用了一个 64 核的做事器,须要的内存数量小于 512G。他们没有利用 GPU。在范例的云打算中,这只须要 150 美元。和其他 AI 研究比较,包括其他自我对弈的 AI,这种花费很小。由于算法上的提升,研究职员可以在低本钱的打算环境实现极大的性能提升。
更高效的搜索策略
由于无限制德州扑克的规模与繁芜性,蓝图策略必须是粗粒度的。在实际过程中,Pluribus 通过实时搜索改进蓝图策略,以针对特定情形确定更好、更细粒度的策略。
AI bot 常常在很多完美信息博弈中利用实时搜索,包括泰西双陆棋(two-ply search)、国际象棋(alpha-beta pruning search)、围棋(Monte Carlo tree search)。例如,当模型在决定下一步该走哪时,国际象棋 AI 常日会考虑往后的一些移动步骤,直到算法的前瞻到达叶节点或深度的上限。
然而,这些搜索方法并不适宜不完美信息博弈,由于它们并不考虑对手转移到叶节点之外策略的能力。这个弱点令搜索算法产生了薄弱的、不平衡的策略,从而使对手快速创造这个缺点。AI bot 在以前也就不能将博弈扩展到 6 个参与者。
相反,Pluribus 利用一种新方法,个中搜索器明确地考虑了不完美信息博弈的实际情形,即任何参与者都可以转移到子博弈外的叶节点策略上。详细而言,研究者并不假设所有参与者都须要根据叶节点之外的单个固定策略进行博弈,这会导致叶节点只有单个固定值。在搜索已经到叶节点时,研究者假设每一个参与者会从四个不同的策略中选择,进行剩余的博弈。
研究者在 Pluribus 中利用的四个延续策略分别是估量算的蓝图策略;在蓝图策略的根本上进行修正,以令策略偏置到弃牌;修正蓝图策略以令其偏置到叫牌;修正蓝图策略以令其偏置到加注。
这种技能可以令搜索器找都一种更均衡的策略,从而在整体性能表现得更好。由于选择不平衡的策略会使对手转向其它延续策略,从而产生惩罚。例如玩石头剪刀布,我只出石头,那么对手肯定能学习到只出布的策略。
正如研究者所指出的,搜索不完备信息博弈的另一个寻衅是,参与者针对特定情形的最佳策略取决于对手对其玩法的意见。例如打德州扑克,如果一个参与者永久不会 bluff,那么它的对手总会知道该当在加大注的情形下弃牌。
为了应对这种情形,Pluribus 根据自身策略,在每一手时追踪当前状况的涌现概率。不管它实际上在哪一手,Pluribus 首先都会预测每一手时将要采纳的行动——从而小心翼翼地在所有手时平衡自身策略,令人类玩家无法预测其下一步辇儿为。一旦打算这一涵盖所有手的平衡策略,Pluribus 随后就会为它实际所在的手实行一个操作。
比赛时,Pluribus 在两个 CPU 上运行。比较而言,在 2016 年和李世石的围棋比赛中,AlphaGo 利用了 1920 块 CPU 和 280 块 GPU。同时,Pluribus 利用了不多于 128GB 的内存。在对每一个子分支进行搜索的时候,根据现场的情形,它所用的韶光介于 1 秒和 33 秒之间。Pluribus 的游戏韶光比人类专业玩家快两倍:在六人游戏场景,和自身对弈的时候,它均匀每手只须要 20 秒。
Pluribus 与人类玩家的对抗效果如何?
研究者令 Pluribus 与一组人类顶级扑克玩家对抗,从而评估它的实战效果。这些玩家包括「耶稣」Chris Ferguson(2000 年天下扑克系列赛主赛事冠军)、Greg Merson(2012 年天下扑克系列赛主赛事冠军)和 Darren Elias(四届天下扑克巡回赛冠军)。人类玩家的完全名单如下:Jimmy Chou、Seth Davies、Michael Gagliano、Anthony Gregg、Dong Kim、Jason Les、Linus Loeliger、Daniel McAulay、Nick Petrangelo、Sean Ruane、Trevor Savage 和 Jake Toole。
当 AI 系统在其他基准游戏中与人类对战时,机器有时在刚开始的时候表现非常好,但随着人类玩家创造它们的弱点,终极就会击败它们。如果 AI 想要彻底掌控一场游戏,它必须展示出这样一种能力,纵然人类玩家能够逐渐适应它们的节奏,但它们也能取得胜利。过去几天,职业扑克玩家与 Pluribus 进行了数千场比赛,因而有足够的韶光来找出它的弱点,并逐渐适应它。
Elias 说道:「Pluribus 是在与天下上最好的扑克玩家进行对抗啊。」
以下是实验中 Pluribus 与人类玩家对抗时的界面:
实验分为两种模式:其一,5 名人类玩家与 1 个 AI 进行对抗;其二,1 名人类玩家与 5 个 AI 副本进行对抗。因此,在每一种对抗模式下,共有 6 名玩家参与个中,并且每局开始的时候有 10000 筹码。小盲(small blind)50 筹码,大盲(big blind)100 筹码。
只管扑克是一款技巧游戏,但个中也会有非常大的运气身分。如果运气不佳的话,顶级职业玩家也会在 10000 手的扑克比赛中输钱。为了弱化运气身分在扑克比赛中的浸染,研究者利用了一种 AIVAT 方差缩减算法,该算法对各种状况的值进行基线估计,从而在保持样本无偏的同时缩减方差。举例而言,如果 Pluribus 得到一副强手牌,AIVAT 将从它赢得中减去基准值,从而对抗好运气。
5 名人类玩家+1 个 AI
在实验中,人类玩家和 AI 之间展开的 10000 手扑克比赛持续了 12 天,每天挑选 5 名人类玩家与 AI 进行比赛。这些玩家将根据自身表现瓜分 50000 美元的褒奖,以勉励他们发挥最佳水平。在采取 AIVAT 后,Pluribus 的胜率估量约为每 100 手 5 个大盲注(标准偏差为 5 bb/100),这对顶级人类扑克玩家而言是巨大胜利(盈利 P 值为 0.021)。以是,如果每个筹码代价 1 美元,Pluribus 每手均匀能赢 5 美元,每小时能赢 1000 美元。这一结果超过了纯职业玩家在与职业和业余稠浊玩家对抗时的胜率。
Ferguson 在比赛实验结束后说道:「Pluribus 真是太难对付了!
我们很难在任何一手中盯去世它。它不仅非常善于进行薄的代价下注,而且善于从妙手牌中赢得最大代价。」
但值得把稳的是,Pluribus 本意是成为 AI 研究的工具,研究者仅将扑克比赛作为一种办法,以衡量 AI 在不完备信息多智能体交互(与人类顶级能力干系)中的进展。
5 个 AI+1 个人类玩家
参与实验的有 Ferguson、Elias 和 Linus Loeliger。Loeliger 是很多人公认的六人无限德扑顶级玩家。每个人与五个 Pluribus AI 玩 5000 手扑克。Pluribus 并没有根据对手的情形调度策略,因此机器人之间的故意勾结不是问题。总的来说,人类每 100 手丢失 2.3 bb。Elias 每 100 手丢失 4.0 bb(标准偏差为 2.2 bb/100),Ferguson 每 100 手丢失 2.5bb(标准偏差为 2.2 bb/100),Loeliger 每 100 手丢失 0.5 bb(标准偏差为 1.0 bb/100)。
这张图显示了 Pluribus 在 10000 手实验中对职业扑克玩家的均匀胜率。直线表示实际结果,虚线表示一个标准差。
「这个 AI 最大的上风便是它利用稠浊策略的能力,」Elias 表示。「人类也想这么做。对人来说,这是一个实行的问题——以一种完备随机的办法持续去做。多数人类做不到这一点。」
由于 Pluribus 的策略完备是在没有任何人类数据的情形下通过 self-play 自己学到的,因此它也供应了一个外部视角,即在多人无限制德州扑克游戏中最好的玩法该当是什么样子。
Pluribus 证明了人类传统的聪明玩法——limping(叫大盲而不是加注或弃牌)对付任何除小盲之外的任何玩家来说都不是最佳策略,由于根据规则,小盲已经下了大盲的一半,因此小盲跟注只需再下一半。
只管 Pluribus 最初在通过 self-play 离线打算蓝图策略时考试测验 limping,但随着 self-play 的连续,它逐渐放弃了这一策略。
此外,Pluribus 并不认同 donk 是一种缺点的不雅观念(在前一轮投注结束时,开始新一轮加注);与专业人士比较,Pluribus 更喜好这么做。
「和扑克 AI 比赛,看到它选的一些策略,真的非常过瘾,」Gagliano 表示。「有几场人类根本就没有发挥什么浸染,尤其是它下注比较狠的那几场。」
这张图显示了在与顶尖玩家对战时 Pluribus 的筹码数量变革。直线表示实际结果,虚线表示一个标准差。
从扑克到其它不完美信息博弈的寻衅
AI 以前曾经在完美信息零和博弈(两个参与者)中取得了多次引人瞩目的成功。但大多数真实天下策略交互都涉及隐信息,且并非两个参与者的零和博弈。Pluribus 的成功表明,目前还有更大规模的、极其繁芜的多参与者场景,仔细构建的自我博弈和搜索算法能够在这些场景下得到很好的效果,只管当前并没有很强的理论支持来担保这个效果。
Pluribus 也非同一般,由于与其它近期的 AI 系统比较,在基准博弈中,它的演习和推断本钱都要低得多。只管该领域的一些研究者担心未来的 AI 研究会被拥有大量打算资源的大型团队主导。但研究者相信 Pluribus 是一个强有力的证据,解释新方法只须要适当的打算资源,就能驱动顶尖的 AI 研究。
只管 Pluribus 是为了玩扑克开拓的,但其利用的技能并不是扑克所独占的,它也不须要任何专家领域的知识进行开拓。该研究给我们供应了一个更好的基本理解,即如何构建一样平常的 AI 以应对多智能体环境,这种环境既包括其它 AI 智能体,也包括人类。同时,搭建一样平常的多智能体 AI,也能使研究职员将研究过程中取得的 AI 基准成绩与人类能力的尖峰做比拟。
当然,在 Pluribus 中采纳的方法可能并不会在所有多智能体设定上取获胜利。在扑克中,参与方很难有机会与其它智能体沟通,这有可能构建非常大略的调和博弈(coordination game),因此 self-play 算法找不到一个好策略。
然而对付很多现实天下的交互,包括反敲诈、网络安全和内容审核等潜在都能通过 Pluribus 的方法建模。即建模为涉及隐蔽信息的场景,并(或)通过多个智能体的有限互换来构建不同参与方间的联系。这项打德州扑克的技能乃至许可 Pluribus 帮助 AI 社区在不同领域中构建更高效的策略。
末了,在过去的 16 年中,Tuomas Sandholm 和 CMU 团队都在研究策略推理技能。Pluribus 构建并领悟了策略推理的大部分技能与代码,但它同样也包含了扑克的专门代码,这些代码 CMU 和 Facebook 互助完成,且并不会用于国防运用。