1,GAN的發展歷史
總結

The Six Fronts of the Generative Adversarial Networks
GAN最早是由Ian J. Goodfellow等人於2014年10月提出的,他的《Generative Adversarial Nets》可以說是這個領域的開山之作,論文一經發表,就引起了熱議。而隨着GAN在理論與模型上的高速發展,它在計算機視覺、自然語言處理、人機交互等領域有着越來越深入的應用,並不斷向着其它領域繼續延伸。

圖自李宏毅老師的GAN課程
下面將按照時間順序,簡單介紹GAN的演進歷史中的代表性網絡

DCGAN
顧名思義,DCGAN[3]主要討論 CNN 與 GAN 如何結合使用並給出了一系列建議。由於卷積神經網絡(Convolutional neural network, CNN)比MLP有更強的擬合與表達能力,並在判別式模型中取得了很大的成果。因此,Alec等人將CNN引入生成器和判別器,稱作深度卷積對抗神經網絡(Deep Convolutional GAN, DCGAN)。另外還討論了 GAN 特征的可視化、潛在空間插值等問題。

DCGAN生成的動漫頭像:

ImprovedGAN
Ian Goodfellow 等人[4]提供了諸多訓練穩定 GAN 的建議,包括特征匹配、mini-batch 識別、歷史平均、單邊標簽平滑以及虛擬批標准化等技巧。討論了 GAN 不穩定性的最佳假設。
PACGAN
PACGAN[5]討論的是的如何分析 model collapse,以及提出了 PAC 判別器的方法用於解決 model collapse。思想其實就是將判別器的輸入改成多個樣本,這樣判別器可以同時看到多個樣本可以從一定程度上防止 model collapse。
WGAN
WGAN[6]首先從理論上分析了原始 GAN 模型存在的訓練不穩定、生成器和判別器的 loss 無法只是訓練進程、生成樣本缺乏多樣性等問題,並通過改進算法流程針對性的給出了改進要點。

CycleGAN
CycleGAN[7]討論的是 image2image 的轉換問題,提出了 Cycle consistency loss 來處理缺乏成對訓練樣本來做 image2image 的轉換問題。Cycle Consistency Loss 背后的主要想法,圖片 A 轉化得到圖片 B,再從圖片 B 轉換得到圖片 A’,那么圖片 A 和圖片 A’應該是圖一張圖片。
Vid2Vid
Vid2Vid[8]通過在生成器中加入光流約束,判別器中加入光流信息以及對前景和背景分別建模重點解決了視頻轉換過程中前后幀圖像的不一致性問題。
PGGAN
PGGAN[9]創造性地提出了以一種漸進增大(Progressive growing)的方式訓練 GAN,利用逐漸增大的 PGGAN 網絡實現了效果令人驚嘆的生成圖像。“Progressive Growing” 指的是先訓練 4x4 的網絡,然后訓練 8x8,不斷增大,最終達到 1024x1024。這既加快了訓練速度,又大大穩定了訓練速度,並且生成的圖像質量非常高。
StackGAN
StackGAN[10]是由文本生成圖像,StackGAN 模型與 PGGAN 工作的原理很像,StackGAN 首先輸出分辨率為 64×64 的圖像,然后將其作為先驗信息生成一個 256×256 分辨率的圖像。
BigGAN
BigGAN[11]模型是基於 ImageNet 生成圖像質量最高的模型之一。該模型很難在本地機器上實現,而且 有許多組件,如 Self-Attention、 Spectral Normalization 和帶有投影鑒別器的 cGAN 等。
StyleGAN
StyleGAN[12]應該是截至目前最復雜的 GAN 模型,該模型借鑒了一種稱為自適應實例標准化 (AdaIN) 的機制來控制潛在空間向量 z。雖然很難自己實現一個 StyleGAN,但是它提供了很多有趣的想法。
參考文獻
[1] Must-Read Papers on GANs/ 必讀!生成對抗網絡GAN論文TOP 10
[2] Generative Adversarial Networks
[3] Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
[4] Improved Techniques for Training GANs
[5] PacGAN: The power of two samples in generative adversarial networks
[6] Wasserstein GAN
[7] Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
[8] Video-to-Video Synthesis
[9] 深度推薦系統
2,相關模型資料
以下是課程中所涉及到的所有模型簡介、代碼鏈接及論文。
*注意:實際代碼請參考Config文件進行配置。
Wasserstein GAN
簡介:本文從理論上分析了原始 GAN 模型存在的訓練不穩定、生成器和判別器的 loss 無法只是訓練進程、生成樣本缺乏多樣性等問題,並通過改進算法流程針對性的給出了改進要點。
代碼鏈接:https://github.com/PaddlePaddle/PaddleGAN/blob/develop/configs/wgan_mnist.yaml
DCGAN
論文:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS
簡介:由於卷積神經網絡(Convolutional neural network, CNN)比MLP有更強的擬合與表達能力,並在判別式模型中取得了很大的成果。因此,本文將CNN引入生成器和判別器,稱作深度卷積對抗神經網絡(Deep Convolutional GAN, DCGAN)。
代碼鏈接:https://github.com/PaddlePaddle/PaddleGAN/blob/develop/configs/dcgan_mnist.yaml
Least Squares GAN
論文:Least Squares Generative Adversarial Networks
簡介:本文主要將交叉熵損失函數換做了最小二乘損失函數,改善了傳統 GAN 生成的圖片質量不高,且訓練過程十分不穩定的問題。
Progressive Growing of GAN
論文:PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION
簡介:本文提出了一種用來訓練生成對抗網絡的新方法:漸進式地增加生成器和判別器的規模,同時,提出了一種提高生成圖像多樣性的方法以及給出一種新的關於圖像生成質量和多樣性的評價指標。
StyleGAN
論文:A Style-Based Generator Architecture for Generative Adversarial Networks
簡介:本文是NVIDIA繼ProGAN之后提出的新的生成網絡,其主要通過分別修改每一層級的輸入,在不影響其他層級的情況下,來控制該層級所表示的視覺特征。 這些特征可以是粗的特征(如姿勢、臉型等),也可以是一些細節特征(如瞳色、發色等)。
StyleGAN2
論文:Analyzing and Improving the Image Quality of StyleGAN
簡介:本文主要解決StyleGAN生成圖像偽影的同時還能得到細節更好的高質量圖像。新的改進方案也不會帶來更高的計算成本。不管是在現有的分布質量指標上,還是在人所感知的圖像質量上,新提出的模型都實現了無條件圖像建模任務上新的 SOTA。
代碼鏈接:https://github.com/PaddlePaddle/PaddleGAN/blob/develop/configs/stylegan_v2_256_ffhq.yaml
Conditional GAN
論文:Conditional Generative Adversarial Nets
簡介:本文提出在利用 GAN(對抗網絡)的方法時,在生成模型G和判別模型D中都加入條件信息來引導模型的訓練,並將這種方法應用於跨模態問題,例如圖像自動標注等。
代碼鏈接:https://github.com/PaddlePaddle/PaddleGAN/blob/develop/configs/cond_dcgan_mnist.yaml
CycleGAN
論文:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
簡介:CycleGAN本質上是兩個鏡像對稱的GAN,構成了一個環形網絡。 兩個GAN共享兩個生成器,並各自帶一個判別器,即共有兩個判別器和兩個生成器。 一個單向GAN兩個loss,兩個即共四個loss。 可以實現無配對的兩個圖片集的訓練是CycleGAN與Pixel2Pixel相比的一個典型優點。
代碼鏈接:https://github.com/PaddlePaddle/PaddleGAN/blob/develop/configs/cyclegan_horse2zebra.yaml
Pix2Pix
論文:Image-to-Image Translation with Conditional Adversarial Networks
簡介:本文在GAN的基礎上提供一個通用方法,完成成對的圖像轉換。
代碼鏈接:https://github.com/PaddlePaddle/PaddleGAN/blob/develop/configs/pix2pix_cityscapes_2gpus.yaml
U-GAT-IT
簡介:本文主要研究無監督的image-to-image translation。在風格轉換中引入了注意力模塊,並且提出了一種新的可學習的normalization方法。注意力模塊根據輔助分類器獲得的attention map,使得模型聚能更好地區分源域和目標域的重要區域。同時,AdaLIN(自適應層實例歸一化)幫助注意力指導模型根據所學習的數據集靈活地控制形狀和紋理的變化量。
代碼鏈接:https://github.com/PaddlePaddle/PaddleGAN/blob/develop/configs/ugatit_selfie2anime_light.yaml
Super Resolution GAN
論文:Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
簡介:本文主要講解如何利用卷積神經網絡實現單影像的超分辨率,其瓶頸仍在於如何恢復圖像的細微紋理信息。
Enhanced Super Resolution GAN
論文:ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks
簡介:本文在SRGAN的基礎上進行了改進,包括改進網絡的結構,判決器的判決形式,以及更換了一個用於計算感知域損失的預訓練網絡。
代碼鏈接:https://github.com/PaddlePaddle/PaddleGAN/blob/develop/configs/esrgan_x4_div2k.yaml
Residual Channel Attention Networks(RCAN)
論文:Image Super-Resolution Using Very Deep Residual Channel Attention Networks
簡介:本文提出了一個深度殘差通道注意力網絡(RCAN)解決過深的網絡難以訓練、網絡的表示能力較弱的問題。
EDVR
論文:EDVR: Video Restoration with Enhanced Deformable Convolutional Networks
簡介:本文主要介紹基於可形變卷積的視頻恢復、去模糊、超分的網絡。
代碼鏈接:https://github.com/PaddlePaddle/PaddleGAN/blob/develop/configs/edvr.yaml
First Order Motion
論文:First Order Motion Model for Image Animation
簡介:本文介紹的是image animation,給定一張源圖片,給定一個驅動視頻,生成一段視頻,其中主角是源圖片,動作是驅動視頻中的動作。如下圖所示,源圖像通常包含一個主體,驅動視頻包含一系列動作。
Wav2lip
論文:A Lip Sync Expert Is All You Need for Speech to Lip Generation In The Wild
簡介:本文主要介紹如何將任意說話的面部視頻與任意語音進行唇形同步。
代碼鏈接:https://github.com/PaddlePaddle/PaddleGAN/blob/develop/configs/wav2lip.yaml
參考資料
[3] 宋代詩人‘開口’念詩、蒙娜麗莎‘唱’rap-PaddleGAN唇形合成的應用
[6] 老北京城影像修復-PaddleGAN上色、超分、插幀的應用
[7] 一鍵生成多人版‘臉部動作遷移🐜’-PaddleGAN表情動作遷移(First Order Motion)頂級應用
[8] 生成式對抗網絡學習筆記
3,PaddleGAN很強
https://github.com/PaddlePaddle/PaddleGAN

4,一些牛逼的知乎、博客等文章
cGANs,Projection Discriminator:https://zhuanlan.zhihu.com/p/63353147 公式推導很厲害
5,GAN的六個發展前沿:
(1),網絡體系結構
DCGAN(Deep Convolutional GAN)(深度卷積GAN)(2016)
改進:將全連接層和池化層替換為卷積層。(有可能是第一次提出批處理歸一化)
優點:穩定GAN的訓練,使得可以應用更深的模型並可以獲得更高的分辨率。
LAPGAN(Laplacian Pyramid GAN)(拉普拉斯金字塔GAN)(2015)
改進:一種增量結構,在整個生成流程中,合成樣本的分辨率逐漸提高。
優點:提高生成圖像的分辨率。
PGAN(Progressive GAN)(漸進式GAN)(2018)
改進:在分辨率提高的同時,不斷在生成器和判別器結構中加入新的層。
優點:生成圖像的分辨率進一步提高了(LAPGAN:9696-》PGAN:10241024),並且舊的層依舊是可訓練的。(不同層生成不同分辨率的樣本,在訓練時低分辨率的層調整圖像的粗略結構,高分辨率的層調整圖像的細節。)
SGAN(StyleGAN)(模式GAN)(2019)
改進:保留了PGAN的漸進式訓練方法,但是噪聲直接輸入到生成器每一個層(其他的GAN都是從生成器的首層開始逐層傳遞,也就是說SGAN增強了噪聲)。具體來說:在輸入生成器之前,輸入的標簽數據會經過一個映射網絡(由幾個順序的全連接層組成),該網絡提取類別信息(作者稱為“樣式”-style)。然后將類別信息與輸入的潛在向量(latent 噪聲)組合,通過Adaptive Instance Normalization(AdaIN)[29]層的縮放和偏差參數,將其合並到所有生成器層中。各層所輸入的噪聲的分布是獨立的,作者期望每個噪聲源都可以控制生成器不同的方面(例如頭發,皮膚毛孔和背景的位置)。
優點:在生成人臉上的效果超過PGAN。
-----------------------------解耦---------------------------
InfoGAN(2016)
改進:最初提出將生成樣本的類別與潛在向量解耦的方法。
----------------------------解碼器--------------------------
圖像到圖像的翻譯、圖像超分、圖像分割在結構中會用到解碼器。
解碼器在其他的生成方法,例如變分自動編碼器(VAE)中比較常見,因此又嘗試試圖將兩者結合起來。
----------------------------分類器--------------------------
將分類器、生成器、鑒別器一起訓練,從而改進生成和半監督功能。
(2),條件技術(控制所生成樣本類別的技術)
-------------------類別標簽只在輸入中--------------------
CGAN(Conditional GAN)(條件GAN)(2014)
改進:將類標簽信息與生成器的輸入噪聲級聯起來。
這樣的一步無論多么簡單,它都會促使研究人員在GAN輸入方面發揮創造力,並使GAN能夠解決不同且更復雜的任務。
------------下一步就是將標簽包含到損失函數中---------
Salimans等人提出(2016):
擴大判別器的輸出尺寸,使得輸出可以包括類別,以實現半監督分類。
ACGAN(Auxiliary Classifier GAN)(輔助分類器GAN)(2017)
改進:在向生成器提供類別信息的同時,區分類別標簽以及真/假分類兩種任務。
優點:相比於同時期的LAPGAN(可生成9696的合成圖像),ACGAN可為ImageNet的1000個類別產生128128的合成圖像。
TripletGAN(2017)
改進:類信息被串聯到所有層的特征向量中。
------------------將標簽信息引入到判別器----------------
Miyato等人提出Projection Discriminator(2018):
改進:首先將類信息嵌入,然后通過識別符末尾的內部乘積運算將其集成到模型中。 在他們的解決方案中,生成器繼續將標簽信息連接到圖層的特征向量。
對原文中公式的推導:https://zhuanlan.zhihu.com/p/63353147
(這也指出了數學應該達到的修養:
1,給了條件能夠推導至結尾;
2,數學公式與實際意義的對應關系:可以從實際意義出發得到數學公式,也可以從數學公式返回到實際意義,要明白數學公式在說一件什么事情)
--------------------一堆歸一化的內容---------------------
Adaptive Instance Normalization(AdaIN)(自適應實例歸一化)(2017):
這是一種將類別信息融入到內容信息中的技術。
改進:根據每一個樣本和通道的各維度均值和方差歸一化特征圖,AdaIN使用從樣式編碼器獲得的統計信息來縮放和移動規范化內容,將目標樣式注入實例規范化特征中。
Spatially-Adaptive Normalization(SPADE)(空間自適應歸一化)(2019):
改進:先前歸一化方式(包括:批處理歸一化、實例化歸一化、自適應實例歸一化)的通用化方法被用於將類信息合並到生成過程。(好家伙、大雜燴。)
(3),歸一化和約束技術
Batch normalization(BN)
DCGAN倡導使用批處理歸一化層(激活層的輸出使用當前批次的統計信息:均值和標准差進行歸一化。並且增添了兩個可訓練的參數以縮放和移動歸一化的結果。)
Pixelwise Normalizaiton(像素歸一化)
PGAN(2018)認為模型穩定性的缺失不在於內部協變量偏移,而是生成器和鑒別器之間的競爭導致信號幅度爆炸。
改進:為了限制信號幅度,拋棄了批處理歸一化,並引入了兩種限制權重的技術:像素歸一化、平等學習率。
Spectral Normalization(頻譜歸一化)
SNGAN(2018)限制判別器各層的頻譜范數對Lipschitz常數進行約束,從而限制判別器權重的變化速率。(相當於約束學習率??)每個權重均按權重的最大奇異值進行縮放。
對L約束的理解(L約束主要是對模型穩定性的限制):https://www.jiqizhixin.com/articles/2018-10-16-19
-------------------一些方法並不是在模型中加入歸一化層,取而代之的,這些方法在訓練過程中引入細微的變化已解決GAN的諸如訓練穩定性以及生成樣本的低變異性等問題-------------------
迷你批判別(Minibatch DiscriMination)(2016)給出了正在被分析的迷你批判別信息,這是通過將一個組件添加到判別器的內層實現的。有了這些信息,判別器可以比較微型批處理中的圖像,從而迫使生成器創建彼此不同的圖像。
PacGAN(2018)
在送入判別器之前,打包(在寬度軸上級聯)來自同一源的不同圖像(真實或合成)的不同圖像。據說,此過程可以幫助生成器覆蓋訓練數據中的所有目標標簽,而不是限制自身生成能夠欺騙鑒別器的單個類別的樣本(這又被稱為模式崩潰)。
(4),損失函數
一個概念:
JSD(在GAN的公式中用於測量真實數據和生成器數據的分布相似度)負責在判別器接近完成訓練時消除梯度。
除了JSD散度,用到的距離還有
Pearson χ2((Least Squares GAN)(2017)
Earth-Mover Distance(Wasserstein GAN)(2017)
Cramér Distance(Cramér GAN)(2017)
新損失函數構建的一項核心原則是:即使樣本位於決策邊界的正確一側也要對其進行懲罰,從而避免訓練過程中梯度消失的問題。
還有就是在損失函數中引入不同的組件以增添生成圖像的質量、訓練的穩定性以及解決模式崩潰和梯度消失問題。其中一個代表性例子就是:
BSGAN(Boundary-Seeking GAN)(邊界尋找GAN)(2018)
BSGAN中含有一個簡單組件(可以針對不同的f散度函數進行調整)以引導生成器生成樣本,從而使得判別器對每一個樣本的輸出都是0.5.
Feature Matching(2016)在生成器的損失函數中引入了一個新的組件,以誘使生成器匹配可以更好地描述真實數據的特征;並且訓練判別器來找到這些特征。
PercePtural Loss(2016)同樣使用來自一個神經網絡地分布來對比真實和合成樣本並估理他們匹配。
改進:使用ImageNet預訓練網絡(通常用VGG),並為損失函數增加了一個額外項。
(5),圖像到圖像的轉換
---------------------自動編碼器結構-----------------------
Pixel-Level Domain Transfer(2016)
改進:在生成器中增加編碼器,使得編碼器轉變為編碼器-解碼器網絡。源域圖像首先編碼為潛在表達,之后通過生成器轉換到目標域。此外,除了傳統的對抗判別器,作者引入了域判別器以分析成對的源域和目標域樣本並判斷他們是否存在關聯性。
pix2pix(2017)
改進:使用了全新結構的生成器和判別器,還有新的損失函數,這是一次完全的進化!(吹的這么厲害,不會是同一個作者吧?)生成器是一種U-NET-LIKE網絡,判別器則改進為基於補丁的判別器(patch-based discriminator,作者又將其稱為PatchGAN),損失函數增添正式目標樣本和合成目標樣本之間的L1距離,從而在不破壞變異性的情況下約束合成樣本。
優點:在此之前所生成的圖像質量都是低質量、低分辨率的(ACGAN 128128),分辨率提高了(pix2pix,512512)
CycleGAN(2017)(與pix2pix是一個研究組構建的)
改進:使用兩個生成器以及判別器學習領域X到領域Y的轉換,反之亦然。為了評估周期一致性損失,作者強迫生成器在轉換后能夠從源域重構圖像。(生成器可以做到從X到Y,以及從Y到X兩種變換)
StarGAN(2018)
改進動機:希望在不按比例縮放生成器、判別器數量的情況下增加域數,並擁有部分標記的數據集(也就是說,每個源-目標域都沒有成對的數據集)。
改進:StarGAN的生成器除了收到一個額外的陣列,陣列中包含有目標域的信息(??StarGAN’s generator receives an extra array containing labels’ codification that informs the target domain.)。該信息在傳入生成器之前在深度上與源域樣本並聯,然后利用重構損失執行與CycleGAN相同的循環過程。
pix2pixHD (high definition)(2018)
改進:借鑒了cycleGAN的生成器結構。有‘local’
和‘global’兩種生成器。global的輸出輸入‘local’以引入低分辨率生成的信息。訓練過程:‘global’, ‘cocal’, 微調整個結構。判別器有三個,同時應用於同一個圖像的三種不同的分辨率,低分辨率的判別器關注主體結構以及粗略的局部區域;高分辨率判別器則關注細節。損失函數也做了改進:除了傳統的生成器和判別器的對抗部分,還包括特征匹配和感知損失。
對圖像到圖像的轉化還有一個有趣的問題:
網絡的輸入通常是語義圖,在語義圖上的每一個像素點都有相應對象類別的值,這些語義圖通常是像素分割的結果。但是有時候相同類別像素組成的對象的輪廓可能是很怪異的:比如在街上依此排列的一列汽車,這些汽車相隔的距離很近,輪廓彼此重合,就會出現一個輪廓很怪異的對象,這個對象也是汽車。
為了解決這一問題,pix2pixHD提出在網絡的輸入中增加一個instance map(是要通過距離度量對網絡進行增強嗎??)
這個思想絕了啊!!:
現有的GAN方法的缺陷是:生成的樣本是固定的(在測試階段,對於一個給定的源域樣本,給出的生成結果也是相同的。)這並不是一種理想的狀態,如果我們想要使用合成樣本擴充分類模型的訓練數據。
為了解決這個問題,2018年提出了 多態無監督圖像轉換網絡(Multimodal Unsupervised Image- to-image Translation)(MUNIT)以實現使用相同的源樣本生成各種樣本。生成器由編碼器和解碼器組合而成,從樣本中會提取兩種信息:1,content(可在不同域的樣本之間共享的信息,用於控制樣本的一般特征);2,style(可用於控制每個域特有的細節)。編碼器學習提取content和style,解碼器則利用這些信息生成樣本。
訓練過程中的重構損失有兩個部分:1,使用content和style重構源樣本的重構損失;2,潛在向量重構損失,通過從隨機分布中采樣的一對源潛在向量與使用它們所構建的合成圖像的編碼進行比較,以此衡量重構潛在向量自身的能力。MUNIT的解碼器中用到了AdaIN歸一化。
FUNIT(2019)(Few-shot Unsupervised Image-to-Image Translation)(融合了CycleGAN的訓練過程,MUNIT的結構,以及StarGAN像生成器提供信息的過程。)
改進:將CycleGAN的cyclic訓練過程擴充到多個源域類別(作者倡議說類別數量越多,模型的泛化效果越好。);采用MUNIT的內容和樣式編碼器,這些編碼器通過AdaIN圖層融合到一起;增強了StarGAN向內容生成器提供類別信息的過程,除了內容圖像之外,生成器還接收了一組目標域的少量圖像,而不是簡單的類別信息。 鑒別器還遵循StarGAN,以對每個源類執行輸出的方式進行。
如何文雅的說縫合怪?:This is an example of how works influence each other, and of how updating an older idea with enhanced recent techniques can result in a state-of-the-art solution.
以上所采用的結構都是自動編碼器的結構:源域圖像會被編碼為降維的潛在表示(latent representation),並最終又被擴展為全分辨率,編碼器承擔着提取源域圖像信息的重要任務。
-------------------非自動編碼器結構----------------------
SPDAE(2019)(Spatially-Adaptive Normalization)(空間自適應歸一化)
本文介紹的是一種用於語義圖像合成的方法(例如,使用語義圖作為生成器的輸入進行圖像到圖像的翻譯。)
(6),驗證指標
IS(Inception Score)(起始分數)
使用在ImageNet上經過預訓練的Inceptionv3網絡計算合成樣本的對數。
缺陷:不適用於評估不是ImageNet的任何數據集中的合成樣本(比如皮膚病變圖像)
FID(Frechèt Inception Distance)(Frechèt起始距離)
同樣基於inception的評估,不過不同的是,它采用了來自真實和合成樣品的Inception倒數第二層的feature,並將它們進行了比較
SWD(Sliced Wasserstein Distance)(切片的Wasserstein距離)
專用於處理高分辨率樣本。思路是從16*16的低分辨率一直double到最高的分辨率。對每一個分辨率,使用Sliced Wasserstein Distance距離來評估真實樣本以及生成樣本之間的距離。
GANtrain以及GANtest:
GANtrain:使用合成樣本訓練網絡然后用真實樣本測試;
GANtest:使用真實樣本訓練然后用合成樣本測試。
6,遺留的問題:
- 仍然存在模式崩潰,並且當類數很高或數據集不平衡時,該問題變得更加嚴重。
