人工智能与扑克大战30年:机器为何现在开始碾压顶级牌手?


    《终结者》、《我,机器人》和《A.I.人工智能》只是过去四十年中反映人工智能发展超过人类并导致人类毁灭这一主题的众多电影中的几个例子。《美国新闻与世界报道》的Jeff Nesbit表示,虽然这种情况在近期内发生的可能性仍然不大,但是很多人认为这个主题里的第一部分——人工智能会超过人脑的水平,达到超级人工智能水平(artificial superintelligence,ASI)——这一情况将会在未来三十年内的某个时刻实现。
    ASI是否会导致人类的终结还有待观察,但人工智能最近在扑克界取得了很大的突破。
    AI与扑克大战30年 为何现在才全面碾压
    人工智能与扑克的“战斗史”可追溯到1984年,那一年,Mike Caro创建了一款名为Orac的基础扑克人工智能软件以征战World Series of Poker(世界扑克系列赛,世界扑克比赛中一项最权威、最受尊重的赛事。WSOP与WPT,EPT并称世界三大扑克赛事)。可以说,人工智能与扑克的“战争”已经打了30多年。
    从那时起,人工智能在扑克领域的发展势头非常迅猛,最近的一份信息图以视觉化的方式提供了扑克领域人工智能研究进展的深度介绍和统计概览,同时提供了到目前为止研究提炼出的见解。
    对人工智能而言 打败牌手比打败棋手更难
    几个月前,几个在线扑克网站的社论撰稿人和社区经理Josh Wardini在PokerSites博客上发表了题为《扑克和人工智能:机器对人类的兴起》的信息图。Wardini提供了在过去30年中扑克和人工智能之间关系的介绍。
    人工智能应用于策略游戏是最流行的方向。在过去二十年中,人工智能在各种游戏中击败了人类,包括国际象棋、围棋和《危险边缘》(译注:哥伦比亚广播公司益智问答游戏节目)。在过去十年中,大部分研究已转向创造会玩扑克的人工智能程序。
    你可能会问的一个问题是:为什么是扑克?
    国际象棋大师Garry Kasparov在2010年发文指出了国际象棋和扑克的区别:国际象棋100%的信息博弈——两个玩家都会同时获知相同的数据信息——与计算机敏感的计算能力相比,玩扑克牌可以隐藏自己的牌,其中有很多变量和不确定性,概率、以假象迷惑对手的心理层面因素、风险管理等在扑克牌中十分关键。似乎是扑克完全基于人类心理活动的方面令其在面对计算机时显得无懈可击。一台机器可以很容易地计算出每一手牌的可能性或者概率,但在面对低概率同时却是高赌注的时刻,人工智能却并不占优势。
    Wardini认为,大学的人工智能部门是因为扑克的复杂性而对这种游戏进行研究的。像许多现实生活中的情况一样,“扑克要处理很多不完善信息”,并且人工智能的目标是解决反映在扑克中的问题。
    Carnegie Mellon University (卡内基梅隆大学,CMU)博士生及人工智能研究员Noam Brown表示,在不限注的德州扑克单挑比赛中有10的163次方(10后面接着有163个零)不同的游戏情况,假设启动堆栈为20,000个芯片,那么即使是最强的计算机也不可能计算所有可能的情况。
    人工智能在扑克上取得突破 Libratus战胜顶级职业牌手
    人工智能在扑克领域的研究主要来自University of Alberta(阿尔伯塔大学),University of Auckland(奥克兰大学)和前面提到的CMU。CMU在扑克界赫赫有名,其推出了两款人工智能程序Claudico和Libratus,并在最近挑战了一些顶级的扑克玩家。
    虽然Claudico获得了多场胜利,但在2015年,Claudico被一个由Doug Polk、Bjorn Li、Dong Kim和Jason Les四名玩家组成的团队击败,但Claudico也一路获了多场胜利。
    Doug Polk曾对《PokerNews》表示,Claudico“使用了一个非常复杂的策略,包括许多大大小小的赌注”,但人工智能技术还是存在一些漏洞。
    经过改进迭代的Libratus,在2017年1月挑战了四名顶级职业扑克玩家,Kim和Les回归了第二场战役,Jimmy Chou和Daniel McAulay加入了他们的团队。最后,Libratus击败了这一组世界级的德州扑克职业选手,并且是以每100手14倍大盲(译者注:缩写为14bb/100,意为玩100手牌,平均能赢对手14倍大盲注)完胜顶级人类玩家团队。在Libratus对人类玩家12万手牌的不限注德州扑克挑战赛后,Libratus从四名职业玩家手中赢得了1,766,250美元的筹码。
    Dong Kim在比赛结束后接受了《PokerNews》Sarah Herring的采访。他表示,“对于我们来说真的很难玩。我们会提出一个策略,这个策略可能在当天效果不错,然后是第二天它就会带来新的东西。我们则没有为此做好准备,所以总体来说是真的、真的很艰难。”
    为什么会这样?Libratus会进行自我纠正,它每天晚上分析自己的打法,纠正错误,并在第二天使用不同的策略,但这不是全部。
    不同于之前的Claudico,Libratus依赖于一种算法,该算法使用了数百万内核小时计算,这样大量计算的实现要依靠的Pittsburgh Supercomputing Center(匹兹堡超级计算中心,PSC)“Bridges”源才变得有可能,它没有使用固定的内置策略。它也会随机化自己的行为,使对手难以破译它是否在虚张声势。最令人惊讶的是,Libratus不仅仅是一个人工智能在扑克领域的应用程序,而是可以应用于任何不完善的信息系统,有无数潜在的应用可能。
    Kim承认他的这个没有血肉对手的能力令人印象深刻。“人工智能玩得很好,我认为它有世界级的水平。”
    当被问及他自己在打牌的时候可以使用哪些Libratus的策略时,Kim解释说,人工智能程序的混合策略使其难以对抗。
    Kim表示,“有很多很好的东西,我都想要在我自己打牌的时候融会进来,但真的很难做到。Libratus有一些真的非常好的策略,但也是一个混合的策略,所以当你用一个策略用得太多了一点,那么你的这一点就会非常容易被人利用,所以一般来说模仿或模拟很难,让我们拭目以待吧。”
    Libratus经常在其压倒性的打法中使用超额下注。Kim表示,“它使用超额下注比任何人都多。如果是一个人类玩家,那么说实在的,我们会认为这个家伙完全是一个技术拙劣的玩家,因为他用这招用得太多了。”
    “实际上,当它超额下注的时候,它其实是在虚张声势。是的,它就是在大张旗鼓地虚张声势。”
    CMU的研究员Brown,在2016年3月向《PokerNews》解释称:“这并不令人惊奇(Libratus会虚张声势),因为电脑正在做的是模拟数以万亿计手的牌,它对虚张声势的看法和我们并不一样。它所做的只是反复地遇到这种情况,它注意到即使没有很好的牌,仍然可以通过下注赚到更多的钱。”
    人工智能战胜人类牌手的关键因素是什么?
    虽然大多数扑克玩家不会很快就与人工智能正面交锋,但是看看人工智能如何打败人类玩家所使用的技巧倒是很有价值的。是什么让诸如Libratus之类的人工智能程序表现得这么好?
    在玩扑克时有一些情绪本身并不是坏事——在某些情况下甚至可能是有益的——从某种意义上来说,在这个游戏中,将成功的职业玩家和不赚不赔或者是亏钱的业余爱好者区分开来的一个重要特征就是模仿人工智能的能力。
    虽然大多数职业玩家和扑克教练都不会这样说,但他们告诉有抱负的专业人士,在这个游戏中成功的关键是在游戏中做出决定时不要考虑钱。
    2016年,Andrew Robl在《PokerNews》发表的一篇文章中,他表示要想成为一个成功的扑克玩家,应该具备六个特征,其中五个可以说是符合Libratus这样的人工智能程序:经验、智力、欲望和学习的意愿(除掉欲望部分)、控制情绪的能力以及进行了次数多到令人想吐的比赛。
    不过,第六个特征只适用于人类——社交和人际交往技能。人工智能在这部分的表现是糟糕的——至少在目前是这样。
    在情绪控制方面,人工智能相比于人类拥有明显的优势,包括偏见和疲劳因素在内。而当Libratus在连续落败的时候,它不会生气或者是感到沮丧,更不会殴打对手或者是在后面的对抗中状态不佳。在经历了漫长的一整天磨砺之后,它不会感到精力不济,更不会因此犯下错误。因此它是更好的玩家。
    在同Libratus进行了对抗之后,Kim的一个评论凸显出了人工智能与人类之间的关键区别:“我们并没有想到会输这么多,这是非常艰难的部分……这并不一定是因为人工智能本身。而是不断地输,队伍的士气非常低落。”
    同时,Libratus不断根据经验调整策略,始终如一地发挥最佳水平。
    人工智能无法感觉到钱的价值,这让它们能够免受风险的影响,并且总是能够实现“正确的”游戏理论最优(GTO策略),即使在风险回报比例非常糟糕的情况下也是如此。这导致它们会大量使用虚张声势的战术。
    Libratus无论风险如何,都会做出最好的决定,它们没有资金管理的概念,也不需要支付账单,这也有助于它们做到这一点。
    战胜人类牌手也只是开始
    Libratus的共同创始人Tuomas Sandholm在Carnegie Mellon(卡内基.梅隆)的一份出版物中评估了人工智能的胜利产生的影响。
    他表示,“人工智能根据不完美的信息进行策略推理的能力现在已经超过了人类。”
    Polk在接受《PokerNews》采访时回应了这种情绪,他注意到的Claudico的漏洞在Libratus中被修复了。
    “对于我来说,现在事情已经很清楚了,人类在不限注德州扑克单挑比赛中落后于形势变化,我认为这种情况将继续以其他形式发生。”
    CMU的计算机科学系主任Frank Pfenning表示,融入虚张声势是一个关键概念,因为没有这项能力就无法取胜。他说道,“开发一个能够成功做到这一点的人工智能程序是科学前进的一个巨大进步。想象一下,有朝一日你的智能手机能够为你要买的新车谈判得到最优惠的价格。这还只是开始。”
    通过人工智能训练牌手
    看起来我们可以从这些会玩扑克的人工智能程序身上学到很多东西,但是不要矫枉过正——有一些扑克技巧,我们人类比机器更好。
    虽然人工智能非常擅长通过模拟数万亿手牌来实现游戏理论最优(GTO策略),但是由于针对特定对手,人工智能可获得手牌的样本数量有限,在对个人对手采用针对弱点的策略的能力较差。
    Brown表示,“这是一个积极的研究领域,如何利用对手有限数量的样本。我们不知道为什么人类玩家非常精于此道,这可能是人工智能的一个重要的薄弱环节。”
    虽然扑克玩家可能会因为担心没有情绪的人工智能会赚走他们所有的钱而感到担心震惊,但这些程序的发展实际上可以对他们的盈亏情况产生积极的影响。Wardini提到存在“人工智能模拟和培训软件可以帮助人类”,包括帮助玩家开发一种“平衡的、没有漏洞可被利用的方法”并采用“更好的决策”来提高他们的游戏水平。
    附:《扑克和人工智能:机器对人类的兴起》信息图