DeepMind一次性开源3个新框架!深度强化学习应用落地即将迎来春天?

作者: 杨鲤萍 2019-09-20 09:38:18

本文转自雷锋网,如需转载请至雷锋网官网申请授权。

深度强化学习(Deep Reinforcement Learning,DRL)一直是近年来人工智能的一些重大突破的核心。然而,尽管 DRL 有了很大的进步,但由于缺乏工具和库,DRL 方法在主流解决方案中仍然难以应用。因此,DRL 仍然主要是以研究形式存在,并没有在现实世界看到许多采用机器学习的应用方案;而解决这个问题就需要更好的工具和框架。

就在最近,DeepMind 发布了一系列新的开源技术,包括三种 DRL 框架:OpenSpiel、SpriteWorld 和 Bsuite,这些技术将有助于简化 DRL 方法的应用。

DRL 框架概述

作为一种新的深度学习技术,DRL 的采用面临着简单实现算法以外的挑战。例如:用以简化 DRL 技术应用的训练数据集、环境、监控优化工具以及精心设计的实验等。

考虑到 DRL 的机制不同于大多数传统的机器学习方法,尤其对于 DRL 的情况,这种差异更甚。DRL 智能体试图在给定的环境中通过反复试验来实现对任务的掌握。在这种情况下,环境和实验的稳健性在 DRL 智能体开发的知识中起着重要的作用。

为了实现 DRL 的重大突破,将其更好的应用于重大人工智能挑战中,DeepMind 构建了许多专有工具和框架,以大规模简化 DRL 智能体的训练、实验和管理。并且开放了三种 DRL 框架,包括:OpenSpiel、SpriteWorld 和 bsuite,以便其他研究人员可以使用它们来推进 DRL 方法的现状。

下面是三种框架的介绍,并附有对应的开源地址。

OpenSpiel

与其他数据集不同,游戏本质上基于试验和奖励机制,可以用来训练 DRL 智能体。然而,正如我们所看到的,游戏环境远不是简单的组装。

OpenSpiel 是一系列环境和算法的集合,用于研究一般强化学习和游戏中的搜索/规划。OpenSpiel 的目的是在许多不同的游戏类型中促进通用多智能体的强化学习,其方式与通用游戏类似,但它重点是强调学习而不是竞争形式。当前版本的 OpenSpiel 包含 20 多种不同类型的游戏的实现,例如:完全信息、同步移动、不完全信息、网格世界游戏、博弈游戏和一些普通形式/矩阵游戏。

OpenSpiel 的核心实现是基于 C++和 Python 绑定,便于在不同的深度学习框架中采用。该框架包含了一系列游戏组合,允许 DRL 智能体掌握合作和竞争行为。类似地,OpenSpiel 包含了多种 DRL 算法组合,例如:搜索、优化和单一智能体等。OpenSpiel 还包括分析学习动态和其他常见评估指标的工具。

OpenSpiel 支持游戏类型

  • 单人和多人游戏

  • 完全可观测(通过观测)和不完全信息博弈(通过信息状态和观测)

  • 随机性(尽管部分支持隐式随机性,但主要为不确定事件)

  • n人普通形式的“一杆”游戏和(2人)矩阵游戏

  • 序贯和同时动作游戏

  • 零和、一般和和合作(相同收益)博弈

OpenSpiel 支持语言类型

  • C++ 11

  • Python 3

  • swift 中提供的部分语言

游戏和实用程序功能(例如:计算)是用 C++编写的。这些也可以使用 pybind11 python(2.7 和 3)绑定。方法名称位于 C++中的 CamelCase 和 Python 中的 SnaKeKY 情况(例如,在 C++中的 Apple 动作将是 Python 中的 Stest.Apple)。有关名称之间的完整映射,请参见 open_spiel/python/pybind11/pyspel.cc 中的 pybind11 定义。

OpenSpiel 已经在 linux 上进行了测试(debian 10 和 ubuntu 19.04),但它还未在 MacOS 或 Windows 上进行测试,由于代码使用了 MacOS 和 Windows 上也提供的免费工具,因此 DeepMind 预计在这些平台下编译和运行不会出现任何(重大)问题。

GitHub 地址:https://github.com/deepmind/open_spiel

pybind11 地址:https://pybind11.readthedocs.io/en/stable/

SpriteWorld

几个月前,DeepMind 发表了一篇论文,介绍了一种基于无监督式目标搜索和好奇心驱动的强化学习模型(Curious Object-Based seaRch Agent,COBRA),它通过使用强化学习来识别给定环境中的对象(相关论文可参考:https://arxiv.org/abs/1905.09275)。

该模型使用了一系列二维游戏进行训练,在这些游戏中数字可以自由移动。用来训练 COBRA 模型的环境就是最近 deepmind 开源 DRL 三大框架之一,SpriteWorld。

SpriteWorld 是一个基于 python 的强化学习环境,它由一个可以自由移动的简单形状的二维竞技场组成。更具体地说,SpriteWorld 是一个二维方形竞技场,有不同数量的彩色 Sprites,可以自由放置和渲染,但不会发生碰撞。SpriteWorld 环境基于一系列关键特征:

  • 多目标的竞技场反映了真实世界的组成,杂乱的物体场景可以用于共享特征,同时也可以独立移动。这也提供了测试与任务无关的特征/目标的稳健性和组合泛化的方法。

  • 连续点击和推动动作空间的结构反映了世界空间和运动的结构。它还允许智能体在任何方向上移动任何可见对象。

  • 目标的概念并非以任何特权方式所提供(例如:操作空间中没有特定目标的组件),并且完全可以由智能体发现。

SpriteWorld 为每个 DRL 智能体提供三项主要的训练任务:

  • 目标搜索。智能体必须将一组目标(可通过某些功能识别,例如:绿色的目标)带到屏幕上的隐藏位置,忽略干扰对象(例如:非绿色的目标);

  • 排序。智能体必须根据目标的颜色将每个目标带到规定的位置;

  • 聚类。智能体必须根据目标的颜色将其分组排列在群集中。

SpriteWorld 也可以用于强化学习以外的其他目的。例如:它被用于生成具有控制因子分布的图像数据集,如论文「Spatial Broadcast Decoder: A Simple Architecture for Learning Disentangled Representations in VAEs」(watters 等人,2019,https://arxiv.org/abs/1901.07017)。

它还可以很容易地扩展到生成与简单物理力(如弹簧、重力等)相互作用的物体的数据集,这对于视觉动力学的无监督学习研究是有用的。

GitHub 地址:https://github.com/deepmind/spriteworld

bsuite

我们试图将 bsuite(Behaviour Suite for Reinforcement Learning,强化学习行为套件)打造成为强化学习领域 的 MNIST。

具体而言,bsuite 是一系列实验,旨在突出智能体可扩展性的关键点。这些实验都体现了一些基本的问题,例如「探索」或「记忆」,其实验方式可以很容易地进行测试和迭代。bsuite 有两个主要目标:

  • 收集清晰、信息量丰富且可扩展的问题,这些问题捕获了高效和通用学习算法设计中的关键问题;

  • 通过在这些共享基准上的表现来研究智能体的行为。

bsuite 的当前实现可以在不同环境中自动执行手实验,并收集了相应的指标,这些指标可以简化 DRL 智能体的训练。同时,因为 bsuite 是一系列实验的集合,所以它在实验子目录中定义。每个子目录对应一个实验,包含:

  • 定义强化学习环境的一种文件,它可以配置为提供不同的难度等级或不同的随机种子(for example);

  • 此环境的关键字参数序列,在实验的 sweep.py 文件中的 settings 变量中定义;

  • 一个 analysis.py 文件,用于定义所提供的 jupyter 计算机中使用的绘图;

当通过加载和记录*函数加载环境时,bsuite 通过记录每个环境中的结果来工作。这意味着任何实验都将自动输出正确格式的数据,以便使用计算机进行分析,而不受任何智能体或算法结构的限制。

GitHub 地址:https://github.com/deepmind/bsuite

开源 技术 趋势 深度学习
上一篇:快来了解这五种热门的开发技能 下一篇:DSSM文本匹配模型在苏宁商品语义召回上的应用
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

PyTorch 指南:17个技巧让你的深度学习模型训练变得飞快!

如果你正在 pytorch 中训练深度学习模型,那么如何能够加快模型训练速度呢?在本文中,我会介绍一些改动最小、影响最大的在pytorch中加速深度学习模型的方法。

AI研习社-译站 ·  1天前
浅谈人工智能应对数字化转型挑战的5个领域

越来越多的组织将采用人工智能,而且必须这样做。人工智能是可以帮助组织进行业务敏捷转型、创新和扩展的技术。

万博信息传媒 ·  1天前
人工智能三大关键能力,终于有人讲明白了

人类的智慧宽广而复杂。有些人类成就远远超出现今机器可达的领域,要想让机器触及这些领域,还需要一段漫长的时间。对于解决抽象问题、概念生成、情绪知识、创造力甚至是自我认知,即便是最强有力的深度学习算法,也无法在这些领域与人类智慧相提并论。

数字化企业 ·  2天前
事关人类生存?为什么要探寻AI系统的可解释性?

这可能是你第一次听说“可解释人工智能”一词,但你一定很快就能理解它:可解释人工智能(XAI)是指构建人工智能应用程序的技术和方法,人们可以由此理解这些系统做出特定决策的“原因”。

读芯术 ·  2天前
京东开源人脸识别工具包:覆盖最强模型,支持训练跑分

近年来,基于深度学习的人脸识别技术取得了重要进展。但是人脸识别模型的实际部署和深入研究都需要相应的公众支持。

泽南 ·  2天前
训练一个130亿参数的模型要用几个GPU?微软:一个就够

来自微软、加州大学默塞德分校的研究者提出了一种名为「 ZeRO-Offload 」的异构深度学习训练技术,可以在单个 GPU 上训练拥有 130 亿参数的深度学习模型,让普通研究者也能着手大模型的训练。

蛋酱、张倩 ·  3天前
人工智能和人类智能的差距在哪里?

阿拉法狗战胜李世石后,大家都在说,人类智能的最后一片高地也被人工智能攻陷了。人类积累2000多年的围棋智慧,被一个程序轻易打败,那么未来人工智能是否会取代人类成为这个星球上的主宰者呢?

哲科学习坊 ·  4天前
如何通过开源协作推进人工智能的发展

人工智能如今成为行业组织炒作和宣传的术语之一,也有人提出一些问题:其潜力到底有多大?它会增强人类的地位还是使人类不再具有竞争力?真的具有革命性意义吗?

Rui Vasconcelos ·  2021-01-22 10:41:40
Copyright©2005-2021 51CTO.COM 版权所有 未经许可 请勿转载