原始机器心脏
作者:明

也许将来我们可以跟艾老师学打麻将,成为的后起之秀,麻雀坛?
麻将无疑是咸宜最著名的棋类游戏,老少皆宜。近年来,随着人工智能在围棋、德州扑克、Dota、星际争霸等众多游戏中的辉煌成就。,AI在麻将领域一直缺乏跨越式的突破。
近日,微软亚洲研究院研发的麻将AI系统Suphx成为国际知名专业麻将平台天风上首个晋级十个赛段的AI系统。这是AI系统目前在麻将领域取得的最好成绩,其实力超过了本平台开间人类顶级玩家的平均水平。
在今天刚刚开幕的上海世界人工智能大会上,微软全球执行副总裁沈向洋也正式宣布,微软亚洲研究院打造了号称史上最强的“麻将AI”AI sup hx,实力堪比人类顶级玩家。
其实今年的游戏突破像Dota和星际争霸更多的是一种综合能力,不仅是策略,还有运营和执行的能力。麻将等棋类游戏更多的是纯智力和策略,所以它的突破难度更大。微软亚洲研究院副院长刘铁燕表示:“可以说Dota这样的游戏更“游戏”,麻将这样的棋牌游戏更“AI”。」
微软Suphx麻将AI到底有多强?
日本在线麻将比赛平台“天风”因其完善的比赛规则和职业位置体系,成为业内知名的高水平职业麻将平台。目前,全球有近33万麻将爱好者参与平台,其中包括大量专业麻将玩家。
微软亚洲研究院开发的麻将AI系统Suphx于2019年3月登陆天风平台,在AI获准参与的开放式竞技室“特别室”与人类玩家进行了5000余场四人麻将游戏。6月,Suphx成功晋级第十阶段,成为特别室最高玩家之一,也是第一个达到天风第十阶段的AI系统。
这个位置仅次于最强的天风位置。目前平台上只有14名天风玩家晋升到天风位置,在只允许人类进入的私人房间“凤凰室”。据悉,鉴于Suphx的出色表现,天风平台正在讨论能否破例让其进入凤凰房。一旦出现这种情况,Suphx可能指日可待。
Suphx位列天风平台十大板块。
天风平台通过计算稳定位置来衡量玩家的实力水平。在多次比赛后保持一个高而稳定的位置是非常困难的。在5000多场比赛中,Suphx的稳定位置超过了8.7,这是一个非常高的数字。
据统计,即使是天风平台上所有顶尖的人类选手,十个位置之后也只有7.4的整体稳定位置。与所有做过天风10段的人类顶级选手相比,Suphx在特别室的稳定水平领先约1.3段,可见这位AI的非凡实力。
这样的麻雀神AI是怎么做出来的?这要从麻将所处的信息博弈不完善说起。
下棋打麻将。
从去德州扑克到麻将AI,近年来机器学习已经走了很长一段路。
以前围棋的难度主要体现在状态之间的复杂空。19×19棋盘上的每个位置都有“黑、白、无”三种状态,这个复杂度差不多是10 ^ 172。2017年,AlphaZero利用蒙特卡罗树搜索和深度强化学习,成功解决了包括围棋在内的多个完美信息博弈。
既然完美信息博弈打不过代理人,那就该探讨不完美信息了。在NIPS 2017的最佳论文中,“冷培大师”提出了新的子博弈求解技术,在一对一无限注德州扑克中击败了人类顶尖玩家。今年7月,冷培大师的进化版Pluribus在六人无限投注中击败了职业选手,通过限制搜索深度大大降低了计算能力需求。
但是德州扑克只有两个隐藏手,并没有太多隐藏信息。那么机器学习能否挑战隐藏信息更多、运气更好的游戏呢?从桥牌到麻将,微软对不完美信息游戏做了很多研究,在这个维度上还有很多问题值得探讨。
不同博弈的两个复杂性表现为:信息集的个数表示博弈的可观测状态,信息集的平均大小表示隐蔽性。
刘铁燕博士表示:“如果沿着看不见的隐藏信息维度将游戏的发展演绎到极致,我们会发现目前的游戏AI技术仍然有很大的发展空,需要更多的新技术。」
从完美到不完美的信息博弈
当博弈是完美信息时,只要有足够的计算能力,通过搜索肯定能找到最佳策略。
我们可以用搜索树来理解这个过程。比如棋手的每一步棋都可以看作是选择了一个子节点,那么整个棋局就可以表示为某一条路径。现在AI要做的就是选择能够带来胜利的道路。下面是最经典的搜索树。AI希望在每一个状态下最小化对手的最大利润。
刘铁燕博士说:“即使像Go 空这样非常复杂的游戏,只要在搜索过程中加入一些指导和修剪,也可以在有限的计算能力下找到一个好的决策。」
现在再看看德州扑克、麻将等不完善的信息游戏。他们和围棋有很大的不同。因为参与者不知道对方的牌,AI基本上无法前进。尤其是当参与者只知道几张牌,而周围的缺失信息远远超过已知信息时,模型只能靠“预测”。对于这类游戏,核心技术不再是树搜索,而是在某种预测的指导下进行决策。

"完全信息博弈和不完全信息博弈,它们的基本指导思想是非常不同的. "刘铁燕博士说,“在信息不完全的情况下,做出预测比简单的搜索更重要。」
除了牌和对手手的不可见性,麻将的游戏顺序也有很大的不确定性。想象一下,象棋和围棋是用一只手和一个手轮来下的。但麻将天生就有“吃碰棒”,会随机打乱游戏秩序。在这种情况下,麻将的博弈树是非常不规则和动态的,我们无法判断搜索什么时候会跳到另一个区域,所以传统的树搜索很难真正起作用。所以我们需要新技术来进行预测和预报。
这样看来,虽然围棋或者麻将对于人类来说只是不同的玩法,但是完全信息和不完全信息对于强化学习代理人的影响仍然是巨大的。
AI能做什么?
既然麻将和围棋AI本质不同,那么这个任务之前是怎么解决的呢?早期麻将AI人工编码领域知识进入游戏AI程序。后来随着深度学习和强化学习的流行,人们开始研究利用它们自动学习和强化游戏AI的能力。微软的Suphx基于深度强化学习,同时发明了很多针对不完美信息博弈的新技术。
但这里有个问题。前面我们都从博弈论的角度讨论了围棋和麻将。如果要用博弈论和强化学习来解决麻将游戏,两者之间有什么关系?
刘铁燕博士说,博弈论是一个相对宽泛的概念,现实中的很多策略都是通过博弈论设计出来的。一般规则简单的博弈都能推导出最佳策略,只要代理人按照策略博弈,就不太可能输。比如德州扑克的双人游戏,我们可以通过纳什均衡推导出最佳策略。
但是对于更复杂的麻将,博弈论只能作为一个框架来指导代理玩自己的游戏,或者作为设计各种奖励函数的指导。博弈论主要提供设计思路,不能提供建模能力,需要加强对这种可计算方式的研究,寻找更好的解决方案。
博弈论和强化学习的结合更像是指导和实践的结合,在麻将AI的创造过程中扮演着不同的角色。
Suphx是怎么做出来的?
不完全信息博弈的困难前面已经介绍过了。但是除了不完全信息,麻将的地位空和奖励机制是非常复杂的。比如奖励机制,因为一轮游戏由8局组成,所以每局的分数都是按照牌种和牌数来计算的,最后8局的总分数最终会影响分段奖惩。但是卡种和卡数的计算规则非常复杂,如何给代理商分配奖励非常重要。
为了解决这些问题,微软Suphx通过一系列新的强化学习算法,使智能体具备策略学习和全局意识的能力,从整个游戏的高度做出策略判断。总的来说,Suphx的技术创新主要分为以下三个部分:
自适应决策,先知教练的整体预测
1.针对庞大的状态空,Suphx将动态调控探索过程的多样性,从而比传统算法更充分地探索游戏状态的不同可能性。另一方面,一旦给了某局的手牌,其地位空就会大打折扣,Suphx也可以相应调整。
因为麻将每次洗牌都会有不同的牌面,所以代理也要学会把之前的出牌经验和这一局的牌面联系起来,以便调整策略。研究团队要求Suphx在推理阶段根据当前一轮手游动态调整策略,在约简状态空中进行更有针对性的探索,从而更好地根据这一轮手游的演变做出适应性决策。
简单来说,适应性决策会让代理人学到很多东西,然后在离线推理过程中根据实际情况调整出牌策略,以适应不同的初始牌。
2.针对不完全信息博弈,Suphx创新性地使用“先知蔻驰”技术来提高强化学习的效果。其基本思想是在自我博弈的训练阶段,利用一些看不见的隐藏信息来指导模型的训练方向,使其学习路径更接近完美信息意义下的最优路径。从而迫使AI模型更深入地理解可见信息,找到有效的决策依据。
也就是说,在自我博弈的过程中,先知教练可以“窥探”最后的牌,他要在近乎完美的信息下决定如何出牌。然后据此可以训练看不到牌的AI智能体。这将引导代理根据当前的牌局“预测”对手的手牌和牌可能是什么样子,做出更正确的决策。
3.鉴于麻将牌复杂的表现形式和计分机制,研究团队还利用整体预测技术,在每场比赛和8场比赛的最终结果之间搭建了一座桥梁。这种预测器通过巧妙的设计,可以了解每场比赛对最终比赛的不同贡献,从而合理地将最终比赛的奖励信号分配回每场比赛,从而更直接有效地指导自我比赛过程,使Suphx能够以全局观学习一些高级技能。
麻将的随机性呢?
麻将和其他棋牌游戏有很大的区别。麻将有很多随机性,比如最初的牌面,摸的牌,吃饭摸杠的顺序等等。Suphx的很大一部分工作就是对这些随机性进行建模,之前介绍的先知蔻驰和整体预测也在处理这个问题。
在训练的过程中,麻将的随机性是不可控的。如果代理人一开始就从不完全信息出发,那么它根本不知道如何制定策略。这种随机性会使智能体在训练过程中波动很大,他们会以略微不同的可观测信息得到非常不同的策略。所以先知教练会间接的让智能体在完全信息的指导下进行训练,从而在一定程度上消除这些随机性,从而学习更稳健的策略。
虽然先知教练可以消除训练过程的随机性,但是真实的比赛会产生新的随机性,因为当局者的牌和卡会焕然一新,这在训练过程中是前所未有的。自适应决策试图利用以前的一般学习结果,快速适应当前的手牌游戏,从而抵抗换牌带来的随机性。总的来说,Suphx几乎所有的核心技术都在试图处理信息不完善带来的随机性。
想象一下,如果代理人通过各种技术对随机性建模,就相当于预测了所有隐藏的牌和牌,麻将又回到了完美的信息博弈。而完美的信息博弈,只要有足够的计算能力,肯定能找到非常好的解决方案。
Suphx需要数学基础。

如果读者想尝试麻将AI,那就注意了,也许你需要的数学基础比一般的机器学习还要强。刘铁燕博士表示,在整个游戏AI中,具备以下数学知识非常重要:
统计学知识:麻将中需要对大量的随机性进行估计和建模;博弈论知识:麻将需要形式化为游戏过程,并作为模型设计的指导;机器学习知识:线性代数、最优化方法等常规数学基础。
很多机器学习算法工程师不太懂博弈论,但是做麻将AI确实需要一些跨界的知识。例如,机器学习是一种纯粹的统计方法。我们看重的是模型的平均效果,而博弈论更看重的是最坏的情况。他们的世界观有些不同。
其实和AlphaGo一样,几乎都是纯机器学习团队打造的,而冷普大师的德州扑克团队更注重博弈论。所以对于他们的研究或者论文,风格是很不一样的。
所以对于麻将,我们不能用纯机器学习来建模,也不能用博弈论来处理这么复杂的游戏。两者结合才能为Suphx提供足够强大的基础。


