乾明 边策 一璞 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

没有DeepMind的命,烧不起DeepMind一样的研发投入,但你现在可以有DeepMind苦心多年研究出的算法和代码。

刚刚,这家背靠谷歌,烧了数十亿元的全球顶尖AI研究机构,开源了史上最全强化学习框架OpenSpiel

在这个框架中,实现了28款可用于研究强化学习的棋牌类游戏和24个强化学习中常用的算法,DeepMind的成名作AlphaGo的基础算法也在其列。

此外,还包括用于分析学习动态和其他常见评估指标的工具。

更关键的是,OpenSpiel适用人群也非常广泛。

它的核心API和游戏用C++实现,并提供了Python API,可用于更高级别的机器学习,优化和强化学习。这些语言也可以很容易地组合在一起。

而且,代码的一个子集也已经使用Swift for Tensorflow直接移植到了Swift进行学习和推理,不需要跨语言操作。

开源消息放出后不久,就在Twitter上引起了数百转发和点赞。

史上最全强化学习框架

进一步说,OpenSpiel,是一个强化学习环境和算法的集合。在这个框架中,DeepMind对大部分环境和算法也都已经进行了全面测试。

目前,在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、复制/演化动力学。

其中,只有短期价值调整(EVA)、Deep CFR和PSROrN等算法只是进行了初步测试,其他算法都经过了全面的测试。

Spiel意指桌面游戏。因此,OpenSpiel中的环境就是相关棋牌类游戏。一共有28款:

双陆棋、突围棋、定约桥牌、Coin Game、屏风式四子棋、协作推箱子、国际象棋、第一价格密封拍卖、围棋、Goofspiel(一种多玩家纸牌游戏)

三宝棋、六贯棋、Kuhn扑克、Leduc扑克、大话骰、Markov Soccer、配对硬币(3人游戏)、矩阵游戏、Oshi-Zumo、西非播棋、转盘五子棋、Phantom三连棋

Pig游戏、三连棋、Tiny Bridge、Y(一种棋类游戏)、Catch(仅支持Python)、Cliff-Walking在悬崖边走的醉汉(仅支持Python)。

在上述游戏中,只有Coin Game、协作推箱子、六贯棋、Markov Soccer和Phantom三连棋只是进行了初步测试,其余的游戏都经过了全面的测试。

基于上述的游戏和算法,可用OpenSpiel研究通用强化学习和游戏中的搜索 / 规划。

OpenSpiel怎么样?

OpenSpiel提供了一个带有C++基础的通用API ,它通过Python绑定(经由pybind11)公开。

游戏用C++编写,是因为可以用快速和内存效率更高的方法实现基本算法。一些自定义RL环境也会在Python中实现。

最重要的是,OpenSpiel的设计易于安装和使用、易于理解、易于扩展并且通用。OpenSpiel按照以下两个重要设计标准构建:

1、简单。代码应该是非编程语言专家可读、可用、可扩展的,特别是来自不同领域的研究人员。

OpenSpiel提供了用于学习和原型化的参考实现,而不是需要额外假设(缩小范围)或高级(或低级)语言特性的完全优化或高性能代码。

2、轻量。对于长期兼容、维护和易用性,依赖项可能会有问题。除非有充分的理由,否则倾向于避免引入依赖关系来保持便携性和易于安装。

支持的博弈类型

在OpenSpiel的游戏可以表示为各种广泛形式的博弈:

  • 常和博弈

  • 零和博弈

  • 协调博弈

  • 一般博弈

其中,常和博弈中智能体之间是严格的竞争关系,协调博弈中智能体之间是严格的竞争关系,一般博弈则介于两者之间。

另外,根据智能体能否获得博弈过程中的所有信息,又可以将博弈分为:

  • 完美信息博弈

  • 不完美信息博弈

象棋和围棋是没有偶然事件的完美信息博弈,双陆棋是有偶然事件的完美信息博弈,而像石头剪刀布、扑克这样的游戏属于不完美信息博弈。

可视化工具和评估方法

OpenSpiel有一些用于可视化和评估的工具,尽管有些工具也被认为是算法(例如下面要介绍的α-rank)。OpenSpiel中提到的所有工具和评估都包含在代码库的egt子目录下。

1、演化和策略学习动力学的可视化

在多智能体强化学习的文献中,一种常见的可视化工具是相图,它显示了描述特定动力学下策略局部变化的矢量场或粒子轨迹。

下面展示了OpenSpiel为四种常见的bimatrix游戏生成的相图。

2、评估工具α-rank

α-Rank是一种算法,利用进化博弈论对多人游戏中的智能体进行交互排名。α-Rank定义了马尔可夫转移矩阵,其状态对应于玩家使用的智能体的元组,以及通过特定的进化模型通知的转换。该进化模型确定了排名与博弈论中马尔可夫-康利链解决方案概念的对应关系。

其主要的优点是,它可以在不涉及智能体关系的场景中对智能体进行排名(例如石头剪刀布),这与Elo(等级分)评级系统不同。

α-Rank还有一个优点是,在一般游戏中的计算也是容易处理的,不像依赖于纳什均衡的排序系统。

安装方法

目前DeepMind已经在Debian和Ubuntu两个Linux系统上测试了OpenSpiel,具体安装方法如下:

为了能够从任何位置导入Python代码,需要将根目录和open_spiel目录添加到PYTHONPATH。使用virtualenv时,应添加路径/bin/activate。

# For the python modules in open_spiel.
export PYTHONPATH=$PYTHONPATH:/<path_to_open_spiel>
# For the Python bindings of Pyspiel
export PYTHONPATH=$PYTHONPATH:/<path_to_open_spiel>/build/python

然后你就可以运行自己的第一个游戏了!

examples/example --game=tic_tac_toe

27名作者、豪华阵容背景

OpenSpiel可是个大项目,为此,DeepMind动用了一个巨大的团队——DeepMind以及Google的27人,光是共同一作,就有4位之多。

四位共同一作都来自DeepMind。

第一位Marc Lanctot,是DeepMind的研究科学家,他此前博士毕业于阿尔伯塔大学,是哲学&AI双料博士,之后去了马斯特里赫特大学做博士后研究员,自此开始他就一直在研究多智能体决策问题。

第二位Edward Lockhart,DeepMind研究工程师,此前是剑桥大学的数学硕士,曾在Morgan Stanley、花旗银行、瑞银这些金融机构做IT相关的事情,后来跳槽到DeepMind。他在语音合成、强化学习等方向做过不少研究。

第三位Jean-Baptiste Lespiau,也是DeepMind研究工程师,是个法国人,目前在DeepMind巴黎分部,他是巴黎综合理工学院的系统工程硕士。

第四位Vinicius Zambaldi,DeepMind高级研究工程师,巴西人,米纳斯吉拉斯联邦大学计算机硕士,加入DeepMind之前已经是创业公司CTO了。

开玩笑说,虽然一作中有三位不是博士加持,但现在这份研究,应该足够被授予地球上任一名校的博士学位了吧?

另外,在作者团队的单位中,除了DeepMind和Google,还有AlphaGo打造者David Silver母校阿尔伯塔大学(黄士杰也是该校校友)。

烧自己的钱,为全人类研究

当然,这一次重磅开源,或许也能让DeepMind近来形象扭转很多。

因为纵使DeepMind曾经捧红AlphaGo,几乎一手推起了AI热潮,但这家公司自己,依旧处在日复一日的烧钱当中。

光2018年就几乎烧掉了40亿元人民币。

而累计之前的投入,2016年亏损1.54亿美元,2017年亏损3.41亿美元,2018年亏损5.72亿美元,三年累计起来,已经亏掉了超过10亿美元。

并且按照公开披露信息,可能还会接着烧掉同等规模的钱,才能进一步产生他们追求的AI境界和回报——但母公司谷歌已实名支持,表示会撑到底。

而这十亿美元的投入,几乎都被DeepMind押注在了一件事上:

强化学习

正是借助强化学习,DeepMind逐步攻克围棋、《星际》和雅达利游戏等一系列难题,最终的目的,是创造出目前只在科幻小说电影里存在的通用人工智能(AGI)

而这次的OpenSpiel,集中了游戏竞技领域中的大量场景和算法,可以说是过去长线投入的集大成者。

现在,DeepMind将多年苦心、巨额投入研发的成果悉数开源,真可谓业界良心

此前在DeepMind年报出炉,披露亏损40亿并人均年薪高达400多万的时候,就有评论说,对于DeepMind这样顶级AI研究机构的投入,实际是人类对最前沿技术的支持。

更有甚者,认为这些投入和薪资,与DeepMind带来的成果相比,简直不能更还算了。

而如今,DeepMind一股脑将成果开源,更是烧自己的钱,为全人类研究。

这份诚意和姿态,是不是足够堵上质疑者的嘴了?

你说呢?

AI社群 | 与优秀的人交流

AI内参 | 关注行业发展

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

DeepMind重磅开源强化学习框架!覆盖28款游戏,24多个算法相关推荐

  1. Google发布“多巴胺”开源强化学习框架,三大特性全满足

     编译整理 | Just 编辑 | 阿司匹林 出品 | AI科技大本营  强化学习是一种非常重要 AI 技术,它能使用奖励(或惩罚)来驱动智能体(agents)朝着特定目标前进,比如它训练的 A ...

  2. DeepMind开源强化学习环境,灵活可配置,计算资源有限的小型实验室也能用

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 想搞强化学习,但算力门槛让不少人望而却步. 想想DeepMind训练的通用棋类AI AlphaZero,碾压一票同类选手,但堆砌了实验室里5 ...

  3. 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架

    20 个顶尖的 Python 机器学习开源项目 机器学习 2015-06-08 22:44:30 发布 您的评价: 0.0 收藏 1收藏 我们在Github上的贡献者和提交者之中检查了用Python语 ...

  4. DeepMind用基于AI的元强化学习框架研究多巴胺在学习过程中的作用

    内容来源:ATYUN AI平台 最近,AI已经应用到一系列视频游戏中,如Atari经典的Breakout和Pong.尽管这样的表现令人印象深刻,但人工智能仍然依靠数千小时的游戏时间来达到并超越人类玩家 ...

  5. 清华大学深度强化学习框架“天授”开源

    日前,清华大学人工智能研究院基础理论研究中心发布了深度强化学习框架"天授",代码已在GitHub开源(https://github.com/thu-ml/tianshou).这也是 ...

  6. 【重磅推荐: 强化学习课程】清华大学李升波老师《强化学习与控制》

    深度强化学习实验室 官网:http://www.neurondance.com/ 论坛:http://deeprl.neurondance.com/ 编辑:DeepRL <强化学习与控制> ...

  7. 腾讯AI足球队夺冠Kaggle竞赛,绝悟AI强化学习框架通用性凸显

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 导读]今日,腾讯宣布其人工智能球队摘得首届谷歌足球Kaggle竞赛冠军.该冠军球队来自 ...

  8. 专访 MindSpore 黄之鹏:围绕社区,探索开源深度学习框架的真正价值

    随着智能产业的发展日趋成熟,大量企业在奔赴智能化升级的前线,深度学习方兴未艾,深度学习框架也开始为更多开发者所知.其中佼佼者如TensorFlow.PyTorch.MXNet等已经获得了大量的关注,而 ...

  9. DeepMind 的新强化学习系统,是迈向通用人工智能的一步吗?

    作者:Ben Dickson 来源:数据实战派 前言 尽管已经掌握围棋.星际争霸 2 和其他游戏,深度强化学习模型的主要挑战之一是,它们无法将其能力泛化到训练领域之外.这种限制使得将这些系统在现实世界 ...

  10. 业界 |「多巴胺」来袭!谷歌推出新型强化学习框架Dopamine

    作者:Pablo Samuel Castro.Marc G. Bellemare 来源:Google AI Blog,机器之心 摘要:在过去几年里,强化学习研究取得了多方面的显著进展. 在过去几年里, ...

最新文章

  1. ADT,Eclipse启动时在Android SDK Content Loader0%无法编译
  2. Tableau研学小课堂(part4)--表
  3. python符号格式化设置区间_Python 数值区间处理_对interval 库的快速入门详解
  4. P4495-[HAOI2018]奇怪的背包【数论,dp】
  5. Linux服务器硬盘更换,[ Linux ] 服务器更换硬盘
  6. 问题 D: 最小生成树II
  7. springboot项目中关于时间类型转换的格式问题
  8. linux 上传网页文件大小,Linux:上传未完成的文件 – 文件大小检查(scp / rsync)
  9. 收藏 | 深度学习之Numpy基础入门教程!
  10. 用计算机的知识服务社会,科研育人案例-董立红
  11. Asp.Net超时问题汇总
  12. nginx 完全关闭 access_log
  13. ChinaITLab-Linux工程师培训课程笔记1
  14. OSChina 周四乱弹 —— 帅帅帅,飞一般的感觉~
  15. switch语句的ns图怎么画_ns结构流程图是什么?ns流程图怎么画?
  16. 东方联盟郭盛华获100亿战略入股,到底谁支持他?网友:不敢猜
  17. 01.朴素贝叶斯介绍
  18. 低功耗产品ADC精确测量电池电压(电量)
  19. more command
  20. SVG相关知识与应用

热门文章

  1. getUserMedia` undefined 火狐firefox
  2. ODL(OpenDayLight)Yang UI界面下发流表(ODL+mininet)
  3. 11210怎么等于24_算24点
  4. 使用git上传代码遇到关于remote: Support for password authentication was removed on August 13, 2021.的问题
  5. check_cbss_kafka.sh
  6. 红米android刷机在哪,红米手机怎么刷机 红米手机刷机教程大全
  7. 木门企业最典型的十八个问题
  8. 解决笔记本屏幕颜色偏变白问题
  9. js获取浏览器类型及版本
  10. Unity - Timeline 之 Trimming clips(裁剪剪辑)