文章信息:
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的算法和實驗結果部分的筆記見頂部鏈接.