美文网首页
条件神经过程

条件神经过程

作者: 菜鸟瞎编 | 来源:发表于2019-01-21 23:44 被阅读0次

    神经网络碰上高斯过程,DeepMind论文开启深度学习新方向

    论文: https://arxiv.org/pdf/1807.01613.pdf
    官方示例:https://github.com/deepmind/conditional-neural-process

    Conditional Neural Processes (CNPs) were introduced as a continuation of Generative Query Networks (GQN) to extend its training regime to tasks beyond scene rendering, e.g. to regression and classification.
    条件神经过程是GQN的延伸。

    摘要

    深度神经网络在函数近似中表现优越,然而需要从头开始训练。另一方面,贝叶斯方法,像高斯过程(GPs),可以利用利用先验知识在测试阶段进行快速推理。然而,高斯过程的计算量很大,也很难设计出合适的先验。本篇论文中我们提出了一种神经模型,条件神经过程(CNPs),可以结合这两者的优点。CNPs受灵活的随机过程的启发,比如GPs,但是结构是神经网络,并且通过梯度下降训练。CNPs通过很少的数据训练后就可以进行准确的预测,然后扩展到复杂函数和大数据集。我们证明了这个方法在一些典型的机器学习任务上面的的表现和功能,比如回归,分类和图像补全。

    1.引论

    近年来深度神经网络取得了显著的成功,但是需要大量的数据进行有效的训练。一种减轻这个数据效率问题的方法是分两个阶段学习。第一阶段学习一个通用域(generic domain),在大的数据集上学习,但是并不学习具体的任务。第二阶段学习特定任务的函数,但通过利用已经学习的全域统计数据,仅使用少量数据点。神经网络的元学习(Meta-learning)是这种方法的一个例子。


    图1

    比如,考虑监督学习问题。大多数都可以被构造为有限观察集下的函数近似。考虑数据集\{(x_i,y_i)\}_{i=0}^{n-1},其中有n个输入 x_i \in X 和 n个输出y_i \in Y。假设这些表示某些未知函数f:X→Y的评估yi = f(xi),它可能是固定的或某些随机函数的实现。一个监督学习算法返回一个近似函数 g: X\rightarrow Y或者是这些函数上的分布。目的是在整个空间X上最小化 f 和 g 之间的loss,但是实际上是在(无标注的)有限集上进行。我们把这些无标注数据叫做target(见图1).分类、回归、动态模型以及图片生成都可以使用这个框架。

    有监督问题的一种方法是为每个新任务随机初始化参数化函数g,并将大部分计算花费在昂贵的拟合阶段上。通过 g 的结构、损失函数或者训练细节指定 f 的先验信息。这个方法适用于大多数深度有监督学习。因为先验知识只能被有限地表达出来,并且学习过程在不同任务之间不能共享,需要大量的训练数据,否则深度学习方法就会失败。

    另一种方法是站在概率的角度指定函数分布,称为随机过程,高斯过程就是一个例子。在这种观点上,从业者关于f的先验知识被捕获在关于先验过程的分布式假设中,并且学习在以观察值为条件的函数空间上的贝叶斯推断。在GP示例中,通过参数核函数先验地捕获关于f的平滑度的假设,并且g被视为根据预测后验分布分布的随机函数。不幸的是,一些贝叶斯方法的计算量随着数据量和维度的增长很快变得难以完成。

    在这项工作中,我们提出了一系列代表监督问题解决方案的模型,以及一种将神经网络与高斯过程特征相结合的端到端训练方法。我们将此系列模型称为条件神经过程(CNPs),因为他们在给定一组观察值的情况下定义了函数的条件分布。CNP对观测的依赖性由神经网络参数化,该神经网络在其输入的排列下是不变的。我们关注的是在测试时刻为O(n + m)的体系结构,其中n,m分别是观察和目标的数量。在其最基本的形式中,CNP嵌入每个观察,将这些嵌入聚集成具有对称聚合器的固定维度的进一步嵌入,并且在聚合嵌入上调节函数g;参见图1的示意图。通过对随机数据集进行采样并遵循梯度步骤来训练CNP,以在给定随机观察集的情况下最大化目标的随机子集的条件似然性。这鼓励CNP在各种环境中表现良好,即n<<m或者n>>m。

    此篇文章的结构如下。在第2节中,我们介绍条件神经过程,提出我们的实现,并描述如何使用标准深度学习库有效地训练它们。在第3节中,我们讨论相关工作,特别是贝叶斯和元学习方法。在第4节中,我们将CNP应用于多个领域,包括回归,分类和图像完成,将其优势与经典方法进行比较。我们强调尽管CNP与贝叶斯方法有一些相似之处,但它们并没有直接实现贝叶斯推理,并且条件分布与某些先前过程的一致性并不一定正确。然而,直接从训练数据中提取先验知识的能力与测试时的可扩展性相关联的能力可以具有相同或更高的重要性。

    2.模型

    2.1. 随机过程

    考虑一个配对输入x_i\in Xy_i\in Y的集合O=\{(x_i,y_i)\}_{i=0}^{n-1}\subset X\times Y,以及另一个无标注集合 T=\{x_i\}_{i=n}^{n+m-1}。我们分别把这些集合叫做观察集和目标集。我们假定输出是以下过程的实现;使P为函数 f:X\rightarrow Y上的概率分布,称为随机过程(P is a measure traditionally defined as the extension of a set of consistent measures on finite collections of f(xi) for xi ∈ X. We overload P for the marginal and conditional densities of these measures.)。然后对于f\sim P,使 y_i=f(x_i)。P定义了随机变量\{f(x_i)\}_{i=0}^{n+m-1}上的联合分布,因此有条件分布P(f(T)|O,T);我们的任务是在给定O的条件下预测每个x\in T的输出值 f(x)。
    举一个生动的例子,考虑一个定义在实线(即,X :=\mathbb{R}, Y:= \mathbb{R})上的随机1维函数f\sim P。O构成实线上不同位置xi处的f值yi的n个观测值。给定这些观察值,我们的兴趣在于预测实线上新位置的 f 值。对P的一个经典的假设是所有f的函数估计组成的有限集服从联合高斯分布。这种随机函数就是高斯过程。在这种情况下,预测分布P(f(T)|O, T) 有一个简单的分析形式,这个形式由配对相关结构(通过核函数指定)上的先验假设定义。(In this
    case, the predictive distribution P(f(T)|O, T) has a simple
    analytic form defined by prior assumptions on the pairwise
    correlation structure (specified via a kernel function).)
    随机过程的框架很有吸引力,因为贝叶斯规则允许人们在一组概率假设下通过观察O而对f的预测分布进行一致推理。这使得模型具有数据有效性,这是大多数深度学习模型中不常见的特征。然而,在实践中,难以设计适当的先验,并且随机过程的大多数有趣的示例在计算上是昂贵的,被n和m放大的很大。其中包括高斯过程,被放大为O((n+m)^3)

    2.2条件神经过程(CNPs)

    作为替代方案,我们提出了条件神经过程(CNPs),这些模型直接参数化条件随机过程,而不会对某些先验过程强加一致性。在给定固定维度O的分布式表示的情况下,CNP参数化f(T)上的分布。通过这样做,我们放弃了与随机过程相关的数学保证,将其交换为功能灵活性和可扩展性。

    特别地,给定观测集O,条件随机过程Q_\theta定义了输入为x\in T的f(x)上的分布。θ是定义Q的所有参数的实数向量。继承了随机过程的性质,我们假设Q_\theta对O和T的排列是不变的。当{O}',{T}'分别是O和T的排列,有Q_\theta(f(T)|O,T)=Q_\theta(f({T}')|O,{T}')=Q_\theta(f(T)|{O}',T)。在这项工作中,我们通常通过假设一个因式结构来强制相对于T的置换不变性。

    相关文章

      网友评论

          本文标题:条件神经过程

          本文链接:https://www.haomeiwen.com/subject/lemprqtx.html