微软最强麻将AI首次公开技术细节!专业十段水平,或能用于金融预测

智东西(公众号:zhidxcom)
编 | 董温淑

智东西4月3日消息,微软公司于去年8月推出了一个名为Suphx的麻将人工智能系统,并在麻将游戏社区Tenhou中对其进行测试。据悉,Tenhou是世界上最大的麻将社区之一,拥有超过35万活跃用户。

根据测试结果,Suphx最高成绩为10段。这是目前为止,世界上第一个也是唯一一个达到10段水平的人工智能。Tenhou社区中的人类玩家也证实Suphx具有超强学习能力,99.99%的玩家认为模型经过训练后表现有所改善。

本周,微软团队发布了一份修订版预印本文件,对Suphx进行了全面介绍。目前这项研究发表在学术网站arXiv上,论文题目为《Suphx:用深度强化学习打麻将(Suphx:Mastering Mahjong with Deep Reinforcement Learning)》

论文链接:https://arxiv.org/pdf/2003.13590.pdf

微软最强麻将AI首次公开技术细节!专业十段水平,或能用于金融预测

一、麻将:规则复杂的不完全信息博弈

麻将是一种多玩家参与、多轮牌的不完全信息博弈游戏。

每一局麻将又包含许多回合。一局游戏的胜负是由累积回合分数决定的,输掉一圈并不意味着玩家满盘皆输。为了保证最后胜出,玩家有可能会故意输掉一局。

另外,麻将游戏的“胡牌”方式非常多。不同的“胡牌”方式下,牌面也有很大不同。相应地,每回合游戏的得分也就不同。

所谓不完全信息博弈,是指参与者并不了解博弈的全部情况。在麻将游戏中,每位玩家手中最多有13张别人不可见的牌。牌墙中的14张牌对所有玩家都不可见。此外,牌桌中央还有70张牌。只有被玩家摸回或打出时,这部分牌的牌面才可见。

在这种规则下,玩家每做出一个选择,接下来的牌局就可能出现10个以上的走向。玩家很难仅仅依据自己手中的牌来判断接下来的动作,而是要经过仔细的思考与权衡。

这也正是建立麻将人工智能模型的难点所在:人工智能很难将奖励信号与观察到的信息联系起来。

微软最强麻将AI首次公开技术细节!专业十段水平,或能用于金融预测

二、Suphx:两天训练150次,熟练掌握5种模式

在微软的研究中,研究人员选择用日本4人麻将(Riichi Mahjong)规则训练Suphx模型,训练数据来自Tenhou社区。

培训过程耗时两天,研究人员在44个图形处理单元上、用150万个游戏对模型进行了训练。

1、原型:深度卷积神经网络

深度卷积神经网络(deep convolutional neural networks)曾在围棋、象棋等游戏中应用,其强大的表示能力已经得到了验证。Suphx也选择深度卷积神经网络作为原型。

不同于棋类游戏的是,麻将玩家获得的信息并不是自然的图像格式。为此,研究人员设计了一套特征,将观察到的信息编码为深度卷积神经系统能理解的形式。

研究人员把每位玩家的私有牌编码成4个频道。图示有4行34列,每一行对应一个频道,每一列对应一种牌。第n个通道中的第m列表示玩家手中有n个m类型的牌。每种牌都可被表示为一个34维向量。

微软最强麻将AI首次公开技术细节!专业十段水平,或能用于金融预测

同时,研究人员还降低了计算复杂程度:规定执行深度搜索时优先找到可能的赢家;Suphx不考虑对手的行为,只专注于寻找可能获胜的牌面。

2、训练方式:有监督学习+分层强化学习,学会5种模式

训练过程中,原型先利用人类职业玩家的数据进行有监督学习(supervised learning),然后再进行分层强化学习(self-play reinforcement learning)。研究人员设计应用策略梯度算法(policy gradient algorithm)来进行分层强化学习。

微软最强麻将AI首次公开技术细节!专业十段水平,或能用于金融预测

Suphx学习了5种模式来处理不同的情况。分别是:弃牌(discard)模式、Riichi模式、Chow模式、Pong模式和Kong模式。

微软最强麻将AI首次公开技术细节!专业十段水平,或能用于金融预测

所有模式都用网络结构表示。弃牌模式对应34张牌,有34个输出神经元。其他模式仅有两个输出神经元,分别对应执行或不执行操作。

微软最强麻将AI首次公开技术细节!专业十段水平,或能用于金融预测

3、GRU网络+Oracle代理+pMCPA

除上述设定外,微软团队还引入了其他几种技术:

全局奖励预测器(GRU网络)。该预测器可以提前预测游戏的最终结局,提供有效的学习信号,从而使策略网络可执行。

微软最强麻将AI首次公开技术细节!专业十段水平,或能用于金融预测

Oracle代理。一个强大的作弊软件,可以帮助玩家看到对家的牌面。在Suphx的模型学习过程中,研究人员剔除了Oracle代理的一部分功能,使其变成一个普通代理、只能输入可见信息。相比标准的深度学习过程,利用Oracle代理进行训练加速了模型的学习过程。

参数化的蒙特卡罗策略自适应算法(pMCPA)。复杂的麻将规则导致了不规则的游戏树,阻碍了蒙特卡洛树搜索技术的应用。为了解决这一问题,研究人员引入了参数化的蒙特卡罗策略自适应算法(pMCPA)。pMCPA会不断调整离线学习策略,使其能适应突发的游戏情节(比如4个玩家丢弃了公共牌)。

4、胜负评判模型

Suphx利用了一个基于规则的胜负评判模型。该模型可以检查其他玩家打出的牌及牌强中的牌能否组成获胜牌面。假设组成了获胜牌面,模型就根据以下规则做出判定:

如果这不是游戏的最后一轮,宣布这一轮当前玩家赢;

如果这是游戏的最后一轮,但是当前玩家的累积总分在四位玩家中最少,则不宣布。反之,宣布当前玩家这一轮赢。

三、决策过程:按规则摸牌打牌,模型判定胜负

在游戏中,需要麻将玩家采取行动的情形有两种:从牌墙中取牌和打出牌。对于Suphx来说也一样。

微软最强麻将AI首次公开技术细节!专业十段水平,或能用于金融预测

1、从牌墙中取牌

从牌墙中抽牌时,如果Suphx抽到的牌可以与其私有牌凑成获胜牌面,则由胜负评判模型判定是否获胜。如果获胜,就结束一轮游戏。

如果抽取的牌可以与私有牌凑成Kong的牌面(ClosedKong或AddKong),kong模式将决定凑成哪一种牌面。如果是ClosedKong,关闭Kong操作,退回抽牌步骤;如果是AddKong,其他玩家就可以使用。

如果凑不成Kong,就进行Riichi步骤。在私有牌可以排列出Riichi牌面的前提下,Riichi模式决定是否声明这一结果。如果不声明,直接转到弃牌步骤;如果声明,在声明后转到弃牌步骤。

弃牌步骤中,模型打出相应的牌。游戏继续进行下去,直到牌墙中的牌被打完。

2、其他玩家弃牌

另外一种情况是其他玩家弃牌。如果Suphx可以用弃牌与私有牌组成获胜牌面,则由评判模型判定。模型判定获胜,游戏结束。模型判定失败,Suphx会尝试组成Chow、Pong或Kong牌面。如果无法组成这三种牌面,就轮到其他玩家行动。

四、评估:Suphx成最强麻将AI

在Tenhou平台上有两种游戏室,分别是专家室和凤凰室。专家室对人工智能和4段及以上的人类玩家开放;凤凰室只接受7段以上的人类玩家。根据这项规定,研究人员在专家室对Suphx进行了评估。

在专家室中,Suphx进行了5760次游戏,最高记录是10段(dan),平均成绩是8.74段。而根据Tenhou平台统计,在其35万用户之中,能达到10段水平的玩家仅有180人。

微软最强麻将AI首次公开技术细节!专业十段水平,或能用于金融预测

在论文中,研究人员称Suphx在防御方面“非常强大”。它开发出了自己的玩法,能够在保证己方私有牌安全的情况下取胜。

结语:Suphx有巨大应用潜力,或可用于金融预测

经过学习,Suphx模型能够掌握麻将游戏的规则并在游戏中取得较好成绩,这说明了它具有超强的学习能力。

研究人员认为,这种学习能力可以在许多其他领域发挥作用。比如在企业的运营中,Suphx可以帮助处理普通但是占用认知的任务,从而解放员工生产力。

除此以外,该模型或能用于金融预测。论文中写道:“金融市场预测和逻辑优化等现实世界中的大多数问题都与麻将具有相同的特征,即规则复杂、信息不完善。”因此,Suphx模型对于现实世界具有“巨大的应用潜力”。

论文中写道:“展望未来,我们将向Suphx引进更多新技术,并继续推进麻将人工智能和不完全信息博弈游戏的前沿研究。”

文章来源:VentureBeat,arXiv