0
雷鋒網(wǎng) AI 科技評論按,生成對抗網(wǎng)絡(luò)是一類功能強大、應用廣泛的神經(jīng)網(wǎng)絡(luò)。它們基本上是由兩個神經(jīng)網(wǎng)絡(luò)組成的系統(tǒng)——生成器和判別器,這兩個網(wǎng)絡(luò)相互制約。計算機視覺和人工智能的愛好者 Bharath Raj 近日發(fā)布以一篇博文,總結(jié)了生成對抗網(wǎng)絡(luò)的原理、缺點和為了克服這些缺點所做的研究的最新進展。雷鋒網(wǎng) AI 科技評論編譯整理如下:
生成對抗網(wǎng)絡(luò)的工作原理
給定一組目標樣本,生成器試圖生成一些能夠欺騙判別器、使判別器相信它們是真實的樣本。判別器試圖從假(生成)樣本中解析真實(目標)樣本。使用這種迭代訓練方法,我們最終得到一個真正擅長生成類似于目標樣本的樣本的生成器。
GAN 有大量的應用程序,因為它們可以學習模擬幾乎任何類型的數(shù)據(jù)分布。一般來說,GAN 可以用于處理超低分辨率的圖像以及任何類型的圖像翻譯等等,如下所示:
使用 GAN 進行圖像翻譯
然而,由于其變化無常、表現(xiàn)不穩(wěn)定,很難用它們做一些事情。當然,許多研究人員已經(jīng)提出了很好的解決方案,以減輕 GAN 網(wǎng)絡(luò)訓練中所涉及到的一些問題。然而,這一領(lǐng)域的研究進展速度如此之快,以至于人們來不及去追蹤很多有趣的想法。這個博客列出了一些常用的使 GAN 訓練表現(xiàn)穩(wěn)定的技術(shù)。
使用 GAN 的缺點概述
GAN 很難用的原因有很多,本節(jié)的下面將列出其中一些原因。
1.模型崩潰(Mode collapse)
自然數(shù)據(jù)分布是高度復雜和多模態(tài)的。也就是說,數(shù)據(jù)分布有很多「峰值」或「模型」。每種模型代表相似數(shù)據(jù)樣本的濃度,且不同于其他模型。
在模型折疊期間,生成器生成屬于一組有限模型的樣本。當生成器相信它可以通過鎖定到單個模型來騙過判別器時,就會發(fā)生這種情況。也就是說,生成器僅從該模型生成樣本。
頂部的圖像表示沒有模型折疊的 GAN 的輸出,底部的圖像表示模型折疊時的 GAN 輸出。
判別器最終發(fā)現(xiàn)這個模型的樣本是假的。因此,生成器只需鎖定到另一個模型。這個循環(huán)無限重復,這基本上限制了生成樣本的多樣性。要獲得更詳細的解釋,您可以查看此日志。
2.收斂
在 GAN 訓練中,一個常見的問題是「我們什么時候停止訓練它們?」「。由于判別器損耗降低(反之亦然)時,生成器損耗會增加,因此不能根據(jù)損耗函數(shù)的值判斷收斂性。如下圖所示:
典型 GAN 損失函數(shù)圖,請注意為何這張圖不能解釋收斂性。
3.質(zhì)量
與前面的問題一樣,很難定量地判斷生成器何時會生成高質(zhì)量的樣本。在損失函數(shù)中加入額外的感知正則化可以在一定程度上緩解這種情況。
4.度量
GAN 的目標函數(shù)解釋了和其對手相比,它的生成器或者判別器表現(xiàn)如何。然而,它并不代表輸出的質(zhì)量或多樣性。因此,我們需要不同的度量標準來度量相同的內(nèi)容。
術(shù)語
在深入研究有助于提高性能的技術(shù)之前,讓我們回顧一下一些術(shù)語。這將有助于理解下一節(jié)中所介紹的技術(shù)。
1.上確界和下確界
簡而言之,下確界是集合的最大下界,上確界是集合的最小上界。它們不同于最小值和最大值,因為上確界和下確界不一定屬于集合。
2.散度度量
散度度量表示兩個分布之間的距離。傳統(tǒng)的 GAN 神經(jīng)網(wǎng)絡(luò)基本上最大限度地減少了真實數(shù)據(jù)分布和生成數(shù)據(jù)分布之間的 Jensen Shannon 分歧。GAN 損失函數(shù)可以修改,以盡量減少其他散度度量,如 Kulback-Leibler 散度或總變化距離。
3.Kantorovich Rubenstein 對偶性
一些散度度量措施難以以其初始形式進行優(yōu)化。然而,他們的對偶形式(用下確界代替上確界或者用上確界代替下確界)可能易于優(yōu)化。對偶原則為將一種形式轉(zhuǎn)換為另一種形式奠定了框架。關(guān)于這一點的詳細解釋,你可以查看這篇博客。
4.Lipschitz 連續(xù)性
一個 Lipschitz 連續(xù)函數(shù)的變化速度是有限的。對 Lipschitz 連續(xù)函數(shù)來說,函數(shù)曲線上任一點的斜率的絕對值不能超過實值 K。這樣的函數(shù)也被稱為 K-Lipschitz 連續(xù)函數(shù)。
Lipschitz 連續(xù)性對 GAN 網(wǎng)絡(luò)來說是必須的,因為它們會限制判別器的斜率。另外,Kantorovich-Rubinstein 對偶性要求它是 Wasserstein GAN。
提高性能的技術(shù)
有許多技巧和技術(shù)可以用來使 GAN 更加穩(wěn)定和強大。在這篇博客中,為了簡潔起見,我只解釋了一些相對較新或復雜的技術(shù)。在本節(jié)末尾,我列出了其他各種方法和技巧。
1.損失函數(shù)
關(guān)于 GAN 的缺點,最受歡迎的修復方法之一是 Wasserstein GAN。它的基本原理是用地球移動距離(Wasserstein-1 distance 距離或 EM 距離)取代了傳統(tǒng)的 GAN 的 Jensen Shannon 發(fā)散。EM 距離的原始形式是難以處理的,因此我們使用它的對偶形式(由 Kantorovich-Rubenstein 對偶計算)。這就要求判別器是 1-lipschitz,它通過剪切判別器的權(quán)重來保持。
使用移動距離的優(yōu)點是,它是連續(xù)的,即使實際和生成的數(shù)據(jù)在分布上沒有交集。此外,生成的圖像質(zhì)量與損失值(源)之間存在相關(guān)性。缺點是,對每個生成器更新,我們都需要根據(jù)原始實現(xiàn)來進行判別器更新。此外,作者聲稱,降低權(quán)重是確保 1-lipschitz 約束的一種糟糕方法。
與 Jensen-Shannon 散度(右)不同,地球運動距離(左)是連續(xù)的,雖然它的分布不是連續(xù)的。有關(guān)詳細說明,請參閱這篇文章。
另一個有趣的解決方案是使用均方損失而不是對數(shù)損失。LSGAN 的作者認為,傳統(tǒng)的 GAN 損失函數(shù)并沒有提供太多的激勵來「拉動」生成的數(shù)據(jù)分布接近真實的數(shù)據(jù)分布。
原始 GAN 損失函數(shù)中的對數(shù)損失不影響生成數(shù)據(jù)與決策邊界之間的距離(決策邊界將真實和虛假數(shù)據(jù)分開)。另一方面,LSGAN 對遠離決策邊界的生成樣本進行懲罰,本質(zhì)上是將生成的數(shù)據(jù)分布「拉近」實際數(shù)據(jù)分布。它通過用均方損失代替對數(shù)損失來做到這一點。有關(guān)這一點的詳細解釋,請訪問此博客。
2.兩個時間刻度更新規(guī)則(TTUR)
在這種方法中,我們對判別器和生成器使用不同的速率進行學習。通常,生成器使用較慢的更新規(guī)則,判別器使用較快的更新規(guī)則。使用這種方法,我們可以以 1:1 的比率執(zhí)行生成器和判別器更新,且只需調(diào)整學習速率。值得注意的是,SAGAN 實現(xiàn)使用了此方法。
3.梯度懲罰
本文改進了 WGAN 的訓練,作者聲稱,降低權(quán)重(最初在 WGAN 中執(zhí)行)會導致優(yōu)化問題。他們聲稱,權(quán)重的降低迫使神經(jīng)網(wǎng)絡(luò)學習「更簡單的近似」達到最佳的數(shù)據(jù)分布,導致低質(zhì)量的結(jié)果。他們還聲稱,如果 WGAN 超參數(shù)設(shè)置不正確,那么降低權(quán)重會導致梯度問題爆發(fā)或者消失。作者在損失函數(shù)中加入了一個簡單的梯度懲罰,從而減輕了上述問題。此外,1-lipschitz 的連續(xù)性保持不變,正如最初的 WGAN 實施一樣。
DRAGAN 的作者認為,當 GAN 玩的游戲(即判別器和生成器相互對抗)達到「局部平衡狀態(tài)」時,模式就會崩潰。他們還認為,這些判別器所產(chǎn)生的梯度是「尖銳的」。當然,使用梯度懲罰將有助于我們繞過這些狀態(tài),大大提高穩(wěn)定性,減少模式崩潰。
4.譜歸一化
譜歸一化是一種權(quán)重歸一化技術(shù),通常用于判別器以強化訓練過程。這基本上確保了判別器是 K-Lipschitz 連續(xù)的。
像 SAGAN 這樣的一些實現(xiàn)也在生成器上使用了譜歸一化。文中還指出,該方法比梯度懲罰法計算效率高。
5.展開和打包
正如這篇優(yōu)秀的博客所述,防止模式崩潰的一個方法是在更新參數(shù)時預測對策。當判別器有機會作出反應(考慮到反作用)后,展開的 GAN 使生成器能夠愚弄判別器。
另一種防止模式崩潰的方法是「打包」屬于同一類的幾個樣本,然后將其傳遞給判別器。這種方法被納入了 PacGAN 中,在這里有模式崩潰的減少的報道。
6.成堆的 GAN
單個 GAN 可能不夠強大,無法有效地處理任務。我們可以使用連續(xù)放置的多個 GAN,其中每個 gan 解決問題的一個更簡單的版本。例如,F(xiàn)ashionGAN 使用兩個 GAN 來執(zhí)行本地化圖像翻譯。
Fashiongan 使用兩個 gan 來執(zhí)行本地化圖像翻譯
把這個概念推向極端,我們可以逐漸增加向我們的 GAN 提出的問題的難度。例如,漸進式 GAN(ProGAN)可以生成高質(zhì)量、高分辨率的圖像。
7.Relativistic GANs
傳統(tǒng)的 GAS 測量生成數(shù)據(jù)真實的概率。Relativistic GANs 測量生成的數(shù)據(jù)比實際數(shù)據(jù)「更真實」的概率。我們可以使用一個合適的距離來測量這個「相對真實性」,正如「RGAN」論文中所提到的那樣。
當使用標準 GAN(圖 B)損失的時候,生成器的輸出。圖 C 是輸出曲線的實際樣子。圖 A 表示 JS 散度的最優(yōu)解。
作者還提到,當判別器輸出達到最佳狀態(tài)時,它應該收斂到 0.5。然而,傳統(tǒng)的 GAN 訓練算法強制判別器為任何圖像輸出「真實」(即 1)。這在某種程度上阻止了判別器達到其最佳值。Relativistic GANs 也解決了這個問題,并且有相當顯著的結(jié)果,如下所示。
經(jīng)過 5000 次迭代后的標準 GAN(左)和 Relativistic GAN(右)的輸出。
8.自我關(guān)注機制
「Self Attention GANs」的作者聲認為,用于生成圖像的卷積著眼于局部傳播的信息。也就是說,由于接受領(lǐng)域有限,這些卷積錯過了全局關(guān)系。
將注意力圖(在黃色框中計算)添加到標準卷積操作中。
自我關(guān)注生成對抗網(wǎng)絡(luò)允許對圖像生成任務進行關(guān)注驅(qū)動的遠程依賴性建模。自我注意機制是對正常卷積運算的補充。全局信息(長距離相關(guān)性)有助于生成更高質(zhì)量的圖像。網(wǎng)絡(luò)可以選擇忽略注意機制,或者將其與普通卷積一起考慮。要獲得詳細的解釋,你可以查看他們的論文。
以紅點標記的位置的注意地圖可視化。
其他技術(shù)
以下是一些附加技術(shù)的列表(并非詳盡列表)用于改進 GAN 訓練:
特征匹配
小批量鑒別
歷史平均值
單面標簽平滑
虛擬批處理規(guī)范化
你可以在這篇文章和這篇博文中了解更多關(guān)于這些技術(shù)的信息。在這個 GitHub 存儲庫中列出了更多的技術(shù)。
指標
既然我們已經(jīng)知道了改進訓練的方法,那么如何來證明呢?以下指標通常用來衡量 GAN 的性能:
1.初始得分
初始分數(shù)衡量生成數(shù)據(jù)的「真實性」。
初始分數(shù)
方程有兩個分量 p(y_x)和 p(y)。這里,x 是由生成器生成的圖像,p(y_x)是通過預先訓練的初始網(wǎng)絡(luò)(如在原始實現(xiàn)中對 ImageNet 數(shù)據(jù)集進行預訓練)傳遞圖像 x 時獲得的概率分布。另外,p(y)是邊緣概率分布,可以通過對生成圖像(x)的幾個不同樣本求 p(y_x)的平均值來計算。這兩個術(shù)語代表了真實圖像所需的兩種不同品質(zhì):
生成的圖像必須具有「有意義」的對象(對象清晰,不模糊)。這意味著 p(y_x)應該具有「低熵」。換句話說,我們的初始網(wǎng)絡(luò)必須可以非常清楚地確定生成的圖像屬于特定的類。
生成的圖像應該是「多樣的」。這意味著 p(y)應該具有「高熵」。換句話說,生成器應該生成圖像,使每個圖像代表不同的類標簽(理想情況下)。
P(y_x)和 P(y)的理想圖。像圖中這樣的一對會有很大的 kL 發(fā)散。
如果一個隨機變量是高度可預測的,那么它的熵就很低(即 p(y)必須是一個具有尖峰的分布)。相反,如果它是不可預測的,那么它具有高熵(即 p(y_x)必須是均勻分布)。如果這兩個特征都得到滿足,我們就會認為 p(y_x)和 p(y)之間的 KL 差異很大。當然,一個大的初始分數(shù)(IS)是更好的。為了更深入地分析初始分數(shù),您可以閱讀這篇論文。
2.Fréchet 距離(FID)
初始分數(shù)的一個缺點是,實際數(shù)據(jù)的統(tǒng)計數(shù)據(jù)不會與生成數(shù)據(jù)的統(tǒng)計數(shù)據(jù)進行比較。Fréchet 距離通過比較真實圖像和生成圖像的平均值和協(xié)方差來解決這個缺點。Fréchet 初始距離(FID)執(zhí)行相同的分析,但它通過預先訓練的 inception-v3 網(wǎng)絡(luò)傳遞真實和生成的圖像而生成特征圖。方程描述如下:
FID 比較實際和生成的數(shù)據(jù)分布的平均值和協(xié)方差。tr 代表 trace。
較低的 FID 分數(shù)更好,因為它表示生成圖像的統(tǒng)計數(shù)據(jù)與真實圖像的統(tǒng)計數(shù)據(jù)非常相似。
結(jié)論
為了克服 GAN 訓練的不足,學術(shù)提出了許多解決方案和方法。然而,由于新研究的數(shù)量巨大,很難對所有的新成功進行跟進。由于同樣的原因,本博客中分享的細節(jié)并不詳盡,在不久的將來可能會過時。不過,我希望這篇博客能為人們提供一個指導,幫助他們尋找提高他們的工作表現(xiàn)的方法。
via:https://medium.com/beyondminds/advances-in-generative-adversarial-networks-7bad57028032
雷鋒網(wǎng)編譯。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。