众所周知,强化学习(Reinforcement Learning)是一种人工智能训练技术,无论棋牌游戏方面打败人类选手的机器人,还是在训练自动驾驶系统,强化学习都有至关重要的作用。
近日,Alphabet 旗下 DeepMind 发表一篇 27 位研究人员共同完成的论文,详细介绍名为 OpenSpiel,针对游戏的强化学习框架──正是 DeepMind 的长处所在。
OpenSpiel 厉害在哪?
OpenSpiel 框架可看作强化学习环境和算法集合(大部分环境和算法已全面测试),可用于通用强化学习的研究和游戏搜寻/规划研究;还为分析学习动态和其他常见评估指标提供工具。
论文发现,OpenSpiel 旨在许多不同的游戏促进多智慧体强化学习,重点是学习,而不是竞争;且框架的建设基于两个重要标准,即简单和轻型──简单主要体现在程式设计语言方面,即便来自不同领域的研究人员也能轻易理解;轻型则体现在 OpenSpiel 将依赖关系保持在最低限度,降低出现相容性问题的可能性。
就目前而言,OpenSpiel 框架包含 28 款游戏和 24 种算法。正如“Spiel”(棋牌游戏)词意,框架支援的也都是相关游戏;而且游戏也包括多种博弈方式,比如常和博弈、零和博弈、协调博弈和一般博弈。程式设计语言方面,OpenSpiel 游戏透过 C++ 达成、算法则透过 C++ 和 Python 达成,一个程式码子集也移植到 Swift。
不过,DeepMind 研究人员指出,OpenSpiel 只在 Linux 系统测试(Debian 10 和 Ubuntu 19.04),但由于 MacOS 和 Windows 可自由使用程式码,Openspiel 在这些平台编译和执行时应该也不会出现问题。
怎么安装 OpenSpiel?
- 论文中,DeepMind 说明了 OpenSpiel 的安装方式,他们已经在 Debian 和 Ubuntu 两个 Linux 系统测试过框架。安装方式如下:
值得一提的是,DeepMind 目前还没有在 Linux 以外平台测试过 OpenSpiel,所以,一些程式档和指令目前是假定基于 Debian 的发行版(Debian 和 Ubuntu)。如果使用其他 Linux 发行版,install.sh 里安装依赖项的指令依然可用,不过,安装指令需自行修改。
- 为了能从任何位置导入 Python 程式码,需将根目录和 open_spiel 目录添加到 PYTHONPATH。
- 遵循上述步骤构建好 OpenSpiel 之后,从 build 目录执行范例。
- 接下来就能看到框架里的游戏清单,并执行游戏了。
(本文由 雷锋网 授权转载;首图来源:DeepMind / Github)