当1997年国际象棋棋坛神话卡斯帕罗夫败给IBM的“深蓝”时,还没有多少人把该事件与人工智能这个概念联系起来。此后,历史见证了人类在各种游戏上的节节溃败。2017年新年伊始,先后有两个研究团队推出的人工智能成功击败了职业德州扑克选手。这在普通人眼里可能不如阿尔法狗击败世界围棋冠军厉害,毕竟比起围棋的“阳春白雪”,德州扑克是很多人能下场玩两把的游戏。但许多学者却把掌握德扑视为人工智能的里程碑事件。
《自然》杂志3月2日发表的一篇文章,就详解了这两个研究团队实现德州扑克算法的不同路径,并回答了几个大家关心的问题:以后人类是不是没得玩德扑了?玩坏了德扑,AI下一歩还要玩什么?两家德扑AI什么时候来比一场?
这两个研究团队,一个由美国卡内基梅隆大学(CMU)的计算机系教授托马斯•桑德霍姆(Tuomas Sandholm)领衔,一个由加拿大阿尔伯塔大学、捷克的查尔斯大学和布拉格捷克理工大学合作。在过去十年间,两个团队一直在暗暗较劲着搞“军备竞赛”,都想研发出世界上第一个击败职业玩家的德扑AI。2015年,阿尔伯塔大学率先攻克了一对一限注德扑,先下一城,接下去双方的角逐点是一对一无限注德扑。
桑德霍姆为自家的Libratus早早安排好了一场德扑界的人机“华山论剑”,预先选出了他们团队心目中的人类高手Top4,邀请他们在1月11日到1月30日之间与Libratus进行共计12万手的一对一无限注德扑比赛。
不料就在匹兹堡大河赌场的这场巅峰对决开幕前夕,加拿大和捷克的联合团队抢先在预印本网站arXiv上载了一篇题为《DeepStack:无限注德扑的专业级人工智能玩家》的论文,介绍了他们团队的DeepStack,在与来自17个国家的33名职业选手的4万多手比赛中拔得头筹。
因此,Libratus虽然最终碾压了四名顶尖高手,“历史第一”的桂冠却惨遭截胡。桑德霍姆认为,Libratus的对手水平更好,交战回合数也更多,因而它的战绩更具含金量。
扑克和AI之前攻克的国际象棋、围棋等棋类有本质上的不同,是一种更加复杂的“非完美信息”游戏。选手需要考虑对方可能持有的手牌,和对方猜测自己持有怎样的手牌。这种“非完美信息”游戏更好地模拟了现实生活中的谈判、金融交易等情景,正如计算机之父冯·诺依曼所说,“现实世界与此不同,现实世界包含有很多冒险、欺骗的战术,还涉及你会思考别人会认为你将做什么。”
现在人工智能已经在围棋、扑克等特定任务上媲美甚至超过人类,但我们最终追求的是能像人类一样适应现实生活中各种不确定性和完成各种任务的通用人工智能(GAI)。而德扑AI就是走向GAI的关键一步。
博弈论是德扑算法的核心,即AI的目标是找到一个无论对方走哪一步,自己都不会产生损失的策略。在博弈论中,像一对一扑克这种零和游戏永远存在这样的最优解,就像在经典的博弈论模型“囚徒困境”中,招认罪行就是一个无论对方招认不招认都最优的策略。人类高手可能会利用对手的犯错来获得更大的利益,但对AI就毫无办法。因为AI只会按计算所得的最优策略决策,不受对手的干扰。
之前的扑克算法一般都是在庞大的“决策树”上提前推算出最优解。但一盘德扑涉及的可能性有10的160次方种,穷举法是不现实的。因此,研究者们往往会采用近似模拟的方法,把临场的局面与此前设定过的情况进行匹配,找到最近似的一种比以此决策。不过,在这种近似模拟的过程中,信息流失是不可避免的,因此此前开发出的德扑AI都不太理想。
而DeepStack和Libratus现在都找到了能和国际象棋和围棋AI一样进行临场计算的方法。
此前在arXiv上曝光的关于DeepStack算法的论文近日刊登在了《科学》上。根据论文的描述,DeepStack避开了在整盘游戏的决策树上进行计算,每次只计算未来的有限几步。
DeepStack和阿尔法狗修炼的是同一本“秘笈”——时下大红大紫的深度学习。在学习了1100万种局面后,DeepStack已经能在较短的时间(大约5秒)内做出每一个临场情境下的决策,非常类似于人类凭经验习得的“直觉”。
而桑德霍姆团队目前还没有披露Libratus的全部秘密。我们目前有限的信息是,Libratus在牌局初期会采用近似转化的方法来减少计算量,而残局阶段才是Libratus真正发威的时候:残局阶段计算量更少,计算机可以做到实时计算。
此外,研发者们还给Libratus附加了一种自我改进的机制。每一个比赛日过后,Libratus都会反思有哪些漏洞被对手利用了,并进行修补。
从DeepStack和Libratus所用的计算量来看,DeepStack是站在流行潮头的深度学习产物,依靠大数据的训练而大大减少了计算量(175年“核心时间”),而Libratus更像是依靠超算能力的“老式经典人工智能”(大约2900年“核心时间”)。Libratus在大河赌场大杀特杀的同时,匹兹堡超算中心在背后卖力支持。
诈唬(bluffing)是德州扑克的一种经典策略,它生动地体现了扑克游戏的“心理博弈”特征:即在手上的牌不够大的时候,依然虚张声势地加注,以吓退对手。为了达到好的诈唬效果,玩家的下注策略需要具备足够的随机性,以避免被对手摸清套路。总是诈唬的人和从不诈唬的人都不是一个好的德扑玩家。
在比赛中,Libratus和DeepStack都表现出了高水平的诈唬和反诈唬。毕竟,AI对人类对手的“演技”可是视而不见的,它们“满脑子”都是数学。对AI来说,诈唬只是一种让对手猜不透自己手牌的数学手段。
总体上两家的AI玩的盘数都足够在统计学上建立显著性。DeepStack玩的盘数没Libratus多,不过它也没必要。因为它的团队采用了高明的统计学方法,让它能在更少的盘数里就取得具有显著性的战绩。Libratus的对手水平更高。整体上讲,DeepStack优势更明显。
“火星撞地球”是可能发生的。但两家的计算能力和计算速度很不同,两家可能很难统一规则。DeepStack的主要研发者、阿尔伯塔大学的麦克·保龄(Michael Bowling)称他们已经做好准备迎战Libratus,但Libratus的开发者称在对战DeepStack之前,Libratus想先击败自家之前开发的人工智能Baby Tartanian8。
保龄告诉《自然》杂志,胜利者并不一定是更好的人工智能系统。在面对面交战中,一方可能抓住另一方的一个漏洞获胜,但这不意味着对方总的漏洞数就比获胜方多。除非其中一方可以在战绩上碾压另一方,不然保龄都认为这种比赛并不会像大家期待的那样有说服力。
并不是。许多在线扑克赌场都禁止使用计算机。不过很多高手都开始用以计算机对战的方式训练。
两家竞争对手下一步自然是要攻克多人扑克。因为多人扑克不是零和游戏,几乎等于要从头开始研究。比如在三人扑克中,其中一个人的烂招并不是总是对对手有利,有时候会让另一方受损。
不过保龄认为即使博弈论不适用了,深度学习带来的“直觉”总是有用的。目前,他的团队在尝试用与DeepStack类似的方法应付三人限注德扑,成效不错。
另一个挑战是不告诉AI游戏规则,让AI在游戏过程中自己琢磨出规则来。这更像我们面临的现实生活。
发表回复