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

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

【新智元导读】函数逼近是机器学习中许多问题的核心,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的优点和能力。

神经过程模型

image

图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以及新的目标位置作为输入,并为对应的的值输出预测。

image


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

结果

image

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

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

image

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

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

image


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

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

image


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

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

讨论

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

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

原文发布时间为:2018-07-06
本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”。
原文链接:【ICML Oral】DeepMind提出深度学习新方向:神经过程模型

相关文章
|
5月前
|
机器学习/深度学习 算法 定位技术
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现裂缝的检测识别(C#代码UI界面版)
本项目基于YOLOv8模型与C#界面,结合Baumer工业相机,实现裂缝的高效检测识别。支持图像、视频及摄像头输入,具备高精度与实时性,适用于桥梁、路面、隧道等多种工业场景。
626 27
|
4月前
|
机器学习/深度学习 数据可视化 算法
深度学习模型结构复杂、参数众多,如何更直观地深入理解你的模型?
深度学习模型虽应用广泛,但其“黑箱”特性导致可解释性不足,尤其在金融、医疗等敏感领域,模型决策逻辑的透明性至关重要。本文聚焦深度学习可解释性中的可视化分析,介绍模型结构、特征、参数及输入激活的可视化方法,帮助理解模型行为、提升透明度,并推动其在关键领域的安全应用。
435 0
|
3月前
|
机器学习/深度学习 存储 PyTorch
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
Neural ODE将神经网络与微分方程结合,用连续思维建模数据演化,突破传统离散层的限制,实现自适应深度与高效连续学习。
207 3
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
|
2月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
5月前
|
机器学习/深度学习 人工智能 PyTorch
AI 基础知识从 0.2 到 0.3——构建你的第一个深度学习模型
本文以 MNIST 手写数字识别为切入点,介绍了深度学习的基本原理与实现流程,帮助读者建立起对神经网络建模过程的系统性理解。
649 15
AI 基础知识从 0.2 到 0.3——构建你的第一个深度学习模型
|
3月前
|
机器学习/深度学习 数据采集 传感器
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
247 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
AI 基础知识从 0.3 到 0.4——如何选对深度学习模型?
本系列文章从机器学习基础出发,逐步深入至深度学习与Transformer模型,探讨AI关键技术原理及应用。内容涵盖模型架构解析、典型模型对比、预训练与微调策略,并结合Hugging Face平台进行实战演示,适合初学者与开发者系统学习AI核心知识。
502 15
|
10月前
|
机器学习/深度学习 数据采集 自然语言处理
深度学习实践技巧:提升模型性能的详尽指南
深度学习模型在图像分类、自然语言处理、时间序列分析等多个领域都表现出了卓越的性能,但在实际应用中,为了使模型达到最佳效果,常规的标准流程往往不足。本文提供了多种深度学习实践技巧,包括数据预处理、模型设计优化、训练策略和评价与调参等方面的详细操作和代码示例,希望能够为应用实战提供有效的指导和支持。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习模型、算法与应用的全方位解析
深度学习,作为人工智能(AI)的一个重要分支,已经在多个领域产生了革命性的影响。从图像识别到自然语言处理,从语音识别到自动驾驶,深度学习无处不在。本篇博客将深入探讨深度学习的模型、算法及其在各个领域的应用。
1052 3
|
6月前
|
机器学习/深度学习 存储 PyTorch
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
本文通过使用 Kaggle 数据集训练情感分析模型的实例,详细演示了如何将 PyTorch 与 MLFlow 进行深度集成,实现完整的实验跟踪、模型记录和结果可复现性管理。文章将系统性地介绍训练代码的核心组件,展示指标和工件的记录方法,并提供 MLFlow UI 的详细界面截图。
294 2
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统