1. 针对巨大的状态空间,Suphx 会对探索过程的多样性进行动态调控,从而比传统算法更加充分地试探牌局状态的不同可能。另一方面,一旦某一局的底牌给定,其状态子空间会大幅缩小,Suphx 也就能进行有针对性的调整。
因为麻将每一次洗牌都会有不同的牌面,所以智能体还要学会将以前的打牌经验与本局的牌面联系起来,从而调整策略。研究团队让 Suphx 在推理阶段根据本轮的牌局来动态调整策略,对缩小了的状态子空间进行更有针对性的探索,从而更好地根据本次牌局的演进做出自适应的决策。
简单而言,自适应决策会令智能体进行大量的学习后,在离线推理过程中还根据实际情况调整打牌策略,这样才能适应不同的初始牌面。
2. 针对非完美信息博弈,Suphx 创新性地使用「先知教练」技术来提升强化学习的效果。其基本思想即在自我博弈的训练阶段利用不可见的一些隐藏信息来引导模型的训练方向,使其学习路径更加接近完美信息意义下的最优路径。从而迫使 AI 模型更加深入地理解可见信息,并找到有效的决策依据。
也就是说在自我博弈的过程中,先知教练是可以「窥探」到底牌的,它要在近乎完美信息的情况下决定如何出牌。然后再据此为指导,去训练看不到底牌的 AI 智能体。这样会引导智能体根据目前的牌局「预测」对手的手牌和底牌可能是什么样的,并作出更正确的决策。
3. 针对麻将复杂的牌面表达和计分机制,研究团队还利用全盘预测技术搭建起每局比赛和 8 局终盘结果之间的桥梁。这个预测器通过精巧的设计,可以理解每局比赛对终盘的不同贡献,从而将终盘的奖励信号合理地分配回每一局比赛中,以便对自我博弈的过程进行更加直接而有效的指导,并使得 Suphx 可以学会一些具有大局观的高级技巧。
那么麻将的随机性呢
麻将与其它棋牌游戏有一个很大的差别,麻将拥有大量的随机性,例如每次初始的牌面、摸到的牌、吃碰杠打乱的顺序等等。Suphx 很大一部分工作都在建模这些随机性,前面介绍的先知教练与全盘预测也都是在处理这个问题。
在训练过程中,麻将的这种随机性是不可控的,如果智能体一开始就从非完美信息出发,那么它是完全不知道该怎么制定策略的。这种随机性会令智能体在训练过程中产生很大的波动,在稍微不同的可观测信息下获得很大不同的策略。所以先知教练会间接地让智能体在完全信息的指导下进行训练,从而在一定程度上消除这些随机性,以便学习到更加鲁棒的策略。
虽然先知教练可以消除训练过程的随机性,但是真正对弈的时候会产生新的随机性,因为当局的牌面和底牌都会焕然一新,是训练过程中没有见过的。自适应决策则尝试利用以前的通用学习结果,并快速地适应当前牌局,从而抵抗底牌变化带来的随机性。总体来说,Suphx 几乎所有核心技术,都在尝试处理不完美信息带来的随机性。
想象一下,如果智能体通过各种技术建模了随机性,那么就相当于预测出所有的隐藏牌面和底牌,麻将又回到了完美信息博弈。而完美信息博弈,只要有足够的算力,那么一定可以找到非常优秀的解。
Suphx 需要数学基础
如果读者们想要试试麻将 AI,那么注意了,可能你需要的数学基础要比一般的机器学习还强一些。刘铁岩博士表示,在整个游戏 AI 中,有以下数学知识非常重要:
统计学知识:需要对麻将中的大量随机性进行估计与建模;
博弈论知识:需要将打麻将形式化为博弈过程,并将其作为模型设计的指导;
机器学习知识:线性代数、最优化方法等常规的数学基础。
很多机器学习算法工程师并不太了解博弈论,但做麻将 AI 确实需要一些跨界知识。例如机器学习是一种纯统计的方法,我们看重的是模型平均效果,而博弈论更看重最差的情况,它们两者间的世界观都有一些不同。
其实像 ,它几乎是由纯机器学习团队构建的,而冷扑大师的德州扑克团队关注更多的是博弈论。所以对于他们的研究或论文,风格是非常不同的。
因此,对于麻将,我们既无法通过纯机器学习来建模,又无法通过博弈论处理这么复杂的博弈。只有结合两者,才能为 Suphx 提供足够强大的基础。