比赛过程中,人类选手整体上从未领先过。进入比赛最后一天时,Libratus 赢得156 万筹码。人类选手要挽回劣势,只有不到 5,000 手的机会。Jason Les 说,最后的感觉就是,自己所能做的就是输。这太打击士气了。
在这场德扑领域的人机巅峰对决中,人类可谓是惨败。在共计20个比赛日中,人类团队只在其中4天里赢得了筹码。
1月30日傍晚,完成了3万手比赛的Jimmy Chou筋疲力尽地告诉媒体,“这太难了。它(Libratus)不仅不留空子给我钻,而且我真的觉得它在钻我空子”。
Daniel McAulay说道,“在第10比赛日的时候,我还乐观心很大,想把那AI拉下马”。他们绞尽脑汁,每天比赛后都开会到深夜,但想出的战术没一个管用的。“是啊,我们就是完败,还能说啥呢”。
而在四名人类高手中最终战绩最佳的Dong Kim或许“早已看穿了一切”,在赛程过半时,他就认定人类已经没有机会了。
Jason Lee下场后则迫不及待地想去找Libratus的开发者们聊一聊,“我就是想确定一下他们是不是把计算机偷偷塞在我们脑子里了,因为它改变战术的时候就像是针对我们每个人发动的‘人身攻击’”。
与 Libratus对抗中的德扑专业选手 Jason Les
早在1979 年,人类首次在西洋双陆棋游戏(backgammon)中败给机器。1997 年,Gary Kasparov 输给 IBM 的深蓝。当时他评论说,可以感觉到对手是种新的智能形式。人类输给机器的其他游戏包括:西洋棋、黑白棋、拼字游戏(Scrabble),甚至是 Jeopardy! 和经典的 Pong。
而在最近,人工智能打败顶尖围棋高手。2016 年 3 月,李世石 4:1 惜败 AlphaGo。2016 年圣诞节期间,匿名再度出山的 AlphaGO也即是master 陆续击败中国顶尖围棋高手,赢得毫无悬念。
Libratus 是一个玩无限德州扑克的人工智能程序,由卡耐基梅隆大学的 Tuomas Sandholm 教授与 Noam Brown 博士所开发。Libratus 的策略并非基于专业玩家的经验,所以它的玩牌方式可能有明显的不同。基于在匹兹堡超级计算机中心大约 1500 万核心小时(core hours)的计算,它使用算法分析德扑规则,建立自己的策略。在此次的比赛中,Libratus 将继续提升自己的策略。据介绍,创造 Libratus 使用的算法并非为扑克专门设计的。在面临不完全或误导信息时,该人工智能进行推论的能力有着广泛的潜在应用,包括业务谈判、医疗、网络安全、竞拍等等。
百度首席科学家吴恩达(Andrew Ng)说道,“扑克是人工智能最难攻克的游戏之一。每一步没有所谓的最优解,人工智能要采取随机的策略,这样它诈唬的时候对方才会吃不准。”
诈唬(bluffing)是德州扑克的一种经典策略,它生动地体现了扑克游戏的“心理博弈”特征:即在手上的牌不够大的时候,依然虚张声势地加注,以吓退对手。为了达到好的诈唬效果,玩家的下注策略需要具备足够的随机性,以避免被对手摸清套路。总是诈唬的人和从不诈唬的人都不是一个好的德扑玩家。
在本次比赛中,人类玩家明显地感觉到Libratus善于诈唬及不被诈唬。这得益于开发者们教会它运用博弈论和战略决策理论,在充满不确定性的情景中找到平衡风险与收益的最佳策略,即所谓的“均衡”。
值得一提的是,这次比赛是以镜像局的方式进行的。在每一对镜像局中,AI和人类玩家的手牌是对调的。这种比赛方式不仅消除了抓牌运气的影响,也为我们了解AI的出牌风格提供了生动的视角。这比如其中一盘,人类高中Jason Lee起手牌是一对10(非梅花),前三张公共牌为K、9、4(其中有两张梅花),第四张和第五张都开出了非梅花牌。此时,AI突然压上所有筹码,Lee选择不跟。通过隔壁的镜像局,我们发现AI当时的起手牌确实是两张梅花,也就是,AI最后在凑同花失败的情况下,成功通过诈唬赢下了一局。而在镜像局中,AI早早为手上一对10下了重注,最后人类玩家同样选择弃牌。
据了解,曾在2015年,CMU曾组织了首场“大脑对抗人工智能”赛事。在当时的赛事中,代表CMU出战的是另外一款人工智能系统“Claudico”,同样也有4名职业扑克玩家参加了比赛,然而,Claudico并未获得最终胜利。
不过CMU学认为,当时扑克职业玩家与Claudico仅进行了8万手牌的比赛,就统计学角度来讲并无法证明人类职业扑克玩家或人工智能具有优势。这也是本轮巡回赛中比赛的牌局数量增加50%的原因。
一些人可能不知道德州扑克的玩法:每个玩家有2张牌作为“底牌”,同时还有5张公共牌。玩家选择5张公共牌里的3张,与手里的2张底牌组合,最后以期得到最好的5张牌的组合。按照“Card Ranking”决定最后的胜者。在这种情况下,由于对方的“底牌信息”是隐藏信息,对于计算机来说,就是在处理一种“非完整信息博弈”。而围棋对弈双方的信息是完整的、对称的,并没有隐藏的信息。Libratus此次战胜顶级人类德州扑克选手,具有非常重要的意义。
尽管就表面来看,Libratus这次夺魁像是阿尔法狗战胜李世石的翻版,无非是再一次证明了人类玩游戏玩不过计算机。但事实上,解决棋类和解决扑克这两个问题对人工智能而言,性质和路径非常不同。
就路径来看,我们已经发现相比起孕育在时髦的深度学习土壤中的阿尔法狗,Libratus或许更加像一个依赖超算能力的“经典人工智能”(Good Old-Fashioned Artificial Intelligence)。除此之外,阿尔法狗通过计算每一步的胜率来进行决策,但Libratus面临的决策情景则复杂得多,为此,开发者不得不引入博弈论来对问题进行处理。
这也是人类在德州扑克阵地上比围棋多撑了一会儿的原因。此前20年间被人工智能攻克的西洋双陆棋、跳棋、国际象棋和围棋都是“完美信息”游戏,所有玩家在游戏中能获得的确定性信息是对称的。人工智能掌握这些游戏的难度,主要取决于游戏中需要做出的决策点(decision points)的数量,这决定了计算机需要的计算量。围棋是上述几种棋类中决策点数量最多的,因而也是最后被人工智能掌握的。一盘围棋游戏约包含有10的170次方个决策点。
而计算机之父冯•诺依曼说过,“现实世界与此不同,现实世界包含有很多赌博、欺骗的战术,还涉及你会思考别人会认为你将做什么。”德州扑克就是这样一种更接近现实世界的“非完美信息”游戏,玩家只掌握不对称的信息,他不知道对手手中是什么牌,不知道五张公共牌会开出怎样的结果,也不知道对手猜测自己握有怎样的手牌。这些问题在计算范围之内。
因此,虽然一对一无限注德扑游戏中包含10的160次方个决策点,要少于围棋,但它对人工智能的推理能力提出了更高的要求。
而通过博弈论让人工智能学会找到平衡风险与收益的方法,不仅会在牌桌上赢得筹码,也将在现实生活中找到用武之地。这也是匹兹堡超算中心同意与桑德霍姆合作的原因。毕竟商业谈判、网络安全、出租车自动驾驶、机器人规划、医疗规划等领域都需要在“不完美信息”情景中做出决策。诺姆•布朗认为,现在人工智能已经在围棋、扑克等特定任务上媲美甚至超过人类,但我们最终追求的是能像人类一样适应现实生活中各种不确定性和完成各种任务的通用人工智能(GAI),而Libratus就在应对不确定性这个问题上走出了关键一步。从这个意义上说,会玩德州扑克的AI或许比会下围棋的AI更有用。