写点什么

从 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:272132

评论

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

5个开源组件管理小技巧

SEAL安全

安全 软件供应链 开源组件

基于EasyCV复现DETR和DAB-DETR,Object Query的正确打开方式

阿里云大数据AI技术

深度学习 开源 自监督学习

不同学习方式的web前端程序员有什么区别

小谷哥

在web前端培训中怎么提升前端技术能力

小谷哥

企业遇到知识管理困境该怎么办?这里有解决方案!

Baklib

字节跳动CVPR 2022多项目夺魁,获模拟人脑感知、长视频理解挑战双料冠军

字节跳动视频云技术团队

计算机视觉 图像处理 图片处理 视频理解 视频云

字节跳动数据质量动态探查及相关前端实现

字节跳动数据平台

字节跳动 数据监控 数据探查

SQL 改写系列六:谓词推导

OceanBase 数据库

项目越写越大,我是这样做拆分的

小鑫同学

项目架构 7月月更

【技术人才懂的浪漫】TiDB 社区为你准备好了给另一半的“七夕节”礼物,回复:我要挑战,即可参与活动!

TiDB 社区干货传送门

关于Java&JavaScript中(伪)Stream式API对比的一些笔记

山河已无恙

Java stream JavaScrip

别再说你不知道函数递归了-入门知识

芒果酱

C语言 7月月更

零基础小白该如何选择web前端课程呢

小谷哥

通过 MSE 实现基于Apache APISIX的全链路灰度

阿里巴巴云原生

Apache 阿里云 微服务 云原生 灰度发布

在互联网+的潮流中,企业客户服务该何去何从?

Baklib

互联网+ 客户服务

数字藏品加速破圈,助力产业发现新机遇

智捷云

NFT 区块链数字藏品 数字藏品 智捷云 智捷云科技

十分钟生成影视级室内设计效果,红星美凯龙设计云如何升级传统家居行业

阿里云弹性计算

gpu 智能家居 异构计算

Python异常知多少

迷彩

Python 异常处理 7月月更

排队助手 | 2022年6月产品更新日志

天天预约

微信小程序 SaaS应用 排队工具 便民服务

用 Flutter 给小姐姐的照片调个颜色滤镜

岛上码农

flutter ios 前端 安卓开发 7月月更

web前端技术学习完后怎么找工作呢

小谷哥

零基础可以自学web前端技术吗

小谷哥

C 语言入门(八)

逝缘~

7月月更

软件研发团队如何管理成员工时,科学分配资源?

万事ONES

【刷题记录】14.最长公共前缀

WangNing

7月月更

历史的坑,只能尽量填平

技术小生

事故复盘 7月月更

【Docker 那些事儿】如何高效地搭建 Docker 私有仓库

Albert Edison

Docker Kubernetes 容器 云原生 7月月更

运营商的时代之旅:种下5.5G的魔豆,攀上数字化的天空花园

脑极体

WhaleDI消息队列稳定性提升实践

鲸品堂

中间件

模块2作业

利用小程序运行时技术增强Flutter跨端开发属性

Speedoooo

flutter 小程序 移动开发 小程序容器

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