首页 >>
AI 超神进化论:德扑六人局击溃世界冠军
发布时间:2019-12-02 10:24:35 来源:亚美游-亚美游娱乐-亚美游官网点击:12

  训练成本 150 刀。

  鱼羊 栗子 乾明 发自 凹非寺

  量子位 报道 | 公众号 QbitAI

  

  AI 赌神完成了超进化!

  两年前的Libratus,历时 20 天战胜 4 位顶级德州扑克选手,但只能 1v1。现在全新的赌神Pluribus,终于取得突破,称霸多人局:

  在六人无限注德扑比赛上击败所有人类顶尖玩家。

  

  结束了扑克 AI 只能一对一的局面,Pluribus 成为了多人复杂游戏的里程碑。比起围棋,比起 1v1 德扑,多人德扑的难度要高得多。

  而 Pluribus 不止赢,还赢得利落清爽,每手只花20 秒,比职业选手快一倍。它对算力的要求,又比下围棋的 AlphaGo 低得多,运行只要两个 CPU。

  一共有 15 位顶尖人类高手,败在新晋 AI 赌神的手下。官方表示,如果每个筹码一美元,Pluribus 平均每手牌能赢 5 美元,每小时能赢 1000 美元。

  其中就有扑克界的传奇、世界扑克大赛 ( WSOP ) 冠军克里斯 · 弗格森。

  

  他的 " 获奖感言 " 如下:

  Pluribus 是个非常难打的对手,任何一手牌都很难吃定它。

  他还很擅长在最后一手牌上小额下注 ( Thin Bet,指感觉自己的牌强于对手,然后押注来榨干对手 ) ,非常善于拿一手好牌榨取价值。

  另外一位职业选手 Jason Les 说:

  它诈唬的技能像怪兽一样,比任何人类的诈唬都高效。

  AI 赌神的两位爸爸,还是 Libratus 的爸爸,来自 Facebook 和 CMU。他们带着这项光芒万丈的新成果,登上了Science。

  那么,先来欣赏一下比赛现场,人类是如何被按在地上摩擦的:

  在比赛中,Pluribus 一开始拿到的是同花方块 5 和 6,在第一轮下注结束,发出三张公共牌(黑桃 4、方块 2 和方块 10)后,还有 3 名其他选手在场,两位 check、一位加注。

  尽管这时 Pluribus 的牌面并不大,但它直接 All-in 了,是的,直接 All-in 了。

  结果,其他几位高手纷纷弃牌而去,可以说一手诈唬玩得非常 6 了。

  难在哪?

  多年来扑克一直是 AI 领域难以解决的重大挑战。

  因为扑克有隐藏信息,你不知道对手的牌。赢下比赛需要诈唬,需要许多国际象棋、围棋等等游戏里涉及不到的技能。

  这是 AI 打牌的一个巨大障碍。而另一个障碍是多人。

  从前 AI 打的游戏,要么是两人,要么是两队之间的零和博弈 ( 一方赢一方输 ) :跳棋、国际象棋、围棋、星际 2 还是 DOTA 2,都是如此。

  

  △DeepMind AlphaStar 星际 2 五分钟击败人类

  这些游戏里面,AI 都很成功,因为它可以做出一种纳什平衡 ( Nash Equilibrium ) 的策略:可以选出一系列动作,不管对手做什么,自己至少不会输。对手也一样。

  不过,纳什平衡并不是总能找到:

  首先,如果是观察对手的弱点来获得纳什平衡,比如对手常常出剪刀,AI 就可以一直出石头,但对手也能根据 AI 的选择来调整自己的策略。这种方法需要的数据量也比较大。

  其次,如果是多人游戏,即便是每个玩家都找到了自己的纳什平衡,加在一起也不一定是纳什平衡,因为游戏并不是零和博弈:

  一个例子是,Lemonade Stand ( 柠檬水摊子 ) 游戏。每个玩家都要尽量远离其他玩家。纳什平衡是所有玩家距离都相等。可是每个玩家都会自己找一个平衡点来计算,那大家算出来的联合策略就不太可能是纳什平衡了。

  

  所以,Pluribus 并没有采取博弈论的思路,找到不输的平衡策略。而是以打败人类为目标。

  决策之道

  要做到这一点,仅靠知名前辈Libratus的反事实遗憾最小化(CFR)算法可不行。

  Libratus对抗游戏隐藏信息的策略是让 AI 左右互搏,自己跟自己对战,采用随机策略,在每局过后看看游戏中有哪几手是让人后悔的,而后再尝试不同的战略,在决策点上复盘。

  在双人对战当中,这样的策略效果拔群。

  但在不完美信息博弈中,每增加一个玩家,游戏的复杂度都会呈指数增长,已有的技术无法应对。

  Pluribus 采用了迭代的蒙特卡洛 CFR(MCCFR)。核心思想同样是自我学习,左右手互搏,不用任何人类或前辈 AI 的游戏数据作为输入。

  但它的特别之处在于它制定了一个蓝图策略,在与对手比赛的过程中,Pluribus 也会根据实际情况实时搜索更好的策略来改进蓝图策略。

  也就是说,它的行动可以分成两个阶段。

  第一阶段:蓝图策略

  无限注德州扑克中有太多决策点可以单独推理,为了降低游戏的复杂性,首先要进行抽象,即消除一些值得商榷的行动。

  

  Pluribus 使用了两种抽象:动作抽象和信息抽象。

  动作抽象减少了 AI 需要考虑的不同动作的数量。无限注德州扑克通常允许在 100 美元到 10000 美元之间进行全价投注,投注 200 美元和投注 201 美元之间几乎没有区别。

  所以,Pluribus 在任何给定的决策点只需要考虑几种不同的下注大小。它所考虑的投注数量在 1 到 14 之间变化,具体多少取决于实际情况。

  如果对手投注 150 美元,而 Pluribus 训练的过程中只投注 100 或 200 美元,那又该怎么办?

  这时,Pluribus 会依赖下文将提到的搜索算法。

  信息抽象则是把策略上相似的牌局放在一起,并对其进行相同处理。这会使游戏的复杂性大大降低,不过也可能消除一些超人类表现中非常重要的微妙差异。

  因此,在与人类进行实际比赛时,Pluribus 仅用信息抽象来推断未来下注轮次的情况,而不会用它来实际进行下注。同时,信息抽象也适用于自我博弈。

  而蓝图策略的重头戏,就是迭代的蒙特卡洛反事实遗憾最小化算法(MCCFR)。在算法的每次迭代中,MCCFR 将一个玩家指定为 " 遍历者 ",其当前策略在迭代时更新。

  在迭代开始时,MCCFR 根据所有玩家的当前策略随机模拟一手牌。一旦这一手牌完成,算法就会开始 review 遍历者的每一个决策,并通过选择其他可能操作来评估这一手牌做得多好或多坏。接着,AI 会评估打出不同的手牌后可能做出的每一个假想决策的优点。

  视频播放器

  00:00

  00:37

  遍历者在选择一手牌后的收获,与遍历者在迭代中的期望收获之间的差异,会被添加到行动的 " 后悔点 "(反事实遗憾)中。

  在迭代结束时,遍历者的策略会更新,此后它选择更高反事实遗憾动作的概率会更高。

  第二阶段:深度限制搜索

  由于无限注德州扑克的规模和复杂性,整个游戏的蓝图策略给出的决策会比较模糊。

  实际上,Pluribus 只在第一轮下注时根据制定好的蓝图来进行游戏,在第一轮之后——甚至是第一轮当中,如果对手选择的赌注大小与蓝图动作抽象中的大小完全不同—— Pluribus 会进行实时搜索,制定更精细的策略。

  蒙特卡洛树搜索、双层搜索、alpha-beta 修剪搜索 …… 这些在完美信息游戏中表现出色的实时搜索在德州扑克面前都会扑街,因为它们并不考虑对手转移策略的能力。

  Pluribus 使用的方法是,明确地认为所有玩家都可能选择到子游戏叶子节点之外的不同策略。

  算法假设每个玩家在到达叶子结点时,可以选择四种不同的策略来进行下面的游戏,其中包括预先计算的蓝图策略,修改后偏向于弃牌的蓝图策略,修改后偏向于跟注的蓝图策略,以及修改后偏向于加注的蓝图策略。

  

  这样的搜索方法能找到一种更平衡的策略,从而产生更强的整体表现。

  而另一个大挑战是在德州扑克这样的游戏当中,玩家的策略有时取决于对手如何看待她 / 他的游戏玩法。

  为了应对这一点,Pluribus 根据其策略跟踪每一手牌达到当前情况的概率。无论 Pluribus 实际持有哪手牌,它都会优先计算出每一手牌的动作,一旦计算出所有的平衡策略,它就会为它实际持有的手牌执行一个动作。

  

  令人惊叹的是,Pluribus 的训练成本非常低。研究者只在 64 核的服务器上跑了 8 天,就成功训练出了 Pluribus 的蓝图策略,需要的内存空间小于 512GB,还不用 GPU。

  换句话说,Pluribus 的训练费用都不到 150 美元!

  进行游戏时,Pluribus 也只需运行在 2 个 CPU 上,使用不到 128GB 的内存。

  相比之下,在 2016 年 AlphaGo 对阵李世石的时候,使用了 1920 块 CPU 和 280 个 GPU 进行实时搜索。

  在 6 人牌局中,Pluribus 平均每回合只需要 20 秒的时间,比顶尖人类选手还快一倍。

  如此策略、如此小成本、如此速度,成绩会如何?

  全面超越人类职业高手

  为了评估 Pluribus 的实力,研究人员找来了一群德扑界的顶尖高手,有 2000 年世界扑克锦标赛冠军 Chris "Jesus" Ferguson、2012 年世界锦标赛冠军 Greg Merson、四届世界扑克巡回赛锦标赛冠军 Darren Elias 等等。

  这些顶尖高手,每一位都在专业的德州扑克比赛中赢了超过 100 万美元,大多数都赢了超过 1000 万美元。

  具体的测试中,研究者一种设计了两种牌局。一种是 5 个人类和一个 AI 的牌局,一种是 5 个 AI 和一个人类的牌局。每一手牌开始的时候,筹码是 10000 个,小盲 50,大盲 100。

  

  在很多人机大战中,经常会出现这样一种情况:AI 在一开始表现得不错,但随着人类玩家发现它的弱点,就变得很智障。

  为了全方位评估 Pluribus 的能力,测试持续了十几天,打了几万手牌。目的是让人类高手能够有充分的时间去适应 AI 的策略,寻找 AI 的弱点。

  此外,虽然德扑是一种技巧性很强的游戏,但运气也是其中非常重要的影响成分。对于顶尖的德扑职业选手来说,仅仅是因为运气不好,在一万手牌局中输钱是很常见的。

  研究者表示,为了减少运气对比赛的影响,他们在一个版本中采取了 "AIVAT" 算法,在保持样本无偏差的情况下,用每种情况的基线估计值来减少方差。

  比如说,如果 AI 拿到的是一手非常强的牌,AIVAT 将从它赢的钱总中减去一个基线估计值来抵消运气成分。

  5 个人类和一个 AI

  这种牌局一共打了 12 天,玩了 1000 手。

  每天,都会从高手中选出五名参加。根据他们的表现,会分配给他们 5 万美元奖金,从而激励他们发挥最佳水平。

  应用了 AIVAT 后,Pluribus 的赢率估计约为每 100 手牌 5 个大盲注 ( 5 bb/100 ) ,在人类顶尖高手的对决中,是非常好的成绩 ( p 值为 0.021 ) 。

  

  如果每个筹码一美元,Pluribus 平均每手能赢 5 美元,每小时能赚 1000 美元。这一战绩,已经超过了职业选手在与职业选手和业余选手的混合比赛中的获胜率。

  "Pluribus 是一个很难对付的对手,"Ferguson 在实验结束后说。" 无论用什么手段,都很难吃定他。他也非常擅长在河牌(最后一张牌)上下小额赌注。他非常善于用自己的一手好牌获取更大的价值。"

  5 个 AI 和一个人类

  参与这一牌局的是三位顶尖高手中的顶尖高手。

  分别是 2000 年世界扑克锦标赛冠军 Chris "Jesus" Ferguson、四届世界扑克巡回赛锦标赛冠军 Darren Elias,以及 Linus Loeliger ——在六人无限注德扑中,他是公认的世界第一。

  他们每个人都与 5 个 Pluribus 玩了 5000 手牌。Pluribus 并不会根据对手来调整自己的策略, 所以不会存在 AI 相互勾结的情况。

  整体情况是,每 100 手牌人类选手损失了 2.3 个大盲注(2.3 bb/100)。

  其中 Elias 为每 100 手 4 个大盲注(4.0 bb/100,标准误差为 2.2 bb/100),Ferguson 为每 100 手 2.5 个大盲注(2.5bb/100,标准误差为 2.0 bb/100),Loeliger 为每 100 手 0.5 个大盲注(0.5bb/100,标准误差为 1.0 bb/100)。

  下面这张图,呈现了 Pluribus 在 10000 手牌实验中对职业扑克玩家的平均赢率。直线表示实际结果,虚线表示标准偏差。

  

  " 它的主要优势在于运用混合策略的能力,"Elias 说。" 这和人类试图做的事情是一样的。对于人类来说,这是一个执行的问题——以一种完全随机的方式去做,并且始终如一。大多数人类很难做到。"

  由于 Pluribus 的策略,完全是在没有任何人类数据的情况下通过自我博弈决定的,因此它也为寻找多玩家无限制的德扑的最佳玩法提供了一个外部视角。

  Pluribus 证实了传统的人类智慧,即跟进 ( 跟进大盲注,而不是弃牌或加注 ) ,对任何玩家来说都是次优的。

  只有小盲注玩家是例外,他们已经有一半的大盲注在底池中,因此只需投入其他玩家一半的资金即可。

  尽管 Pluribus 在最初通过自我博弈时尝试过跟进策略,但随着自我博弈继续下去,它逐渐放弃了这一策略。

  但 Pluribus 在一个人类公认的策略上提出了不同的意见:即不下注 ( 在一轮下注结束时跟注,开始一轮下注 ) 是一个错误;与顶尖人类高手相比,Pluribus 这样做的频率更高。

  " 在于扑克机器人的比赛中,看到它选择的一些策略,非常令人难以置信,也令人着迷。"Gagliano 表示," 有几个策略是人类根本想不到的,特别是与赌注大小有关的。"

  下面的这张图,显示了 Pluribus 和职业选手比赛时的筹码数量。实线表示实际结果,虚线表示标准偏差。

  

  值得注意的是,Pluribus 是一种研究人工智能的工具。研究者表示,选取扑克只是为了评估在不完全信息的场景中,人工智能在多智能体交互中与人类最高水平的差距。

  也就说,他们的征途不仅仅限于德扑,而是星辰大海。

  毕竟,现实世界很复杂,也不是只有两方对战,也不是非输既赢。走向通用的人工智能,学习多人复杂游戏是非常重要的一步。

  当然,作为 "Libratus接下军用订单 " 事件的回应,Facebook 说这项研究不会做军事用途。