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