CMU 德州扑克幕后英雄,AI 将在一对多比赛完胜人类

加速会  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  
CMU 德州扑克幕后英雄,AI 将在一对多比赛完胜人类
编者按:本文由微信公众号 “新智元”(ID:AI_era) 编译自cardplayer.com,编译:刘小芹、胡祥杰、文强

AI在人机德扑大战中压倒性胜利的影响还未散去,Card Player网站日前采访了程序开发者、 CMU 博士 Noam Brown,回顾比赛并评析对战中的技术亮点。Brown 指出,Libratus 获胜的原因是它没有任何能被人类利用的弱点,训练时 Libratus 从未使用过人类数据。Brown 还表示,稍作增强的 Libratus 有望在两年内赢得无限手 德州扑克 6 人桌(Six-Max)的比赛。

上个月月末,卡耐基梅隆大学的 AI 程序在“一对一不限注”的扑克比赛中,击败了一组世界级的 德州扑克 职业选手。出乎所有人的意外,这一程序对人类专业扑克手的胜利几乎是压倒性的:14bb/h。

(注,德州扑克中,线下按bb/h,超过15bb/h,你已经完全统治这个级别的桌子了,能打到5bb/h-10bb/h已经很不错了。线上按bb/100手,超过5bb/100已经非常厉害了。)

比赛一共打了12万手,最后 AI 程序赢得170万筹码,也就是约 1.7 万大盲注,接近 90 个买入。对职业扑克玩家来说,还好这不是真正的钱,虽然他们在这场比赛中溃不成军。团队里每个人都败给了机器。

这个 AI 程序被称为 Libratus,它的开发者之一, CMU 博士生 Noam Brown 称它是“扑克AI的圣杯”。Libratus 是 Noam Brown 和 CMU 教授 Tuomas Sandholm 一起开发的,而它只是 CMU 研发的一系列扑克 AI 程序中最新的一个。此前,从来没有机器能在一对一不限注德州扑克游戏中击败世界级的人类职业玩家。

CMU 德州扑克幕后英雄,AI 将在一对多比赛完胜人类 卡耐基梅隆大学的 AI 程序 Libratus 的开发者Tuomas Sandholm 教授(右)与 Noam Brown 博士

根据 Brown 的说法,后续版本的 Libratus 还能有很大的提升空间,升级后的程序理论上能赢 50bb/h。

Card Player 网站就这场历史性的比赛以及今后的扑克 AI 研究专访了 Noam Brown。

Libratus 获胜原因及算法关键

Brian Pempus:你对比赛的结果有感到惊讶吗?

Noam Brown:有的,实际上我对这个 AI 如此之厉害感到惊讶。在比赛前,我们用它跟此前的 AI 程序对打来做测试,然后我们就预感它能赢。Libratus 以10~12bb/h赢了 Claudico,这比人类赢得多(2015年 Claudico 输给了人类),但差别没有很大。所以,在比赛前,我们认为 AI 能稍微赢过人类。我们不确定能赢多少。所以 AI 的表现如此之好,令我们印象非常深刻。

Brian Pempus:当时你们还不认为 AI 能够以14bb/h击败人类?

Noam Brown:是啊,鉴于人类赢过了 Claudico,我们不知道人类的潜力有多大。人类选手能够发现 Claudico 的弱点,并且利用这些弱点。例如,提升 Claudico 的跛入(limp)是相当有效的,是他们获胜的关键。Libratus 不会利用对手。事实上,Libratus 不会利用 Claudico 的弱点还能以 10~12bb/h 赢过 Claudico,说明 Libratus 如果没有弱点的话,那么它在一对一游戏中比人类更厉害。Libratus 获胜的原因就是它没有任何能被人类利用的弱点。

Brian Pempus:在人类玩家将局面带到接近平分时,你们有没有认为人类已经发现了 AI 的弱点,还是你们仍然有信心?

Noam Brown:是的,在第一周结束时,比分几乎接近平局。在比赛的第一周,人类选手对 Libratus 会如何调整,Libratus 强项的地方在哪里这些问题进行了很多推测。他们没有全部告诉我,但从我所了解到的,他们在寻找数据的模式,AI 的弱点和强项。所以,大多数时候我是不担心的。他们认为 AI 有缺陷,但其实没有。例如,有一天的比赛中他们80%都是三倍下注(3-bet),因为根据数据,他们认为 AI 对特定的 3-bet 打法较弱。但我认为这不是真的弱,只是因为数据中存在噪音,因为迄今为止所玩的牌令他们形成了那样的想法。但他们看到了存在一些模式。例如,他们注意到AI对特定的开局下注的大小对应不好。这些弱点在比赛前我们没有认为是大事,但事实证明这是相当大的漏洞。幸运的是,AI 对此早有准备,并且在人们睡觉的时候,它在不断地进行训练以填补这些差距,防止演变成一个长期的问题。这就是为什么第二周时局势转变了。

Brian Pempus:在一局之后进行微调对 AI 来说非常重要吗?人类团队之间会讨论战略,这是否将比赛难度提升了?

Noam Brown:这里面存在很多误解。AI 进行了微调不是说我们告诉它要更频繁、更多地 4-bet。是人类在每次翻牌前和翻牌时使用不同的下注大小。我们有一堆编程好的下注大小,所以 AI 能够知道如何应对 2 倍,2.5倍,3 倍的开局下注。但是假如说人类开局下2.75 倍,AI 就会跟到 3 倍。所以它的对应是相当好的。对 2.75 倍跟到 3 倍虽然不是不合理,但假如它不必四舍五入到接近的大小会更好。于是一夜之间,它能训练如何回应 2.75倍,并且训练的大小是由一个算法决定的。所以,这就是唯一进行的微调。AI 会学习如何更好地应对不同的翻牌前和翻牌时的下注大小。这是算法的关键部分,让 AI 随着时间的推移适应人类的打牌风格,而不是像人类以为的那样在利用人类的弱点。

Brian Pempus:那么,这是否表示 AI 在翻牌前和翻牌中的适应比在转牌圈和河牌圈时更重要?

Noam Brown:对于转牌圈和河牌圈,你会注意到在遇到转牌圈时 AI 需要一些时间思考。它实际上需要一些时间思考在转牌圈和河牌圈之后的动作。有些人没有注意到,因为这实际上的时间非常短,它实际上是在每次人类玩家在转牌圈和河牌圈下注时都要重新计算策略。这样做是为了对人类在转牌圈和河牌圈时的任何下注大小计算最佳策略。所以,这个问题是必须预先计算一系列的不同下注大小并放入到游戏树中,但预先计算的不能应对转牌圈和河牌圈,因为那是实时计算的策略。

Brian Pempus:Libratus 中是不是有一些 Claudico 不具备的能力?或者说,它就是不完美的?

Noam Brown:Claudico 对于河牌圈有一个实时的解算器(solver),但是,在下面几个方面,它表现得更弱一些。首先,没有考虑阻断牌(blockers)。为了能实现快速地运转,它需要把多手牌组合起来,然后再区分对待。所以,处于这一原因,它可能会认为,手牌带 A 和三个黑桃的牌和另一外一个手牌带A附带三个黑桃的牌是一样的,即便这两种牌应该区分对待。Claudico 的终局解算器会对大量的实时下注进行计算,但是,它不会对人类的每次下注进行再计算。我认为,这种对人类每次下注进行再计算,对于我们的AI 在本次比赛中获得胜利是至关重要的。同样的,这次,我们能对这种计算进行扩展,在转牌圈开始的时候就进行,这是一种更加密集的计算,因为现在需要处理大约50种可能出现的不同河牌圈,并且在游戏结束(每手牌)前可能出现的行动数量也在呈指数级地增长。所以,在计算成本上,要有效地扩展这种新算法,新程序的成本也比 Claudico 要贵1000倍。

CMU 德州扑克幕后英雄,AI 将在一对多比赛完胜人类 2017 年 1月底,卡耐基梅隆大学的 AI 程序 Libratus 在“一对一不限注”的扑克比赛中与人类玩家对战现场。最终 Libratus 以绝对的优势战胜了四名人类职业玩家。

Libratus 没有使用人类数据,训练时从未与人类交手

Brian Pempus:Libratus 距离玩一个完全的 GTO(距离博弈理论中的最优化策略)还有多远?诸如此类的机器,你们还有多少版本?

Noam Brown:没有人可以准确地知道,Libratus与博弈理论中的最优化策略相比还有多大的差距。我们知道如何计算这一数值,但是,这是极为昂贵的。现在也还没有实现。这是我们期望在下一个十年或更长的时间内解决的问题。如果必须要推测一个准确的时间,我认为,一个博弈理论中的最优化策略可以15bb/h 的优势战胜Libratus。这是我的粗略估计,范围应该是在5-50bb/h。

Brian Pempus:那在这一方面,AI 还有很大的提升空间?

Noam Brown:很难说。过去很多的 AI 程序都有一个最关键的弱点:它们在转牌圈(the turn)和河牌圈(the river)不会考虑阻断牌(blockers)。这在高级别的比赛中是至关重要的。Libratus 并没有这一问题。它会在转牌圈和河牌圈中,对每一手牌进行独特的衡量。与此前的很多 AI 程序相比,这是一个关键的进步,带来了表现上的巨大飞跃。现在,在这一方向上有了更多的提升空间,也就是如何更好地区分阻断牌。但是,在如何选择下注的多少上,也许也有一些提升的空间。对我来说,很难去推测具体会有多大的提升。但是,大约是15bb。

Brian Pempus:有人说,Libratus 在转牌圈和河牌圈的超大下注(Over Bet)是非常具有侵略性的。在你看来,AI 是不是已经具备了一些可以称之为完美的能力,或者说,如何在当下底牌的范围(ranges)中平衡这一方向上,AI 仍有改进空间?

Noam Brown:在比赛中,Libratus 在超大下注上的表现真的是一个让我们感到震惊的事。Libratus 并没有使用人类数据进行训练,它从未跟人类扑克手打过交道。所以,在参赛时,它带来的是一种独特的博弈策略,与人类认为的最优方法有很大的不一样。超大下注是它的策略中的一个重要部分,另外还有donk bets(作为翻牌前的跟注者进入翻牌圈以后,在没位置情况下采用向翻牌前的公开加注者反主动下注的打法)策略。对我来说,看到AI 实现了此前人类也没有做到的一些事,这真的是让人难以忘记,我非常满意。

我认为,早在Claudico(CMU 此前的德州扑克AI 程序)身上,我们已经看到了这种侵略性。Claudico有一个被人嘲笑的经典行为:它总是在底池还很小的情况下就开始 All-in。我认为,Caudico的这种策略明显是用错了。它作出这些大的押注的背后,隐含了许多的不平衡。我认为,在Libratus 身上,我们看到平衡的侵略性,这也是它能赢得比赛的一个关键因素。

Brian Pempus:很多人开始担心,Libratus 的胜利对于线上扑克的未来发展意味着什么。你能否谈谈,你开发的AI程序如何才不会破坏这些游戏的本质?至少在当前。

Noam Brown:至少我现在可以向人们保证,我们不会把 Libratus 放到网上,也从来没有相关计划。但是,显然,我们也不阻止一些人利用我们发布的技术,把它做成 bot,然后放到网上。我不打算对bot会对线上扑克产生多大的影响进行推测。我对线上扑克知之甚少。但是,我知道目前已经有一些bot 得到了使用,并且,许多扑克网站做了很大的努力希望能抓到这些bot。我不知道,最终谁会是最大的受益者。

Libratus 有望在两年内赢得无限手德扑 6 人桌

Brian Pempus:如果比赛中牌的数量减少或增加对比赛结果有什么影响?机器能应付一叠有 500 到 1000 手的盲注吗?

Noam Brown:我们选择 200 手盲注的原因是年度计算机扑克竞赛采用的是这个规制。每年,做扑克的 AI 研究者都会聚集起来相互对战。200 手盲注一直被认为对 AI 特别困难,因为牌越多,AI 需要应对的选项就越多。就我的理解,200 手盲注的难度处于人类能玩的上限。我认为保持公平对等是很有必要的,但同时也应该让 AI 玩起来有难度。要是牌的数量变少,比如 100 手,我认为 AI 玩起来结果跟现在一样(如果不是更好的话)。要是牌的数量增多,比如 500 或 1000……坦白说,我认为 AI 玩起来结果还是跟现在一样(如果不是更好的话)。这不是因为对 AI 来说情况变简单了,而是因为牌数增多,对人类来说变复杂了。我不认为人类能习惯 500 手或 1000 手的盲注。到了那个数量级,Libratus 真正擅长的大规模超大投注(over-bets)的重要性就会凸显出来。我不认为人类在[超大投注]方面能比 Libratus 强。

Brian Pempus:除了无限手德州扑克,还有什么扑克是 AI 研究者可以让 bot 再跟多一个人类玩家对战的?

Noam Brown:在三人扑克方面有一些研究。总的来说,就算要对战超过两个人类玩家,Libratus 现在使用的技术也是很有效的。问题并不在于技术,而是在于如何评估选手的表现。因为当你有超过两个对手时,你完全可以在使用 GTO 策略的情况下输钱——其他选手在暗处或明处串通好了。所以,很难在一个 AI 对战 5 个人类的情况下确认 AI 是否比人类更好,要做出这种衡量几乎是不可能的。这也是为什么计算机扑克竞赛要采用一个AI 对战一个人类的形式,也是为什么研究者都十分关注 AI 和人类玩家打二人扑克的结果。我认为目前玩无限德州扑克 6 人桌(Six-Max)稍微超出了 Libratus 和其他类似 AI 程序的能力。但话虽如此,年度计算机扑克竞赛现在正计划增加 6 人桌的比赛,所以这方面的研究应该进展得非常快。我认为现在的 Libratus 再增强一些,两年内就能在无限手德州扑克 6 人桌里赢过人类。玩 6 人桌的时候,相比 GTO,针对比较弱的玩家进行攻击的策略可能更有效。AI 扑克研究圈子里有这方面的讨论,目前还没有得出答案。人类在针对弱者并且攻击他们的弱点方面更有优势。

   



随意打赏

人工智能德州扑克德州扑克
提交建议
微信扫一扫,分享给好友吧。