近日,DeepMind 开源了史上最全强化学习框架 OpenSpiel。
在这个框架中,实现了 28 款可用于研究强化学习的棋牌类游戏和 24 个强化学习中常用的算法,DeepMind 的成名作 AlphaGo 的基础算法也在其列。
此外,还包括用于分析学习动态和其他常见评估指标的工具。更关键的是,OpenSpiel 适用人群也非常广泛。它的核心 API 和游戏用 C++ 实现,并提供了 Python API,可用于更高级别的机器学习,优化和强化学习。这些语言也可以很容易地组合在一起。而且,代码的一个子集也已经使用 Swift for Tensorflow 直接移植到了 Swift 进行学习和推理,不需要跨语言操作。
目前,在 OpenSpiel 中实现的算法一共有 24 种,分别是:
极小化极大(Alpha-beta剪枝)搜索、蒙特卡洛树搜索、序列形式线性规划、虚拟遗憾最小化(CFR)、Exploitability、外部抽样蒙特卡洛 CFR、结果抽样蒙特卡洛CFR、Q-learning、价值迭代、优势动作评论算法(Advantage Actor Critic,A2C)、Deep Q-networks (DQN)、短期价值调整(EVA)、Deep CFR、Exploitability 下降(ED) 、(扩展形式)虚拟博弈(XFP)、神经虚拟自博弈(NFSP)、Neural Replicator Dynamics(NeuRD)、遗憾策略梯度(RPG, RMPG)、策略空间回应oracle(PSRO)、基于Q的所有行动策略梯度(QPG)、回归 CFR (RCFR)、PSROrN、α-Rank、复制/演化动力学。
Spiel 意指桌面游戏。因此,OpenSpiel 中的环境就是相关棋牌类游戏。一共有 28 款:
双陆棋、突围棋、定约桥牌、Coin Game、屏风式四子棋、协作推箱子、国际象棋、第一价格密封拍卖、围棋、Goofspiel(一种多玩家纸牌游戏)、三宝棋、六贯棋、Kuhn 扑克、Leduc 扑克、大话骰、Markov Soccer、配对硬币(3人游戏)、矩阵游戏、Oshi-Zumo、西非播棋、转盘五子棋、Phantom 三连棋、Pig 游戏、三连棋、Tiny Bridge、Y(一种棋类游戏)、Catch(仅支持Python)、Cliff-Walking在悬崖边走的醉汉(仅支持Python)。