0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DeepMind的最新研究结合了神经网络和随机过程的优点提出神经过程模型

DPVg_AI_era 来源:未知 作者:李倩 2018-07-09 09:04 次阅读

函数逼近是机器学习中许多问题的核心,DeepMind的最新研究结合了神经网络和随机过程的优点,提出神经过程模型,在多任务上实现了很好的性能和高计算效率。

函数逼近(Function approximation)是机器学习中许多问题的核心,在过去十年来,这个问题的一种非常流行的方法是深度神经网络。高级神经网络由黑盒函数逼近器构成,它们学习从大量训练数据点参数化单个函数。因此,网络的大部分工作负载都落在训练阶段,而评估和测试阶段则被简化为快速的前向传播。虽然高的测试时间性能对于许多实际应用是有价值的,但是在训练之后就无法更新网络的输出,这可能是我们不希望的。例如,元学习(Meta-learning)是一个越来越受欢迎的研究领域,解决的正是这种局限性。

作为神经网络的一种替代方案,还可以对随机过程进行推理以执行函数回归。这种方法最常见的实例是高斯过程( Gaussian process, GP),这是一种具有互补性质的神经网络模型:GP不需要昂贵的训练阶段,可以根据某些观察结果对潜在的ground truth函数进行推断,这使得它们在测试时非常灵活。

此外,GP在未观察到的位置表示无限多不同的函数,因此,在给定一些观察结果的基础上,它能捕获其预测的不确定性。但是,GP在计算上是昂贵的:原始GP对数据点数量是3次方量级的scale,而当前最优的逼近方法是二次逼近。此外,可用的kernel通常以其函数形式受到限制,需要一个额外的优化过程来为任何给定的任务确定最合适的kernel及其超参数。

因此,将神经网络和随机过程推理结合起来,弥补两种方法分别具有的一些缺点,这作为一种潜在解决方案越来越受到关注。在这项工作中,DeepMind研究科学家Marta Garnelo等人的团队提出一种基于神经网络并学习随机过程逼近的方法,他们称之为神经过程(Neural Processes, NPs)。NP具有GP的一些基本属性,即它们学习在函数之上建模分布,能够根据上下文的观察估计其预测的不确定性,并将一些工作从训练转移到测试时间,以实现模型的灵活性。

更重要的是,NP以一种计算效率非常高的方式生成预测。给定n个上下文点和m个目标点,一个经过训练的NP的推理对应于一个深度神经网络的前向传递,它以scale,而不是像经典GP那样以。此外,该模型通过直接从数据中学习隐式内核(implicit kernel)来克服许多函数设计上的限制。

本研究的主要贡献是:

提出神经过程(Neural Processes),这是一种结合了神经网络和随机过程的优点的模型。

我们将神经过程(NP)与元学习(meta-learning)、深层潜变量模型(deep latent variable models)和高斯过程(Gaussian processes)的相关工作进行了比较。鉴于NP与这些领域多有相关,它们让许多相关主题之间可以进行比较。

我们通过将NP应用于一系列任务,包括一维回归、真实的图像补完、贝叶斯优化和contextual bandits来证明了NP的优点和能力。

神经过程模型

图1:神经过程模型。

(a)neural process的图模型,x和y分别对应于y = f(x)的数据,C和T分别表示上下文点和目标点的个数,z表示全局潜变量。灰色背景表示观察到变量。

(b)neural process的实现示意图。圆圈中的变量对应于(a)中图模型的变量,方框中的变量表示NP的中间表示,粗体字母表示以下计算模块:h - encoder, a - aggregator和g - decoder。在我们的实现中,h和g对应于神经网络,a对应于均值函数。实线表示生成过程,虚线表示推理过程。

在我们的NP实现中,我们提供了两个额外的需求:上下文点的顺序和计算效率的不变性(invariance)。

最终的模型可归结为以下三个核心组件(见图1b):

从输入空间到表示空间的编码器(encoder)h,输入是成对的上下文值,并为每对生成一个表示。我们把h参数化为一个神经网络。

聚合器(aggregator)a,汇总编码器的输入。

条件解码器(conditional decoder)g,它将采样的全局潜变量z以及新的目标位置作为输入,并为对应的的值输出预测

图2:相关模型(a-c)和神经过程(d)的图模型。灰色阴影表示观察到变量。C表示上下文变量,T表示目标变量,即给定C时要预测的变量。

结果

图4. MNIST和CelebA上的像素化回归

左边的图展示了一张图像完成像素化可以框定为一个2-D回归任务,其中f(像素坐标)=像素亮度。右边的图展示了图像实现MNIST和CelebA的结果。顶部的图像对应提供给模型的上下文节点。为了能够更清晰的展现,未被观察到的点在MNIST和CelebA中分别标记为蓝色和白色。在给定文本节点的情况下,每一行对应一个不同的样本。随着文本节点的增加,预测像素越来越接近底层像素,且样本间的方差逐渐减小。

图5. 用神经过程对1-D目标函数进行汤普森抽样

这些图展示了5次迭代优化的过程。每个预测函数(蓝色)是通过对一个潜变量(latent variable)的采样来绘制的,其中该变量的条件是增加文本节点(黑色)的数量。底层的ground truth函数被表示为一条黑色虚线。红色三角形表示下一个评估点(evaluation point),它对应于抽取的NP曲线的最小值。下一个迭代中的红色圆圈对应于这个评估点,它的底层ground truth指将作为NP的一个新文本节点。

表1. 使用汤普森抽样对贝叶斯优化

优化步骤的平均数需要达到高斯过程生成的1-D函数的全局最小值。这些值是通过随机搜索采取步骤数来标准化的。使用恰当的核(kernel)的高斯过程的性能等同于性能的上限。

表2. 增加δ值后wheel bandit问题的结果

结果表示的是超过100次的累加regret和简单regret的平均误差和标准误差。结果归一化了一个统一体(uniform agent)的性能。

讨论

我们介绍了一组结合随机过程和神经网络优点的模型,叫做神经过程。NPs学会在函数上表示分布,并且测试时根据一些文本输入做出灵活的预测。NPs不需要亲自编写内核,而是直接从数据中学习隐式度量(implicit measure)。

我们将NPs应用于一些列回归任务,以展示它们的灵活性。本文的目的是介绍NPs,并将它与目前正在进行的研究做对比。因此,我们呈现的任务是虽然种类很多,但是维数相对较低。将NPs扩展到更高的维度,可能会大幅度降低计算复杂度和数据驱动表示(data driven representations)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4732

    浏览量

    100393
  • 深度学习
    +关注

    关注

    73

    文章

    5459

    浏览量

    120863
  • DeepMind
    +关注

    关注

    0

    文章

    129

    浏览量

    10809

原文标题:【ICML Oral】DeepMind提出深度学习新方向:神经过程模型

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    神经网络教程(李亚非)

      第1章 概述  1.1 人工神经网络研究与发展  1.2 生物神经元  1.3 人工神经网络的构成  第2章人工神经网络基本
    发表于 03-20 11:32

    求基于labview的BP神经网络算法的实现过程

    求高手,基于labview的BP神经网络算法的实现过程,最好有程序哈,谢谢!!
    发表于 12-10 14:55

    【PYNQ-Z2试用体验】神经网络基础知识

    学习和认知科学领域,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络
    发表于 03-03 22:10

    【案例分享】基于BP算法的前馈神经网络

    `BP神经网络首先给出只包含一个隐层的BP神经网络模型(两层神经网络): BP神经网络其实由两部分组成:前馈
    发表于 07-21 04:00

    【案例分享】ART神经网络与SOM神经网络

    元,它决定该输入向量在地位空间中的位置。SOM神经网络训练的目的就是为每个输出层神经元找到合适的权向量,以达到保持拓扑结构的目的。SOM的训练过程其实很简单,就是接收到一个训练样本后
    发表于 07-21 04:30

    卷积神经网络优点是什么

    卷积神经网络优点
    发表于 05-05 18:12

    如何构建神经网络

    原文链接:http://tecdat.cn/?p=5725 神经网络是一种基于现有数据创建预测的计算系统。如何构建神经网络神经网络包括:输入层:根据现有数据获取输入的层隐藏层:使用反向传播优化输入变量权重的层,以提高
    发表于 07-12 08:02

    卷积神经网络模型发展及应用

    分析目前的特殊模型结构,最后总结并讨论卷积神经网络在相关领域的应用,并对未来的研究方向进行展望。卷积
    发表于 08-02 10:39

    加工过程神经网络模型参考自适应控制

    本文提出了用神经网络模型参考自适应控制器对加工过程进行控制的方法。并以铣床加工过程为例,针对原PID控制器产生超调量过大,控制效果不理想,设
    发表于 12-26 13:58 10次下载

    深度神经决策树:深度神经网络和树模型结合的新模型

    近日,来自爱丁堡大学的研究人员提出了一种结合深度神经网络和树模型的新型模型——深度
    的头像 发表于 08-19 09:14 1.2w次阅读

    什么是高斯过程 神经网络高斯过程解析

    神经网络是怎么和高斯过程联系在一起的呢?Lee et al. [1] and Neal [2] 指出,随机初始化无限宽网络的参数会产生一个高斯过程
    发表于 08-10 11:25 4335次阅读

    卷积神经网络优点

    卷积神经网络优点  卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度学习的神经网络模型,在图
    的头像 发表于 12-07 15:37 3974次阅读

    bp神经网络算法过程包括

    的算法过程,包括网络结构、激活函数、训练过程、反向传播算法、权重更新策略等。 网络结构 BP神经网络由输入层、隐藏层和输出层组成,每层包含若
    的头像 发表于 07-04 09:45 313次阅读

    PyTorch神经网络模型构建过程

    PyTorch,作为一个广泛使用的开源深度学习库,提供丰富的工具和模块,帮助开发者构建、训练和部署神经网络模型。在神经网络模型中,输出层是
    的头像 发表于 07-10 14:57 408次阅读

    如何使用经过训练的神经网络模型

    使用经过训练的神经网络模型是一个涉及多个步骤的过程,包括数据准备、模型加载、预测执行以及后续优化等。
    的头像 发表于 07-12 11:43 716次阅读