2
本文作者: 新智元 | 2016-05-10 09:22 |
雷锋网按:本文译者王婉婷,弗格森。
【导读】开源人工智能系统OpenAI的成立打破了谷歌、Facebook等巨头霸占AI领域的格局,但其创始人、特斯拉CEO马斯克多次发表人工智能威胁论。马斯克创立OpenAI目的何在?分析最近发布的OpenAI Gym,可以找出他的真正动机。OpenAI Gym是一款用于研发和比较强化学习算法的工具包,它支持训练智能体(agent)做任何事——从行走到玩Pong或围棋之类的游戏,都在范围中。本文其中一位作者是OpenAI内部研究员,你想知道关于这个系统的一切,他都写在这里了。
2015年12月16日,特斯拉CEO埃隆·马斯克(Elon Musk)和创业孵化器Y Combinator总裁山姆·奥特曼(Sam Altman)创建了人工智能公司OpenAI,并表示将开源其研究成果分享给研究人工智能的每一个人。国外知名科技媒体《连线》杂志发表评论文章,称开源的OpenAI的成立将人工智能研究推向高潮,同时也转变了目前由谷歌、Facebook等巨头引领的人工智能领域竞争格局。未来,OpenAI有望成为这一领域的监管者,将其引向对人类更为安全的发展轨迹上来。
谷歌和Facebook正在将人工智能推向新的时代,OpenAI至少还可以监督它们,当然还会监督其他人。深度学习初创企业Skymind.io的联合创始人克里斯·尼科尔森(Chris Nicholson)说:“马斯克和OpenAI已经看到了人工智能的势不可挡,他们唯一希望的是改变其发展轨迹。”
2016年4月28日,Open AI对外发布了人工智能一款用于研发和比较强化学习算法的工具包OpenAI Gym,正如Gym这词所指的意思(健身房)一样,在这一平台上,开发者可以把自己开发的AI算法拿出来训练和展示,获得专家和其他爱好者的点评,共同探讨和研究。不管马斯克希望把所有AI技术进行开发的梦想多么远大和浪漫,其背后的真正动机是什么,至少,在OpenAI Gym里,可以看到AI开放化的步伐正在渐渐加快。
如果OpenAI能够坚守他们的使命,让所有人都能接触到新技术理念,那么它至少将是对谷歌、Facebook等巨头的一次考验。
最近,OpenAI研究人员John Schulman与NVIDIA的GPU计算软件首席技术员Mark Harris分享了一些关于这个组织的细节,以及OpenAI Gym将如何让AI研究者更容易地设计、迭代、优化他们下一代的应用程序。
John在加州理工大学修习物理学,随后在加州大学伯克利分校继续深造。在伯克利,继短暂地学习了神经科学之后,他师从Pieter Abbeel研究机器学习与机器人学,最终将强化学习作为他的主要研究兴趣。
John Schulman是OpenAI的一位研究员
OpenAI是一家非盈利性人工智能研究公司。每一天,我们都在致力于进行非监督式学习和强化学习的研究。我们的使命和长期目标是以将最大限度地造福全人类的方式发展人工智能。
强化学习(reinforcement learning,RL)是机器学习的一个分支,它考虑的是做出一系列的决策。它假定有一个智能体(agent)存在于环境中。在每一步中,智能体(agent)采取一个行动,随后从环境中收到观察与回报。一个RL算法寻求的是,在一个原先毫无了解的环境中通过一段学习过程——通常包括许多试错——让智能体(agent)收到的总体回报最大化。
上面说到的强化学习问题——涉及到一个让回报最大化的智能体(agent)——是非常宽泛的说法,而RL算法已经被应用到了许多不同的领域。它们被用于业务管理问题,比如用来决定一家商店应该持有多少库存商品、或是应该如何设定商品价格。它们也被应用在机器人控制问题上,这个领域最近有了非常快速的发展。下面这个视频展示了用OpenAI Gym训练Hopper(一个二维单腿机器人)来尽可能快速地向前单脚跳跃。
强化学习关注的是做出好决策,而监督式学习和非监督式学习主要关注的是做出预测。然而,这之间有大量相通之处,有一些成为了研究中非常活跃的话题。除了不同的侧重点之外,强化学习本质上的序列性也让它无缘于大部分监督式学习问题。在强化学习中,智能体(agent)的决策会影响到它得到怎样的输入数据,也即它的决策最终带来的效果。这使得强化学习更难发展出稳定的算法,也让探索成为必须——智能体(agent)需要不停地进入可能会收获大量回报的未知领域。
OpenAI Gym是一款用于研发和比较强化学习算法的工具包,其中包括了各种环境,目前有模拟的机器人学任务、桌面游戏、多位数加法之类的计算任务等等。我们预期工具包中包含的环境将随时间不断增多,用户也会将他们自己创建的环境加入到其中。这些环境都有一个通用交互界面,使用户能够编写可以应用于许多不同环境的通用算法。
OpenAI Gym也有一个网站,人们可以将他们在这些环境中的训练结果发布到网站上并分享他们的代码。这个网站的目的是让人们能简单地迭代并优化他们的RL算法,并对什么算法才是有效的算法有一个概念。
为了让你感受一下代码是什么样的,下面给出的是创建其中一个环境(经典倒立摆(cart-pole)任务,目标是在一辆移动的小车上让垂直放置的长杆保持平衡)、模拟一些随机行为、随后将结果提交到分数板上的方法(在实际操作中,你只有在应用了一个学习算法以后才可能想要提交结果)。
这一小段代码不包括任何学习或是训练——学习和训练会需要更多的代码。很快我们就会贴出在OpenAI Gym的环境中简洁实现各种重要算法的展示,如果你感兴趣的话,记得关注我们的网站。
为了回答这个问题,我需要谈一点关于RL算法学习了什么的问题。一些强化学习算法关注的是学习一个策略(policy),这是一个输入观察(例如相机照片)、然后输出行动(例如motor torques)的函数。其他算法关注的是学习估值(value)函数,它衡量的是状态(也即世界的状态,the state of the world)以及行动的好坏。鉴于我们通常都无法查知世界的整体状态(full state),我们一般会使用一个或是更多过去的观察来作为替代。Q函数(估值函数的一种)衡量的是状态-行动组(s, a)的好坏,也就是说,Q(s, a)能告诉你“如果我处于状态s中并选择行动a,我能获得多少回报”。有了这个Q函数以后,你就能简单地选择出带来最高预期回报的行动。这也就是说,Q函数定义了策略。下面这个视频展示了如何在OpenAI Gym上训练深度Q网络(Deep Q-Network)来玩Breakout。
基于策略的算法和基于Q函数的算法在核心上非常相似,我们可以用神经网络来表示策略和Q函数。例如,当玩Atari游戏的时候,向这些网络输入的是屏幕上的一个图像,同时有一组离散的行动,例如{扔套索, 左走, 右走, 开火}。你可以用一个卷积神经网络将屏幕图像作为输入并输出一个代表四种行动之一的数字,表示出行动的好坏,作为这个任务的Q函数;用一个结构相似、输出每种行动可能性的卷积神经网络作为策略。
Schulman et al.(2015)使用的结构,上方的结构用于模拟机器人控制,下方的结构用于玩Atari游戏。
有各种各样的开源环境集成,包括但不限于RL-Glue、RLPy、Arcade LearningEnvironment。我们从这些库中获得了灵感与一些代码。OpenAI Gym也整合了最近加州大学伯克利分校的研究者们在对深度强化学习算法做基准测试时的工作成果。阐述这个基准测试研究的论文可以从ArXiv下载,并且将会在今年的ICML上作展示。
比起之前提到的那些环境集成,OpenAI Gym更为完善,拥有更多种类的任务、更多任务的难度级别(包括在去年之前都无法解决的模拟机器人任务)。不仅如此,OpenAI Gym还独有在线分数板,让用户能够做比较并分享代码。
我们希望让OpenAI Gym对于拥有不同背景的人来说都能够使用。对RL毫无了解的用户可以下载基础代码,在短短几分钟之内开始实验这些代码。他们可以访问不同环境的分数板并下载其上的解决方案代码,随后自行验证这些解决方案(这是一个非常重要并且实用的功能!)并做修改。
AI研究者将能运用其中包含的环境进行RL研究。每种环境都有规范命名的版本号(semantically versioned),便于在论文中报告结果并易于理解。研究者们也能够在分数板上将自己的算法的效果与其他人的算法作比较,并找到表现优异的算法的代码。
你们有计划用NVIDIA GPU来加速OpenAI Gym吗?GPU会为你们的工作带来怎样的增益?
GPU对于涉及大型神经网络的学习问题来说正在逐渐变得不可或缺。我们将会使用GPU来为大规模任务训练神经网络,并且我们也预期我们的许多用户也会这么做。
是的,我相信真实感渲染(photorealistic rendering)能让机器人在虚拟环境下接受训练、学习到能够迁移到现实世界的策略。尚有许多激动人心的可能性等待我们发觉。
非监督式学习和强化学习方面,我们很快就会开始发布我们一些持续进行的研究项目的结果。我们很期待看到用户们用OpenAI Gym来做些什么,并计划继续更新它,让它成为一款对于研究社区和领域内新人来说都很有用的工具。
雷峰网特约稿件,未经授权禁止转载。详情见转载须知。