[GAN學(xué)習(xí)系列2] GAN的起源

本文大約 5000 字壕曼,閱讀大約需要 10 分鐘

這是 GAN 學(xué)習(xí)系列的第二篇文章琳拨,這篇文章將開始介紹 GAN 的起源之作月褥,鼻祖弛随,也就是 Ian Goodfellow 在 2014 年發(fā)表在 ICLR 的論文--Generative Adversarial Networks”,當(dāng)然由于數(shù)學(xué)功底有限宁赤,所以會(huì)簡(jiǎn)單介紹用到的數(shù)學(xué)公式和背后的基本原理舀透,并介紹相應(yīng)的優(yōu)缺點(diǎn)。

基本原理

[GAN學(xué)習(xí)系列] 初識(shí)GAN中决左,介紹了 GAN 背后的基本思想就是兩個(gè)網(wǎng)絡(luò)彼此博弈盐杂。生成器 G 的目標(biāo)是可以學(xué)習(xí)到輸入數(shù)據(jù)的分布從而生成非常真實(shí)的圖片,而判別器 D 的目標(biāo)是可以正確辨別出真實(shí)圖片和 G 生成的圖片之間的差異哆窿。正如下圖所示:

image

上圖給出了生成對(duì)抗網(wǎng)絡(luò)的一個(gè)整體結(jié)構(gòu),生成器 G 和判別器 D 都是有各自的網(wǎng)絡(luò)結(jié)構(gòu)和不同的輸入厉斟,其中 G 的輸出挚躯,即生成的樣本也是 D 的輸入之一,而 D 則會(huì)為 G 提供梯度進(jìn)行權(quán)重的更新擦秽。

那么問(wèn)題來(lái)了码荔,如果 D 是一個(gè)非常好的分類器,那么我們是否真的可以生成非常逼真的樣本來(lái)欺騙它呢感挥?

對(duì)抗樣本

在正式介紹 GAN 的原理之前缩搅,先介紹一個(gè)概念--對(duì)抗樣本(adversarial example),它是指經(jīng)過(guò)精心計(jì)算得到的用于誤導(dǎo)分類器的樣本触幼。例如下圖就是一個(gè)例子硼瓣,左邊是一個(gè)熊貓,但是添加了少量隨機(jī)噪聲變成右圖后,分類器給出的預(yù)測(cè)類別卻是長(zhǎng)臂猿堂鲤,但視覺(jué)上左右兩幅圖片并沒(méi)有太大改變亿傅。

image

所以為什么在簡(jiǎn)單添加了噪聲后會(huì)誤導(dǎo)分類器呢?

這是因?yàn)?b>圖像分類器本質(zhì)上是高維空間的一個(gè)復(fù)雜的決策邊界瘟栖。當(dāng)然涉及到圖像分類的時(shí)候葵擎,由于是高維空間而不是簡(jiǎn)單的兩維或者三維空間,我們無(wú)法畫出這個(gè)邊界出來(lái)半哟。但是我們可以肯定的是酬滤,訓(xùn)練完成后,分類器是無(wú)法泛化到所有數(shù)據(jù)上寓涨,除非我們的訓(xùn)練集包含了分類類別的所有數(shù)據(jù)盯串,但實(shí)際上我們做不到。而做不到泛化到所有數(shù)據(jù)的分類器缅茉,其實(shí)就會(huì)過(guò)擬合訓(xùn)練集的數(shù)據(jù)嘴脾,這也就是我們可以利用的一點(diǎn)。

我們可以給圖片添加一個(gè)非常接近于 0 的隨機(jī)噪聲蔬墩,這可以通過(guò)控制噪聲的 L2 范數(shù)來(lái)實(shí)現(xiàn)译打。L2 范數(shù)可以看做是一個(gè)向量的長(zhǎng)度,這里有個(gè)訣竅就是圖片的像素越多拇颅,即圖片尺寸越大奏司,其平均 L2 范數(shù)也就越大。因此樟插,當(dāng)添加的噪聲的范數(shù)足夠低韵洋,那么視覺(jué)上你不會(huì)覺(jué)得這張圖片有什么不同,正如上述右邊的圖片一樣黄锤,看起來(lái)依然和左邊原始圖片一模一樣搪缨;但是,在向量空間上鸵熟,添加噪聲后的圖片和原始圖片已經(jīng)有很大的距離了副编!

為什么會(huì)這樣呢?

因?yàn)樵?L2 范數(shù)看來(lái)流强,對(duì)于熊貓和長(zhǎng)臂猿的決策邊界并沒(méi)有那么遠(yuǎn)痹届,添加了非常微弱的隨機(jī)噪聲的圖片可能就遠(yuǎn)離了熊貓的決策邊界內(nèi),到達(dá)長(zhǎng)臂猿的預(yù)測(cè)范圍內(nèi)打月,因此欺騙了分類器队腐。

除了這種簡(jiǎn)單的添加隨機(jī)噪聲,還可以通過(guò)圖像變形的方式奏篙,使得新圖像和原始圖像視覺(jué)上一樣的情況下柴淘,讓分類器得到有很高置信度的錯(cuò)誤分類結(jié)果。這種過(guò)程也被稱為對(duì)抗攻擊(adversarial attack),這種生成方式的簡(jiǎn)單性也是給 GAN 提供了解釋悠就。

生成器和判別器

現(xiàn)在如果將上述說(shuō)的分類器設(shè)定為二值分類器千绪,即判斷真和假,那么根據(jù) Ian Goodfellow 的原始論文的說(shuō)法梗脾,它就是判別器(Discriminator)荸型。

有了判別器,那還需要有生成假樣本來(lái)欺騙判別器的網(wǎng)絡(luò)炸茧,也就是生成器 (Generator)瑞妇。這兩個(gè)網(wǎng)絡(luò)結(jié)合起來(lái)就是生成對(duì)抗網(wǎng)絡(luò)(GAN),根據(jù)原始論文梭冠,它的目標(biāo)如下:

image

兩個(gè)網(wǎng)絡(luò)的工作原理可以如下圖所示辕狰,D 的目標(biāo)就是判別真實(shí)圖片和 G 生成的圖片的真假,而 G 是輸入一個(gè)隨機(jī)噪聲來(lái)生成圖片控漠,并努力欺騙 D 蔓倍。

image

簡(jiǎn)單來(lái)說(shuō),GAN 的基本思想就是一個(gè)最小最大定理盐捷,當(dāng)兩個(gè)玩家(D 和 G)彼此競(jìng)爭(zhēng)時(shí)(零和博弈)偶翅,雙方都假設(shè)對(duì)方采取最優(yōu)的步驟而自己也以最優(yōu)的策略應(yīng)對(duì)(最小最大策略),那么結(jié)果就已經(jīng)預(yù)先確定了碉渡,玩家無(wú)法改變它(納什均衡)聚谁。

因此,它們的損失函數(shù)滞诺,D 的是

image

G 的是

image

這里根據(jù)它們的損失函數(shù)分析下形导,G 網(wǎng)絡(luò)的訓(xùn)練目標(biāo)就是讓D(G(z)) 趨近于 1,這也是讓其 loss 變小的做法习霹;而 D 網(wǎng)絡(luò)的訓(xùn)練目標(biāo)是區(qū)分真假數(shù)據(jù)朵耕,自然是讓 D(x) 趨近于 1,而 D(G(z)) 趨近于 0淋叶。這就是兩個(gè)網(wǎng)絡(luò)相互對(duì)抗憔披,彼此博弈的過(guò)程了。

那么爸吮,它們相互對(duì)抗的效果是怎樣的呢?在論文中 Ian Goodfellow 用下圖來(lái)描述這個(gè)過(guò)程:

image

上圖中望门,黑色曲線表示輸入數(shù)據(jù) x 的實(shí)際分布形娇,綠色曲線表示的是 G 網(wǎng)絡(luò)生成數(shù)據(jù)的分布,我們的目標(biāo)自然是希望著兩條曲線可以相互重合筹误,也就是兩個(gè)數(shù)據(jù)分布一致了桐早。而藍(lán)色的曲線表示的是生成數(shù)據(jù)對(duì)應(yīng)于 D 的分布。

在 a 圖中是剛開始訓(xùn)練的時(shí)候,D 的分類能力還不是最好哄酝,因此有所波動(dòng)友存,而生成數(shù)據(jù)的分布也自然和真實(shí)數(shù)據(jù)分布不同,畢竟 G 網(wǎng)絡(luò)輸入是隨機(jī)生成的噪聲陶衅;到了 b 圖的時(shí)候屡立,D 網(wǎng)絡(luò)的分類能力就比較好了,可以看到對(duì)于真實(shí)數(shù)據(jù)和生成數(shù)據(jù)搀军,它是明顯可以區(qū)分出來(lái)膨俐,也就是給出的概率是不同的;

而綠色的曲線罩句,即 G 網(wǎng)絡(luò)的目標(biāo)是學(xué)習(xí)真實(shí)數(shù)據(jù)的分布焚刺,所以它會(huì)往藍(lán)色曲線方向移動(dòng),也就是 c 圖了门烂,并且因?yàn)?G 和 D 是相互對(duì)抗的乳愉,當(dāng) G 網(wǎng)絡(luò)提升,也會(huì)影響 D 網(wǎng)絡(luò)的分辨能力屯远。論文中蔓姚,Ian Goodfellow 做出了證明,當(dāng)假設(shè) G 網(wǎng)絡(luò)不變氓润,訓(xùn)練 D 網(wǎng)絡(luò)赂乐,最優(yōu)的情況會(huì)是:

image

也就是當(dāng)生成數(shù)據(jù)的分布

趨近于真實(shí)數(shù)據(jù)分布

的時(shí)候,D 網(wǎng)絡(luò)輸出的概率

會(huì)趨近于 0.5咖气,也就是 d 圖的結(jié)果挨措,這也是最終希望達(dá)到的訓(xùn)練結(jié)果,這時(shí)候 G 和 D 網(wǎng)絡(luò)也就達(dá)到一個(gè)平衡狀態(tài)崩溪。

訓(xùn)練策略和算法實(shí)現(xiàn)

論文給出的算法實(shí)現(xiàn)過(guò)程如下所示:

image

這里包含了一些訓(xùn)練的技巧和方法:

首先 G 和 D 是同步訓(xùn)練浅役,但兩者訓(xùn)練次數(shù)不一樣,通常是D 網(wǎng)絡(luò)訓(xùn)練 k 次后伶唯,G 訓(xùn)練一次觉既。主要原因是 GAN 剛開始訓(xùn)練時(shí)候會(huì)很不穩(wěn)定;

D 的訓(xùn)練是同時(shí)輸入真實(shí)數(shù)據(jù)和生成數(shù)據(jù)來(lái)計(jì)算 loss乳幸,而不是采用交叉熵(cross entropy)分開計(jì)算瞪讼。不采用 cross entropy 的原因是這會(huì)讓 D(G(z)) 變?yōu)?0,導(dǎo)致沒(méi)有梯度提供給 G 更新粹断,而現(xiàn)在 GAN 的做法是會(huì)收斂到 0.5符欠;

實(shí)際訓(xùn)練的時(shí)候,作者是采用

來(lái)代替

瓶埋,這是希望在訓(xùn)練初始就可以加大梯度信息希柿,這是因?yàn)槌跏茧A段 D 的分類能力會(huì)遠(yuǎn)大于 G 生成足夠真實(shí)數(shù)據(jù)的能力诊沪,但這種修改也將讓整個(gè) GAN 不再是一個(gè)完美的零和博弈。

分析

優(yōu)點(diǎn)

GAN 在巧妙設(shè)計(jì)了目標(biāo)函數(shù)后曾撤,它就擁有以下兩個(gè)優(yōu)點(diǎn)端姚。

首先,GAN 中的 G 作為生成模型挤悉,不需要像傳統(tǒng)圖模型一樣渐裸,需要一個(gè)嚴(yán)格的生成數(shù)據(jù)的表達(dá)式。這就避免了當(dāng)數(shù)據(jù)非常復(fù)雜的時(shí)候尖啡,復(fù)雜度過(guò)度增長(zhǎng)導(dǎo)致的不可計(jì)算橄仆。

其次,它也不需要 inference 模型中的一些龐大計(jì)算量的求和計(jì)算衅斩。它唯一的需要的就是盆顾,一個(gè)噪音輸入,一堆無(wú)標(biāo)準(zhǔn)的真實(shí)數(shù)據(jù)畏梆,兩個(gè)可以逼近函數(shù)的網(wǎng)絡(luò)您宪。

缺點(diǎn)

雖然 GAN 避免了傳統(tǒng)生成模型方法的缺陷,但是在它剛出來(lái)兩年后奠涌,在 2016 年才開始逐漸有非常多和 GAN 相關(guān)的論文發(fā)表宪巨,其原因自然是初代 GAN 的缺點(diǎn)也是非常難解決:

首當(dāng)其沖的缺點(diǎn)就是 GAN 過(guò)于自由導(dǎo)致訓(xùn)練難以收斂以及不穩(wěn)定

其次溜畅,原始 G 的損失函數(shù)

沒(méi)有意義捏卓,它是讓G 最小化 D 識(shí)別出自己生成的假樣本的概率,但實(shí)際上它會(huì)導(dǎo)致梯度消失問(wèn)題慈格,這是由于開始訓(xùn)練的時(shí)候怠晴,G 生成的圖片非常糟糕,D 可以輕而易舉的識(shí)別出來(lái)浴捆,這樣 D 的訓(xùn)練沒(méi)有任何損失蒜田,也就沒(méi)有有效的梯度信息回傳給 G 去優(yōu)化它自己,這就是梯度消失了选泻;

最后冲粤,雖然作者意識(shí)到這個(gè)問(wèn)題,在實(shí)際應(yīng)用中改用

來(lái)代替页眯,這相當(dāng)于從最小化 D 揪出自己的概率梯捕,變成了最大化 D 抓不到自己的概率。雖然直觀上感覺(jué)是一致的窝撵,但其實(shí)并不在理論上等價(jià)科阎,也更沒(méi)有了理論保證在這樣的替代目標(biāo)函數(shù)訓(xùn)練下,GAN 還會(huì)達(dá)到平衡忿族。這個(gè)結(jié)果會(huì)導(dǎo)致模式奔潰問(wèn)題锣笨,其實(shí)也就是[GAN學(xué)習(xí)系列] 初識(shí)GAN中提到的兩個(gè)缺陷。

當(dāng)然道批,上述的問(wèn)題在最近兩年各種 GAN 變體中逐漸得到解決方法错英,比如對(duì)于訓(xùn)練太自由的,出現(xiàn)了 cGAN隆豹,即提供了一些條件信息給 G 網(wǎng)絡(luò)椭岩,比如類別標(biāo)簽等信息;對(duì)于 loss 問(wèn)題璃赡,也出現(xiàn)如 WGAN 等設(shè)計(jì)新的 loss 來(lái)解決這個(gè)問(wèn)題判哥。后續(xù)會(huì)繼續(xù)介紹不同的 GAN 的變體,它們?cè)诓煌矫娓倪M(jìn)原始 GAN 的問(wèn)題碉考,并且也應(yīng)用在多個(gè)方面塌计。

參考文章:

Goodfellow et al., “Generative Adversarial Networks”. ICLR 2014.

beginners-review-of-gan-architectures

干貨 | 深入淺出 GAN·原理篇文字版(完整)

深度 | 生成對(duì)抗網(wǎng)絡(luò)初學(xué)入門:一文讀懂GAN的基本原理(附資源)

配圖來(lái)自網(wǎng)絡(luò)和論文 Generative Adversarial Networks

以上就是本文的主要內(nèi)容和總結(jié),可以留言給出你對(duì)本文的建議和看法侯谁。

作者:材才才

鏈接:http://www.reibang.com/p/78855f151af8

來(lái)源:簡(jiǎn)書

簡(jiǎn)書著作權(quán)歸作者所有锌仅,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末墙贱,一起剝皮案震驚了整個(gè)濱河市热芹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惨撇,老刑警劉巖伊脓,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異魁衙,居然都是意外死亡报腔,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門纺棺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)榄笙,“玉大人,你說(shuō)我怎么就攤上這事祷蝌∶┳玻” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵巨朦,是天一觀的道長(zhǎng)米丘。 經(jīng)常有香客問(wèn)我,道長(zhǎng)糊啡,這世上最難降的妖魔是什么拄查? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮棚蓄,結(jié)果婚禮上堕扶,老公的妹妹穿的比我還像新娘碍脏。我一直安慰自己,他們只是感情好稍算,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布典尾。 她就那樣靜靜地躺著,像睡著了一般糊探。 火紅的嫁衣襯著肌膚如雪钾埂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天科平,我揣著相機(jī)與錄音褥紫,去河邊找鬼。 笑死瞪慧,一個(gè)胖子當(dāng)著我的面吹牛髓考,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播汞贸,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼绳军,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了矢腻?” 一聲冷哼從身側(cè)響起门驾,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎多柑,沒(méi)想到半個(gè)月后奶是,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡竣灌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年聂沙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片初嘹。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡及汉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屯烦,到底是詐尸還是另有隱情坷随,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布驻龟,位于F島的核電站温眉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏翁狐。R本人自食惡果不足惜类溢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望露懒。 院中可真熱鬧闯冷,春花似錦砂心、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蒂窒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間荞怒,已是汗流浹背洒琢。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留褐桌,地道東北人衰抑。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像荧嵌,于是被迫代替她去往敵國(guó)和親呛踊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文大約 5000 字啦撮,閱讀大約需要 10 分鐘 這是 GAN 學(xué)習(xí)系列的第二篇文章谭网,這篇文章將開始介紹 GAN ...
    材才才閱讀 1,275評(píng)論 0 2
  • GAN,全稱為Generative Adversarial Nets赃春,直譯為生成式對(duì)抗網(wǎng)絡(luò)愉择。它一方面將產(chǎn)生式模型拉...
    MiracleJQ閱讀 3,381評(píng)論 0 14
  • 想把馬變成斑馬嗎?制作DIY動(dòng)漫人物或名人织中?生成對(duì)抗網(wǎng)絡(luò)(GAN)是您最好的新朋友锥涕。 “Generative Ad...
    深度學(xué)習(xí)煉丹閱讀 1,589評(píng)論 0 3
  • 本文大約 3800 字,閱讀大約需要 8 分鐘 要說(shuō)最近幾年在深度學(xué)習(xí)領(lǐng)域最火的莫過(guò)于生成對(duì)抗網(wǎng)絡(luò)狭吼,即 Gener...
    城市中迷途小書童閱讀 1,412評(píng)論 0 5
  • 如果层坠,把人這一輩子比做一段很長(zhǎng)的旅程,那么刁笙,必定會(huì)經(jīng)歷水路破花、陸路、沙漠采盒。在水路上旧乞,我們需要的是船,我們可以抱大腿磅氨,...
    賣油翁_閱讀 149評(píng)論 0 0