摘要:另外,在損失函數(shù)中加入感知正則化則在一定程度上可緩解該問題。替代損失函數(shù)修復(fù)缺陷的最流行的補(bǔ)丁是。的作者認(rèn)為傳統(tǒng)損失函數(shù)并不會使收集的數(shù)據(jù)分布接近于真實數(shù)據(jù)分布。原來損失函數(shù)中的對數(shù)損失并不影響生成數(shù)據(jù)與決策邊界的距離。
盡管 GAN 領(lǐng)域的進(jìn)步令人印象深刻,但其在應(yīng)用過程中仍然存在一些困難。本文梳理了 GAN 在應(yīng)用過程中存在的一些難題,并提出了的解決方法。
使用 GAN 的缺陷
眾所周知,GAN 是由 Generator 生成網(wǎng)絡(luò)和 Discriminator 判別網(wǎng)絡(luò)組成的。
1. Mode collapse(模型崩潰)
注:Mode collapse 是指 GAN 生成的樣本單一,其認(rèn)為滿足某一分布的結(jié)果為 true,其他為 False,導(dǎo)致以上結(jié)果。
自然數(shù)據(jù)分布是非常復(fù)雜,且是多峰值的(multimodal)。也就是說數(shù)據(jù)分布有很多的峰值(peak)或眾數(shù)(mode)。每個 mode 都表示相似數(shù)據(jù)樣本的聚集,但與其他 mode 是不同的。
在 mode collapse 過程中,生成網(wǎng)絡(luò) G 會生成屬于有限集 mode 的樣本。當(dāng) G 認(rèn)為可以在單個 mode 上欺騙判別網(wǎng)絡(luò) D 時,G 就會生成該 mode 外的樣本。 ? ??
上圖表示 GAN 的輸出沒有 mode collapse. 下圖則出現(xiàn)了 mode collapse。
判別網(wǎng)絡(luò)最后會判別來自該 mode 的樣本是假的。最后,生成網(wǎng)絡(luò) G 會簡單地鎖定到另一個 mode。該循環(huán)會無限進(jìn)行,就會限制生成樣本的多樣性。
2. Convergence(收斂)
GAN 訓(xùn)練過程中遇到的一個問題是什么時候停止訓(xùn)練?因為判別網(wǎng)絡(luò) D 損失降級會改善生成網(wǎng)絡(luò) G 的損失(反之亦然),因此無法根據(jù)損失函數(shù)的值來判斷收斂,如下圖所示:
典型的GAN損失函數(shù)圖。注意該如何從這個圖中解釋收斂性。
3. Quality(質(zhì)量)
與前面提到的收斂問題一樣,很難量化地判斷生成網(wǎng)絡(luò) G 什么時候會生成高質(zhì)量的樣本。另外,在損失函數(shù)中加入感知正則化則在一定程度上可緩解該問題。
4. Metrics(度量)
GAN 的目標(biāo)函數(shù)解釋了生成網(wǎng)絡(luò) G 或 判別網(wǎng)絡(luò) D 如何根據(jù)組件來執(zhí)行,但它卻不表示輸出的質(zhì)量和多樣性。因此,需要許多不同的度量指標(biāo)來進(jìn)行衡量。
改善性能的技術(shù)
下面總結(jié)了一些可以使 GAN 更加穩(wěn)定使用的技術(shù)。
1. Alternative Loss Functions (替代損失函數(shù))
修復(fù) GAN 缺陷的最流行的補(bǔ)丁是 ?Wasserstein GAN (https://arxiv.org/pdf/1701.07875.pdf)。該 GAN 用 Earth Mover distance ( Wasserstein-1 distance 或 EM distance) 來替換傳統(tǒng) GAN 的 Jensen Shannon divergence ( J-S 散度) 。EM 距離的原始形式很難理解,因此使用了雙重形式。這需要判別網(wǎng)絡(luò)是 1-Lipschitz,通過修改判別網(wǎng)絡(luò)的權(quán)重來維護(hù)。
使用 Earth Mover distance 的優(yōu)勢在于即使真實的生成數(shù)據(jù)分布是不相交的,它也是連續(xù)的。同時,在生成的圖像質(zhì)量和損失值之間存在一定關(guān)系。使用 Earth Mover distance 的劣勢在于對于每個生成模型 G ?都要執(zhí)行許多判別網(wǎng)絡(luò) D 的更新。而且,研究人員認(rèn)為權(quán)重修改是確保 1-Lipschitz 限制的極端方式。
左圖中 earth mover distance 是連續(xù)的, 即便其分布并不連續(xù), 這不同于優(yōu)圖中的 the Jensen Shannon divergence。
另一個解決方案是使用均方損失( mean squared loss )替代對數(shù)損失( log loss )。LSGAN (https://arxiv.org/abs/1611.04076)的作者認(rèn)為傳統(tǒng) GAN 損失函數(shù)并不會使收集的數(shù)據(jù)分布接近于真實數(shù)據(jù)分布。
原來 GAN ?損失函數(shù)中的對數(shù)損失并不影響生成數(shù)據(jù)與決策邊界(decision boundary)的距離。另一方面,LSGAN 也會對距離決策邊界較遠(yuǎn)的樣本進(jìn)行懲罰,使生成的數(shù)據(jù)分布與真實數(shù)據(jù)分布更加靠近,這是通過將均方損失替換為對數(shù)損失來完成的。
2. Two Timescale Update Rule (TTUR)
在 TTUR 方法中,研究人員對判別網(wǎng)絡(luò) D 和生成網(wǎng)絡(luò) G 使用不同的學(xué)習(xí)速度。低速更新規(guī)則用于生成網(wǎng)絡(luò) G ,判別網(wǎng)絡(luò) D使用 高速更新規(guī)則。使用 TTUR 方法,研究人員可以讓生成網(wǎng)絡(luò) G 和判別網(wǎng)絡(luò) D 以 1:1 的速度更新。 SAGAN (https://arxiv.org/abs/1805.08318) 就使用了 TTUR 方法。
3. Gradient Penalty (梯度懲罰)
論文Improved Training of WGANs(https://arxiv.org/abs/1704.00028)中,作者稱權(quán)重修改會導(dǎo)致優(yōu)化問題。權(quán)重修改會迫使神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)學(xué)習(xí)更簡單的相似(simpler approximations)達(dá)到最優(yōu)數(shù)據(jù)分布,導(dǎo)致結(jié)果質(zhì)量不高。同時如果 WGAN 超參數(shù)設(shè)置不合理,權(quán)重修改可能會出現(xiàn)梯度消失或梯度爆炸的問題,論文作者在損失函數(shù)中加入了一個簡單的梯度懲罰機(jī)制以緩解該問題。
加入 Gradient Penalty 作為正則化器
DRAGAN (https://arxiv.org/abs/1705.07215)的作者稱,當(dāng) GAN 的博弈達(dá)到一個局部平衡態(tài)(local equilibrium state),就會出現(xiàn) mode collapse 的問題。而且判別網(wǎng)絡(luò) D 在這種狀態(tài)下產(chǎn)生的梯度是非常陡(sharp)的。一般來說,使用梯度懲罰機(jī)制可以幫助避免這種狀態(tài)的產(chǎn)生,極大增強(qiáng) GAN 的穩(wěn)定性,盡可能減少 mode collapse 問題的產(chǎn)生。
4. Spectral Normalization(譜歸一化)
Spectral normalization 是用在判別網(wǎng)絡(luò) D 來增強(qiáng)訓(xùn)練過程的權(quán)重正態(tài)化技術(shù) (weight normalization technique),可以確保判別網(wǎng)絡(luò) D 是 K-Lipschitz 連續(xù)的。 SAGAN (https://arxiv.org/abs/1805.08318)這樣的實現(xiàn)也在判別網(wǎng)絡(luò) D 上使用了譜正則化。而且該方法在計算上要比梯度懲罰方法更加高效。
5. Unrolling and Packing (展開和打包)
文章 Mode collapse in GANs(http://aiden.nibali.org/blog/2017-01-18-mode-collapse-gans/)中提到一種預(yù)防 mode hopping 的方法就是在更新參數(shù)時進(jìn)行預(yù)期對抗(anticipate counterplay)。展開的 GAN ( Unrolled GANs )可以使用生成網(wǎng)絡(luò) G 欺騙判別網(wǎng)絡(luò) D,然后判別網(wǎng)絡(luò) D 就有機(jī)會進(jìn)行響應(yīng)。
另一種預(yù)防 mode collapse 的方式就是把多個屬于同一類的樣本進(jìn)行打包,然后傳遞給判別網(wǎng)絡(luò) D 。PacGAN (https://arxiv.org/abs/1712.04086)就融入了該方法,并證明可以減少 mode collapse 的發(fā)生。
6. 多個 GAN
一個 GAN 可能不足以有效地處理任務(wù),因此研究人員提出使用多個連續(xù)的 GAN ,每個 GAN 解決任務(wù)中的一些簡單問題。比如,F(xiàn)ashionGAN(https://www.cs.toronto.edu/~urtasun/publications/zhu_etal_iccv17.pdf)就使用 2 個 GAN 來執(zhí)行圖像定位翻譯。
FashionGAN 使用兩個 GANs 進(jìn)行圖像定位翻譯。
因此,可以讓 GAN 慢慢地解決更難的問題。比如 Progressive GANs (ProGANs,https://arxiv.org/abs/1710.10196) 就可以生成分辨率極高的高質(zhì)量圖像。
7. Relativistic GANs(相對生成對抗網(wǎng)絡(luò))
傳統(tǒng)的 GAN 會測量生成數(shù)據(jù)為真的可能性。Relativistic GANs 則會測量生成數(shù)據(jù)“逼真”的可能性。研究人員可以使用相對距離測量方法(appropriate distance measure)來測量相對真實性(relative realism),相關(guān)論文鏈接:https://arxiv.org/abs/1807.00734。
圖 A 表示 JS 散度的最優(yōu)解,圖 B 表示使用標(biāo)準(zhǔn) GAN 損失時判別網(wǎng)絡(luò) D 的輸出,圖 C 表示輸出曲線的實際圖。
在論文中,作者提到判別網(wǎng)絡(luò) D 達(dá)到最優(yōu)狀態(tài)時,D 的輸出應(yīng)該聚集到 0.5。但傳統(tǒng)的 GAN 訓(xùn)練算法會讓判別網(wǎng)絡(luò) D 對圖像輸出“真實”(real,1)的可能性,這會限制判別網(wǎng)絡(luò) D 達(dá)到最優(yōu)性能。不過這種方法可以很好地解決這個問題,并得到不錯的結(jié)果。
經(jīng)過 5000 次迭代后,標(biāo)準(zhǔn) GAN (左)和相對 GAN (右)的輸出。
8. Self Attention Mechanism(自注意力機(jī)制)
Self Attention GANs(https://arxiv.org/abs/1805.08318)作者稱用于生成圖像的卷積會關(guān)注本地傳播的信息。也就是說,由于限制性接收域這會錯過廣泛傳播關(guān)系。
將 attention map (在黃色框中計算)添加到標(biāo)準(zhǔn)卷積操作中。
Self-Attention Generative Adversarial Network 允許圖像生成任務(wù)中使用注意力驅(qū)動的、長距依賴的模型。自注意力機(jī)制是對正常卷積操作的補(bǔ)充,全局信息(長距依賴)會用于生成更高質(zhì)量的圖像,而用來忽略注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)會考慮注意力機(jī)制和正常的卷積。(相關(guān)論文鏈接:https://arxiv.org/pdf/1805.08318.pdf)。
使用紅點標(biāo)記的可視化 attention map。
9. 其他技術(shù)
其他可以用來改善 GAN 訓(xùn)練過程的技術(shù)包括:
特征匹配
Mini Batch Discrimination(小批量判別)
歷史平均值
One-sided Label Smoothing(單側(cè)標(biāo)簽平滑)
Virtual Batch Normalization(虛擬批量正態(tài)化)
更多GAN技術(shù)
https://github.com/soumith/ganhacks。
原文鏈接:
https://medium.com/beyondminds/advances-in-generative-adversarial-networks-7bad57028032
聲明:文章收集于網(wǎng)絡(luò),為傳播信息而發(fā),如有侵權(quán),請聯(lián)系小編及時處理,謝謝!
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價值的辦法,實際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報表系統(tǒng)等全方位知識
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/4846.html
摘要:測度是高維空間中長度面積體積概念的拓廣,可以理解為超體積。前作其實已經(jīng)針對第二點提出了一個解決方案,就是對生成樣本和真實樣本加噪聲,直觀上說,使得原本的兩個低維流形彌散到整個高維空間,強(qiáng)行讓它們產(chǎn)生不可忽略的重疊。 在GAN的相關(guān)研究如火如荼甚至可以說是泛濫的今天,一篇新鮮出爐的arXiv論文《Wasserstein GAN》卻在Reddit的Machine Learning頻道火了,連Go...
摘要:也是相關(guān)的,因為它們已經(jīng)成為實現(xiàn)和使用的主要基準(zhǔn)之一。在本文發(fā)表之后不久,和中有容易獲得的不同實現(xiàn)用于測試你所能想到的任何數(shù)據(jù)集。在這篇文章中,作者提出了對訓(xùn)練的不同增強(qiáng)方案。在這種情況下,鑒別器僅用于指出哪些是值得匹配的統(tǒng)計信息。 本文不涉及的內(nèi)容首先,你不會在本文中發(fā)現(xiàn):復(fù)雜的技術(shù)說明代碼(盡管有為那些感興趣的人留的代碼鏈接)詳盡的研究清單(點擊這里進(jìn)行查看 鏈接:http://suo....
摘要:直接把應(yīng)用到領(lǐng)域主要是生成序列,有兩方面的問題最開始是設(shè)計用于生成連續(xù)數(shù)據(jù),但是自然語言處理中我們要用來生成離散的序列。如圖,針對第一個問題,首先是將的輸出作為,然后用來訓(xùn)練。 我來答一答自然語言處理方面GAN的應(yīng)用。直接把GAN應(yīng)用到NLP領(lǐng)域(主要是生成序列),有兩方面的問題:1. GAN最開始是設(shè)計用于生成連續(xù)數(shù)據(jù),但是自然語言處理中我們要用來生成離散tokens的序列。因為生成器(G...
摘要:于是,中將做了拆解,認(rèn)為中生成模型應(yīng)該包含的先驗分成兩種不能再做壓縮的和可解釋地有隱含意義的一組隱變量,簡寫為。利用這種更加細(xì)致的隱變量建模控制,可以說將的發(fā)展又推動了一步。 摘要在過去一兩年中,生成式模型 Generative Adversarial Networks(GAN)的新興為生成式任務(wù)帶來了不小的進(jìn)展。盡管 GAN 在被提出時存在訓(xùn)練不穩(wěn)定等諸多問題,但后來的研究者們分別從模型、...
摘要:下面介紹一些值得注意的部分,有些簡單解釋原理,具體細(xì)節(jié)不能面面俱到,請參考專業(yè)文章主要來源實戰(zhàn)那我們直接從拿到一個問題決定用神經(jīng)網(wǎng)絡(luò)說起。當(dāng)你使用時可以適當(dāng)減小學(xué)習(xí)率,跑過神經(jīng)網(wǎng)絡(luò)的都知道這個影響還蠻大。 神經(jīng)網(wǎng)絡(luò)構(gòu)建好,訓(xùn)練不出好的效果怎么辦?明明說好的擬合任意函數(shù)(一般連續(xù))(為什么?可以參考http://neuralnetworksanddeeplearning.com/),說好的足夠...
閱讀 1294·2021-10-08 10:05
閱讀 4107·2021-09-22 15:54
閱讀 3105·2021-08-27 16:18
閱讀 3107·2019-08-30 15:55
閱讀 1436·2019-08-29 12:54
閱讀 2748·2019-08-26 11:42
閱讀 543·2019-08-26 11:39
閱讀 2129·2019-08-26 10:11