原标题:DeepMind悄咪咪开源三大新框架,深度强化学习落地希望再现
作者 | Jesus Rodriguez
译者 | 夕颜
出品 | AI科技大本营(ID:rgznai100)
【导读】近几年,深度强化学习(DRL)一直是人工智能取得最大突破的核心。尽管取得了很多进展,但由于缺乏工具和库,DRL 方法仍难以应用于主流的解决方案。因此,DRL 主要以研究形式存在,并未在现实世界的机器学习解决方案中得到大量应用。解决这个问题需要更好的工具和框架。而在当前的 AI 领域,DeepMind 在推动 DRL 研发方面做了大量工作,包括构建了许多专有工具和框架,以大规模地简化 DRL agent 训练、实验和管理。
最近,DeepMind 又默默开源了三种 DRL 框架:OpenSpiel、SpriteWorld 和 bsuite,用于简化 DRL 应用。
作为一种新兴的深度学习技术,采用 DRL 面临着简单实现算法之外的诸多挑战,如训练数据集、环境、监测优化工具和精心设计的实验,以简化 DRL 技术的采用。考虑到机制与大多数传统的机器学习方法不同(DRL agent 尝试在给定环境中通过反复试验来完成任务),应用 DRL 更是困难。在这种情况下,环境和实验的稳健性在 DRL agent 开发的知识中起着最基本的作用。
下面我们开门见山,来看看这三种框架到底有什么特别之处,以及如何使用。
OpenSpiel
GitHub:https://github.com/deepmind/open_spiel
游戏在 DRL agent的 训练中发挥着重要作用。与其他数据集一样,游戏本质上基于试验和奖励机制,可用于训练 DRL agent。但是,正如我们所想,游戏环境的复杂度还远远不够。
OpenSpiel 是一系列环境和算法,用于研究一般强化学习和游戏中的搜索/规划。OpenSpiel 的目的是通过与一般游戏类似的方式促进跨多种不同游戏类型的一般多智能体强化学习,但是重点是强调学习而不是竞争形式。当前版本的 OpenSpiel 包含 20 多种游戏的不同类型(完美信息、同步移动、不完美信息、网格世界游戏、博弈游戏和某些普通形式/矩阵游戏)实现。
核心的 OpenSpiel 实现基于 C ++ 和 Python 绑定,这有助于在不同的深度学习框架中采用。该框架包含一系列游戏,允许 DRL agent 学会合作和竞争行为。同时,OpenSpiel 还包括搜索、优化和单一 agent 等多种 DRL 算法组合。
安装
摘要
安装系统包并下载一些依赖项。只需要运行一次。
安装 Python 依赖项,例如在 Python 3 中使用 virtualenv:
使用 deactivate 退出虚拟环境。
构建并运行测试以检查一切是否正常:
添加
到 ./venv/bin/activate 或你的 〜/ .bashrc ,以便从任何地方导入 OpenSpiel。
为了确保 OpenSpiel 在默认配置上运行,我们使用 python3 命令而不是 python(现在 Linux 版本上仍默认为 Python 2)。
开发者指南
代码结构
一般来说,open_spiel 下的目录是 C ++(integration_tests 和 python 除外)。open_spiel / python 中提供了类似的结构,包含 Python 等效代码。
一些顶级目录是特殊的:
open_spiel / integration_tests:所有游戏的通用(python)测试。
open_spiel / tests:C ++ 常用测试实用程序。
open_spiel / s:用于开发(构建、运行测试等)的脚本。
例如,支持 C ++:
open_spiel /:包含游戏抽象 C ++ API。
open_spiel / games:包含 games ++实现。
open_spiel / algorithms:在 OpenSpiel 中实现的 C ++ 算法。
open_spiel / examples:C ++ 示例。
open_spiel / tests:C ++ 常用测试实用程序。
支持 Python:
open_spiel / python / examples:Python 示例。
open_spiel / python / algorithms /:Python算法。
添加游戏
这里仅介绍添加新游戏最简单、最快捷的方式。首先要了解通用 API(参见 spiel.h)。
从 games/中选择要复制的游戏。推荐游戏:Tic-Tac-Toe 和 Breakthrough,因为它们包含完美信息,没有偶然事件,Backgammon 或 Pig 用于完美的信息游戏与偶然事件,Goofspiel 和Oshi-Zumo 用于同步移动游戏,Leduc 扑克和 Liar 骰子用于不完美信息游戏。以下步骤以 Tic-Tac-Toe 为例讲解。
将标头和源:tic_tac_toe.h,tic_tac_toe.cc和tic_tac_toe_test.cc 复制到 new_game.h,new_game.cc 和 new_game_test.cc。
配置 CMake:
将新游戏的源文件添加到 games / CMakeLists.txt。
将新游戏的测试目标添加到 games / CMakeLists.txt。
更新样板C ++代码:
在 new_game.h 中,重命名文件顶部和底部的标题保护。
在新文件中,将最内层的命名空间从 tic_tac_toe 重命名为 new_game。
在新文件中,将 TicTacToeGame 和 TicTacToeState 重命名为 NewGameGame 和 NewGameState。
在 new_game.cc 的顶部,将短名称更改为 new_game 并包含新游戏的标题。
更新 Python 集成测试:
将简短名称添加到 integration_tests / api_test.py 中的已排除游戏列表中。
在 python / tests / pyspiel_test.py 中将短名称添加到预期游戏列表中。
现在,你有了一个不同名称的 Tic-Tac-Toe 复制游戏。测试运行,并可以通过重建和运行示例 examples / example --game = new_game 来验证它。
现在,更改 NewGameGame 和 NewGameState 中函数的实现以表示新游戏的逻辑。你复制的游戏中的大多数 API 函数都应该与原来的游戏有区分度。如果没有,那么重合的每个API 函数都将在 spiel.h 中的超类中被完整记录。
完成后,重建并重新运行测试以确保一切都顺利(包括新游戏测试!)。
更新 Python 集成测试:
运行 ./s/generate_new_playthrough.sh new_game 生成一些随机游戏,用于集成测试以防止任何回归。open_spiel / integration_tests / playthrough_test.py 将自动加载游戏并将它们与新生成的游戏进行比较。
SpriteWorld
GitHub:https://github.com/deepmind/spriteworld
几个月前,DeepMind 发表了一篇研究论文,介绍了一种好奇的基于对象的 seaRch Agent(COBRA),它使用强化学习来识别给定环境中的对象。COBRA agent 使用一系列二维游戏进行训练,其中数字可以自由移动。用于训练 COBRA 的环境,正是 DeepMind 最近开源的 SpriteWorld。
Spriteworld 是一个基于 python 的强化学习环境,由一个可以自由移动的形状简单的二维竞技场组成。更具体地说,SpriteWorld 是一个二维方形竞技场,周围可随机放置数量可变的彩色精灵,但不会发生碰撞。SpriteWorld 环境基于一系列关键特征:
多目标的竞技场反映了现实世界的组合性,杂乱的物体场景可以共享特征,还可以独立移动。此外,它还可以测试与任务无关的特征/对象的稳健性和组合泛化。
连续点击推动动作空间的结构反映了世界空间和运动的结构。它还允许 agent 在任何方向上移动任何可见对象。
不以任何特殊方式提供对象的概念(例如,没有动作空间的特定于对象的组件),agent 也完全可以发现。
SpriteWorld 针对三个主要任务训练每个 DRL agent:
目标寻找。agent 必须将一组目标对象(可通过某些功能识别,例如“绿色”)带到屏幕上的隐藏位置,忽略干扰对象(例如非绿色的对象)
排序。agent 必须根据对象的颜色将每个对象带到目标位置。
聚类。agent 必须根据颜色将对象排列在群集中。
安装
可以使用 pip 安装 Spriteworld:
或者通过 Github:
或者通过签出存储库的本地副本并运行:
最后一个选项是下载测试,演示 UI 和示例运行循环。
开始
前提
Spriteworld 依赖于numpy,six,absl,PIL,matplotlib,sklearn 和 dm_env。
演示
安装完成后,您可以通过 run_demo.py 熟悉 Spriteworld:
创建自己的任务
在 spriteworld / tasks.py 中有三个任务:FindGoalPosition、Clustering 和 MetaAggregated。可以以多种方式进行配置和组合,以创建各种任务,包括 COBRA 论文中使用的所有任务。值得注意的是,可以参阅 spriteworld / configs / cobra / sorting.py,了解目标查找任务的组合。
你还可以创建新任务,重新使用这些构建块,或创建全新类型的任务(只需确保从 spriteworld / tasks.AbstractTask 中继承)。
运行agent
有关如何在 Spriteworld 任务上运行随机 agent 的示例,请参阅 example_run_loop.py。如果你更喜欢 OpenAI Gym 环境界面,请参阅 spriteworld / gym_wrapper.py。
bsuite
GitHub:https://github.com/deepmind/bsuite
强化学习行为套件(bsuite,The Behaviour Suite for Reinforcement Learning )的目标是成为强化学习领域的 MNIST。具体来说,bsuite 是一系列用来突出 agent 可扩展性关键点的实验。这些实验易于测试和迭代,对基本问题,例如“探索”或“记忆”进行试验。具体来说,bsuite 有两个主要目标:
收集清晰、信息量大且可扩展的问题,以捕获高效和通用学习算法设计中的关键问题。
通过在这些共享基准上的表现来研究 agent 行为。
bsuite 当前的实现可以在不同环境中自动执行实验,并收集可以简化 DRL agent 训练的相应指标。
如果你是一个 bsuite 新手,可以开始使用 colab 教程。这款 Jupyter 笔记本电脑配有免费的云服务器,因此无需任何安装即可立即开始编码。在此之后,你可以按照以下说明在本地计算机上运行 bsuite。
安装
我们已测试了 bsuiteon Python 3.6,且无维护 Python 2.7 版本的计划。
安装 bsuite,请运行该命令
或克隆该库并运行
想要能够编辑代码的同时安装软件包(请参阅下面的基线),请运行
要同时安装baselines//示例的依赖项(不包括Gym和Dopamine示例),请安装:
加载环境
环境由 bsuite_id 字符串指定,例如“deep_sea / 7”。此字符串指定要使用的实验和(索引)环境设置。
可以通过以下方式以编程方式访问运行所有实验所需的 bsuite_ids 序列:
该模块还包括每个实验名称对应的大写常量单 bsuite_ids,例如:
bsuite报告
你可以使用 bsuite 生成一个自动的 1 页附录,该附录总结了强化学习算法的核心功能。本附录与大多数主要的机器学习会议格式兼容。例如输出运行,
由于篇幅有限,无法一一详细介绍每个框架的具体使用方法,感兴趣的朋友们可以在上文 GitHub 链接中查询详情情况和使用指南,以检验OpenSpiel、SpriteWorld 和 bsuite 的真正实现效果,并欢迎在留言中与我们交流上手体验。
最后,相信随着越来越多的深度强化学习工具和框架的涌现,把这项新兴技术应用于现实世界的进程将大大加快,进一步推动 AI 研究和落地的进展。
https://towardsdatascience.com/deepmind-quietly-open-sourced-three-new-impressive-reinforcement-learning-frameworks-f99443910b16
(*本文为AI科技大本营整理文章,转载请微信联系 1092722531)
◆
◆游戏网
责任编辑:
相关下载 |
导读:de_tuscan将迎来重置,你还记得这张地图吗? 日前Haci在个人推特上表示:根据可靠的消息来源,de_tuscan将会由作者Brute进行重置,新版本的地图将会在详情>>
原标题:iOS 13.2 推送,带来 Deep Fusion 还有 70 个 Emoji iPhone 11 系列中,苹果在发布会上重点强调了它的拍摄能力,现在 iOS 13.2 正式推送,被苹果详情>>
原标题:网曝《莎木3》已进厂压盘 粉丝称已经玩了20遍Demo 近日,据知名游戏推主@Wario64爆料,一名不愿意透露姓名的网友似乎向《莎木3》官方发邮件询详情>>
原标题:《朝圣者》Steam评价“特别好评”有趣但是好短 《机械迷城》的开发商Amanita Design的全新作品《朝圣者》,已经于10月7日正式在Steam平台发详情>>
原标题:大神用Unity引擎重制《最终幻想9》画面真不错 最近3D艺术家Fabian Denter利用Unity引擎,重制了经典RPG《最终幻想9》,现在他放出了演示视频以详情>>
原标题:如何在荣耀笔记本(Linux版)中拥有deepin应用商店? IT之家10月9日消息 刚刚,深度操作系统官方发文详解,如何在荣耀笔记本(Linux版)中拥有深度应用商详情>>
AI人工智能技术一直被认为会改变人类社会,我们的日常生活中已经开始有大量AI相关的应用,别的不说,AI换脸这一年来就大出风头。AI换脸不只是好玩那么简单,它一旦详情>>
原标题:Deepfake恶搞政客遭加州立法禁止,首份全球调查结果出炉 机器之心报道 机器之心编辑部 Deepfake 换脸视频的病毒式传播引发了美国政坛的警详情>>
命运2闪退怎么办?相信有不少玩家在steam平台打开游戏的时候都遇到了这样的情况,所以小编就为大家带来了一篇Destiny2闪退修复方法介绍,感兴趣的快来看看吧。推荐阅读: 命详情>>
--> 日本万代在近日推出了“MG(Master Grade)”系列的最新商品“轰击型脉冲高达”模型,这款模型可以说是让《机动战士高达SEED DESTINY详情>>
2019年ZOWIE GEAR极限之地CSGO亚洲公开赛第五站——中东赛区,于今日凌晨落下帷幕!来自土耳其的Demise战队一路碾压,获得了中东赛区的冠军,而黎巴详情>>
原标题:《Deemo Reborn》新预告片 展示联动DLC收录曲目 【9月29日上午消息】发行商Unites和开发商雷亚游戏公开了《Deemo Reborn》的新预告片,展详情>>
原标题:PS博客公布《最后生还者2》Demo新感想及截图 SIEA高级社交媒体专家Tim Turi日前在PlayStation博客上更新文章,分享了自己在体验《最后生还者详情>>
《FIFA15》 DEMO评测----细节决定一切 游戏名称:国际足球大联盟15 英文名称:FIFA 15 游戏类型:体育运动类(SPG)游戏 详情>>
在《战魔》即将开测之际,我有幸拿到了本次测试demo包,试玩了3日,我觉得很有必要给大家一个评测,全面介绍一下这款游戏。废话不说,直接开片! 测试状态:demo版测试 游戏类型:横详情>>
根据多名知情人士透露,北美CSGO战队NRG正在与Evil Geniuses俱乐部商议收购事宜,预计将在未来几天后正式加入EG。 另有消息称这支北美战队详情>>
Depraved游戏配置要求高吗?游戏近日已经发售,今天小编给大家带来Depraved配置要求介绍,需要的朋友不妨进来看一下。 配置要求介绍 Windows最低配置: 详情>>
Depraved好玩吗?游戏目前正式发售了,可能很多玩家还对他不是很了解吧。今天小编带给大家带来Depraved特色玩法介绍,需要的小伙伴快进来看一下吧。 推荐阅读: Depraved配置详情>>
原标题:血腥RPG《黑暗子民》新预告 9月26日发布Demo 今日(9月24日)Brilliant Game公布了血腥RPG《黑暗子民》(The Black Masses)新预告,展示了游戏详情>>
今日(9月24日)Brilliant Game公布了血腥RPG《黑暗子民》(The Black Masses)新预告,展示了游戏场景。此外官方还透露,将于9月26日发布Demo,让玩家有机会参与测详情>>
如果用几个字来形容deft选手的职业生涯,“时运不济,命途多舛”这八个字是最合适不过的,他给我的感觉其实和pray一样,尽管获得过很多的荣耀,但却总是与s赛冠军失之详情>>
原标题:Demo China丨INDEMIND:持续创新,打造硬核AI立体视觉解决方案 2019年9月18-19日,2019 DEMO CHINA 创新中国·未来科技节在杭州未来科技城学术交详情>>
改编自美国探索频道Discovery节目《致命捕捞(Deadliest Catch: The Game)》的同名游戏已上架Steam,目前官方也在kickstarter网站开详情>>
原标题:DevOps 巨头 GitLab 融资 2.68 亿美元,估值达 27 亿美元 知名开发工具提供商GitLab在成为独角兽一年后今天宣布,它从一大批新老投资者那里另详情>>
_contentraw">雷亚游戏PlayStation®4(以下PS4TM)主机游戏《DEEMO-Reborn-》将于11月21日上市,亚洲实体版将于9月23日开放预购。预购内容以普通版与豪华版做区分,其中包含限定详情>>
原标题:华为MateBook笔记本预装Deepin Linux,对微软来说不是个好消息 华为与美国政府之间的斗争仍然远没有结束,华为公司目前距离美国商务部的禁令只详情>>
光荣特库摩在TGS 2019上除了宣布周末开启Nioh 2的公开测试版外,还分享了在展会上可用的Demo版本的额外统计数据。 据光荣特库摩称,在今年TGS的四天时间详情>>
原标题:Deck13公布《迸发2》新预告片“暴力交响曲” 【9月17日上午消息】发行商Focus Home Home和开发商Deck13公布了旗下动作游戏新作《迸发2详情>>
原标题:LOL职业选手的创意ID:KZ替补辅助更名EDG Deft 随着英雄联盟各赛区夏季赛结束,目前已有23支队伍晋级世界赛,日本LJL联赛目前正在进行决赛,将决出最详情>>
在三国志12叫我们大大吃了一只苍蝇,到现在恶心味道还没有消除的时候,光荣终于期期艾艾端上了《信长之野望14:创造》详情>>
今天《魂斗罗 RC联盟》面向Switch、PS4和Xbox One平台发布了一款试玩demo。 科乐美表示,试玩demo将包含单机模式,玩家将在“Damned City - 诅咒之城”中完详情>>
原标题:买表前的纠结 最终购入真力时DEFY 在欧米茄海马和万国飞行员中纠结了很久,最终入了真力时蓝面defy,随手拍了几张图,供大家欣赏。 喜欢折叠详情>>
Focus Home Interactive日前发布了《迸发2》的剧情预告片。在这款由Deck13工作室开发的最新硬核ARPG中,世界遭受到“乌托邦导弹”的deFrag纳米病毒攻击,在耶利详情>>
儿时的回忆《忍者神龟》DEMO测评 详情>>
今日,官方公布了点阵式恐怖游戏《恐怖的世界》PAX/TGS Demo演示,一起来看看。 《恐怖的世界》Demo演示: gsVideo("优酷", "https详情>>
昨天,简单男孩少见地发了一条俄语推特,随后 dennis 也转发了,并说道“这真是耻辱” 简单男孩的推文大意是指责 ESEA 纵容作弊玩家,平台无法详情>>
近日据多方消息称,Renegades俱乐部与旗下选手之间的合同即将到期。但很可能选手不会与其续约,而是转向选择其他有意俱乐部。如果此言成真,那么Re详情>>
去年,一款名为《星球探险家(Planet Explorers)》的沙盒游戏经过了足足两年多的更新后终于正式发售,仅在抢先体验阶详情>>
原标题:Dota2:多支二三线队伍进行调整 老司机Dendi继续职业生涯 TI9结束后,Dendi曾接受采访表示打算自己组建一支队伍,并表示可以为了自己的团队换个详情>>
在本次Major的决赛中,dev1ce率领Astralis以一个干净利落的2-0战胜了一路闯到决赛的黑马AVANGAR。赛后,dev1ce接受了HLTV记者的采访,以下是采访正详情>>
在Astralis以2-0的比分成功击败AVANGAR夺得本次柏林Major冠军后,队内狙击手dev1ce也成功拿到了第二枚Major MVP选手奖章。这位24岁的丹麦天才选手,最后以出色的发挥为本次详情>>
在Astralis以2-0的比分成功击败AVANGAR夺得本次柏林Major冠军后,队内狙击手dev1ce也成功拿到了第二枚Major MVP选手奖章。这位24岁的丹麦天才详情>>