围棋AlphaGo点燃的AI之火渐渐降温之际,人类在传统娱乐项目麻将上的成绩,也被一次次按在地上“摩擦”。近日,在IJCAI 2020麻将人工智能竞赛中,来自腾讯AI的SuperJong团队采用强化学习模型从零开始自我对弈训练,以1338分取得冠军。这是一个非常不错的成绩。
与围棋等游戏不同的是,麻将更加规则复杂、胜负判定繁琐、信息非完全公开的,且更重要的是在公众认知中麻将更多地有“运气”和“凭直觉”的成分。换句话说,如果一个人运气比较差,拿到一手烂牌,可能再强的实力也只能是输得不那么难看。所以,麻将不像围棋一样,不能单靠一轮对弈,而是要通过多轮(甚至上千轮)对弈才能看出一个雀士的实力。
这次冠军队是个人参赛,来自腾讯AI,所采用的方式是强化学习算法框架。如上所示,比赛前4名也被强化学习包揽,北京大学有6支以个人参赛的队伍也打进了16强。未使用强化学习的队伍主要采用搜索、剪枝、专家经验等方法,设计估值函数时考虑了向听数、游戏巡目等因素。
冠军团队来自腾讯,参赛者以个人参赛,用名Yata。其设计的SuperJong模型架构是一个非常深的卷积神经网络(CNN)。
在训练中使用不仅包含可见的信息,也包含不可见的信息。模型架构倾向于从零开始“自我发挥”,相当于在异步训练。为了充分利用CNN的优势,SuperJong将大部分相关信息编码成类似图像特征,包括玩家牌的特征,例如顺子、杠、对等。这其中也涉及到了非完美信息问题,因为在麻将中,每个玩家除了手中的13张牌和已经打出的牌外,其他玩家手中的牌和剩余的底牌都是未知的(最多可以有超过120张未知的牌)。
由于隐藏信息过多导致游戏树的宽度非常大,树搜索算法基本不可行。为了克服非完美信息博弈的问题,研究者在训练阶段利用不可见的一些隐藏信息来引导AI模型的训练方向,让它的学习路径更加清晰、更加接近完美信息意义下的最优路径,从而倒逼AI模型更加深入地理解可见信息,从中找到有效的决策依据。
具体的算法设计如上图所示,研究者采用了“Shanhu”特征,即考虑当前牌面和胡牌的差距,可以通过弃掉一些不需要的牌从而得到一些需要的牌,把现在的牌变成胜算较大的一副牌。Shanhu特征的思维贯穿了模型设计的始末。在模型设计中,通过输入所有相关信息。研究者构造了一个端到端的神经网络。最后,神经网络会输出所有动作的概率,在训练过程中,利用全局值使网络更准确地预测状态值。
整个神经网络一共有“三大块”(OWN、Others、Global),每一块都有三个残差层和一个过渡层,过渡层的作用是用来控制模型复杂度。至于训练方法,采用的是近端策略优化算法,可以被用于连续空间任务和离散空间任务。PPO提出了新的目标函数可以再多个训练步骤实现小批量的更新,解决了Policy Gradient算法中步长难以确定的问题。
在训练过程中,采用从零开始的“自我”训练方法,没有使用任何人类数据。此外,研究者还发现,损失函数的方法比较大,这可能导致不同玩家的得分差距非常大。所以,研究者采用了不同的强化奖励方式,稳定了训练过程。
比赛官网:https://www.botzone.org.cn/static/gamecontest2020a_cn.html
此比赛借助IJCAI平台举办,要求参赛者在在线人工智能平台Botzone上开发一个能够与其他人工智能和人类玩家比赛的麻将人工智能。比赛中采用《中国麻将竞赛规则》,即俗称的国标麻将。此外,组委会还为国标麻将初学者提供了样例程序和比赛使用的国标麻将裁判程序,方便参赛者学习国标麻将的规则并调试你的程序。最终比赛的胜者经由两轮正式的竞赛角逐诞生。
比赛配备了强大的评审团队,不仅包括北京大学的李文新,邓小铁等等AI领域的专家,还有麻将圈的知名人士,国际麻将联盟秘书长:李文龙。
以上是前十六强队伍开发人力投入情况,冠军方案是由两人合力完成,共奋战了21天,采用了100个CPU以及两个GPU。算力投入最多的队伍是“清澄高校”,团队以快手公司参赛,使用了180个CPU以及32个GPU,大力出奇迹!
微智娱的Test队伍排名第十三,奋战了60天,只用了4个CPU和2个GPU训练神经网络,算法效率极其高。所用人力最少的队伍是清华大学的“点个大的”团队,一人参赛,开发三天,高手榜排名第十。值得一提的是,“点个大的”并未使用强化学习算法,而是使用的“搜索+剪枝”。之前AI在围棋和德州扑克上的成功很大程度依赖于搜索算法,因为搜索可以最大程度地发挥计算机的计算优势。
但是因为巨大的信息集平均大小带来的环境不确定性,传统的搜索算法在桥牌和麻将面前很难发挥同样的功效。通过这次的比赛,我们也可以看出,麻将AI的研究为游戏AI在开辟了新的方向,并进行了极大地拓展。我们所生活的世界也正是一个非完美信息的决策过程,麻将游戏中复杂的推理策略和带有随机性的博弈过程,比完美信息游戏更加贴近人类复杂的真实生活。
对非完美信息游戏的研究,将有助于我们开发出适用于真实生活场景的更加“智能”的AI系统。点击阅读原文,查看更多精彩!