微软亚洲研究院■它的十段功力是如何修炼的,微软麻将AI超越99%人类玩家( 三 )


微软亚洲研究院■它的十段功力是如何修炼的,微软麻将AI超越99%人类玩家
文章图片
图4:左边为正常可观测信息 , 右边为完全信息(包括对手手牌墙牌这些“完美”信息)有了这些“不公平”的完美信息 , “先知”在经过强化学习训练后 , 很容易成为麻将超级高手 , 安定段位也很容易就可以超过20段 。 如何利用“先知”来引导和加速AI的训练呢?实验表明 , 简单的知识萃取(knowledgedistillation)或者模仿学习(imitationlearning)并不能很好地把“先知”的“超能力”转移到AI系统上——对于一个只能获取有限信息的正常AI来说 , 它很难模仿一个训练有素的“先知”的行为 , 因为“先知”的能力太强 , 普通AI无法理解 。 比如 , “先知”看到了其他玩家的手牌 , 知道每个玩家胡什么牌 , 所以它可以打出绝对安全的牌 , 避免点炮 , 然而正常的AI并没有这些信息 , 它可能完全不能理解为什么“先知”会打这张牌 , 所以也不能学到这种行为 。 因此 , 研究人员需要一个更聪明的方法 , 用“先知”来引导正常AI的训练 。
微软亚洲研究院■它的十段功力是如何修炼的,微软麻将AI超越99%人类玩家
文章图片
在Suphx中 , Suphx研发团队首先使用包括完美信息在内的所有特征来对“先知”进行强化学习训练 , 在这一步中控制“先知”的学习进度 , 不能让其过于强大 。 然后 , 通过对完美特征增加mask逐渐使“先知”最终过渡到正常AI 。 接着 , 继续训练正常AI并进行一定数量的迭代 , 采用衰减学习率和拒绝采样的技巧来调整训练过程 , 让AI的技术不断精进 。 参数化的蒙特卡洛策略自适应对一个麻将高手来说 , 初始手牌不同时 , 打牌策略也会有很大的不同 。 例如 , 如果初始手牌好 , 他会积极进攻 , 以获得更多的得分;如果初始手牌不好 , 他会倾向防守 , 放弃胡牌 , 以减少损失 。 这与此前的围棋AI和星际争霸等游戏AI有很大的不同 。 所以 , 如果能够在对战过程中对线下训练的策略进行调整 , 那么就可以得到更强的麻将AI 。 蒙特卡洛树搜索(MCTS)是围棋等游戏AI中一种成熟的技术 , 以提高对战时的胜率 。 然而遗憾的是 , 如前所述 , 麻将的摸牌、打牌顺序并不固定 , 很难建立一个规则的博弈树 。 因此 , MCTS不能直接应用于麻将AI 。 在Suphx中 , Suphx研发团队设计了一种新的方法 , 命名为参数蒙特卡洛策略自适应(pMCPA) 。 当初始的手牌发到麻将AI手中时 , 通过模拟来调整离线训练好的策略 , 使其更适应这个给定的初始手牌 。 微软亚洲研究院的实验表明 , 相对麻将隐藏信息集的平均大小10的48+次方倍而言 , 模拟的次数不需要很大 , pMCPA也并不需要为这一局手牌收集所有可能后续状态的统计数据 。 由于pMCPA是一种参数化的方法 , 所以微调更新后的策略可以帮助研究团队将从有限的模拟中获得的知识推广泛化到未见过的状态 。 天凤平台在线实战在经历这样的训练后 , Suphx就可以“出道”了 。 Suphx已在天凤平台特上房和其他玩家对战了5000多场 , 达到了该房间目前的最高段位10段 , 其安定段位达到了8.7段(如图5所示) , 超过了平台上另外两个知名AI以及顶级人类选手的平均水平 。
微软亚洲研究院■它的十段功力是如何修炼的,微软麻将AI超越99%人类玩家
文章图片
图5:天凤平台“特上房”安定段位对比在实战中Suphx非常擅长防守 , 它的4位率和点炮率(deal-inrate)都尤其低(如图6) 。 此外 , Suphx“牌风”比较鲜明 , 也另辟蹊径地创造了许多新的策略和打法 , 例如它特别擅长保留安全牌 , 倾向于胡混一色等等 。 图7展示了Suphx在天凤平台实战时保留安全牌的一个例子 。 当前时刻Suphx(南家)需要丢牌 , 人类玩家在这时通常会丢北风 , 但是Suphx丢掉一张7条 , 这在人类玩家看起来会觉得很不寻常 , 因为7条是一张好牌 , 丢掉7条会使得胡牌的进度变慢 。 Suphx之所以丢掉7条而留住北风 , 是因为北风是一张安全牌 , 这样在未来某一时刻 , 如果有人突然立直要胡牌了 , Suphx可以打出北风而不点炮 , 这样后面还有机会胡牌;如果它在前面已经把北风丢掉 , 那这个时候为了打出一张安全牌就不得不拆掉手里的好牌 , 从而大大降低了胡牌的可能 。


推荐阅读