OpenAI十七岁高中实习生提交论文,提出分层强化学习新算法

虽然只有 17 岁,但是 Gunn High School 学生 Kevin Frans 已经有 7 年多的编程开发经历了。他最近在 OpenAI 实习期间作为第一作者发表的论文《Meta Learning Shared Hierarchies》已经提交到了 ICLR 2018 大会。


72723image%20(7).png


OpenAI 成立近两年,发表了大量研究论文,而这周四的一篇论文却与众不同:其第一作者是名高中生。这位少年英才叫 Kevin Frans,就读于 Henry M. Gunn 高中,现为 OpenAI 实习生。两年前,他 15 岁,首次训练神经网络,一个语音或人脸识别系统。受到 Atari 游戏和 AlphaGo 有关报道的启发,他阅读了大量论文,并部分地复现了它们。「我喜欢让计算机去实现看起来不可能的事。」Frans 说,脸上泛着笑容。他创作过一个交互式网页,可以用漫画风格为线条素描自动上色。


Frans 通过新想法解决了 OpenAI 实验室的一个问题。他取得进步,又卡住,便写信给 OpenAI 研究员 John Schulman 寻求建议。他们共同讨论了 Schulman 的论文《Trust Region Policy Optimization》,Schulman 查看了 Frans 的个人博客,大为吃惊:「从邮件中完全看不出他是一名高中生。」


94591image%20(8).png


后来 Frans 申请 OpenAI 实习生职位,面试官是 Schulman。接着他开始了工作,没有任何学位,仅仅是一名高中生。Frans 致力于解决一个机器人和强化学习领域的关键问题:机器如何利用先前已学知识解决新问题?


这对人类来讲易如反掌。即使你是第一次做食谱,也无需重新学习如何做焦糖洋葱和筛面粉。相反,机器学习软件通常不得不重复漫长的训练过程才能解决新问题——甚至面对包含相同元素的问题也不例外。


Frans 的新论文《META LEARNING SHARED HIERARCHIES》在解决这一问题上取得了新进展。「如果它真的成功了,就真正攻破了一个大问题。」Frans 说。他开发了一个算法帮助腿式虚拟机器人学习哪些肢体运动可应用于多个任务,例如步行和爬行。在测试中,它帮助两腿和四腿虚拟机器人完成新任务,包括更快的迷宫导航。OpenAI 的一个视频展示了一个测试中的「蚂蚁」机器人。该论文已被提交至机器学习顶会 ICLR。Schulman 说:「Frans 的论文为这一问题提供了全新思路,并且一些结果超越了前人所有成果。」


作为跆拳道黑带级选手,Frans 面对的挑战不仅仅来自计算机。他对 AI 的部分热情可能源于对 Gunn 高中(加州帕洛阿尔托,硅谷中心)的向往。Frans 说他的研究没有得到父母的帮助,但他并不是家里唯一的计算机高手,他父亲在上市的 FPGA 生产商赛灵思做硅芯片设计。


你可能已经猜到 Frans 是业余的。普林斯顿大学的机器视觉教授 Olga Russakovsky 说道,以这么小的年纪就能在机器学习做出研究贡献是很罕见的。她还说,通常而言,比起拥有悠久传统的以数学或科学等为主题的且有导师指导的课外活动竞赛,尝试机器学习和 AI 对于学生来说要更困难。而要获取计算资源也是一个障碍。Frans 的笔记本电脑的计算力不足以测试他的一个想法,因此他用借记卡申请了一个谷歌云计算服务的账号,将代码放在上面运行。他还鼓励其他对机器学习感兴趣的同学也尝试一下。「最好的(研究机器学习)方式就是走出去,自己动手去尝试。」他说。


Russakovsky 是那些尝试带动更多的高中生一起改进 AI 系统的研究者之一。她的一个动机是她认为目前这个领域中男性、富有人群、白人的比重太大。「AI 是一个将给社会方方面面带来革新的领域,我们不能让某些同质群体单独建立 AI 系统,因为他们不能代表社会的整体。」Russakovsky 说。她联合创建了 AI4ALL,这是一个基金会,用于组织露营活动,为不同背景的高中生提供和 AI 研究者一起工作和学习的机会。


在帕洛阿尔托,Frans 还考虑过帮助下一代的 AI 专家。他有一个 7 岁大的弟弟,「我觉得他对写代码感兴趣,」Frans 说,「也许他再长大一点,我就可以帮助他。」


下面,让我们看看 OpenAI 博客是如何解读 Frans 这篇论文的。


OpenAI 开发了一个分层强化学习算法,它通过学习高级动作以完成一系列任务,比如快速完成需要数千时间步的任务。OpenAI 把算法应用到导航问题时,发现了一组向不同方向步行和爬行的高级动作,这能帮助智能体快速掌握导航任务。


人类通过把复杂的挑战分解为小的、可掌控的部分来解决问题。烤松饼包括一系列高级动作,如称面粉、搅拌鸡蛋、将面粉和鸡蛋的混合物放到平底锅中、打开炉子等等。人类通过把这些已经学会的动作排序来快速学习新任务,即使这个任务可能需要数百万个低级动作,即个人肌肉收缩。


另一方面,现在的强化学习方法通过对低级动作执行粗暴的搜索来运行,需要大量实践才能完成新的任务。这些方法在解决需要大量时间步的任务时非常低效。


OpenAI 的解决方案基于分层强化学习,智能体将复杂的行为表示为一个短序列的高级动作。这使得智能体可以解决更有难度的任务:如果解决方案需要 2000 个低级动作,分层策略可以将其转化为 10 个高级动作的序列,在 10 步序列中搜索比在 2000 步序列中搜索要高效得多。

元学习共享分层(Meta-Learning Shared Hierarchies/MLSH)


31555MLSH.gif


OpenAI 新算法 MLSH 学习一个分层策略,其中主策略在多个子策略之间切换。主策略在每 N 个时间步选择一个动作,假设 N=200。N 个时间步执行的子策略构成一个高级动作,对于导航任务而言,子策略对应于朝不同方向行走或爬行。


之前的大部分研究中,分层策略是手动控制的。但是,OpenAI 的目的是通过环境互动发现自动的分层结构。从元学习的角度来看,好的分层可在未知任务的训练过程中快速达到高奖励。因此,MLSH 算法旨在学习能够在未知任务上快速学习的子策略。


OpenAI 在多个任务的分布上进行训练,在每个样本任务中学习新的主策略,同时共享子策略。通过重复训练新的主策略,该过程可以自动找到适合主策略学习动态的子策略。


实验


MLSH 运行一整晚之后,训练出的智能体可以解决 9 个不同的迷宫任务,子策略对应向上、向下、向右移动,然后该智能体可以自行导航通过迷宫。


在 AntMaze 环境中,Mujoco 蚂蚁机器人被放置在 9 个不同的迷宫中,任务是必须从起点到达目的地。MLSH 算法成功地找到多个子策略,这些子策略排序之后可以完成迷宫任务,而这仅需要环境互动。之后,该子策略集可用于完成更大的任务。


代码


MLSH 智能体训练代码和评估这些算法的 MuJoCo 环境:https://github.com/openai/mlsh。


论文:META LEARNING SHARED HIERARCHIES


53664%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202017-10-27%20%E4%B8%8A%E5%8D%8810.13.50.png


论文链接:https://s3-us-west-2.amazonaws.com/openai-assets/MLSH/mlsh_paper.pdf


摘要:我们开发了一种学习分层结构策略的元学习方法,通过使用在大量时间步上执行的共享基元策略(primitives-policy)来提高未知任务上的样本效率。具体来说,基元策略集可以在多个任务中共享,也可以在任务特定的策略之间切换。我们提供了一个具体的指标,用来度量此类分层策略的能力,这就导致在未知任务上快速达到高奖励的优化问题。然后,我们展示了一种算法,通过使用现有的强化学习方法,对新任务重复采样并重复设置任务特定的策略,从而端到端地解决该问题。我们成功地发现了一种有意义的行动基元(motor primitive),仅需要与迷宫环境进行互动,就可以使四腿智能体在不同方向上移动。我们还展示了基元的迁移性,以解决长时间尺度的稀疏奖励障碍训练,我们使 3D 仿真机器人使用同样的策略实现鲁棒地步行和爬行。

展开阅读全文

没有更多推荐了,返回首页