首页 > 技术文章 > Adversarial Learning with Local Coordinate Coding【阅读笔记】

janmng 2020-12-07 21:18 原文

论文地址:https://arxiv.org/abs/1806.04895

LCCGAN提出了目前现有的GAN研究领域存在两个不足:

  • 很多研究应用了一些先验分布作为生成器的输入,例如高斯分布、均匀分布,学习现实数据中的 数据分布,从而生成与现实数据很像的新数据。然而,这些先验分布真实图像的数据分布是独立 的,所以生成的图片很容易失去细致的语义信息,从而导致一些不自然的图像结构;虽然这些语义 信息可以用AE(什么是AE)生成,但是如何从这些语义信息中有效采样依然是个难题;
  • GAN的泛化性能和latent distribution之间的关系仍然未知。根据作者的研究发现GAN 的性能很大程度上受到latent distribution维度的影响。然而,由于先验分布和真实数据分布之 间的关系是独立的,所以很难研究分析latent distribution的维度信息。因此, latent distribution及其给GAN带来的性能影响需要进一步研究。

这篇文章的贡献如下:

  • 作者采用Local Coordinate Coding(LCC)方式从latent manifold(latent distribution 在低维中的分布)中采样有意义的embeddings学习数据中的local information;
  • 文章中研究了LCCGAN的泛化能力以及latent distribution的维度信息,作者证明了低维度的 输入也可以使生成模型有很好的泛化能力。

Local Coordinate Coding

图1 LCC

严谨的LCC理论证明和公式推导可以阅读论文Nonlinear learning using local coordinate coding。 这里小编仅用文字简要说明一下复杂的公式原理,希望让更多的人能够了解LCC采样方法。

作者在这里应用LCC在低维数据空间上建立一个局部坐标系,建立过程中首先选择一组base point 作为坐标系的基,然后学习base point和邻近点之间的关系信息weights,最后通过改变这些weights 信息丰富化低维数据空间中的数据点。作者在丰富化以后的低维度信息空间中进行采样,从而缓解 了样本数据不足带来的维度缺失问题,提升了模型生成数据的质量和多样性。

这里只给出了LCC的一个工作流程,论文中有详细的理论证明方法的有效性和Loss收敛方法。

如图1(a),假设样本空间latent manifold中只有实心圆信息embeddings,图中灰色的圆即为LCC建立的临时局部坐标系,黑色 圆用来学习坐标系base和其他数据点之间的关系weights。在图1(b)中,通过loss的收敛,LCC可以 通过改变weights信息生成新的数据点,从而覆盖整个latent manifold空间。这样样本空间信息可以 得到丰富化。论文中严格的公式推导说明,当建立的局部坐标系局部空间越小,生成的样本信息越 平滑(Lipschitz Smoothness理论可证明)。

latent manifold

上述中阐述了一个latent manifold的概念,文章中解释latent manifold是真实数据分布在 高维象限中的低维存在,可以理解为:真实数据虽然分布在高维象限中,但是它们可以无损失地 压缩到低维象限中。latent manifold就是指的那个压缩到不能再压缩的低维特征集。

现有方法中,latent manifold的近似提取方法有很多,一个常用的方法是AutoEncoder(AE)。 可以把近似获得的latent manifold取名为embeddings。但是embeddings只是latent manifold 的一个近似概念,不能完全等价latent manifold。

Generative Adversarial Networks

文章中用数学表达式定义阐述了GAN的定义。那么,大名鼎鼎的GAN是如何生成图片的呢? 首先大家都知道GAN有两个网络,一个是generator,一个是discriminator, 从二人零和博弈中受启发,通过两个网络互相对抗来达到最好的生成效果。

主要流程类似上面这个图。首先,有一个一代的generator,它能生成一些很差的图片,然后有一个一代的discriminator,它能准确的把生成的图片,和真实的图片分类,简而言之,这个discriminator就是一个二分类器,对生成的图片输出0,对真实的图片输出1。

接着,开始训练出二代的generator,它能生成稍好一点的图片,能够让一代的discriminator认为这些生成的图片是真实的图片。然后会训练出一个二代的discriminator,它能准确的识别出真实的图片,和二代generator生成的图片。以此类推,会有三代,四代。。。n代的generator和discriminator,最后discriminator无法分辨生成的图片和真实图片,这个网络就拟合了。

更多的关于GAN的理论研究可以看文章:

LCCGAN

这一章介绍一下作者如何应用LCC改进GAN的性能的。

图2 LCC-GAN

现有的采样方法都是应用一个先验的分布在latent manifold上进行数据采样,LCCGAN主要研究了 一个新的数据采样方法。首先,作者使用AE学习真实数据分布的隐特征embeddings,并且在embeddings 上应用LCC学习局部坐标系,应用坐标系中的base point和其他数据点学习关系权重信息weights。 然后应用LCC学习一个线性函数(Generator Approximation Based on LCC According) 来近似拟合一个生成器改变权重信息进行采样,即应用一个基于LCC的方法(LCC Sampling Method)在latent manifold 集合上采集局部信息(local information)。

这样,GAN即可以通过LCC方法扩充latent manifold上的数据分布,并进行充分采样,增强GAN 生成数据的质量和多样性。

Demonstration of LCC Sampling

文中通过一系列的实验对比验证了LCC-GANs方法的有效性,并且和state-of-the-art方法进行对比 验证了LCC-GANs的优越性。这里仅给出文中一些LCC生成结果说明。

表3 LCC-GAN生成数据的多样性实验结果

表3中展示了LCC-GAN生成的部分结果,最右边一列展示了与生成结果最相似的现实数据。

  1. LCC-GANs生成的数字形状/字符方向/风格与最相似的字符都不一样,拥有明显的数字差异特征,可以生成新的数字;
  2. LCC-GANs生成的花,与最相似的实际花图像拥有相似的形状,但是颜色不同;
  3. LCC-GANs生成的人脸,质量较好,与现实图片拥有相似的人脸轮廓,但是人脸身份不同。

因此,LCC-GANs可以提取图像数据细节特征,并且重组生成新的数据(unseen data),而不是简单复现训练样本(simply memorizing the training samples).

转自:https://zhuanlan.zhihu.com/p/51462611

推荐阅读