粗大事了!人工智能在德州扑克比赛中狂虐人类
发布时间:2021-02-18 点击数:
如果以后要再拍新版《赌神》电影,也许主角们一路闯关最后要面对的大BOSS……居然是台电脑!
这不,当地时间1月30日,在美国匹兹堡的大河赌场(Rivers Casino),一个名为Libratus的人工智能在共计12万手的一对一无限注德州扑克比赛中击败了四名顶尖人类高手,斩获20万美元奖金。
前不久谷歌旗下DeepMind研发的阿尔法狗(AlphaGo)刚以“Master”的名义战胜了“当今围棋第一人”柯洁,引起轩然大波。这一下,连德州扑克也沦陷了?
输给人工智能的是什么心情?
在这场德扑领域的人机巅峰对决中,人类可谓是惨败。在共计20个比赛日中,人类团队只在其中4天里赢得了筹码。总体战绩上,四名人类玩家共计输给Libratus一共176万美元筹码。
1月30日傍晚,完成了3万手比赛的Jimmy Chou筋疲力尽地对媒体表示, “实在太难,Libratus不仅不留空子给我钻,而且我真的觉得它在钻我空子。”
另一名选手Daniel McAulay说道,“在第10比赛日的时候,我还乐观心很大,想把AI拉下马。大家绞尽脑汁,每天比赛后都开会到深夜,但想出的战术没一个管用的。”
Jason Les下场后则迫不及待地想去找Libratus的开发者们聊一聊,“”就是想确定一下他们是不是把计算机偷偷塞在我们脑子里了,因为它改变战术的时候就像是针对我们每个人量身定做的人身攻击 。”
而在四名人类高手中最终战绩最佳的Dong Kim或许“早已看穿了一切”,在赛程过半时,他就认定人类已经没有机会了“我们就是完败,还能说啥呢。”
从“溜进”到“均衡”:人工智能18个月击败人类
Libratus的开发者是美国卡内基梅隆大学(CMU)的计算机系教授托马斯-桑德霍姆(Tuomas Sandholm)和其研究生诺姆-布朗(Noam Brown)。
事实上,在一年半以前,桑德霍姆就曾带着AI来“踢馆”。2015年4月24日至5月7日,同样是在匹兹堡的大河赌场,桑德霍姆团队开发的第一代人工智能Claudico在连续两周的无限注德州扑克比赛中轮流与四名排在世界前十的顶尖德扑选手(上述Doug Polk,Dong Kim,Bjorn Li和Jason Les四人)单挑80000回合。当时,人类几乎赢下了每个比赛日,最终以73万美元的筹码差完胜Claudico。
因此,当时AI专家纷纷预测,计算机攻下德州扑克起码还需要5年。那么,Libratus是如何在短短一年半内逆袭人类的呢?
首先,是计算强度的大大提高。无论是Libratus还是初代Claudico,背后都是匹兹堡超算中心。这次截至比赛结束,Libratus占用了超级计算机Bridges的2000万到2500万“核心小时”,是之前Claudico的10倍。
其次,研究团队在算法上做出了一些改进。除了采用一种新的平衡近似方法之外,也引进了在后期牌局中分析可能结果的几种新方法。
Claudico和Libratus这两个名字都源自拉丁文,Claudico意为“溜进”。而“溜进”在德扑中指代一种翻牌前的策略,即玩家不加注,只跟进1倍大盲注。而Claudico机如其名,在实战中擅长将“溜进”策略运用到极致。
Libratus在拉丁语中的意思则是“均衡”。这个名字一语双关,首先,它点出了桑德霍姆将纳什均衡等博弈论运用在人工智能算法上;其次,Libratus的“套路”很深,能平衡地使用各种技巧,让对手吃不准。
纳什均衡学得精,诈唬对手没商量
一直以来,业界普遍认为,扑克是人工智能最难攻克的游戏之一。由于对手的影响,每一步没有所谓的最优解。
例如,诈唬(bluffing)是德州扑克的一种经典策略,它生动地体现了扑克游戏的“心理博弈”特征:即在手上的牌不够大的时候,依然虚张声势地加注,以吓退对手。为了达到好的诈唬效果,玩家的下注策略需要具备足够的随机性,以避免被对手摸清套路。
总是诈唬的人和从不诈唬的人都不是一个好的德扑玩家。而在本次比赛中,人类玩家明显地感觉到Libratus善于诈唬及不被对手诈唬。这得益于开发者们教会它运用博弈论和战略决策理论,在充满不确定性的情景中找到平衡风险与收益的最佳策略。
值得一提的是,这次比赛是以镜像局的方式进行的。在每一对镜像局中,AI和人类玩家的手牌是对调的。这种比赛方式不仅消除了抓牌运气的影响,也为我们了解AI的出牌风格提供了生动的视角。这比如其中一盘,人类高手Jason Lee起手牌是一对10(非梅花),前三张公共牌为K、9、4(其中有两张梅花),第四张和第五张都开出了非梅花牌。此时,AI突然压上所有筹码,Lee选择不跟。通过隔壁的镜像局,观察者发现AI当时的起手牌确实是两张梅花,也就是,AI最后在凑同花失败的情况下,成功通过诈唬赢下了一局。而在镜像局中,AI早早为手上一对10下了重注,最后人类玩家同样选择弃牌。
能玩德州扑克的AI更有实际意义?
尽管就表面来看,Libratus这次夺魁像是阿尔法狗战胜李世石的翻版,无非是再一次证明了人类玩游戏玩不过计算机。但事实上,解决棋类和解决扑克这两个问题对人工智能而言,性质和路径非常不同。
就路径来看,相比起孕育在时髦的深度学习土壤中的阿尔法狗,Libratus或许更加像一个依赖超算能力的“经典人工智能”(Good Old-Fashioned Artificial Intelligence)。除此之外,阿尔法狗通过计算每一步的胜率来进行决策,但Libratus面临的决策情景则复杂得多,为此,开发者不得不引入博弈论来对问题进行处理。
此前20年间,被人工智能攻克的西洋双陆棋、跳棋、国际象棋和围棋都是“完美信息”游戏,所有玩家在游戏中能获得的确定性信息是对称的。人工智能掌握这些游戏的难度,主要取决于游戏中需要做出的决策点(decision points)的数量,这决定了计算机需要的计算量。比如,一盘围棋游戏约包含有10的170次方个决策点,是上述几种棋类中决策点数量最多的,因而围棋也是最后被人工智能掌握的“完美信息”类游戏。
而计算机之父冯-诺依曼说过,“现实世界包含有很多赌博、欺骗的战术,还涉及你会思考别人会认为你将做什么。”相对于围棋而言,德州扑克就是这样一种更接近现实世界的“非完美信息”游戏,玩家只能掌握不对称的信息,他不知道对手手中是什么牌,不知道五张公共牌会开出怎样的结果,也不知道对手猜测自己握有怎样的手牌。这些问题在计算范围之内。
因此,虽然一对一无限注德扑游戏中包含10的160次方个决策点,要少于围棋,但它对人工智能的推理能力提出了更高的要求。
而通过博弈论让人工智能学会找到平衡风险与收益的方法,不仅会在牌桌上赢得筹码,也将在现实生活中找到用武之地。这也是美国匹兹堡超算中心同意与桑德霍姆合作的原因。毕竟商业谈判、网络安全、出租车自动驾驶、机器人规划、医疗规划等领域都需要在“不完美信息”情景中做出决策。诺姆-布朗认为,现在人工智能已经在围棋、扑克等特定任务上媲美甚至超过人类,但研究者最终追求的是能像人类一样适应现实生活中各种不确定性和完成各种任务的通用人工智能(GAI),而Libratus就在应对不确定性这个问题上走出了关键一步。从这个意义上说,会玩德州扑克的AI或许比会下围棋的AI更有用。
下一个AI完败人类的领域是麻将吗?
有人认为,麻将会是AI无法攻破的堡垒,但实际情况并非如此。相比于棋类AI力求“将对手逼入必输的岔路口”这个博弈目标不同,麻将AI 的策略则更多地增加自己得点的期望值,尽量让自己有更大的可能性和大牌,同时尽量避免对手的大牌点炮。而麻将的打牌策略,比起德州扑克而言是有最优解的。每圈弃牌的14 个选择里,我们总可以找到我们当前认为最好的选择,而高等的选手和高级的AI 要做的,就是尽量能多思考、多筛选。
当代的计算机棋手大多采用的是“蒙特卡洛树”搜索算法,策略是选择或迫使对手选择一个分支,这个分支下的所有的结局都是自己胜。AlphaGo 就是蒙特卡洛算法和深度学习的结合。
让自己有更大的可能性和大牌,就需要通过手牌和弃牌池里的牌,计算自己进张(摸到有效牌)和鸣牌(吃、碰、杠),使自己手牌有进展的概率,进而计算自己和牌得分的期望值。这对于AI 设计来说实际上是很简单的。
但麻将运动中,可执行的打法数量,实际上是远小于围棋的。因为毕竟手上只有14 张手牌,一共也只有136 张的总牌数。所以实际上麻将的复杂度,AI 运行所需要的计算量,实际上也是比AlphaGO 这样的围棋AI 要少很多的。
目前最强的麻将AI,是东京大学开发的日麻AI —— “爆打”。“爆打”在日本最大的线上麻将平台——天凤上进行了1.3 万多场比赛,最高达到过七段的成绩,这意味着“爆打”比96% 以上的麻将玩家都取得了更好的成绩。
好信侠有话说:科学家创造用来玩扑克、打麻将的AI,当然不是让我们可以利用其功能去赌钱,而是让AI更加适应现实生活中各种不确定性,协助人类完成各种任务。在不久的将来,由于大数据以及深度学习的应用,人工智能在某些领域学得比人类更快,甚至能将我们从一些繁琐的日常事务中解脱出来。
不断提高自己,善于利用人类的特长,善于借助机器的能力,这将是未来社会里各领域人才的必备特质。先不说了,好信侠得开发一下自己有没有其他潜能,否则也许不久就要被AI淘汰啦!
(本文综合自澎湃新闻、凤凰网、百度公众号)
(图片来源于网络)
信用·让你我更好互联
看你靠不靠谱,点击阅读原文测分
上一篇:汪峰迷上的德州扑克到底咋回事
下一篇:德州扑克在国内的这些年......