文章目录
论文介绍
policy-space response oracles (PSRO),论文链接:https://arxiv.org/pdf/1711.00832.pdf
这是一篇2017年发表的论文,属于多智能体强化学习领域和博弈论的交叉。
在了解这篇文章之前,需要先弄清楚NFSP这类自博弈的概念。这方面优质的文章不是很多,我的内容部分参考了:
https://zhuanlan.zhihu.com/p/521429175
https://zhuanlan.zhihu.com/p/500746290
之前读这篇论文一直感觉有些看不懂,误以为PSRO和NFSP那一系列非常不一样,是自己不太能学会的新方向。
在自己用类似RL+三脚猫self-play做了一个扑克AI算法后,再来重读文章就发现,其实很多地方的思想都是很朴素的,理解起来障碍也少了很多。
PSRO的主要贡献在于统一了自博弈、虚拟自博弈以及其他一些结合经验博弈的population-based方法的算法流程,并将这类算法从结构上划分成了元博弈求解、BR求解和策略池扩张这三个模块。
吐槽一句,InRL会对对手的策略过拟合,自己动手做了才深有感触。
PSRO
论文贴出的伪代码。Algorithm 1 维护了一个所有玩家策略的策略池。然后循环地选定玩家,然后从他的策略集中选择出一个策略,固定其它所有玩家此时的策略,然后不断地训练这个策略使得该策略成为一个在别的玩家策略不变的情况下、近似的best respond。然后将其加入策略集合中。
DO算法
Double Oracle算法目标在于解决一系列双人博弈,分别维护双方的策略池,并对对方的策略池中的所有策略做出最佳响应,加入新的算法池中。大致的算法框架如图。
这张动图很好的诠释了DO算法: