日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

能量视角下的GAN模型:GAN=“挖坑”+“跳坑”

發(fā)布時間:2024/10/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 能量视角下的GAN模型:GAN=“挖坑”+“跳坑” 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


作者丨蘇劍林

單位丨廣州火焰信息科技有限公司

研究方向丨NLP,神經(jīng)網(wǎng)絡(luò)

個人主頁丨kexue.fm


在這個系列中,我們嘗試從能量的視角理解 GAN。我們會發(fā)現(xiàn)這個視角如此美妙和直觀,甚至讓人拍案叫絕。?


本視角直接受啟發(fā)于 Bengio 團隊的新作 Maximum Entropy Generators for Energy-Based Models [1],這篇文章前幾天出現(xiàn)在 arXiv 上。



當然,能量模型與 GAN 的聯(lián)系由來已久,并不是這篇文章的獨創(chuàng),只不過這篇文章做得仔細和完善一些。另外本文還補充了自己的一些理解和思考上去,力求更為易懂和完整。?


作為第一篇文章,我們先來給出一個直白的類比推導:GAN 實際上就是一場前仆后繼(前挖后跳?)的“挖坑”與“跳坑”之旅。


?“看那挖坑的人,有啥不一樣~”


總的來說,本文大致內(nèi)容如下:?


1. 給出了 GAN/WGAN 的清晰直觀的能量圖像;

?

2. 討論了判別器(能量函數(shù))的訓練情況和策略;

?

3. 指出了梯度懲罰一個非常漂亮而直觀的能量解釋;?


4. 討論了 GAN 中優(yōu)化器的選擇問題。


前“挖”后“跳”


在這部分中,我們以盡量通俗的比喻來解釋什么是能量視角下的 GAN。?


首先我們有一批樣本 x1, x2, … , xn,我們希望能找到一個生成模型,這個模型有能力造出一批新的樣本,我們希望這批新樣本跟原樣本很相似。怎么造呢?很簡單,分兩步走。?


“挖坑”


第一步,挖坑:我們挖很多坑,這些坑的分布可以用一個能量函數(shù) U(x) 描述,然后我們要把真實樣本?x1, x2, … , xn 都放在坑底,然后把造出來的假樣本放到“坑腰”:


?GAN第一步:“挖坑”


?然后我們把真假樣本放到適當?shù)奈恢?/span>


“跳坑”


第二步,跳坑:把 U(x) 固定住,也就是不要再動坑了,然后把假樣本松開,顯然它們就慢慢從滾到坑底了,而坑底代表著真實樣本,所以都變得很像真樣本了:


?GAN第二步:“跳坑”


這便是 GAN 的工作流程。


把GAN寫下來?


注意,上述兩步不僅僅是簡單的比喻,而是 GAN 的完整描述了。根據(jù)上述兩個步驟,我們甚至可以直接把 GAN 訓練公式寫出來。?


判別器


首先看“挖坑”,我們說了要將真樣本放到坑底,假樣本放到坑腰,以便后面假樣本可以滾到坑底,這意味著假樣本的“平均海拔”要高于真樣本的“平均海拔”,也就是說:



盡量小,這里我們用 p(x) 表示真實樣本的分布,q(x) 表示假樣本的分布。假樣本通過 x=G(z) 生成,而 z~q(z) 是標準正態(tài)分布。?


梯度懲罰


另外,我們還說真樣本要在坑底,用數(shù)學的話說,坑底就是一個極小值點,導數(shù)等于 0 才好,即要滿足是最理想的,換成優(yōu)化目標的話,那就是越小越好。兩者綜合起來,我們就得到 U 的優(yōu)化目標:



注:以往對于梯度懲罰,我們總會有兩個困惑:1)梯度懲罰究竟是以 0 為中心好還是以 1 為中心好;2)梯度懲罰要對真樣本、假樣本還是真假插值樣本進行?


現(xiàn)在,基于能量視角,我們可以得到“對真樣本進行以 0 為中心的梯度懲罰”比較好,因為這意味著(整體上)要把真樣本放在極小值點處。


至此,在能量視角下,我們對梯度懲罰有了一個非常直觀的回答。


生成器


然后看“跳坑”,也就是坑挖好了, U 固定了,我們讓假樣本滾到坑底,也就是讓 U(x) 下降,滾到最近的一個坑,所以:



可以看到,判別器實際上就是在“造勢”,而生成器就是讓勢能最低,這便是能量 GAN 的主要思想。


交替訓練


如果真實情況的坑都像上面的圖那么簡單,那么可能就只需要兩步就能訓練完一個生成模型了。


但是真實情況下的坑可能是很復(fù)雜的,比如下圖中假樣本慢慢下滑,并不一定能到達 x1 的坑,而是到達一個中間的坑,這個中間的坑并非代表真樣本,可能僅僅是“次真”的樣本,所以我們需要不斷地改進假樣本,也需要不斷地把坑修正過來(比如爭取能下一步把阻礙前進的峰“削掉”)。


這也就是說,我們需要反復(fù)、交替地執(zhí)行 (1)、(3) 兩步。


?真實情況下坑的分布可能更復(fù)雜


坑的學問


看,頭腦中想象著幾個坑,我們就可以把 GAN 的完整框架導出來了,而且還是先進的 WGAN-GP 的升級版:以 0 為中心的梯度懲罰。GAN 不過是一場坑的學問。?


對這個GAN的進一步討論,可以參考我之前寫的文章WGAN-div:默默無聞的WGAN填坑者或者論文 Which Training Methods for GANs do actually Converge? [2]。?


進一步思考


上述圖景還能幫助我們回答很多問題。比如判別器能不能不要梯度懲罰?為什么 GAN 的訓練、尤其是生成器的訓練多數(shù)都不用帶動量的優(yōu)化器,或者就算用帶動量的優(yōu)化器,也要把動量調(diào)小一點?還有 mode collapse(模式坍縮)是怎么發(fā)生呢?


Hinge Loss


梯度懲罰在理論上很漂亮,但是它確實太慢,所以從實踐角度來看,其實能不用梯度懲罰的話最好不用梯度懲罰。但是如果不用梯度懲罰,直接最小化式 (1),很容易數(shù)值不穩(wěn)定。?


這不難理解,因為沒有約束情況下,很容易對于真樣本有 U(x)→?∞ ,對于假樣本有 U(x)→+∞ ,也就是判別器優(yōu)化得太猛了,差距拉得太大(無窮大)了。


那么一個很自然的想法是,分別給真假樣本分別設(shè)置一個閾值,U(x) 的優(yōu)化超過這個閾值就不要再優(yōu)化了,比如:



這樣一來,對于 x~p(x),如果 U(x)<?1,則 max(0,1+U(x))=0,對于 x~q(x),U(x)>1,則 max(0,1?U(x))=0,這兩種情況下都不會在優(yōu)化 U(x) 了,也就是說對于真樣本 U(x) 不用太小,對于假樣本 U(x) 不用太大,從而防止了 U(x) 過度優(yōu)化了。?


這個方案就是 SNGAN、SAGAN、BigGAN 都使用的 hinge loss 了。?


當然,如果 U(x) 本身就是非負的(比如 EBGAN 中用自編碼器的 MSE 作為 U(x)),那么可以稍微修改一下式 (4) :



其中 m>0。


優(yōu)化器


至于優(yōu)化器的選擇,其實從“跳坑”那張圖我們就可以看出答案來。?


帶動量的優(yōu)化器有利于我們更快地找到更好的極小值點,但是對于 GAN 來說,其實我們不需要跑到更好的極小值點,我們只需要跑到最近的極小值點,如果一旦跳出了最近的極小值點,跑到更低的極小值點,那么可能就喪失了多樣性,甚至出現(xiàn) mode collapse。?


比如下圖中的,不帶動量的優(yōu)化算法能讓跑到 x2 處就停下來,如果帶動量的話,那么可能越過 x2 甚至跑到 x1 去了。盡管 x1 也是真樣本,但是這樣一來同時向 x1 靠攏,也許沒有假樣本能生成 x2 了,從而喪失了多樣性。


?帶動量與不帶動量的優(yōu)化軌跡比較:不帶動量時,假樣本只需要落到最近一個坑,如果帶動量的話,可能越過最近的坑,到達更遠的坑去,導致假樣本聚集在某些真樣本附近,喪失多樣性。


所以,在 GAN 的優(yōu)化器中,動量不能太大,太大反而有可能喪失生成樣本的多樣性,或者造成其他的不穩(wěn)定情況。?


Mode Collapse


什么是 mode collapse?為什么會發(fā)生 mode collapse?還是可以用這個圖景來輕松解釋。?


前面我們畫的圖把假樣本畫得很合理,但是如果一旦初始化不好、優(yōu)化不夠合理等原因,使得同時聚在個別坑附近,比如:


?Mode Collapse圖示


這時候按照上述過程優(yōu)化,所有假樣本都都往 xn 奔了,所以模型只能生成單一(個別)樣式的樣本,這就是 mode collapse。?


簡單來看,mode collapse 是因為假樣本們太集中,不夠“均勻”,所以我們可以往生成器那里加一個項,讓假樣本有均勻的趨勢。這個項就是假樣本的熵 H(X)=H(G(Z)),我們希望假樣本的熵越大越好,這意味著越混亂、越均勻,所以生成器的目標可以改為:



這樣理論上就能解決 mode collapse 的問題。至于 H(X) 怎么算,我們后面會詳細談到。


能量視角之美


對于 GAN 來說,最通俗易懂的視角當屬“造假者-鑒別者”相互競爭的類比,這個視角直接導致了標準的 GAN。但是,這個通俗的類比無法進一步延伸到 WGAN 乃至梯度懲罰等正則項的理解。


相比之下,能量視角相當靈活,它甚至能讓我們直觀地理解 WGAN、梯度懲罰等內(nèi)容,這些內(nèi)容可以說是目前 GAN 領(lǐng)域最“先進”的部分成果了。雖然看起來能量視角比“造假者-鑒別者”形式上復(fù)雜一些,但其實它的物理意義也相當清晰,稍加思考,我們會感覺到它其實更為有趣、更具有啟發(fā)性,有種“越嚼越有味”的感覺。


參考文獻


[1] Rithesh Kumar, Anirudh Goyal, Aaron Courville, Yoshua Bengio, “Maximum Entropy Generators for Energy-Based Models”, arXiv preprint arXiv:1901.08508, 2019.?

[2] Lars Mescheder, Andreas Geiger, Sebastian Nowozin, “Which Training Methods for GANs do actually Converge?”, ICML 2018.




點擊以下標題查看作者其他文章:?


  • 變分自編碼器VAE:原來是這么一回事 | 附開源代碼

  • 再談變分自編碼器VAE:從貝葉斯觀點出發(fā)

  • 變分自編碼器VAE:這樣做為什么能成?

  • 從變分編碼、信息瓶頸到正態(tài)分布:論遺忘的重要性

  • 深度學習中的互信息:無監(jiān)督提取特征

  • 全新視角:用變分推斷統(tǒng)一理解生成模型

  • 細水長flow之NICE:流模型的基本概念與實現(xiàn)

  • 細水長flow之f-VAEs:Glow與VAEs的聯(lián)姻

  • 深度學習中的Lipschitz約束:泛化與生成模型




#投 稿 通 道#

?讓你的論文被更多人看到?



如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢??答案就是:你不認識的人。


總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?


PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學習心得技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。


??來稿標準:

? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?

? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?

? PaperWeekly 默認每篇文章都是首發(fā),均會添加“原創(chuàng)”標志


? 投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請單獨在附件中發(fā)送?

? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通




?


現(xiàn)在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關(guān)注」訂閱我們的專欄吧



關(guān)于PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。


▽ 點擊 |?閱讀原文?| 查看作者博客

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的能量视角下的GAN模型:GAN=“挖坑”+“跳坑”的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。