写点什么

从 OpenAI 的魔方机械手,看元学习的崛起

  • 2019-10-23
  • 本文字数:4806 字

    阅读完需:约 16 分钟

从OpenAI的魔方机械手,看元学习的崛起


元学习(Meta-Learning)描述了设计与训练深度神经网络有关的更高级别组件的抽象。 当涉及神经网络架构的自动化设计时,元学习这个术语常常出现引用“自动机器学习(AutoML)”、“小样本学习(Few-Shot Learning)”或“神经网络架构搜索(Neural Architecture Search)” 的深度学习文献中。源于如《学习通过梯度下降法来梯度下降地学习(Learning to learn by gradient descent by gradient descent)”等戏剧化命名的论文,OpenAI 的魔方机械手的成功证明了该想法的成熟。元学习是推动最先进的深度学习和人工智能最有希望的范式。


通过展示经过强化学习(Reinforcement Learning)训练的机械手突破性的能力,OpenAI 燃爆了 AI 世界。这一成功建立在一个非常类似的研究的基础上,2018 年 7 月发表的该研究让一只机械手在一个匹配视觉提示的配置中定向一个块。从块定向到解决魔方问题的演变是通过元学习算法控制训练数据在模拟中的分布,即自动域随机化(Automatic Domain Randomization,简称 ADR) 推动的。

域随机化( Domain Randomization)—— 数据增强(Data Augmentation)

域随机化是为 Sim2Real 迁移解决数据增强问题的算法。函数逼近(和深度学习)的核心功能是把从训练中所学到的推广到从未见过的测试数据。尽管对于几乎没有明显的对抗性噪声的注入,不会像误分类那样令人惊讶,但是,如果没有进行特别的修改,那么,深度卷积神经网络就不会将模拟图像上的训练(如左下方所示)推广到真实视觉数据(如右下图所示)。



《用机械手解决魔方问题》 作者:Ilge Akkaya,Marcin Andrychowicz,Maciek Chociej,Mateusz Litwin,Bob McGrew,Arthur Petron,Alex Paino,Matthias Plappert,Glenn Powell,Raphael Ribas,Jonas Schneider,Nikolas Tezak,Jerry Tworek,Peter Welinder,Lilian Weng,Qiming Yuan,Wojciech Zaremba,Lei Zhang


当然,有两种方法可以使模拟的和真实的数据分布保持一致。一种这样的方法是由苹果公司的研究人员开发的,称为 SimGAN。SimGAN 使用对抗损失来训练生成式对抗网络(Generative Adversarial Network)的生成器,以让模拟图像看起来尽可能逼真,由鉴别器把图像归类为真实或模拟的数据集。该研究在人眼注视估计和手势估计方面获得了积极的成果。另一种方法是让模拟数据尽可能多样化,尽可能地与真实性相反。


后一种方法被称为域随机化。下图来自 2017 年 Tobin 等人的论文,它很好地阐述了这个想法:



《把深度神经网络从模拟环境迁移到真实世界的域随机化》作者:Josh Tobin、Rachel Fong、Alex Ray、 Jonas Schneider、 Wojciech Zaremba、Pieter Abbeel


域随机化似乎是弥合 Sim2Real 差距的关键,它允许深度神经网络在模拟数据上训练后,推广到真实数据。 不像大多数算法,域随机化带有很多需要调整的参数。下图显示了在块的颜色、环境的光线和影子的大小等等上的随机化。每个随机化环境的功能都具有一个有下界到上界的区间和某种采样分布。比如,在随机环境中采样时,该环境有非常明亮的光线的概率是多少?


在 OpenAI 最初的 Dactyl 研究中,通过机械手实现了块定向,在实验前,对域随机化数据课程进行手工编码。该域随机化超越了视觉世界,使物理模拟器中的组件随机化,以形成一个策略,使机械手可以灵活准确地移动。与视觉随机化想法类似,这些物理随机化包括维度,如立方体的大小/质量以及机械手的手指的摩擦等等(更多细节请参看《用机械手解决魔方问题》一文的附录B)。


从 Dactyl 到魔方求解器(Rubik’s Cube solver)的关键是,域随机化是一门课程,它定义了随机化的强度是自动的,而不是手动设计的,ADR 算法中的这几行明确定义了这一点:



图像来自《用机械手解决魔方问题》。如果代理的性能超过了参数性能阈值,那么,随机化的强度会提高(由带有 phi 定义环境参数分布的 delta 给出)


自行设计数据的 AI

自行设计数据的 AI 的最佳示例之一是配对开放式开拓者算法(Paired Open-Ended Trailblazer,简称 POET)算法,该算法由 Uber AI 实验室的研究人员开发。



《配对开放式开拓者算法(Paired Open-Ended Trailblazer,简称 POET):无休止地生成日益复杂和多样化的学习环境及其解决方案》,作者:Rui Wang、Joel Lehman、 Jeff Clune、Kenneth O. Stanley


POET 通过同时优化代理和步行学习环境,来训练双足步行代理。POET 与 OpenAI 的魔方求解器的不同在于,其使用进化算法,维持步行者的群体和环境。拥有代理的群体和环境的结构是在该研究中构建复杂演变的关键。尽管使用强化学习来训练单个代理,而基于群体的学习适应一组代理,但是,POET 和自动域随机化是非常类似的。它们都以自动化的方式开发了一系列越来越具有挑战性的训练数据集。Bipedal 的步行环境不会作为人工编码的功能而改变,而是作为步行者群体在不同环境中表现的结果,在需要加大地形挑战的时候给出信号。

数据或模型?

元学习的研究常常把重点放在数据和模型架构上,但有例外,如元学习优化器,它似乎仍然在模型优化的范畴内。在如自动域随机化等数据领域中的元学习已经以数据增强的形式进行了大量的研究。


尽管我们已经看到物理数据如何能被增强和随机化,但是,在图像数据上下文中,数据增强是最容易理解的。这些图像增强特别包含水平翻转和小幅度的旋转或平移。这种增强在任何计算机视觉管道(如图像分类、对象检测或超分辨率)中都是典型的。


课程学习(Curriculum Learning)是另一种数据级别的优化,其涉及数据呈现给学习模型的顺序。比如,在引入像 23 = 8 这种更难的想法之前,我们从 2 + 2 = 4 这个简单例子开始。课程学习的元学习控制器根据感知到的难易程度以及数据应该被呈现的顺序,来查看数据的排序。在 ICML 2019 大会上,Hacohen 和 Weinshall 展示了他们最近的研究,他们用这个(如下图所示)取得了有趣的成果。



Guy Hacohen 和 Daphan Weinshall 合著的《论课程学习在训练深度网络中的力量》。在最左侧的灰色条是 Vanilla SGD 数据选择,它比课程学习方法好。


神经架构搜索或者元学习模型常常受到比数据级优化更多的关注。这主要由深度学习研究中的趋势驱动的。把基础 AlexNet 架构扩展到 ResNet 架构带来很明显的性能优势,AlexNet 架构是大型 GPU 计算的大数据集上训练的深度卷积网络的先驱。RetNet 用人工设计(如 DenseNet)进行了进一步的扩展,然后被元学习技术(如 AmoebaNet 和 EfficientNet)超越了。可以在paperswithcode.com上找到图像分类基准进展的时间线。


元学习神经架构试图描述一个可能的架构空间,然后,根据一个或多个客观指标来寻找最佳架构。

高级元学习者

神经架构搜索已经应用了范围广泛的算法,用于搜索架构、随机搜索(Random Search)、网格搜索(Grid Search)、贝叶斯优化(Bayesian Optimization)、神经进化(Neuro-evolution)、强化学习(Reinforcement Learning)以及可微搜索(Differentiable Search)。与 OpenAI 的自动域随机化中显示的技术相比,这些搜索算法都相对复杂。看起来,自动域随机化的想法可以用高级搜索算法进行改善,如,像基于人口的搜索已经被加州大学伯克利分校的研究人员或谷歌的 AutoAugment 证明数据增强(Data Augmentation)有用。

元学习的表现力如何?

常用于解决神经架构搜索的元学习的限制之一是搜索空间的局限性。神经架构搜索初始于一个可能架构的人工设计的编码。该人工编码自然地限制了搜索可能的发现。然而,让搜索完全可计算,必须进行权衡。


当前的架构搜索把神经架构视为有向无环图(Directed Acyclic Graphs,简称 DAGs),并试图优化节点之间的连接。Gaier 和 Ha 合著的论文《权重不可知神经网络(Weight Agnostic Neural Networks)》以及 Xie 等人合著的论文《探索图像识别的随机有线神经网络(Exploring Randomly Wired Neural Networks for Image Recognition)》等都表明,构建 DAG 神经架构是复杂的,并且不好理解。


一个有趣的问题是,神经架构搜索何时能够优化在节点上的操作、节点之间的连接,然后可以自由地发现新的激活函数、优化器或像批量归一化(Batch Normalization)这样的归一化技术。


思考元学习控制器的抽象程度是很有趣的。比如,OpenAI 的魔方求解器本质上有 3 个“智能”组件,分别是符合魔方求解器、视觉模型和用来操控机械手的控制器网络。元学习控制器是否足够聪明,能理解这种模块化并设计介于符号和深度学习系统(最近由 Gary Marcus 倡导的)之间的混合系统?


元学习数据强化也很受约束。大多数数据强化搜索(甚至自动域随机化)都被约束于元学习控制器可用的一组转换中。这些转换可能包括像图像的亮度或模拟中阴影的强度。提高数据强化自由度的一个有趣的机会是把这些控制器和能够探索每个独特数据点的生成模型结合起来。这些生成模型可以设计狗和猫的新图像,而不是旋转现有的图像或让图像变暗/变亮。尽管非常有趣,但是,它似乎不像当前最先进的生成模型(如 BigGAN 或 VQ-VAE-2),可用于 ImageNet 分类的数据增强。

迁移和元学习

“元学习”常常用于描述迁移和小样本学习的能力,与“自动机器学习”用于描述模型或数据集的优化方式不同。这种定义与用自动域随机化解决的 Sim2Real 的域适应性任务是一致的。然而,这个定义还描述了像从 ImageNet 分类到识别钢材缺陷的迁移的学习。



魔方求解器的一个有趣结果是具有适应扰动的能力。比如,尽管在机械手上套上了橡胶手套、把手指绑在一起、完全遮挡魔方(视觉模型必须完全受损,因此,传感必须由 Giiker 魔方传感器完成),该求解器仍然能够持续地工作。这种迁移元学习(Transfer Meta-Learning)是策略网络中用于训练机械手控制的 LSTM 层的结果。我认为,这种“元学习”的使用与自动机器优化相比,更像是记忆增强网络的一个特征。我认为,这个说明了统一元学习和为这个术语确定单一定义的困难。

结 论

显然,魔方求解器的成功令人信服,它展示了机械手的协调能力。然而,该研究更有趣的部分是隐藏在表面之下的元学习数据随机化。这是一个在设计其训练数据的同时进行学习的算法。Jeff Clune 的 AIGAs 中所描述的这种范式,包含了元学习架构、元学习学习算法本身、生成有效学习环境的算法,将为深度学习和人工智能的进步提供巨大的机会。


原文链接:The Rise of Meta Learning


2019-10-23 17:271880

评论

发布
暂无评论
发现更多内容

Supervisor 基础配置

耳东@Erdong

Supervisor 9月日更

Sentinel 常用流控算法

Z

sentinel 流控算法 服务监控 服务降级 流控

【Flutter 专题】46 图解新的状态管理 Provider (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

雪花算法,什么情况下发生 ID 冲突?

马丁玩编程

Java lua redis 雪花算法

针对各种指标数据如何选择合适的算法?

云智慧AIOps社区

技术 算法 数据 智能运维 指标

乘着汽车智能化的浪潮,“汽车人”的职业方向选择(二)

SOA开发者

程序员 软件 汽车 职业发展

图计算的应用

6979阿强

【Vuex 源码学习】第三篇 - Vuex 中 State 状态的实现

Brave

源码 vuex 9月日更

通过线路输入功能快速创建吉他谱

懒得勤快

【预告】网络研讨会|下一代汽车操作系统微内核seL4:seL4基金会主席谈物理系统安全工程实践

鉴释

自动驾驶 操作系统 微内核

命令行如何执行jar包里面的方法

FunTester

性能测试 反射 接口测试 测试框架 FunTester

Python——绑定与方法调用

在即

9月日更

架构实战营模块三作业

michael

#架构实战营

“妈我不想去上课!”“不行你是老师!”

梦想橡皮擦

9月日更

GaussDB(for MySQL)如何快速创建索引?华为云数据库资深架构师为您揭秘

华为云开发者联盟

数据库 算法 索引 GaussDB(for MySQL) MySQL索引

DBA:介里有你没有用过的“CHUAN”新社区版本Redis6.0

华为云开发者联盟

redis 开源 多线程 Redis 6.0 华为云DCS

一期投资30亿!“中国—东盟星动云算力中心项目”将落地广西巴马

旺链科技

数字经济 产业区块链 一带一路

普通二本的辛酸Java面试之路,34岁Java程序员裸辞

Java 程序员 后端

还重构?就你那代码只能铲了重写!

小傅哥

Java 小傅哥 代码优化 代码重构 开发标准

手撸二叉树之翻转二叉树

HelloWorld杰少

9月日更

图遍历算法

6979阿强

图遍历 GraphScope

闲鱼消息发展回顾

OpenIM

来一份全面的面试宝典练练手,6年老Java面经总结

Java 程序员 后端

我用MRS-ClickHouse构建的用户画像系统,让老板拍手称赞

华为云开发者联盟

数据库 标签 用户画像 MRS ClickHouse 列式存储

【LeetCode】寻找峰值Java题解

Albert

算法 LeetCode 9月日更

linux系列之:告诉他,他根本不懂kill

程序那些事

Linux 命令 程序那些事 kill

Android音频API

轻口味

android 音视频 引航计划 9月日更

普通二本的辛酸Java面试之路,Java程序员架构之路该如何继续学习

Java 程序员 后端

枚举在 Golang 中的实现

baiyutang

Go 语言 9月日更

镜子-或许我们也和Pod一样生活在虚拟世界

Lance

玩转anyRTC用户控制台

anyRTC开发者

音视频 WebRTC 语音通话 视频通话 用户后台

从OpenAI的魔方机械手,看元学习的崛起_AI&大模型_Connor Shorten_InfoQ精选文章