史上最全GAN綜述2020版:算法、理論及應用

2021-01-08 機器之心Pro

選自arXiv

作者:Jie Gui、葉傑平、陶大程等

機器之心編譯

參與:郭元晨、Geek AI

自從 2014 年 Ian GoodFellow 提出 GAN 模型,生成對抗網絡迅速成為了最火的生成式模型。時至今日,基於 GAN 設計的新型算法如雨後春筍般紛紛湧現了出來、對於 GAN 存在的模式坍塌和收斂性等理論問題的深入分析層出不窮,其應用也廣泛滲透到了諸如計算機視覺、自然語言處理、醫療人工智慧等領域中。本文是一份出自陶大程、葉傑平老師等大牛之手的 GAN 詳細綜述,介紹了近年來有關 GAN 模型的相關研究進展,並指出了今後該領域的發展方向。

論文地址:https://arxiv.org/pdf/2001.06937.pdf

近年來,生成對抗網絡(GAN)是一個熱門的研究課題。2014 年至今,人們對 GAN 進行了廣泛的研究,並提出了大量算法。但是,很少有全面的研究來解釋不同 GAN 變體之間的聯繫以及它們演變的方式。在本文中,我們嘗試從算法、理論和應用的角度對多種 GAN 方法進行綜述。首先,我們詳細介紹了大多數 GAN 算法的研究動機、數學表徵和架構。此外,GAN 已經在一些特定應用上與其它機器學習算法相結合,如半監督學習、遷移學習和強化學習。本文比較了這些 GAN 方法的異同。其次,我們研究了與 GAN 相關的理論問題。第三,我們闡述了 GAN 在圖像處理與計算機視覺、自然語言處理、音樂、語音與音頻、醫學以及數據科學中的典型應用。最後,我們指出了 GAN 的一些未來的開放性研究問題。

算法

在本節中,我們首先介紹最原始的 GAN。然後,介紹其具有代表性的變體、訓練及評估方式以及任務驅動的 GAN。

生成對抗網絡

當模型都是神經網絡時,GAN 架構實現起來非常直觀。為了學習生成器在數據 x 上的分布 p_g,首先定義一個關於輸入噪聲變量的先驗分布 p_z(z)[3],其中 z 是噪聲變量。接著,GAN 表示了從噪聲空間到數據空間的映射 G(z, θ_g),其中 G 是一個由參數為 θ_g 的神經網絡表示的可微函數。除了 G 之外,另一個神經網絡 D(x, θ_d) 也用參數 θ_d 定義,D(x) 的輸出是一個標量。D(x) 表示了 x 來自真實數據而不是來自生成器 G 的概率。我們對判別器 D 進行訓練,以最大化為訓練數據和生成器 G 生成的假樣本提供正確標籤的概率。同時,我們訓練 G,最小化 log(1-D(G(z)))。

目標函數

GAN 可以使用各種不同的目標函數。

最原始的極大極小博弈

GAN [3] 的目標函數是

其中 D(x) 是 [1, 0]^T 和 [D(x), 1 - D(x)]^T 間的交叉熵。類似地,log(1-D(G(z))) 是 [0, 1]^T 和 [D(G(z)), 1 - D(G(z))]^T 間的交叉熵。對於一個固定的 G,[3] 中給出了最優的判別器 D:

(1) 式中的極大極小博弈可以被重新形式化為:

兩個概率分布 p(x) 和 q(x) 之間的 KL 散度和 JS 散度定義如下:

因此,(3) 式等價於

因此,GAN 的目標函數和 KL 散度與 JS 散度都相關。

非飽和博弈

實際上,公式 (1) 可能無法為 G 提供足夠大的梯度使其很好地學習。一般來說,G 在學習過程的早期性能很差,產生的樣本與訓練數據有明顯的差異。因此,D 可以以高置信度拒絕 G 生成的樣本。在這種情況下,log(1-D(G(z))) 是飽和的。我們可以訓練 G 以最大化 log(D(G(z))),而非最小化 log(1-D(G(z)))。生成器的損失則變為

這個新的目標函數可以在訓練過程中使 D 和 G 的達到相同的不動點,但是在學習初期就提供了大得多的梯度。非飽和博弈是啟發式的,而非理論驅動的。然而,非飽和博弈還存在其它問題,如用於訓練 G 的數值梯度不穩定。在最優的 D*_G 下,有

因此 E_(x~p_g)[-log(D*_G(x))] 等價於

根據 (3) 式和 (6) 式,有

因此 E_(x~p_g)[log^(1 - D*_G(x))] 等價於

將 (11) 式代入 (9) 式,可以得到

從 (12) 式可以看出,對非飽和博弈中的替代 G 損失函數的優化是矛盾的,因為第一項目標是使生成的分布與實際分布之間的差異儘可能小,而由於負號的存在,第二項目標是使得這兩個分布之間的差異儘可能大。這將為訓練 G 帶來不穩定的數值梯度。此外,KL 散度是非對稱度量,這可以從以下兩個例子中反映出來

對 G 的兩種誤差的懲罰是完全不同的。第一種誤差是 G 產生了不真實的樣本,對應的懲罰很大。第二種誤差是 G 未能產生真實的樣本,而懲罰很小。第一種誤差是生成的樣本不準確,而第二種誤差是生成的樣本不夠多樣化。基於這個原理,G 傾向於生成重複但是安全的樣本,而不願意冒險生成不同但不安全的樣本,這會導致模式坍塌(mode collapse)問題。

最大似然博弈

在 GAN 中,有許多方法可以近似 (1) 式。假設判別器是最優的,我們想最小化

在 GAN 框架中有其它可能的方法逼近最大似然 [17]。圖 1 展示了對於原始零和博弈、非飽和博弈以及最大似然博弈的比較。

由圖 1 可以得到三個觀察結果。

首先,當樣本可能來自於生成器的時候,即在圖的左端,最大似然博弈和原始極大極小博弈都受到梯度彌散的影響,而啟發式的非飽和博弈不存在此問題。

第二,最大似然博弈還存在一個問題,即幾乎所有梯度都來自曲線的右端,這意味著每個 minibatch 中只有極少一部分樣本主導了梯度的計算。這表明減小樣本方差的方法可能是提高基於最大似然博弈的 GAN 性能的重要研究方向。

第三,基於啟發式的非飽和博弈的樣本方差較低,這可能是它在實際應用中更成功的可能原因。

M.Kahng 等人 [124] 提出了 GAN Lab,為非專業人士學習 GAN 和做實驗提供了交互式可視化工具。Bau 等人 [125] 提出了一個分析框架來可視化和理解 GAN。

代表性的 GAN 變體

與 GAN [126]-[131] 相關的論文有很多,例如 CSGAN [132] 和 LOGAN [133]。在本小節中,我們將介紹一些具有代表性 GAN 變體。

InfoGANConditionalGANs(cGANs)CycleGANf-GANIntegralProbabilityMetrics(IPMs)LossSensitiveGAN(LS-GAN)

有一個叫做「The GAN Zoo」的網站(https://github.com/hindupuravinash/the-gan-zoo),列舉了許多 GAN 的變體。更多詳細信息請訪問該網站。

GAN 的訓練

儘管理論上存在特有的解決方案,但由於多種原因 [29],[32],[179],GAN 的訓練是困難且常常不穩定的。其中一個困難是來自這樣一個事實:即 GAN 的最佳權重對應於損失函數的鞍點,而非極小值點。

關於 GAN 訓練的論文很多。Yadav 等人 [180] 用預測方法使 GAN 訓練更加穩定。[181] 通過使用獨立的學習率,為判別器和生成器提出了兩個時間尺度更新規則(TTUR),以確保模型可以收斂到穩定的局部納什均衡。Arjovsky [179] 為全面了解 GAN 的訓練動力學(training dynamics)進行了理論探究,分析了為什麼 GAN 難以訓練,研究並嚴格證明了訓練 GAN 時出現的損失函數飽和和不穩定等問題,提出了解決這類問題的一個實用且具有理論依據的方向,並引入了新的工具來研究它們。Liang 等人 [182] 認為 GAN 的訓練是一個連續的學習問題 [183]。

改善 GAN 訓練的一種方法是評估訓練中可能發生的經驗性「症狀」。這些症狀包括:生成器坍塌至對於不同的輸入只能生成極其相似的樣本 [29];判別器損失迅速收斂至零 [179],不能為生成器提供梯度更新;使生成器、判別器這一對模型難以收斂 [32]。

我們將從三個角度介紹 GAN 的訓練:

目標函數訓練技巧架構

GAN 的評價指標

在本小節中,我們說明用於 GAN 的一些評價指標 [215],[216]:

InceptionScore(IS)Modescore(MS)FrechetInceptionDistance(FID)Multi-scalestructuralsimilarity(MS-SSIM)如何為 GAN 選擇一個好的評價指標仍然是一個難題 [225]。Xu 等人 [219] 提出了對 GAN 評價指標的實證研究。Karol Kurach [224] 對 GAN 中的正則化和歸一化進行了大規模的研究。還有一些其它對於 GAN 比較性的研究,例如 [226]。參考文獻 [227] 提出了幾種作為元度量的度量依據,以指導研究人員選擇定量評價指標。恰當的評價指標應該將真實樣本與生成的假樣本區分開,驗證模式下降(mode drop)或模式坍塌,以及檢測過擬合。希望將來會有更好的方法來評價 GAN 模型的質量。

任務驅動的 GAN

本文的重點關注 GAN 模型。目前,對於涉及特定任務的緊密相關的領域,已經有大量的文獻。

半監督學習遷移學習強化學習多模態學習

GAN 已被用於特徵學習領域,例如特徵選擇 [277],哈希 [278]-[285] 和度量學習 [286]。MisGAN [287] 可以通過 GAN 利用不完整數據進行學習。[288] 中提出了進化型 GAN(Evolutionary GAN)。Ponce 等人 [289] 結合 GAN 和遺傳算法為視覺神經元演化圖像。GAN 還被用於其它機器學習任務 [290],例如主動學習 [291],[292],在線學習 [293],集成學習 [294],零樣本學習 [295],[296] 和多任務學習 [297]。

理論

最大似然估計(MLE)

並不是所有生成模型都使用 MLE。一些生成模型不使用 MLE,但可以被修改為使用 MLE(GAN 就屬於此類)。可以簡單地證明,最小化 p_data(x) 和 p_g(x) 之間的 KL 散度(KLD)等價於最大化樣本數 m 增加時的對數似然:

為了保證符號一致性,將模型概率分布 p_θ(x)替換為 p_g(x)。有關 MLE 和其他統計估計量的更多信息,請參閱 [298] 的第 5 章。

模式坍塌

GAN 很難訓練,並且在 [26],[29] 已經觀察到它們經常受到模式坍塌 [299],[300] 的影響,其中生成器學習到僅僅根據少數幾種數據分布模式生成樣本,而忽視了許多其它的模式(即使整個訓練數據中都存在來自缺失模式的樣本)。在最壞的情況下,生成器僅生成單個樣本(完全坍塌)[179],[301]。

在本小節中,我們首先引入 GAN 模式坍塌的兩種觀點:散度觀點和算法觀點。然後,我們將介紹通過提出新的目標函數或新的架構以解決模式坍塌的方法,包括基於目標函數的方法和基於架構的方法。

其它理論問題

其它理論問題包括:

1. GAN 是否真正學到了分布?

2. 散度/距離

3. 逆映射

4. 數學觀點(例如優化)

5. 記憶

應用

如前所述,GAN 是可以由隨機向量 z 生成逼真的樣本的強大的生成模型。我們既不需要知道顯式的真實數據分布,或進行其他任何數學假設。這些優點使 GAN 可以被廣泛應用於許多領域,例如圖像處理和計算機視覺、序列數據等。

圖像處理和計算機視覺

GAN 最成功的的應用是在圖像處理和計算機視覺方面,例如圖像超解析度、圖像生成與操作和視頻處理。

超解析度圖像合成和操作紋理合成目標檢測視頻應用

序列數據

GAN 也在序列數據上取得了一定成就如自然語言、音樂、語音、音頻 [376], [377]、時間序列 [378]–[381] 等。

開放性研究問題

GAN 領域仍然存在許多開放性研究問題。

將 GAN 用於離散數據:GAN 依賴於生成參數關於生成樣本是完全可微的。因此,GAN 無法直接生成離散數據,例如哈希編碼和獨熱(one-hot)向量。解決此類問題非常重要,因為它可以釋放 GAN 在自然語言處理和哈希計算中的潛力。Goodfellow 提出了三種解決這個問題的方法 [103]:使用 Gumbel-softmax [448],[449] 或離散分布 [450];利用強化算法 [451];訓練生成器以採樣可轉換為離散值的連續值(例如,直接對單詞的嵌入向量進行採樣)。

還有其他方法朝著該研究方向發展。Song 等人 [278] 使用了一個連續函數來近似哈希值的符號函數。Gulrajani 等人 [19] 用連續生成器建模離散數據。Hjelm 等人 [452] 引入了一種用離散數據訓練 GAN 的算法,該算法利用來自判別器的估計差異度量來計算生成樣本的重要性權重,從而為訓練生成器提供了策略梯度。可以在 [453],[454] 中找到其它的相關工作。在這個有趣的領域需要有更多的工作出現。

新的散度:研究者提出了一系列用於訓練 GAN 的新的積分概率度量(IPM),如 Fisher GAN [455],[456],均值和協方差特徵匹配 GAN(McGan)[457] 和 Sobolev GAN [458]。是否還有其它有趣的散度類別?這值得進一步的研究。

估計不確定性:通常來說,我們擁有的數據越多,估計的不確定性會越小。GAN 不會給出生成訓練樣本的分布,但 GAN 想要生成和訓練樣本分布相同的新樣本。因此,GAN 既沒有似然也沒有明確定義的後驗分布。目前已經有關於這個方向研究的初步嘗試,例如 Bayesian GAN [459]。儘管我們可以利用 GAN 生成數據,但是如何度量訓練好的生成器的不確定性呢?這是另一個值得未來研究的有趣問題。

理論:關於泛化問題,Zhang 等人 [460] 提出了在不同評價指標下的真實分布和學習到的分布之間的泛化界。當用神經距離進行評價時,[460] 中的泛化界表明,只要判別器的集合足夠小,無論假設集或生成器集合的大小如何,泛化性都是可以保證的。Arora 等人 [306] 提出了一種新穎的測試方法,使用離散概率的「生日悖論」來估計支撐集大小,並且表明即使圖像具有較高的視覺質量,GAN 也會受到模式坍塌的影響。更深入的理論分析非常值得研究。我們如何經驗性地測試泛化性?有用的理論應當能夠選擇模型的類別、容量和架構。這是一個值得未來工作深入研究的有趣問題。

其它:GAN 領域還有許多其它重要的研究問題,如評估方式(詳見 3.4 小節)和模式坍縮(詳見 4.2 小節)。

相關焦點

  • 最新綜述:偏振信息傳輸理論及應用進展
    偏振信息傳輸理論及應用進展(特約)doi:10.3788/IRLA20201013----2020年第49卷第6期目前,隨著偏振信息理論和技術的發展,光的偏振在遙感、水下成像、生物醫學、通信和目標識別等領域的應用越來越受到國內外專家學者的重視,圖1 展示了偏振信息技術的典型應用場景。
  • GAN(生成對抗網絡)萬字長文綜述
    點擊文末「閱讀原文」立刻申請入群~本文介紹了一篇最新的有關GAN綜述的paper,四十餘頁,介紹了GAN的各個方面,關注「極市平臺」,在公眾號後臺回復GAN,即可獲取本文PDF版文件下載。直觀上來說,概率分布函數(PDF)可以理解為隨機變量在每一點的質量,所以 W(Pdata,Pg) 則表示把概率分布 Pdata(x) 搬到 Pg(x) 需要的最小工作量。 WGAN 也可以用最優傳輸理論來解釋,WGAN 的生成器等價於求解最優傳輸映射,判別器等價於計算 Wasserstein 距離,即最優傳輸總代價 [4]。
  • 萬字綜述之生成對抗網絡(GAN)
    可是在深度學習,GAN 領域,其進展都是以月來計算的,感覺那兩篇綜述有些老了。最近發現有一篇最新的 GAN 綜述論文,四十餘頁,介紹了 GAN 的各個方面,於是就學習並整理筆記如下。文中許多內容大都根據自己所學總結,有不當之處歡迎指出。此外,本文參考了許多博客資料,已給出參考連結。如有侵權,請私信刪除。
  • 神經網絡算法在我國核領域中的應用綜述
    人工智慧(Artificial Intelligence, AI),是研究開發用於模擬、延伸和擴展人的智能的理論、方法、技 術及應用系統的技術科學。當前,人工智慧的研究熱點是基於深度學習的神經網絡算 法的理論完善和應用拓展。 作為引領未來的戰略性技術,世界主要發達國家均把發展人工智慧作為提升國家競爭力、維護國家 安全的重大戰略,加緊出臺規劃和政策,力圖在新一輪國際科技競爭中掌握主導權。
  • 朱俊彥團隊提出GAN壓縮算法:計算量減少20倍,GPU、CPU統統能加速
    論文已入選CVPR 2020,代碼也已開源。作者團隊也星光璀璨,一作是來自上海交通大學ACM班的本科生李沐陽,CycleGAN的作者朱俊彥則親身參與、指導。GAN壓縮算法壓縮GAN,並不像壓縮其他CNN模型那樣容易。
  • 史上最全十大機器學習算法,入門必看!
    1介紹關於機器學習算法的研究已經獲得了巨大的成功,哈佛商業評論甚至將數據科學家稱為二十一世紀最具誘惑力的工作。機器學習算法是在沒有人為幹涉的情況下,從大量的數據和歷史經驗中學習數據的結構並提升對某一目標的估計的算法。
  • 2019-2020年度 Top10 綜述
    2019-2020年,IJAC發表了一系列國內外知名學者的高質量綜述,其中包括美工程院院士、全球高被引top1學者Anil K. Jain教授、美外籍院士Brian D. O.Jain(全球高被引Top1)團隊和Jiliang Tang 團隊合作帶來的特約綜述。文章總結、討論了與對抗樣本及其應對策略相關的研究,系統且全面地綜述了圖像、圖形、文本領域的前沿算法,概覽了對抗攻擊與防禦(adversarial attacks and defenses)的主要技術與成果,全文開放獲取!
  • 100個深度圖像分割算法,紐約大學UCLA等最新綜述論文
    在本次綜述中,我們全面回顧了撰寫本文時的論文,涵蓋了語義級和實例級分割的廣泛先驅工作,包括全卷積像素標記網絡、編碼器-解碼器架構、基於多尺度和金字塔的方法、遞歸網絡、視覺注意力模型和在對抗環境下的生成模型。我們調研了這些深度學習模型的相似性、優勢和挑戰,研究了最廣泛使用的數據集,報告了性能,並討論了該領域未來的研究方向。
  • 百度多篇論文入選NeurIPS 2020,機器學習領先算法、理論「強輸出」
    此次大會中,百度研究院參會並發表了多篇高質量論文,論文聚焦大規模稀疏學習的加速求解、新發現物種數量預測、隨機非凸優化、高維數據判別分析等問題,分別提出了創新算法及理論,突破原有算法在實際應用中泛化效果差、優化效率低等限制,有效提升AI技術在自然生態學、統計學習理論等領域中的應用價值,同時也彰顯出百度在人工智慧與機器學習領域的持續技術創新力。
  • NPR 綜述專輯 | 化學合成中的酶學應用
    天然產物及其衍生物在商業上有重要應用,如:藥物,農用化學品,調味劑,香料和食品成分等。生產這些結構複雜的分子的工業策略包括化學合成,生物催化和從自然資源中提取等。目前對工程天然產物生物合成的研究得益於用於途徑發現的遺傳工具的出現。由於遺傳方法,分析技術和機器學習算法的發展,酶工程在商業上取得了成功。
  • 萬字長文解讀GAN:從基本概念、原理到實際應用
    前陣子學習 GAN 的過程發現現在的 GAN 綜述文章大都是 2016 年 Ian Goodfellow 或者自動化所王飛躍老師那篇。可是在深度學習,GAN 領域,其進展都是以月來計算的,感覺那兩篇綜述有些老了。最近發現有一篇最新的有關 GAN 綜述的 paper[1],四十餘頁,介紹了 GAN 的各個方面,於是就學習並整理筆記如下。
  • 超全的GAN PyTorch+Keras實現集合
    作者們展示了對抗自編碼器如何應用於半監督分類、圖像內容和風格解析、無監督聚類、降維算法和數據可視化等內容。作者還實現了一些實驗,並在生成建模和半監督分類任務中取得了很好的性能。,這和流行的角度相反(真實和生成分布之間的偏離存在一致最小化)。
  • 綜述|線結構光中心提取算法研究發展
    光條紋中心提取算法是決定線結構光三維重建精度以及光條紋輪廓定位準確性的重要因素。本文詳細闡述了光條紋中心提取算法的理論基礎及發展歷程,將現有算法分為三類,傳統光條紋中心提取算法、基於傳統光條紋中心提取的改進算法、基於神經網絡光條紋中心提取算法,並提出每一類算法的優勢與不足。最後,對線結構光中心提取算法的發展提出展望,生產更高質量的線雷射器,擴充基於神經網絡的光條紋中心線檢測模型的訓練樣本。
  • 聯邦學習算法綜述
    聯邦學習算法綜述王健宗1,孔令煒1,黃章成1,陳霖捷1,劉懿1,何安珣1,肖京21. 平安科技(深圳)有限公司,廣東深圳 5180632. 中國平安保險(集團)股份有限公司,廣東深圳 518031摘要:近年來,聯邦學習作為解決數據孤島問題的技術被廣泛關注,已經開始被應用於金融、醫療健康以及智慧城市等領域。
  • 【薦讀】DNA結合蛋白特徵提取算法綜述
    DNA結合蛋白特徵提取算法綜述原文連結:https://doi.org/10.12677/HJCB.2020.102003DNA結合蛋白特徵提取算法綜述在過去十幾年,出現了大量識別DNA結合蛋白的計算方法,在漢斯出版社《計算生物學》期刊中,有論文將從特徵提取的角度出發,對這些方法進行總結,並選擇其中九種典型的計算方法進行實證分析,確定這些方法的實際結果,為DNA結合蛋白分類算法研究者提供新的思路和有價值的參考。
  • 如何使用GAN做一個禿頭生產器
    最近一部電視劇《隱秘的角落》在網上引起了眾多討論,要說這是2020年全網熱度最高的電視劇也不為過。而劇中反派Boss張東升也是網友討論的話題之一,特別是他的禿頭特點,已經成為一個梗了。
  • 【乾貨】機器學習最常用優化之一——梯度下降優化算法綜述
    原標題:【乾貨】機器學習最常用優化之一——梯度下降優化算法綜述 1新智元獲授權轉載 【新智元導讀】梯度下降算法是機器學習中使用非常廣泛的優化算法,也是眾多機器學習算法中最常用的優化方法。幾乎當前每一個先進的(state-of-the-art)機器學習庫或者深度學習庫都會包括梯度下降算法的不同變種實現。
  • 異父異母的三胞胎:CycleGAN, DiscoGAN, DualGAN
    就算你們不知道pix2pix,之前有一個很火的,可以把線條畫變成貓的網頁應用,就是用的pix2pix的算法。然而pix2pix的模型是在成對的數據上訓練的,也就是說,對於線條到貓的應用,我們訓練的時候就需要提供一對一對的數據:一個線條畫,和對應的真實的貓圖片。然而在很多情況下,我們並沒有這樣完美的成對的訓練數據。比如說如果你想把馬變成斑馬,並沒有這樣對應的一個馬對應一個斑馬。
  • 「史上最漂亮的計時類應用」是怎麼來的?
    相對於「交互語言」、「設計理念」這種比較專業、深奧的內容,我想對於普通用戶而言,其實對每個應用或者說每個功能背後的故事更有興趣。「時鐘」應用被稱為「史上最漂亮的計時類應用」,今天,我就跟大家分享一下關於時鐘應用的幾件事。
  • 期權定價理論與方法綜述
    期權定價理論與方法綜述  期權定價理論是現代金融學基礎之一。在對金融衍生品研究中,期權定價的模型與方法是最重要、應用最廣泛、難度最大的一種。1973年,被譽為「華爾街第二次革命」 B-S-M期權定價模型正式提出,隨之成為現代期權定價研究的基石。這與現代期權在1973年的上市一起,標誌著金融衍生品發展的關鍵轉折。