赌场穹顶上华丽的枝形吊灯盏盏相接、玻璃水晶反射下的灯光明亮的让人分不清白天与黑夜。“加注。” 加注。” “再加注。”
牌桌前很安静,能听见的只有这几句话。
你凝视着手里关键的AA,还没有思路,荷官给你了KK9。一位深藏不露的玩家从pre-flop就跟住了3-bet,你不得不认真地考虑他手握的究竟是AK还是KK?你犹豫极了,不甘心fold掉手上的一对Aces,却在此时无法跟住对方的Raise。“咬着牙上吧”你心中暗想。紧接着,转牌竟然发出了一张A。手握AAAKK Full House,血液在暗涌。下注,对方毫不犹豫地跟注。河牌,空气牌。意识到该你收割了。你check,可是对方竟然全推all in。对方真的是KK吗?
你的目光落在筹码上,幻想对手只是AK。弃牌吗?你脑子一片混沌……
很难想像,这位招招沉稳且步步紧逼的玩家,是脸书公司与卡内基梅隆大学合作开发的一款新型人工智能系统(下文称:六人德扑赌神)。
它在世界上最流行的扑克游戏——六人德州扑克中击败了人类职业玩家。一场为期 12 天的比赛,打出 10000 手牌,15 名顶尖职业玩家惨淡收场。
赫赫战绩,不容小觑。
《麻省理工科技评论》称,“一系列策略都令人惊讶:(人工智能)领先下注,或叫牌结束随即押注下一场。十分到位的虚张声势,很像资深玩家。”
六人德州扑克被攻陷,人工智能新赌神的故事翻开了新的篇章。
一、人工智能打扑克的历史
学术界研究德州扑克游戏中的人机对战历史悠久,原因是——在解非完全信息博弈的问题上,德州扑克作为其中一个测评基准(benchmark),非常有代表性。所以,学术界喜欢用德州扑克中的胜负来衡量算法的进展。全球有多个研究团队关注这个问题,另有研究小组和六人德扑赌神研发团队是竞争关系。
他们早在十几年前就已经在领域里声名鹊起。他们是2007年NIPS论文的作者团队,来自加拿大顶尖研究型大学阿尔伯塔大学。2015年,他们也有一篇《科学》的论文,基于神经网络打扑克的算法,也没有用超算。
风云诡谲,这既是科学团队之间的竞争,也是人机两界赌神的战争。
2017年卡耐基梅隆大学团队又胜一筹。人工智能德州扑克系统 Libratus战胜人类。
显然,这是战争高发地区。时隔两年,硝烟再起。
回到开头一幕,2019年,卡耐基梅隆大学团队的人工智能系统再次战胜人类,而且是德州扑克六人组。
研究人员布朗谈到,“六人游戏要复杂得多,游戏结果很难预测。尽管在任何有限制的对战中都会存在纳什均衡,多人玩家游戏中纳什均衡难以有效计算,是否存在单一最优策略,即纳什均衡,还不能确定。”
研究团队不公开算法源代码。据推测,原因可能是,在线赌博和在线游戏平台的老板会非常生气。
不过为了科研交流,这项研究的细节以及与人类玩家的对弈的过程会在《科学》杂志上刊登。两个关键点:击败人类玩家、权威期刊认可。所以,不少中外科技媒体丝毫不吝啬赞美之词,评价为:“里程碑式的进步”,或者“人工智能新突破”。但是,这究竟是多大的进步,六人德州扑克沦陷了。下一站是哪?是不是中国的麻将、扑克升级、诈金花。
带着问题,我找到了美国佐治亚理工大学计算科学与工程系终身副教授宋乐博士。他也是第35届机器学习技术国际会议(ICML)署名论文数量排名第三的作者(与三位科学家并列)。
宋乐博士
二、解读“赌神”算法
理解人工智能打扑克的原理,需要先了解一下,究竟是围棋难,还是德州扑克难?
第一、德州扑克和围棋的玩法不一样,围棋的棋子在棋盘上皆可看到,而德州扑克是一种非完全信息问题,有公有牌、有私有牌。看得到自己的私有牌,看不到对手的私有牌,可以简单理解为信息不完全问题。所以,解决扑克牌的好方法是“非完全信息博弈下的悔恨值最小”这套方法。悔恨是一个让人反感的结果,人生的三个好词,久别重逢、虚惊一场与失而复得,虽然都包含过悔恨,但是最终都反转了结局才算是好词。八卦掌传人宫二,也是在生命快走到尽头的时候从 “人生如棋,落子无悔”中悟出“如果真无悔,那该多无趣。”
第二、 从“扑克牌状态空间很大”这个问题谈起。状态空间大就是可能的出牌的组合很大。在几轮下注的过程中,比如说打多少钱?要采取什么动作?打牌动作在这里的意思是,跟还是不跟?加大筹码还是不加筹码?筹码是十块钱还是二十块钱?这些事组合在一起有很大的一个空间。“状态空间”越大,问题越难解。以状态空间为标准来讨论难度,百岁的德州扑克超过了千年的古老游戏围棋。
宋乐教授继续讲解:“回到‘六人德扑赌神’这个话题上,难点在于游戏的状态空间很大,并不是在一台机器可以解这么一个东西,需要用超算。
这次‘赌神’的技术亮点怎么做到大规模,算力和存储都比较有限的情况下,解决一个大规模的非完全信息的博弈问题。”
“六人德扑赌神”和Counterfactual regret minimization这个算法有很大的关系。如前文第一部分“人工智能打德州扑克的历史”中提到的,这个算法在2007年人工智能机器学习顶级会议NIPS大会的论文《Regret Minimizationin Games with Incomplete Information》中提出。
人生戏与梦,赌场风与云。
转眼十二年了,诸多研究者依然在解决“非完全信息博弈的问题”的道路上不断前进。
宋乐教授一语道出了这个十二年前的算法的关键,“亮点就是简单、有效,且能在理论上证明可以得到纳什均衡。”
十二年前的算法为后人铺下了道路。
《数学简史:确定性的消失》一书曾说,数学不是天然的宝石,只是人工的。那么我们可以理解为,每一步有价值的研究都是科研工作者用心血打磨的宝石,普通的道路石子铺成的,而科研之路则由宝石铺就。
该人工智能系统的研究团队自己也在文章中写得很清楚,只是把这个十二年前的算法用在德州扑克上,并且在实践中效果好,理论上没有任何保证。也就是说Counterfactual regret minimization算法在二人德州扑克上具有理论保证,能够达到纳什均衡,但是用到六人德州扑克上不行。如果记得还不够清楚,请回到本文开头研究人员布朗原话——“多人玩家游戏中纳什均衡难以有效计算,是否存在单一最优策略即所谓的‘纳什均衡’,还不能确定。”
换句话说,这次新赌神算法虽然实现效果好,但是无理论保证。
宋乐博士解释:“可以理解为,算法是针对于德州扑克做了一个提高版。”。他进一步强调:“算法本身就是写在纸上的这么一个方法。算法思想是好的,但每个不同游戏,算法都要适配。”也就是说德州扑克赌神的算法并不是说直接就可以用到麻将、扑克升级、炸金花上去。
读到这里,在线赌博和在线游戏平台的老板们默默地在微信里收藏了本文,并转发给赌场运营人员。而人工智能的骨干技术人员则继续往下阅读,找到该技术的创新亮点。
三、解读“赌神”算力
很多人可能不清楚,举行一次人机对战的成本很高,其中一项就高在电费。这些机器人或者人工智能系统都是典型的“用电大户”。一场比赛对计算资源的消耗非常大。网友戏言李世石吃饭,人工智能用电。举一例来说,天河二号超级计算机,如果正常运行,每年耗电量约为2亿度,电费会超过1亿元。而阿尔法围棋下一盘的电费成本是3000美元,约合人民币20000多元。
这位“六人德扑赌神”会不会也面临着天价电费账单?
然而,答案是否定的。这篇《科学》在职的论文最大的亮点是它不用超算,只需要很少的计算资源就能完成,少到只需不到150美元的云计算资源。算法好了,就不用这么多计算资源,这确实是算法的进步。
《麻省理工科技评论》也点评了算力,“值得注意的是,以前的算法都要在超级计算机上运行,而人工智能德州扑克选手的算法在单个服务器上就能运行。”
问题一:真的用150美元的算力实现的?
不能用一句话简单的概括为,150美元的算力打败了人类选手。过程分为两个,一个是训练的过程,一个是实际打牌的过程。该研究团队有一系列打扑克的文章,研究团队算法以前的版本使用了超算。换句话说,用超算计算出一个精准、全面的模型。在实际打牌的过程中,算力少了是因为使用了近似的算法。
什么是近似算法呢?简单的说,就是研究人员观察到一种现象,用近似的算法去做这个问题,换句话说,改进主要是对原来的算法做了一个近似。能达到同样的效果,也是一种算法的改进。但是如果没有前期超算的算力投入,没有得出一个精准、全面的模型的情况,近似算法就是空中楼阁。没有第一层楼,哪有第二层楼?
问题二:如何解释近似算法呢?
宋乐教授解释说:“有点像真实世界一个场景,让不同的画家尽量真实的把它画下来。每个人的画法不同。有的画家画得特别好,寥寥数笔在画布上呈现景物动态。算法用蓝图策略模型(blue print strategy)的方法对游戏的收益函数做了一个降维的近似表征。这是《科学》杂志这篇论文技术上最大的亮点。在很小的存储和计算条件下做到了。但是这个提高,比较起二人德州扑克变化不大,算法用了在六人德扑上,并且人类德州扑克选手试了。主要出来是实际效果好。文章自己也这么说,没有太多新方法,更不能理解为机器学习和人工智能的里程碑。”
讲到这里,《人工智能新赌神:六人德州扑克被攻陷》的故事似乎可以落幕了,这并不能认为是机器学习的巨大进步。
四、人工智能反思:不要“里程碑”,要日拱一卒
人工智能机器人阿尔法击败韩国围棋选手李世石已三年有余。
对公众来说,人机对战实锤了人类围棋智慧的脆弱。对科技界来说,深度学习技术的爆发与广泛应用会载入科技史册。技术发展往往会按月度计算进程。摩尔定律以十八个月为周期。比尔·盖茨说微软永远离破产只有十八个月。在人工智能的纪元,三年已经很久了,但是这股自信转化为对人工智能无所不能的乐观情绪似乎没有消散。把旧的生产力给干掉,换成新的生产力。人工智能似乎在狂欢之中开上了高速公路。
计算机科学与技术专家、中国科学院院士、清华大学博士生导师,现任清华大学人工智能研究院院长,张钹2019年5月在接受《经济观察网》专访时公开表示:
“人工智能奇迹短期难再现,深度学习技术潜力已近天花板。”
很多人工智能研究人员、从业者认可这个观点。他们对鼓吹人工智能大踏步前进的论调非常反感:“什么时候有新算法,降低算力需求才是有意义的。”
人工智能的计算非常非常耗电,对环境的负面效应显著。而加大算力支撑这种势头似乎难以遏制。
有机构一出手就买60块英伟达DGX-2超算,近两亿人民币。
微软亚洲研究院首席研究员刘铁岩,曾在MSRA,AI讲堂2019校园行首站活动中谈到,“很多研究都在追求 ‘大力出奇迹’”。
另一位重量级学者,微软亚洲研究院副院长、国际计算语言学协会(ACL)主席周明,在雷锋网2019CCF-GAIR大会上谈到, “(人工智能在发展)无休止的计算资源军备竞赛。”
看来,算法不够,算力来凑,成了人工智能的“新款“解决方案。
但是算力真的会一直奏效吗?
谷歌AI在一篇新论文《The Evolved Transformer》中提出的神经网络架构搜索技术,将用于英语到德语翻译的双语评估替换(Bilingual Evaluation Understudy,BLEU)分数提高了0.1,为了这点提高,却花费了3.2万TPU小时。人工智能发展的车速在被高昂的算力硬拽,但是加速度却没有相应的提升。
机器学习的学术进步,积其跬步,日拱一卒。
这篇论文并不能带来机器学习的突破性发展。只是在大众比较关注的话题——六人德州扑克上取得了很好的效果。《科学》杂志一年十二期,每个月一期。一般几篇到十篇左右,并不是每篇都值得被赞颂为里程碑。
宋乐教授强调了科学进展的普遍规律:“前人的方法,加上后来者的努力,方法积累方法,进而带动提高,每一点的提高都非常不容易,科学研究就是慢慢地一步一步发展过来的。”
人工智能已经进入攻坚期,会有更多的困难等待着技术推动者。