HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

评论

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

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM

龙智—DevSecOps解决方案

版本控制 软件开发生命周期 版本管理 ALM

干货|分析PostgreSql单表60w数据却占用55g空间

查拉图斯特拉说

数据库 postgresql db 11月月更

webpack热更新原理(面试大概率会问)

Geek_02d948

webpack

javascript 高级编程 之 Array 用法总结

hellocoder2029

JavaScript

js作用域、作用域链和它的一些优化

hellocoder2029

JavaScript

javascript尾递归优化

hellocoder2029

JavaScript

在线研讨会报名 | 如何通过自动化测试实现降本、增效与提质

龙智—DevSecOps解决方案

自动化测试 研讨会

用Vue.js开发企业管理后台,我做到了

博文视点Broadview

HarmonyOS 3开启新一轮升级,3年前的nova 6也能更新!

Geek_2d6073

让数据流动起来,RocketMQ Connect 技术架构解析

阿里巴巴云原生

阿里云 RocketMQ 云原生

升级到React-Router-v6

xiaofeng

React

Nodejs相关ORM框架分析

coder2028

node.js

几个你必须知道的React错误实践

xiaofeng

React

成为web前端工程师培训和自学选择

小谷哥

vue3实战-完全掌握ref、reactive

yyds2026

Vue

AR Engine光照估计能力,让虚拟物体在现实世界更具真实感

HarmonyOS SDK

AR HMS Core

云栖盘点:2022 云网络产业干货分享

云布道师

云网络 云栖大会

docker如何在容器外执行容器内命令

A-刘晨阳

Docker Linux 运维 11月月更

webpack配置优化,让你的构建速度飞起

Geek_02d948

webpack

开源代码安全 | 西门子为保护代码安全采取了什么措施?

龙智—DevSecOps解决方案

SCA SCA工具 开源代码安全

安装户外LED显示屏安装注意事项

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

linux(centos)中部署docker(步骤超全,含带一些发展史和一些概念)

A-刘晨阳

Docker Linux 运维 11月月更

vue中的几个高级概念

yyds2026

Vue

Vue虚拟dom是如何被创建的

yyds2026

Vue

webpack模块化的原理

Geek_02d948

webpack

Nodejs:ESModule和commonjs,傻傻分不清

coder2028

node.js

JavaScript刷LeetCode拿offer-js版字典

Geek_07a724

JavaScript LeetCode

云栖盘点 | 一文 get 云原生峰会的最全发布

云布道师

云原生 云栖大会

Go语言入门16—锁

良猿

Go golang 后端 11月月更

Nodejs+Redis实现简易消息队列

coder2028

node.js

​GOPS演讲 | 如何构建现代运营与支持体系,实现团队的高效协同

龙智—DevSecOps解决方案

gops ITSM ITSM解决方案 GOPS全球运维大会

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