文章信息:
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.
发表于2020年ICLR(International Conference on Learning Representations)
AE-OT笔记:
《AE-OT: A NEW GENERATIVE MODEL BASED ON EXTENDED SEMI-DISCRETE OPTIMAL TRANSPORT》中文笔记-1: 总述与简介
《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: 实验与结果
Table of Contents
摘要
背景
生成模型引起了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().
如果the support of 目标分布不是convex的(即是concave的),那么就会有两种情况:single mode和multi mode。
single mode如图(b)所示,f2所代表的DNN并不能很好地估计transport map ,从而产生了一些spurious samples; (为什么图b的第一行的两个图看起来一模一样?为什么同样产生了spurious generated samples,且看起来和f2一摸一样?)
multi mpde如图(c)所示,给出了多模式下的transport map, 但是当用连续的DNN来估计的话,mode collapse和mode mixture都会出现,分别如f31和f32所示。(为什么图c看起来f31才是最好的?为什么不是对应的结果最好呢?)
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其实是要完成下面两个任务:
- 流行嵌入:找到数据在图像空间的流形嵌入和在latent空间的流形嵌入之间的编码/解码映射;
- 概率分布传输:将给定的白噪声分布传输到图像空间或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().
如果the support of 目标分布不是convex的(即是concave的),那么就会有两种情况:single mode和multi mode。
single mode如图(b)所示,f2所代表的DNN并不能很好地估计transport map ,从而产生了一些spurious samples; (为什么图b的第一行的两个图看起来一模一样?为什么同样产生了spurious generated samples,且看起来和f2一摸一样?未解决)
multi mpde如图(c)所示,给出了多模式下的transport map, 但是当用连续的DNN来估计的话,mode collapse和mode mixture都会出现,分别如f31和f32所示。(为什么图c看起来f31才是最好的?为什么不是对应的结果最好呢?未解决)
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:
- VAEs应用广泛,其中解码器从高斯数据分布估计真实的数据分布,但生成的图像常常模糊;
- GANs效果更好,但有mode collapse的问题,下面方法能够缓解该问题:
- Wasserstein GAN Arjovsky et al. (2017)),
- regularizing the discriminators to be Lipschitz (clipping Arjovsky et al. (2017),
- gradient regularization Gulrajani et al. (2017), Mescheder et al. (2018)
- 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的算法和实验结果部分的笔记见顶部链接.