低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

Uber 提出生成式教学网络 GTN,9 倍加速神经网络架构搜索

2019 年 12 月 21 日

Uber提出生成式教学网络GTN,9倍加速神经网络架构搜索

近期,Uber 的研究人员在一篇名为《Neural Architecture Search by Learning》的论文中提出了一种专用 GAN——Generative Teaching Network (GTN) ,它可以生成数据和训练环境,让模型在接受目标任务测试之前先进行一些 SGD 步骤训练,而使用 GTN 再合成数据训练的神经网络比利用真实数据训练得更快。论文还表示,在利用 GTN-NAS 搜索新的神经网络架构时,速度比使用实际数据快 9 倍,而且使用的计算量比典型 NAS 方法少几个数量级


生成对抗网络(英语:Generative Adversarial Network,简称 GAN)是非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。


GTN,一种深度学习网络

Generative Teaching Network,生成式教学网络,简称 GTN,是 Uber 在近期的一篇论文中提出的深度神经网络,它可以自动生成综合训练数据,较一般利用真实数据训练的方法,能够实现 9 倍加速的神经体系结构搜索。在理论上,GTN 可以生成任何类型的数据或训练环境,并用于监督学习、无监督学习和强化学习,这是一种通用方法。


GTN 就像生成对抗网络(GAN)中的生成器一样,它生成完全人工的数据,供少数学习步骤使用。之后,GTN 会通过识别经典 MNIST 数据集中手写图像的方式对初始化神经网络进行评估,从而提供正在优化的元损失目标。然后,通过元梯度在整个学习过程中进行区分更新 GTN 参数以提高目标任务的性能。



GTN 可以自由创建不真实的数据,从而可以比真实数据更快地学习。例如,GTN 可以将有关许多不同类型对象的信息组合在一起,或者主要将训练重点放在最难的示例上。


为验证 GTN,Uber 的研究人员还利用 GTN 合成的数据在神经网络架构搜索(NAS)中进行实验,并在CIFAR-10数据集中进行了测试,结果显示 GTN 对 NAS 所产生的最佳架构有显著改进。


神经网络架构指的某些设计的选择,例如神经网络应具有的层数,每层应有多少个神经元,哪些层应连接到哪一层等。


GTN-NAS,将 GTN 合成数据用于 NAS

为了搜索神经网络架构,Uber 研究人员采用了许多论文 的思想,寻找一个小的神经网络模块,然后通过预设的蓝图将其重复组合,以创建各种大小的神经网络架构。一旦发现了高质量的模块,就可以使用它创建一个更大的网络,然后对它进行训练并与实际数据融合,以实现目标任务的收敛。


在 GTN-NAS 中,最终目标是找到一种性能最佳的神经网络架构。而通过实验,Uber 研究人员发现 GTN 生成的数据可以预测出神经网络架构的真实性能(对于 GTN 估计的前 50%神经网络架构,其 Spearman 等级相关系数为 0.56)。例如,根据 GTN 的快速估算,排名前 10%的神经网络架构都具有较高的性能(见下图蓝色方块)。这就意味着研究人员可以使用 GTN 生成的数据,快速评估多种神经网络架构,进而识别出一些优质的架构,将其放在真实数据集上训练之后,就能够较为容易的找出在目标任务上具有高性能的神经网络。


另外,在整个实验过程中,Uber 的研究人员还发现如果想要得到与 GTN 生成数据执行 128 个 SGD 步骤相同的结果,则需要对真实数据执行 1200 个 SGD 步骤,换句话说,使用 GTN 生成的数据比使用真实数据进行神经网络架构搜索快 9 倍


NAS 需要大量的计算资源,它在完整的数据集上训练,直到所产生神经网络的性能不再提高,再选出性能最佳的神经网络,但这种重复执行的过程往往非常昂贵和缓慢。



写在后面

在机器学习中,标记数据的重要性不言而喻,但生成此类数据既耗时又昂贵。Uber 的 GTN 提供了一种新的选项,它可以学习自动生成数据,使新的神经网络快速学习任务;而且通过 GTN,研究人员不仅能够快速评估新神经网络架构的学习潜力,还能很好地探索新的、性能更佳的神经网络架构。


2019 年 12 月 21 日 08:301356
用户头像
张之栋 前InfoQ编辑

发布了 91 篇内容, 共 34.8 次阅读, 收获喜欢 152 次。

关注

评论

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

关于「后浪」,ta 们在说什么?

boyzcl

年轻人 系列 后浪

习惯与惯性

伯薇

个人成长 习惯 习惯养成 提升能力

婚姻就是合伙开公司,各自做好自己的工作很重要

鼎玉谷

管理 婚姻 公司 付出 人情

关于沟通成本的一些认知

大鱼读书

项目管理 软件开发

瞎琢磨先生の好物推荐(软件/网站)

瞎琢磨先生

重新认识Go语言中的slice

麻瓜镇

golang

金融「中台」十宗罪

fino星君

中台 企业中台 业务中台

瞎琢磨先生の常用的 linux 命令

瞎琢磨先生

Linux Shell

准备重读测试驱动开发

escray

学习 CSD 认证实战营

对你来说,阅读是另一种生活的方式吗?

叶小鍵

如何对Code Review的评论进行分级

宝玉

代码审查 Code Review

Hello World !

ATGU:阿宝哥

Java Hello World ! Info

年轻人的世界

boyzcl

年轻人 系列

关于CodeReview的一些思考

Yezhiwei

[读书随笔]从哲学上的问题分类看TDD

老狗

哲学 TDD

信仰

小天同学

人生 个人成长 思考 读书感悟 信仰

开通InfoQ写作平台测试

ytl

系统的伸缩性以及扩展性设计

Janenesome

读书笔记 程序员 架构

基于vue(element ui) + ssm + shiro 的权限框架

吴邪

Redis学习笔记(基础命令)

编程随想曲

redis

JAVA小抄-000-初始

NoNoGirl

Java

赚钱的6个层次

品牌运营|陆晓明

创业 技术人 赚钱思维 层次 商机

Redis源码之常用数据结构和函数

心平气和

redis

新人工作的时候遇到问题怎么办

波波

学习 编程 职场 新人

我也曾对架构师的力量一无所知

曲水流觞TechRill

在今天种下一棵树

陈医僧Ethan

感悟 育儿

读懂才会用 : Redis的多线程

小眼睛聊技术

Java redis 学习 程序员 编程语言 后端

详解iOS性能优化,安装包瘦身

Usama Bin Laden

ios 源码分析 性能优化 性能 原理

技术人赚钱的9个路线

品牌运营|陆晓明

副业 赚钱 技术人 码农 生财有术

DDD 实践手册(4. Aggregate — 聚合)

Joshua

设计模式 领域驱动设计 架构模式

如何利用数据异构实现多级缓存或者数据迁移

松花皮蛋me

缓存 分布式 分库分表

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

Uber提出生成式教学网络GTN,9倍加速神经网络架构搜索-InfoQ