Pedro 王淑婷参与

谷歌大脑提出对抗正则化方法,显著改善自编码器的泛化和表征学习能力

自编码器因其优越的降维和无监督表征学习能力而知名,而过去的研究表明自编码器具备一定程度的插值能力。来自谷歌大脑的 Ian Goodfellow 等研究者从这一角度提出了一种新方法,显著改善了自编码器的平滑插值能力,这不仅能提高自编码器的泛化能力,对于后续任务的表征学习也会大有帮助。

1 引言


监督学习的目标之一是不依靠显式的标注得到数据集的内在结构。自编码器是一种用于达成该目标的常见结构,它学习如何将数据点映射到隐编码中——利用它以最小的信息损失来恢复数据。通常情况下,隐编码的维度小于数据的维度,这表明自编码器可以实施某种降维。对于某些特定的结构,隐编码可以揭示数据集产生差异的关键因素,这使得这些模型能够用于表征学习 [7,15]。过去,它们还被用于预训练其它网络:先在无标注的数据上训练它们,之后将它们叠加起来初始化深层网络 [1,41]。最近的研究表明,通过对隐藏空间施加先验能使自编码器用于概率建模或生成模型建模 [18,25,31]。


某些情况下,自编码器显示了插值的能力。具体来说,通过在隐藏空间中混合编码以及对结果进行解码,自编码器可以生成对应数据点的语义上有意义的组合。这种行为本身就很有用,例如用于创造性应用 [6]。尽管如此,我们还认为它展示了一种广义上的「泛化」能力——这意味着自编码器并不只是简单地记忆如何重建一小部分数据点。从另一个角度来看,它还表明自编码器发现了一些数据的内在结构并在其隐藏空间中捕获了它。这些特点使得插值经常出现在关于自编码器 [5,11,14,26,27,32] 及隐变量生成模型研究的实验结果中 [10,30,38]。基于无监督表征学习 [3] 和正则化 [40] 的插值与「平面」数据流形之间的联系已经被探索过。


尽管插值应用广泛,其定义仍然有些不够明确,因为它的定义依赖于「语义上有意义的组合」的概念。此外,人们也很难直观的理解为什么自编码器应该具有插值能力——用于自编码器的目标或结构都没有明确地对其提出过这种要求。本文主要在自编码器的规范化以及插值改进方面做出了以下贡献:


  • 提出了一种对抗正则化策略,该策略明确鼓励自编码器中的高质量插值(第 2 节)。

  • 开发了一个简单的基准,其中插值定义明确且可以量化(第 3.1 节)。

  • 定量地评估了常见的自编码器模型实施有效插值的能力;同时还展示了本文提出的正则化项更优的插值能力(3.2 节)。

  • 证明了正则化项有利于后续任务的表征学习(第 4 节)。


图 1:对抗约束自编码器插值(ACAI)。评估网络试图预测对应于插值数据点的插值系数 α。训练自编码器来欺骗评估网络使输出 α = 0。


论文:Understanding and Improving Interpolation in Autoencoders via an Adversarial Regularizer 



论文链接:https://arxiv.org/pdf/1807.07543v2.pdf


通过对隐编码中重建数据点所需的所有信息进行编码,自编码器为学习压缩表征提供了强大的框架。某些情况下,自编码器可以「插值」:通过解码两个数据点的隐编码的凸组合,自编码器可以产生一个语义上混合各数据点特征的输出。本论文提出了一种正则化过程,它鼓励插值输出通过欺骗评估网络(critic network)的方式显得更真实,其中评估网络被训练用于恢复插值数据的混合系数。论文还提出了一个简单的基准测试,可以定量测量各种自编码器可以插值的程度,并表明本文提出的正则化项可以显著改善此设置中的插值。此外,论文还认为正则化项产生的隐编码对后续任务更有效,这表明插值能力和学习有用表征之间可能存在联系。


3 自编码器,以及如何插值


如何衡量自编码器插值是否有效以及正则化策略是否达到其既定目标?如第 2 节所述,定义插值依赖于「语义相似性」的概念,这是一个模糊且依赖于问题的概念。例如,按照「αz_1 + (1 − α)z_2 应该映射到 αx_1 + (1 − α)x_2」定义插值显得过于简单,因为数据空间中的插值通常不会产生真实的数据点——用图像来表现的话,这种情况对应于两个图像像素值之间的简单淡化。然而,我们想要的是自编码器在特征不同的 x1 和 x2 之间平滑地变化;换句话说,是希望沿着插值的解码点平滑地遍历数据的底层流形而不是简单地在数据空间中插值。但是,我们很少能够访问基础数据流。为了使这个问题更加具体,本文引入了一个简单的基准测试,其中数据流形简单且先验已知,这使得量化插值质量成为可能。然后,我们评估各种常见自编码器在基准测试中进行插值的能力。最后,我们在基准测试中测试 ACAI,发现它展示出了显著改善的性能和定性优越的插值。


图 2:合成线数据集中的数据和插值示例。(a) 来自数据集的 16 个随机样本。(b) 从 Λ=11π/ 14 到 0 的完美插值。(c) 在数据空间而不是「语义」或隐藏空间中插值。显然,以这种方式插值会产生不在数据流形上的点。(d) 从一幅图像突然转换成另一幅图像、而不是平滑改变的插值。(e) 平滑插值,从开始到结束点的路径比最短路径更长。(f) 采用正确路径但中间点虚化了的插值。


图 3:以下自编码器在合成线基准上插值的效果:(a) 标准自编码器,(b) 对隐藏空间施加 dropout 的标准编码器,(c) 去噪自编码器,(d) 变分自编码器,(e) 对抗自编码器,(f) 矢量量化变分自编码器,(g) 对抗约束自编码器插值(我们的模型)。


表 1:不同自编码器在合成基准测试中获得的分数(越低越好)。


4 优化表征学习


到目前为止,本文只专注于测试不同自编码器的插值能力。现在,我们想知道改进插值是否与后续任务的性能改进有关。具体来说,我们将评估使用本文提出的正则化项是否会产生隐藏空间表征,从而改善在监督学习和聚类中的表现。换句话说,我们试图测试改进插值是否会影响隐藏表征:它可以揭示数据集产生差异的关键因素。为了回答这个问题,我们在 MNIST [21],SVHN [28] 和 CIFAR-10 [20] 数据集上用不同自编码器训练过的隐藏空间来进行分类聚类测试。


4.1 单层分类器


表 2:不同自编码器达到的单层分类器准确率


4.2 聚类


表 3:在不同自编码器(左)和先前报告的方法(右)的隐藏空间上使用 K-Means 的聚类准确率。右边的「Data」是指直接对数据执行 K-Means。标 * 的结果来自 [16],标 ** 的结果来自 [42]。


图 6:MNIST 上的插值示例,隐维数为 256:(a) 标准编码器,(b)Dropout 编码器,(c) 去噪编码器,(d)VAE,(e)AAE,(f)VQ-VAE,(g)ACAI 自编码器。


图 10:CelebA 上的插值示例,隐维数为 256:(a) 标准编码器,(b)Dropout 编码器,(c) 去噪编码器,(d)VAE,(e)AAE,(f)VQ-VAE,(g)ACAI 自编码器。

理论谷歌谷歌大脑Ian Goodfellow
4
相关数据
对抗自编码器技术
Adversarial Autoencoder

对抗自编码器通过使用对抗学习(adversarial learning)避免了使用 KL 散度。在该架构中,训练一个新网络来有区分地预测样本是来自自编码器的隐藏代码还是来自用户确定的先验分布 p(z)。编码器的损失函数现在由重建损失函数与判别器网络(discriminator network)的损失函数组成。

自动编码器技术
Autoencoder

自动编码器是用于无监督学习高效编码的人工神经网络。 自动编码器的目的是学习一组数据的表示(编码),通常用于降维。 最近,自动编码器已经越来越广泛地用于生成模型的训练。

降维技术
Dimensionality reduction

降维算法是将 p+1 个系数的问题简化为 M+1 个系数的问题,其中 M<p。算法执行包括计算变量的 M 个不同线性组合或投射(projection)。然后这 M 个投射作为预测器通过最小二乘法拟合一个线性回归模型。两个主要的方法是主成分回归(principal component regression)和偏最小二乘法(partial least squares)。

生成模型技术
Generative Model

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

映射技术
Mapping

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

规范化技术
Normalization

规范化:将属性数据按比例缩放,使之落入一个小的特定区间,如-1.0 到1.0 或0.0 到1.0。 通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。对于距离度量分类算法,如涉及神经网络或诸如最临近分类和聚类的分类算法,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘,对于训练样本属性输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属相相比,权重过大。有许多数据规范化的方法,包括最小-最大规范化、z-score规范化和按小数定标规范化。

表征学习技术
Representation learning

在机器学习领域,表征学习(或特征学习)是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。在特征学习算法出现之前,机器学习研究人员需要利用手动特征工程(manual feature learning)等技术从原始数据的领域知识(domain knowledge)建立特征,然后再部署相关的机器学习算法。虽然手动特征工程对于应用机器学习很有效,但它同时也是很困难、很昂贵、很耗时、并依赖于强大专业知识。特征学习弥补了这一点,它使得机器不仅能学习到数据的特征,并能利用这些特征来完成一个具体的任务。

监督学习技术
Supervised learning

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

变分自编码器技术
Variational autoencoder

变分自编码器可用于对先验数据分布进行建模。从名字上就可以看出,它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。在自动编码器中,需要输入一张图片,然后将一张图片编码之后得到一个隐含向量,这比原始方法的随机取一个随机噪声更好,因为这包含着原图片的信息,然后隐含向量解码得到与原图片对应的照片。但是这样其实并不能任意生成图片,因为没有办法自己去构造隐藏向量,所以它需要通过一张图片输入编码才知道得到的隐含向量是什么,这时就可以通过变分自动编码器来解决这个问题。解决办法就是在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。这样生成一张新图片就比较容易,只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成想要的图片,而不需要给它一张原始图片先编码。

准确率技术
Accuracy

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

机器之心
机器之心

机器之心是国内领先的前沿科技媒体和产业服务平台,关注人工智能、机器人和神经认知科学,坚持为从业者提供高质量内容和多项产业服务。

推荐文章
返回顶部