生成對抗網絡GAN很強大,但也有很多造成GAN難以使用的缺陷。本文介紹了可以克服GAN訓練缺點的一些解決方案,有助于提高GAN性能。
生成對抗網絡 (GAN) 是一類功能強大的神經網絡,具有廣泛的應用前景。GAN 本質上是由兩個神經網絡組成的系統——生成器 (Generator)和鑒別器 (Discriminator)——二者相互競爭。
GAN 的原理示意圖
給定一組目標樣本,生成器試圖生成能夠欺騙鑒別器的樣本,使鑒別器認為這些樣本是真實的。鑒別器試圖從假的 (生成的) 樣本中分辨出真實的 (目標) 樣本。使用這種迭代訓練方法,我們最終能得到一個非常擅長生成足以以假亂真的樣本的生成器。
GAN 有很多應用,因為它們可以學習模仿幾乎所有類型的數據分布。通常,GAN 用于移除圖像偽影、超分辨率、姿勢轉換,以及任何類型的圖像翻譯,例如下面這些:
使用 GAN 進行圖像翻譯 (Source:https://phillipi.github.io/pix2pix/)
然而,由于其無常的穩定性,GAN 非常難以使用。不用說,許多研究人員已經提出了很好的解決方案來減輕 GAN 訓練中涉及的一些問題。
然而,這一領域的研究進展如此之快,以至于很難跟蹤所有有趣的想法。本文列出了一些常用的使 GAN 訓練穩定的技術。
使用 GAN 的缺點
GAN 難以使用的原因有很多,這里列出一些主要的原因。
1、模式坍塌 (Modecollapse)
自然數據分布是高度復雜且多模態的。也就是說,數據分布有很多“峰值”(peaks)或“模式”(modes)。每個 mode 表示相似數據樣本的集中度,但與其他 mode 不同。
在 mode collapse 期間,生成器生成屬于一組有限模式集的樣本。當生成器認為它可以通過鎖定單個模式來欺騙鑒別器時,就會發生這種情況。也就是說,生成器僅從這種模式來生成樣本。
頂部的圖像表示沒有發生 mode collapse 的 GAN 的輸出。底部的圖像表示發生了 mode collapse 的 GAN 的輸出
(Source: https://arxiv.org/pdf/1611.02163.pdf)
鑒別器最終會發現這種模式下的樣本是假的。但生成器僅僅是鎖定到另一種模式。這個循環無限重復,從根本上限制了生成樣本的多樣性。
2、收斂 (Convergence)
GAN 訓練中一個常見的問題是 “我們應該在什么時候停止訓練?”。由于鑒別器損失降低時,生成器損失增加 (反之亦然),我們不能根據損失函數的值來判斷收斂性。如下圖所示:
一個典型的 GAN 損失函數
3. 質量
與前一個問題一樣,很難定量地判斷生成器何時產生高質量的樣品。在損失函數中加入額外的感知正則化可以在一定程度上緩解這種情況。
4. 度量標準 (Metrics)
GAN 目標函數可以解釋生成器或鑒別器相對于其他方法的性能表現。然而,它并不代表輸出的質量或多樣性。因此,我們需要不同的度量標準。
8大技巧提高GAN性能
有很多技巧可以用來使 GAN 更加穩定或更加強大。這里只解釋了相對較新的或較復雜的一些技術。
1、替代損失函數 (Alternative Loss Functions)
針對 GAN 的缺陷,最常用的一種修復方法是Wasserstein GAN。它本質上用Earth Mover distance(Wasserstein-1 distance 或 EM distance) 來替代傳統 GAN 的Jensen Shannon 散度。EM 距離的原始形式是難以處理的,因此我們使用它的 dual 形式。這要求鑒別器為 1-Lipschitz,它是通過削減鑒別器的權重來維持的。
使用 Earth Mover distance 的優點是,即使真實的數據和生成的數據分布不相交,它也是連續的,這與 JS 散度或 KL 散度不同。同時,生成的圖像質量與損失值之間存在相關性。缺點是,我們需要對每個生成器更新執行多個鑒別器更新。此外,作者認為,利用權重削減來確保 1-Lipschitz 約束是一種糟糕的方法。
即使分布不連續,earth mover distance(左)也是連續的,與 JS 散度 (右) 不同
另一個解決方案是使用均方損失 (mean squared loss)來替代對數損失。LSGAN 的作者認為,傳統的 GAN 損失函數并沒有提供太多的激勵來將生成的數據分布 “拉” 到接近真實數據分布的位置。
原始 GAN 損失函數中的 log loss 并不關心生成的數據與決策邊界的距離 (決策邊界將真實數據和虛假數據分開)。另一方面,LSGAN 對遠離決策邊界的生產樣本實施乘法,本質上是將生成的數據分布 “拉” 得更接近真實的數據分布。LSGAN 用均方損失代替對數損失來實現這一點。
2、Two Timescale Update Rule(TTUR)
在這種方法中,我們對鑒別器和生成器使用不同的學習率。通常,生成器使用較慢的更新規則 (update rule),鑒別器使用較快的更新規則。使用這種方法,我們可以以 1:1 的比例執行生成器和識別器的更新,只需要修改學習率。SAGAN 實現正是使用了這種方法。
3、梯度懲罰 (GradientPenalty)
在 Improved Training of WGANs 這篇論文中,作者聲稱weight clipping會導致優化問題。
作者表示, weight clipping 迫使神經網絡學習最優數據分布的 “更簡單的近似”,從而導致較低質量的結果。他們還聲稱,如果沒有正確設置 WGAN 超參數,那么 weight clipping 會導致梯度爆炸或梯度消失問題。
作者在損失函數中引入了一個簡單的gradient penalty,從而緩解了上述問題。此外,與最初的 WGAN 實現一樣,保留了 1-Lipschitz 連續性。
與 WGAN-GP 原始論文一樣,添加了 gradient penalty 作為一個正則化器
DRAGAN的作者聲稱,當 GAN 所玩的游戲達到 “局部平衡狀態” 時,就會發生 mode collapse。他們還聲稱,鑒別器圍繞這些狀態產生的梯度是“尖銳的”。當然,使用 gradient penalty 可以幫助我們避開這些狀態,大大增強穩定性,減少模式崩潰。
4、譜歸一化 (Spectral Normalization)
Spectral Normalization 是一種權重歸一化技術,通常用于鑒別器上,以增強訓練過程。這本質上保證了鑒別器是K-Lipschitz連續的。
像 SAGAN 這樣的一些實現,也在生成器上使用 spectral Normalization。該方法比梯度懲罰法計算效率更高。
5、Unrolling 和Packing
防止 mode hopping 的一種方法是預測未來,并在更新參數時預測對手。Unrolled GAN 使生成器能夠在鑒別器有機會響應之后欺騙鑒別器。
防止 mode collapse 的另一種方法是在將屬于同一類的多個樣本傳遞給鑒別器之前 “打包” 它們,即packing。這種方法被 PacGAN 采用,在 PacGAN 論文中,作者報告了 mode collapse 有適當減少。
6、堆疊 GAN
單個 GAN 可能不足以有效地處理任務。我們可以使用多個連續堆疊的 GAN,其中每個 GAN 可以解決問題中更簡單的一部分。例如,FashionGAN 使用兩個 GAN 來執行局部圖像翻譯。
FashionGAN 使用兩個 GAN 進行局部圖像翻譯
把這個概念發揮到極致,我們可以逐漸加大 GAN 所解決的問題的難度。例如,Progressive GAN (ProGAN)可以生成高質量的高分辨率圖像。
7、Relativistic GAN
傳統的 GAN 測量生成的數據是真實數據的概率。 Relativistic GAN 測量生成的數據比真實數據 “更真實” 的概率。正如 RGAN 論文中提到的,我們可以使用適當的距離度量來度量這種“相對真實性”。
使用標準 GAN loss 時鑒別器的輸出 (圖 B)。圖 C 表示輸出曲線的實際樣子。圖 A 表示 JS 散度的最優解。
作者還提到,鑒別器的輸出在達到最優狀態時應該收斂到 0.5。然而,傳統的 GAN 訓練算法強迫鑒別器對任何圖像輸出 “real”(即 1)。這在某種程度上阻止了鑒別器達到其最優值。 relativistic 方法也解決了這個問題,并取得了相當顯著的效果,如下圖所示:
經過 5000 次迭代后,標準 GAN(左) 和 relativistic GAN(右) 的輸出
8、自注意力機制
Self Attention GANs 的作者表示,用于生成圖像的卷積會查看局部傳播的信息。也就是說,由于它們限制性的 receptive field,它們錯過了全局性的關系。
將 attention map(在黃色框中計算) 添加到標準卷積操作中
Self-Attention GAN 允許對圖像生成任務進行注意力驅動的長期依賴建模。 Self-Attention 機制是對普通卷積運算的補充。全局信息 (遠程依賴) 有助于生成更高質量的圖像。網絡可以選擇忽略注意機制,也可以將其與正常卷積一起考慮。
對紅點標記的位置的 attention map 的可視化
總結
研究社區已經提出了許多解決方案和技巧來克服 GAN 訓練的缺點。然而,由于新研究的數量龐大,很難跟蹤所有重要的貢獻。
由于同樣的原因,這篇文章中分享的細節并非詳盡無疑,可能在不久的將來就會過時。盡管如此,還是希望本文能夠成為人們尋找改進 GAN 性能的方法的一個指南。
-
神經網絡
+關注
關注
42文章
4773瀏覽量
100876 -
GaN
+關注
關注
19文章
1944瀏覽量
73653
發布評論請先 登錄
相關推薦
評論