论文介绍
论文链接:https://arxiv.org/abs/2103.06426
论文源码:https://github.com/indylab/nxdo.
论文发表于NeurIPS 2021,属于多智能体强化学习领域。目前我还没有找到介绍这篇paper的相关博客。写一点自己的心得就当作是抛砖引玉了。
Policy Space Response Oracles(PSRO)是一种用于双人零和博弈的强化学习(RL)算法,根据经验证明可以在大型博弈中找到近似的纳什均衡。虽然PSRO保证收敛到近似的纳什均衡并且可以处理连续的动作,但随着信息状态(信息状态)数量的增长,它可能需要指数级的迭代次数。
本文提出了Extensive-Form Double Oracle(XDO),这是一种用于两人零和博弈的Extensive-Form Double Oracle算法,保证在信息状态的数量中线性收敛到近似的纳什均衡。与 PSRO 不同,PSRO 在游戏根节点上混合最佳响应,而 XDO在每个子状态下混合最佳响应。文章还介绍了基于神经网络的XDO(NXDO),也就是通过深度RL学习最佳响应。
在Leduc扑克的表格实验中,发现XDO在比PSRO小一个数量级的迭代次数中实现了近似的纳什平衡。对修改后的Leduc扑克游戏和Oshi-Zumo的实验表明,在相同的计算量下,表格XDO的可利用性低于CFR。文章还发现,NXDO在连续多维连续动作游戏中的表现优于PSRO和NFSP。NXDO是第一个可以在高维连续动作顺序博弈中找到近似纳什均衡的深度RL方法。
核心算法
相关知识
- Extensive-Form Games
展开式博弈/拓展式博弈,这部分可以参考:https://zhuanlan.zhihu.com/p/199047997 - NFSP
神经网络虚拟自我对局 NFSP 算法,这部分可以参考:https://www.jianshu.com/p/bcbc41125c54 - PSRO
Policy Space Response Oracles ,这部分可以参考:https://blog.csdn.net/Xixo0628/article/details/126405395
XDO
与其他 DO 算法一样,XDO 维护纯策略的扩展,并在每次迭代中计算此总体的meta-NE 。然后算法找到meta-NE 的最佳响应(BR),并将其添加到种群中。
在PSRO中,受限制的形式博弈是由总体策略的经验收益矩阵诱导的。而在 XDO 中,通过对原始基础广泛形式游戏的转换来诱导受限制的扩展形式博弈,该转换将每个信息状态处允许的操作限制为仅由种群中出现过的策略。形式化后即为:
论文给出了伪代码方便理解。初始化种群为随机策略。在循环中,首先是根据上面式子选择动作,构成动作受限的博弈,然后求解在该动作空间下近似NE的一个解,并求出这个解的一个BR策略,将这个解加入到种群中去,如果双方的BR均优于那个近似NE的解,就终止循环。
。
下图为从左到右是三次XDO迭代,P2决策时,并不知道P1选择的第一个动作是什么。
在第一次迭代(左图)中,玩家 1 添加了一个 BR,该 BR 在第一个信息状态(根)处选择“左”,在第二个“信息状态”处选择“右”。玩家 2 同时添加一个 BR,该 BR 在其单个信息状态下选择 Right 。受限制的游戏现在仅包含这些添加的操作。在第二次迭代(中间图)中,玩家 1 添加了一个在两个信息状态下选择 Right 的 BR,而玩家 2 的 BR 仍然在右侧选择。受限制的游戏现在包括根信息状态的两个操作,但只有Right 在元NE中。接下来,在第三次迭代(右图)中,玩家 1 保持相同的 BR,而玩家 2 的 BR 则选择左。在这个最终限制游戏的元NE中,玩家1在第一个信息状态下以相等的概率玩左和右 ,玩家2以0.37的概率玩左手,以0.63的概率玩右。由于此元 NE 的 BR 不会添加任何新操作,因此 XDO 将终止,并且元 NE 是完整游戏的 NE。请注意,在此示例中,大多数操作都需要查找 NE。在这样的游戏中,从一开始就简单地解决原始游戏会更快。
但是,某些游戏,只需要在一小部分动作上混合,在这种情况下,解决XDO限制游戏将比解决原始游戏快得多。
NXDO
Neural Extensive-Form Double Oracle (NXDO) 通过深度强化学习 (DRL) 将 XDO 扩展到大型游戏。NXDO 不是使用 oracle 最佳响应,而是使用通过任何 DRL 算法(如 PPO或 DDQN)训练的近似最佳响应。NXDO 不是将受限制的游戏显式表示为每个信息状态中允许的操作集,而是创建其受限制的游戏,将原始游戏操作空间替换为一组离散的元操作,每个元操作对应于实际操作选择委派给的种群策略。
相比XDO算法,区别就是寻找BR时使用了DRL策略。
实验
通过实验曲线可以发现,文中提出的XDO、NXDO相比NFSP、PSRO,在求解更高动作空间维度的博弈时,有着更好的求解效率。
总结
PSRO和NXDO是唯一现有的可以用于大型连续动作游戏的博弈论深度RL方法。在游戏中,NE必须混合许多信息状态,但在每个信息状态下,所有操作中只有一小部分支持NE、因为PSRO可能需要超线性甚至指数级数量的纯策略。在离散动作游戏中,NE只需要混合一小部分动作。
这是因为 CFR 和 NFSP 随游戏中的操作数量扩展性较差,但 XDO 和 NXDO往往会发现一组相关操作,并忽略主导或冗余的操作。所以总体上来说,XDO和NXDO在动作存在冗余、动作空间较大的问题上,有着更好的收敛性能。而现实中,很多问题都满足这两个要求。
其实我个人理解起来,XDO其实没有修改很多PSRO的框架,只不过在其基础上增加了博弈树的展开形式,从一个矩阵博弈的形式,变成了展开树博弈的形式。