《AE-OT: A NEW GENERATIVE MODEL BASED ON EXTENDED SEMI-DISCRETE OPTIMAL TRANSPORT》中文笔记-1: 总述与简介

文章信息:html

D. An, Y. Guo, N. Lei, Z. Luo, S.-T. Yau, and X. Gu, “AE-OT: A NEW GENERATIVE MODEL BASED ON EX- TENDED SEMI-DISCRETE OPTIMAL TRANSPORT,” 2020, p. 19.git

发表于2020年ICLR(International Conference on Learning Representations)算法

 

AE-OT笔记:网络

《AE-OT: A NEW GENERATIVE MODEL BASED ON EXTENDED SEMI-DISCRETE OPTIMAL TRANSPORT》中文笔记-1: 总述与简介app

《AE-OT: A NEW GENERATIVE MODEL BASED ON EXTENDED SEMI-DISCRETE OPTIMAL TRANSPORT》中文笔记-2: AE-OT算法框架

《AE-OT: A NEW GENERATIVE MODEL BASED ON EXTENDED SEMI-DISCRETE OPTIMAL TRANSPORT》中文笔记-3: 实验与结果less

 

Table of Contentsdom

摘要函数

背景性能

现存问题及缘由

本文工做

看了摘要后产生的疑问

1. Introduction

2. Related Work

Optimal Transport:

Generative Models:

Mitigating Mode Collapsing 


 

摘要

背景

生成模型引发了huge attention in recent years;

现存问题及缘由

绝大多数existing models都有mode collapse和mode mixture的问题;

本文工做

1. 根据Figalli's regularity theory of optimal transportation对上述问题给出了理论解释:

  • 生成器计算白噪声分布p_z和数据分布p_data之间的transpotation maps, 这是离散的;
  • 但DNN只能表达continuous maps;
  • 这种冲突就致使了continuous maps。

2. 本文分开了manifold embedding和optimal transportation:

  • 第一部分使用autoencoder(AE)将图像映射到laten space;
  • 第二部分是用基于GPU的凸优化找到不连续的transportation maps;
  • 再结合扩展的optimal transportation(OT)映射和解码器,最终能够从白噪声生成新图像。

显然,这篇文章没有使用DNN的continuous maps而是用了离散的映射,所以避免了mode collapse和mode mixture.

 

 

看了摘要后产生的疑问

做为一个菜鸡,看过摘要以后天然有了一大堆疑问,黑色字为看过论文以后对这些疑问的解答

1. 啥是mode mixture?

mode collapse: 给定了一个z,当z发生变化的时候,对应的G(z)没有变化.例如训练集有不少种类别(如猫狗牛羊),可是咱们只能生成狗(或猫或牛或羊),虽然生成的狗的图片质量特别好,可是!整个G就只能生成狗,根本无法生成猫牛羊,陷入一种训练结果很差的状态。这和咱们对GAN的预期是相悖的。

顺便复习一下mode collapse,如上所示;

mode mixture,以前没有据说过,甚至没能查到,论文中描述以下:

引言部分:

 The later(mode mixture) means that the generated samples are mixtures of multiple modes and look spurious or ambiguous. For example, a generator generates obscure digits mixing 0 and 8 but neither 0 nor 8 on the MNIST dataset.

也就生成器可能会获得混合了多种模式但啥都不是的四不像结果,即模式混合。

2. 啥是transportation maps?

这篇文章有解释:http://www.360doc.com/content/17/0212/11/35919193_628410589.shtml#

这里的transportation指的应该是引言中所说的GANs和VAE要完成的两个任务中的第二个任务几率分布传输:

将给定的白噪声分布传输到图像空间或latent空间的数据分布上;

transportation maps就是这种传输的一个映射关系。

3. 为啥生成器计算白噪声分布p_z和数据分布p_data之间的transpotation maps是离散的?

引言部分的说明为:

Unfortunately, as pointed out by works Nagarajan & Kolter (2017); Khayatkhoei et al. (2018); Xiao et al. (2018), the transport maps may be discontinuous when there are multiple modes in the data distribution.

即具体请看Nagarajan & Kolter (2017); Khayatkhoei et al. (2018); Xiao et al. (2018)这三篇论文。

4. 为啥DNN只能表达continuous maps?

 引言部分提到,但未给出缘由,只说GANs和VAE的生成器/解码器完成的是将一个已知的连续分布(如高斯分布)映射为真实数据分布。

5. 为啥离散和连续之间的冲突就产生了mode collapse和mode mixture?

论文引言部分没有解释具体缘由,但给出了示意图:

第一行:real data distributions;第二行:噪声分布(source distribution)。

在第一行中,每个聚类表明了一个mode,红叉则是spurious(虚假的) generated samples,表明了mode mixture. 

在第二行中,红色的虚线就表明了singularity set,而红色的×则被DNN映射为real data中的虚假样本(第一行中的红叉);

若是the support of 目标分布是convex的,如图(a)所示,那么DNN(f1)就能很好地估计transportmap(\hat{f_1}). 

若是the support of 目标分布不是convex的(便是concave的),那么就会有两种状况:single mode和multi mode。

single mode如图(b)所示,f2所表明的DNN并不能很好地估计transport map \hat{f_2},从而产生了一些spurious samples; (为何图b的第一行的两个图看起来如出一辙?为何\hat{f_2}一样产生了spurious generated samples,且看起来和f2一摸同样?)

multi mpde如图(c)所示,\hat{f_3}给出了多模式下的transport map, 可是当用连续的DNN来估计的话,mode collapse和mode mixture都会出现,分别如f31和f32所示。(为何图c看起来f31才是最好的?为何不是\hat{f_3}对应的结果最好呢?)

6. 啥是manifold embedding(流形嵌入?)?

李宏毅老师GAN中在讲JS散度的缺点时p_G和p_data分布难以重合的缘由之一是p_G和p_data都是高维空间的低维manifold,莫非流形嵌入就是这个意思?具体还要明天看具体的论文。

7. 啥是optimal transportation(优化传输?)?

与问题2相同,这篇文章有解释:http://www.360doc.com/content/17/0212/11/35919193_628410589.shtml#

从字面上来看,optimal transportation应该最优的transportation maps, 是从source domain(噪声)到latent space的一个映射.

8. 为啥要专门说分开了manifold embedding和optimal transportation?是由于以前的工做大多没有分开吗?

是的,以前大多数的工做生成器一般能够看做一个编码-解码器,也就是只是这里的manifold embedding一个部分.这篇文章则使用optimal transportation结合凸优化的方法找到致使数据分布不离散的点在source domain的singularity set并将其去除,从而解决了mode collapse和mixture的问题. 所以要刻意强调optimal transportation.

9. autoencoder(AE)是啥来着?

自动编码器是神经网络的一种,其基本思想就是直接使用一层或者多层的神经网络对输入数据进行映射,获得输出向量,做为从输入数据提取出的特征。传统的自动编码器通常用来数据降维或者特征学习,相似于PCA,可是自动编码器比PCA灵活的多,由于它既能表征线性变换又能表征非线性变换。自动编码器能够被看作是前馈网络的一个特例。基本的自编码器模型是一个简单的三层神经网络结构:一个输入层、一个隐藏层和一个输出层。其中输出层和输入层具备相同的维数。

自编码器,它的输入输出是一致的,目标是使用稀疏的高阶特征从新组合来重构本身。自动编码器是一种数据压缩算法,其中数据的压缩和解压缩函数是数据相关的、有损的、从样本中自动学习。

DeblurGAN等不少图像生成网络都是这样的,连这个都能忘...

10. 如何用凸优化找到不连续的transportation maps?

见中文笔记2

11. 结合扩展的optimal transportation(OT)映射和解码器具体是怎么作的?

见中文笔记2

 

写到这里忽然发现论文做者里居然有丘成桐大神,膜膜膜!

明天继续看这篇论文并解决上面的问题

 

1. Introduction

GANs和VAE最近很流行,但它们都有缺点:

  • GAN难以训练且存在mode collapse;
  • VAE经常生成多个模式上的真实数据的模糊图像(这个难道就是mode mixture?是的,具体已在前文进行了说明)。

本文认为这些问题与the singularities of distribution transport maps密切相关。

流形分布假设(Manifols Distribution Hypothesis)

就是前文所说李宏毅老师在讲WGAN时提到的Manifod distribution: p_G和p_data都是嵌入到高维空间的低维manifold.

所以,GANs和VAE实际上是要完成下面两个任务:

  1. 流行嵌入:找到数据在图像空间的流形嵌入和在latent空间的流形嵌入之间的编码/解码映射;
  2. 几率分布传输:将给定的白噪声分布传输到图像空间或latent空间的数据分布上;

分布传输(Distribution Transformation)

GANs中的生成器和VAE中的解码器都是用来将已知的连续分布(如高斯分布)转换(transform)为真实数据分布的transport map.  即transport map将给定的噪声分布push成生成分布,从而估计真实数据的分布。两种分布的类似性决定了生成器的泛化能力。(为何两种分布的类似性决定了生成器的泛化能力?为何不是生成器的性能呢?性能就是泛化能力?)

不连续性和Mode Collapse/Mixture

一方面,GANs和VAE的生成/解码器都是Deep Neural Network,然而DNN只能表示连续的映射;

另外一方面,当数据分布有多个不一样的模式(好比MNIST有多个不一样的数字)时,transport maps就多是离散的(缘由参考 Nagarajan & Kolter (2017); Khayatkhoei et al. (2018); Xiao et al. (2018))。这就致使了mode collapse和mode mixture的出现!

不只如此,当真实数据分布只有一个模式的时候, ambiguous data(歧义数据)仍然可能存在。(缘由参考Brenier’s polar factorization theorem极因式分解定理??Brenier (1991b; 1987; 1991a)和 Figalli’s regularity theorem正则化定理???? Figalli (2010); Chen & Figalli (2017),这些定理断言若是the support of 目标数据分布不是凸的,那么the support of 源分布(source distribution)上就会有奇异集(singularity sets),那么transport map在这些点上就不连续,即transport maps在这些点上是离散的)。图1就说明了这点:

第一行:real data distributions;第二行:噪声分布(source distribution)。

在第一行中,每个聚类表明了一个mode,红叉则是spurious(虚假的) generated samples,表明了mode mixture. 

在第二行中,红色的虚线就表明了singularity set,而红色的×则被DNN映射为real data中的虚假样本(第一行中的红叉);

若是the support of 目标分布是convex的,如图(a)所示,那么DNN(f1)就能很好地估计transportmap(\hat{f_1}). 

若是the support of 目标分布不是convex的(便是concave的),那么就会有两种状况:single mode和multi mode。

single mode如图(b)所示,f2所表明的DNN并不能很好地估计transport map \hat{f_2},从而产生了一些spurious samples; (为何图b的第一行的两个图看起来如出一辙?为何\hat{f_2}一样产生了spurious generated samples,且看起来和f2一摸同样?未解决)

multi mpde如图(c)所示,\hat{f_3}给出了多模式下的transport map, 可是当用连续的DNN来估计的话,mode collapse和mode mixture都会出现,分别如f31和f32所示。(为何图c看起来f31才是最好的?为何不是\hat{f_3}对应的结果最好呢?未解决)

Conquering Mode Collapse/Mixture

根据Brenier theorem,最优传输图(optimal transportation map)可以表示为Brenier potential(Brenier势)的梯度图。在普通的点上,Brenier势是可微的,那么它们的梯度图即optimal transportation map就是连续的;在singularities set上时,Brenier势不可微,optimal transportation map就不连续。

传统的GANs和VAEs直接对梯度图建模,因此就会遇到不连续的问题(从而出现mode collapse和mode mixture);

本文则对全局连续的Brenier potential(Brenier势)进行建模,来避免mode collapse/mixture的问题。

具体而言,这篇文章提出的AE-OT model将生成过程分红了两步:

  • step1:  manifold embedding step;由自动编码器(autoEncoder,AE)完成。
  • step2: the probability distribution transformation step;由凸优化(convex optimization, OT)框架完成。经过Figalli's理论,这一步能够清楚计算Brenier potential(Brenier势)并定位其中的singularity set。

实验代表这种方法的生成结果不只可以获得全部模式(针对mode collapse),也能避免生成混合的样本(mode mixture).

文章的Contributions

  • 理论上,经过最优传输的正则理论( the regularity theory of optimal transportation,  Figalli (2018 Fields medalist)),给出了mode collapse和mode mixture的解释;同时解释了为何GANs/VAEs不能完美地解决上述问题。
  • 实践上,提出了AE-OT模型。它首先编码了嵌入到latent space的数据,以后计算了Brenier势来在latent space中表示最优传输图(optimal transport map). Singularit set可以被高效地定位从而被避免用来生成新样本,进而解决mode collapse和mode mixture地问题。
  • 寻找 Brenier potential 和 optimal transportation map的凸优化算法可以被GPU加速。(这里不太肯定,原文是The algorithm for finding the Brenier potential and the optimal transportation map can be accelerated with GPU based convex optimization algorithm. )同时,算法可以在有限偏差下收敛到惟一的全局最优解。
  • 经过实验证实了所提出的方法。

 

2. Related Work

Optimal Transport:

近年来,Optimal Transport和凸优化结合,已经应用到深度学习中等许多领域啦。最重要的是当the supprt of数据分布非凸的时候,传输图就会是不连续的。

 Figalli and the collaborators Figalli (2010); Chen & Figalli (2017) proposed that when the support of the data distribution is non-convex, the transport map will be discontinuous. 

Generative Models:

  1. VAEs应用普遍,其中解码器从高斯数据分布估计真实的数据分布,但生成的图像经常模糊;
  2. GANs效果更好,但有mode collapse的问题,下面方法可以缓解该问题:
  1.  Wasserstein GAN Arjovsky et al. (2017)),
  2. regularizing the discriminators to be Lipschitz (clipping Arjovsky et al. (2017),
  3. gradient regularization Gulrajani et al. (2017), Mescheder et al. (2018) 
  4. spectral normalization Miyato et al. (2018))

    3.最近的一些“非对抗,non-adversial”方法

GLO:encoder-less autoencoder(without adversial loss); 

IMLE:an  ICP related generative model training approach;

GLANN:  combines the advantages of GLO and IMLE, an embedding from image space to latent space was first found using GLO and then a transformation between an arbitrary distribution and latent code was computed using IMLE.

(这里的GLANN和本文提出的AE-OT方法彷佛有点像)

Mitigating Mode Collapsing 

不少methods has been proposed to relieve mode collapse of GAN:

  •  意识到了训练GANs的困难来自于用连续的DNN估计不连续的函数;Nagarajan & Kolter (2017); Khayatkhoei et al. (2018); Xiao et al. (2018) 
  •  GDGAN经过gradient-based regularization缓解了mode collapse;Nagarajan & Kolter (2017) 
  • use multiple GANs to overcome the mode collapse.; Khayatkhoei et al. (2018)
  • 根据 Bourgain’s theorem,将图像嵌入到latent space而且使用采样的latent space里的高斯混合分布而不是单一的高斯分布来训练生成器;Xiao et al. (2018) 
  •  normalized diversification(归一化的多元化是啥?不重要暂时无论) Liu et al. (2018) 也能克服mode collapse。

Anyway,这些方法都说了多种模式时传输图是不连续的而DNN只能表明连续函数,这致使了mode collapse。不过这些方法都只解决了mode collapse的问题而没有解决mode mixture的问题。

 

本篇博客主要是对论文的摘要引言和相关工做的笔记,AE-OT的算法和实验结果部分的笔记见顶部连接.