文章目录

  • 论文介绍
  • 核心算法
    • 相关知识
    • XDO
    • NXDO
  • 实验
  • 总结

论文介绍

论文链接: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的框架,只不过在其基础上增加了博弈树的展开形式,从一个矩阵博弈的形式,变成了展开树博弈的形式。

【论文笔记】XDO: A Double Oracle Algorithm for Extensive-Form Games相关推荐

  1. 【论文笔记】A Meta-Reinforcement Learning Algorithm for Causal Discovery

    目录 Abstract 1 MOTIVATION AND CONTRIBUTION 2 PRELIMINARIES AND NOTATION 3 WORKING ASSUMPTIONS 4 REINF ...

  2. 论文笔记之:Deep Reinforcement Learning with Double Q-learning

    Deep Reinforcement Learning with Double Q-learning Google DeepMind Abstract 主流的 Q-learning 算法过高的估计在特 ...

  3. 论文笔记5:Noise Reduction of Hyperspectral Imagery Using Hybrid Spatial-Spectral Derivative-Domain Wavel

    论文笔记5:Noise Reduction of Hyperspectral Imagery Using Hybrid Spatial-Spectral Derivative-Domain Wavel ...

  4. Deep Learning论文笔记之(五)CNN卷积神经网络代码理解

    Deep Learning论文笔记之(五)CNN卷积神经网络代码理解 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但 ...

  5. 论文笔记 《Selective Search for Object Recognition》

    论文笔记 <Selective Search for Object Recognition> 项目网址:http://koen.me/research/selectivesearch/ 一 ...

  6. GAN for NLP (论文笔记及解读

    GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响."深度解读:GAN模型及其在2016年度的进展"[1]一文对过去一年GAN的进展做了详细介绍,十分 ...

  7. 论文笔记目录(ver2.0)

    1 时间序列 1.1 时间序列预测 论文名称 来源 主要内容 论文笔记:DCRNN (Diffusion Convolutional Recurrent Neural Network: Data-Dr ...

  8. 【论文笔记09】Differentially Private Hypothesis Transfer Learning 差分隐私迁移学习模型, ECMLPKDD 2018

    目录导引 系列传送 Differentially Private Hypothesis Transfer Learning 1 Abstract 2 Bg & Rw 3 Setting &am ...

  9. [论文总结] 深度学习在农业领域应用论文笔记5

    深度学习在农业领域应用论文笔记5 1. Channel pruned YOLO V5s-based deep learning approach for rapid and accurate appl ...

最新文章

  1. 还没用上 JDK 11吧,JDK 12 早期访问构建版使用
  2. js解析二维码_最新最全阿里巴巴,今日头条,腾讯Flutter面试真题全解析(狂虐不止)...
  3. android viewpager动态加载图片,Android使用ViewPager加载图片和轮播视频
  4. Setup SQL Server 2008 Maintenance Plan Email Notifications
  5. java final被覆盖_java中的final的使用
  6. 桶分类 算法_桶分类算法
  7. centos修改系统可用内存_Centos7 因内存 可用大小不足,被killed的解决办法
  8. 《像外行一样思考,像专家一样实践》
  9. 前端学习分为几个阶段,你属于哪个阶段?
  10. 社交App系统架构--自己亲手写的App系统(含github源码)
  11. 数据结构1800题-错题集-第三章
  12. 麦克风阵列技术(转载)
  13. CDC Comms Interface 设备解决方案
  14. 为什么增益裕度可以是负数
  15. Mac SecureCRT 8.0.2破解版
  16. 提高排名的 15 个基本 SEO 技巧
  17. 闲话复数(2)——欧拉公式
  18. 想成为一名数据科学家?你得先读读这篇文章
  19. 一款Img图床模板码 扩展性超强纯Html+响应式
  20. USACO 2022 December Contest, BronzeProblem 1. Cow College 题解

热门文章

  1. c语言编程小学生测验,c语言小学生测验
  2. 关于表单序列化的三种方法:
  3. 手把手教你成为荣耀开发者:商户服务开通指南
  4. c语言,万年历日历(可精确查找月份)(附代码)(比较简单)
  5. 小程序 选中效果demo CSS画对号与箭头icon
  6. java 制作自定义控件_自定义控件的三种方式
  7. 鲁宾逊非标准幽灵在全国高校四处回荡
  8. php monolog 使用,使用Monolog做日志
  9. 2008.8 广州XXX公司dp地图标记查询项目
  10. 机器学习begain