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