通过保留类邻域结构学习非线性嵌入外文翻译资料

 2022-08-27 10:08

英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料


通过保留类邻域结构学习非线性嵌入

Ruslan Salakhutdinov 和 Geoffrey Hinton

计算机科学系

多伦多大学

Toronto, Ontario M5S 3G4

摘要

我们展示了如何预训练和微调多层神经网络,以学习从输入空间到低维特征空间的非线性变换,其中K最近邻(k-Nearest Neighbor,KNN)分类算法表现良好。我们还展示了如何使用未标记的数据来改善非线性变换。在广泛使用的MNIST手写数字识别任务版本上,我们的方法比支持向量机或标准反向传播所实现的错误率低得多。如果低维特征空间的某些维未用于近邻分类,则我们的方法将使用这些维来明确地表示不影响其标识的数字的转换。

1、介绍

学习输入空间X上的相似性度量或距离度量是机器学习中的重要任务。良好的相似性度量可以洞悉高维数据的组织方式,并且可以显着提高基于计算距离的算法(如最邻近节点算法(KNN))的性能。

对于任何给定的距离度量D(例如欧几里得),我们可以通过计算D来测量两个输入向量之间的相似度,其中是一个函数,它将X中的输入向量映射到特征空间Y中,并由W参数化(见图1)。

图 1 训练相似性度量

图1:在学习了从图像到30维代码向量的非线性转换之后,代码向量之间的欧几里德距离可用于测量图像之间的相似性。

如[8]所述,学习相似性度量与特征提取问题密切相关,因为对于任何固定的D,任何特征提取算法都可以视为学习相似性度量。如[8]所述,学习相似性度量与特征提取问题密切相关,因为对于任何固定的D,任何特征提取算法都可以视为学习相似性度量。先前的工作研究了D为欧几里得矢量距离且为简单线性投影的情况。则特征空间中的欧几里得距离就是输入空间中的马氏距离:

(1)

线性判别分析(LDA)学习矩阵W,该矩阵使类内距离与类间距离之比最小。Goldberger等人[9]了解了在最终特征空间中优化KNN性能的线性变换。这与LDA不同,因为LDA允许同一类的两个成员在要素空间中相距较远,只要该类的每个成员都与K个其他类成员接近即可。Globerson和Roweis[8]学习了矩阵W,使得来自同一类别的输入向量映射到一个紧密的簇。他们表明,他们的方法近似于数据的局部协方差结构,因此与基于全局协方差结构的LDA相反,它不是基于高斯假设。温伯格等人[18]还学习了W,其双重目标是使最接近K的邻居属于同一个类别,并且使来自不同类别的示例之间有很大的距离。他们在MNIST数据集上成功实现了1.3%的测试错误率[15]。

线性变换的参数数量有限,并且无法对原始数据维之间的高阶相关性进行建模。在本文中,我们表明,具有更多参数的非线性变换函数可以发现低维表示,其效果比现有线性方法好得多,只要数据集足够大以允许估计参数即可。

使用多层神经网络学习使输出信号之间的一致性最大化的非线性函数的想法可以追溯到[2]。他们表明,有可能通过最大化两个或多个神经网络的一维输出之间的互信息来学习从平滑,随机纹理表面的立体图像中提取深度。每个网络都查看两个图像的本地补丁,并尝试提取相互信息高度一致的数字,而这些数字是由查看附近立体声补丁的网络提取的。在整个步调上唯一连贯的属性是表面的深度,这就是网络学习提取的内容。一种类似的方法已经被用来提取在时间上是连贯的结构[17]。

将这种思想推广到具有多维,实值输出的网络是困难的,因为真正的互信息取决于输出矢量的熵,并且这对于多维输出很难有效地估计。用多维高斯的对数行列式近似熵对于学习线性变换非常有效[7],因为线性变换不能改变高斯分布的方式。但这对于学习非线性变换[21]效果不佳,因为优化作弊是通过使熵的高斯近似值越差越好。互信息是各个熵和联合熵之间的差,因此可以通过学习类似于毛球的各个输出分布来使其显得很大。当用高斯近似时,大的毛团具有较大的行列式,但是其真实熵非常低,因为密度集中在毛发中而不是填充空间。

一组iid图像对中的结构可以分解为单个图像的整个iid组中的结构,而无需考虑配对,以及它们配对时的其他结构。 如果我们只关注建模配对中的附加结构,则可以解决估计多维分布的熵的问题。 可以通过找到每个图像到低维代码的非线性变换来对附加结构进行建模,以使成对的图像具有比未成对的图像更相似的代码。 采用一种概率方法,我们可以通过使用它们的代码之间的平方距离来定义所有可能的图像对上的概率分布:

(2)

然后,我们可以通过最大化实际出现在训练集中的对的对数概率来学习非线性变换。 等式(2)中的归一化项在训练案例中是二次方,而不是在像素数量或代码维数中呈指数级,因为我们仅尝试对配对中的结构进行建模,而不是对单个图像或对象中的结构进行建模码向量之间的相互信息。

最初在[9]中描述了使用等式(2)训练多层神经网络的想法。 他们表明,如果网络是在具有相同大小和方向但又非常不同的两对面部图像上进行训练的,则网络将提取一个二维代码,以明确表示面部的大小和方向。 尝试提取更复杂的属性的尝试不太成功,部分原因是难以训练具有许多隐藏层的多层神经网络,部分原因是图像对中的信息量少于每对图像中的位。 这意味着需要大量对来训练大量参数。

乔普拉等人 [3]最近使用相同方法的非概率版本来学习面部相似度度量,该度量将高相似度分配给同一个人的非常相似的图像,而将低相似度分配给不同人的非常相似的图像。 他们通过利用使用正(类似)和负极(异种)的示例的精心制作的手工罚函数实现为等式(2)相同的效果。 它们大大减少了通过使用卷积多层神经网络要学习的参数的数量,并在面部验证任务上取得了令人印象深刻的结果。

我们最近发现了一种非常有效且完全不受监督的训练多层非线性“编码器”网络的方法,该网络将输入数据向量转换为低维特征表示,该低维特征表示捕获了输入数据中的许多结构[14]。该无监督算法可以用作预训练阶段来初始化参数向量W,该参数向量W定义了从输入向量到其低维表示的映射。初始预训练后,可以通过在[9]引入的邻域分量分析(NCA)目标函数中执行梯度下降来对参数进行微调。该学习导致输入空间的非线性变换,该变换已被优化以使KNN在低维特征空间中表现良好。使用这种非线性NCA算法将MNIST数字映射到30维特征空间中,我们实现了1.08%的错误率。在相同版本的MNIST任务上,支持向量机的错误率明显更高,为1.4%[5]。

在下一部分中,我们简要回顾一下邻域成分分析并将其推广到其非线性对应项。 在第3节中,我们展示了如何有效地执行预训练以从二进制或实值数据中提取有用的特征。 在第4节中,我们显示了在手写数字MNIST数据集上,非线性NCA明显优于线性方法。 在第5节中,我们展示了如何通过向目标函数添加额外项来对非线性NCA进行正则化。 额外的术语是从代码中重构数据时的错误。 使用此正则化项,我们显示了非线性NCA如何从其他未标记的数据中受益。 当仅对一小部分图像进行标记时,我们进一步证明了正则化非线性NCA的优越性。

2.学习非线性NCA

给定一组N个标记的训练案例,其中和。对于每个训练向量,定义点a选择其邻居b的概率(如[9 ,13])转换为特征空间:

(3)

我们聚焦于欧几里得距离向量:

是一个由权重向量W参数化的多层神经网络(见图1)。 点a属于类别k的概率取决于属于类别k的所有其他数据点的相对距离:

NCA的目标(如[9]中所述)是使训练数据上正确分类的点的预期数量最大化:

或者可以使正确分类的对数概率的总和最大化:

当约束为线性变换时,我们得到线性NCA。 当由多层非线性神经网络定义时,我们可以通过相对于参数矢量通过编码器各层反向传播公式5或6中目标函数的导数,从而探索出更丰富的变换类别 网络。 在我们的实验中,公式5的NCA目标的效果略好于。我们怀疑这是因为对异常值的处理更可靠。 另一方面,将严重惩罚要素空间中的点不与其类别的任何其他成员接近的配置。 附录中给出了公示5的派生词。

图 2

图2:受限的玻尔兹曼机。 顶层代表随机二进制特征h的向量,底层代表随机二进制“可见”变量x的向量。 在对实值可见变量进行建模时,底层由具有高斯噪声的线性单位组成。

3.预训练

在本节中,我们将描述一种无监督的方法来学习一个自适应的、多层的、非线性的“编码器”网络,该网络将输入数据向量转换为其低维特征表示f(x|W)。这种学习被视为一个训练前阶段,发现良好的低维表示。权向量的后续微调使用等式5中的目标函数进行。

3.1二进制数据建模

我们使用受限玻耳兹曼机器对二进制数据(例如MNIST数字)进行建模[6,16,11](见图2)。“可见”随机二进制输入向量和“隐藏”随机二进制特征向量由条件伯努利分布的乘积建模:

其中是逻辑函数,是输入i和特征j之间的对称交互项,是偏差。偏差是整个参数向量W的一部分。可见向量x上的边际分布为:

式中,能量项(即负对数概率 未知常数偏移)由下式给出:

对数似然中执行梯度上升所需的参数更新可从等式9获得:

图 3

图3:左面板:预训练包括学习RBM的堆栈,其中一个RBM的特征激活被下一个RBM视为数据。右面板:预训练后,RBM“展开”。设置导致非线性NCA,设置导致深层多层自动编码器。首先,将NCA目标与自动编码器重建误差相结合,形成正则化的非线性NCA。通过反向传播对网络进行微调。

其中是学习率,表示对数据分布的期望,是对模型定义的分布的期望。为了避免计算的困难,我们使用了一步对比发散法[11]:


(11)

期望值定义了当特征由使用公式7的训练集的观测数据驱动时,输入i和特征j一起打开的频率。在随机激活特征之后,等式8用于“重建”二进制数据。然后,等式7再次用于激活特征,并且是当特征由重构数据驱动时的相应频率。偏差的学习规则只是公式11的简化版本。

3.2 真实数据建模

Welling等人[19]介绍了一类两层无向图形模型,将受限玻耳兹曼机(RBM)推广到指数族分布。这使得他们能够通过使用具有高斯分布的可见单位(其平均值由隐藏单位确定)对具有实值像素的图像进行建模:


(12)


(13)

可见单位的边际分布x由式9给出。带能量项:


(14)

对数似然函数的梯度为:

如果我们为所有可见单位i设置方差,参数更新与等式11中定义的相同。

3.3 贪婪递归预训练

在学习了第一层隐藏特征之后,我们有了一个无向模型,该模型通过一对一致的条件概率和来定义.和是表达所学知识的另一种表达方式。 与标准定向模型不同,此没有自己的单独参数。 这是一个复杂的,无因次的关于h的先验,由权重隐式定义。这种对和的特殊分解提出了一种递归算法:保留学习到的,但用优于h的先验替换。

对于任何近似分布,我们可以写:

s
(15)

如果我们设为真后验分布,(等式7),边界变得紧密。通过冻结参数向量W的值(等式7,8),我们冻结,如果我们继续使用计算分布在给定的hx,我们也冻结 由隐式定义,是真正的后验概率,但当学习到更好的p(h)分布时,只是真正后验概率的近似值。然而,如果通过优化等式15中的变分界限来学习更好的模型,则使用近似后验值所造成的损失小于使用更好的模型所造成的增益。最大化这个界限与冻结等于最大化:

以概率进行采样的向量,即相当于将应用于实际数据产生的隐藏活动向量视为下一学习阶段的数据。[1]前提是每层特征的数量不减少,[12]表明,每个额外的层增加了公式15中数据对数概率的变化下限。如果层变小,这个界限就不适用了,就像在编码器中一样,但是,如[14]所示,预训练算法仍然可以很好地作为初始化后续微调阶段的一种方法。预训练在参数空间的一个好的区域中找到一个点,近视微调然后执行局部梯度搜索,在附近找到一个更好的点。

在学习第一层特征之后,当现有特征被真实数据驱动时,通过将它们的激活概率作为第二级二进制RBM的数据来学习第二层(参见图3)。为了抑制学习信号中的噪声,我们对每个RBM的可见单元使用实值激活概率,但是为了防止每个隐藏单元从数据中传输超过一位的信息到其重构,预训练总是对隐藏单元使用随机二进制值。

顶部RBM的隐藏单位用随机实值状态来建模,这些状态从高斯中采样,其平均值由RBM的logistic可见单位的输入决定。这使得低维代码能够很好地利用连续变量,也便于与线性NCA进行比较。条件分布在等式12,13中给出,角色为x和h。在我们所有的实验中,我们为所有隐藏单位j设置方差,这简化了学习。这种情况下的参数更新与等式11中的定义相同。

深层生成模型的递归学习

1. 学习伯努利或高斯模型的参数W。

2. 冻结低层模型的参数,并使用二元特征的激活概率,当它们被训练数据驱动时,作为训练下一层二元特征的数据。

3. 冻结定义2层特征的参数,并使用这些特征的激活概率作为训练3层特征的数据。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[405755],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。