Abstract
我們提出了一個(gè)新的framework,通過(guò)一個(gè)對(duì)抗的過(guò)程來(lái)估計(jì)生成模型,其中會(huì)同時(shí)訓(xùn)練兩個(gè)模型:生成模型G來(lái)獲取整個(gè)數(shù)據(jù)的分布,辨別模型D來(lái)分辨數(shù)據(jù)是來(lái)自于訓(xùn)練樣本還是生成模型G。生成模型G的任務(wù)是盡量的讓辨別模型D犯錯(cuò)。這個(gè)framework對(duì)應(yīng)一個(gè)博弈論中雙人對(duì)抗游戲。在任何函數(shù)空間的G和D中,存在一個(gè)獨(dú)一無(wú)二的解,這個(gè)解能夠?qū)⒛阏麄€(gè)訓(xùn)練中的數(shù)據(jù)的真實(shí)分布找出,D在任何地方等于1/2。如果G和D是一個(gè)MLP的話,整個(gè)系統(tǒng)可以通過(guò)一個(gè)誤差反傳進(jìn)行訓(xùn)練。我們不需要任何的馬爾科夫鏈或者對(duì)一個(gè)近似的推理過(guò)程展開(kāi)。實(shí)驗(yàn)通過(guò)對(duì)生成的樣本進(jìn)行定性和定量評(píng)估,證明了該框架的潛力。
(介紹了GAN做的是個(gè)什么事情)
Introduction
一、深度學(xué)習(xí)是用來(lái)發(fā)現(xiàn)一些豐富、有層次的模型,這些模型能夠?qū)I中的各種數(shù)據(jù)做一個(gè)概率分布的表示。雖然深度學(xué)習(xí)在辨別模型上取得了顯著的進(jìn)展,但是在生成模型上做的還是比較差,這個(gè)難點(diǎn)來(lái)自于我們最大化似然函數(shù)的時(shí),要對(duì)概率進(jìn)行很多的近似,從而帶來(lái)了很大的計(jì)算困難。
二、(對(duì)GAN的一些介紹)在所提出的對(duì)抗網(wǎng)絡(luò)框架中,生成模型和對(duì)抗模型對(duì)立:一個(gè)判別模型,它學(xué)習(xí)確定一個(gè)樣本是來(lái)自模型分布還是數(shù)據(jù)分布。生成式模型可以被認(rèn)為是類(lèi)似于一隊(duì)造假者,試圖生產(chǎn)假幣并在不被發(fā)現(xiàn)的情況下使用,而鑒別式模型則類(lèi)似于警察,試圖檢測(cè)假幣。這個(gè)游戲中的競(jìng)爭(zhēng)促使兩個(gè)團(tuán)隊(duì)改進(jìn)他們的方法,直到假幣與真幣無(wú)法區(qū)分(希望造假者贏)。
三、這個(gè)框架可以產(chǎn)生許多種模型和優(yōu)化算法的具體訓(xùn)練算法。在這篇文章中,我們探討了這樣一種特殊情況:生成模型通過(guò)多層感知器傳遞隨機(jī)噪聲來(lái)生成樣本,而判別模型也是多層感知器。我們把這種特殊情況稱(chēng)為對(duì)抗性網(wǎng)絡(luò)。在這種情況下,我們可以只用非常成功的反向傳播和dropout算法來(lái)訓(xùn)練兩個(gè)模型,只用正向傳播從生成模型中取樣。不需要近似推理或馬爾科夫鏈。
Related work
一、之前的方法總是想去構(gòu)造出一個(gè)分布函數(shù),然后給這個(gè)函數(shù)提供一些參數(shù)進(jìn)行學(xué)習(xí),這些參數(shù)通過(guò)最大對(duì)數(shù)似然函數(shù)來(lái)求,但這會(huì)導(dǎo)致計(jì)算困難,尤其是維度比較高的時(shí)候。因?yàn)檫@些方法在計(jì)算上有困難,所以最近有些工作**“generative machines”**——學(xué)一個(gè)模型來(lái)近似模擬需要的結(jié)果,這項(xiàng)工作計(jì)算比較容易但是無(wú)法得知最后的分布是什么樣子。
二、我們觀察到對(duì)于f的期望求導(dǎo)等價(jià)于對(duì)f自己求導(dǎo)(說(shuō)明為什么通過(guò)誤差的反向傳遞對(duì)GAN求解)。說(shuō)了一下VAEs的工作,和GAN類(lèi)似。
三、說(shuō)了一下NCE所做工作,但是其損失函數(shù)比較復(fù)雜,在求解性能上沒(méi)有GAN好。
四、解釋了一下與predictability minimization(PM)的區(qū)別。
五、解釋了一下與adversarial examples的區(qū)別。adversarial examples構(gòu)造一些假的樣本,達(dá)到以假亂真的目的,從而測(cè)試算法的穩(wěn)定性。
Adversarial nets
(講的GAN的目標(biāo)函數(shù),以及對(duì)其的求解)
一、這個(gè)框架最簡(jiǎn)單的應(yīng)用是當(dāng)你的生成器和辨別器都是MLP的時(shí)候。生成器會(huì)學(xué)一個(gè)在數(shù)據(jù)x上的
p
g
p_g
pg?分布。對(duì)于生成模型,我們定義一個(gè)先驗(yàn)
p
z
(
z
)
p_z(z)
pz?(z),在輸入的噪音變量z上。對(duì)于生成模型,就是把z映射映射成x,參數(shù)是
θ
g
\theta_g
θg?,
G
(
z
;
θ
g
)
G(z;\theta_g)
G(z;θg?)。辨別器
D
(
x
;
θ
d
)
D(x;\theta_d)
D(x;θd?),就是把x輸出成一個(gè)標(biāo)量,用來(lái)表示此數(shù)據(jù)來(lái)自真實(shí)數(shù)據(jù)(用1表示)還是由生成器(用0表示)生成的。在訓(xùn)練D的同時(shí)也會(huì)訓(xùn)練G,G用來(lái)最小化
l
o
g
(
1
?
D
(
G
(
z
)
)
)
log(1-D(G(z)))
log(1?D(G(z))),即訓(xùn)練一個(gè)G使我的辨別器盡量的犯錯(cuò),G(z)代表是一個(gè)假圖片。
二、
最理想狀態(tài)是圖(d),此時(shí)D的輸出一直是0.5。
上述算法中,先更新我們的辨別器,再更新我們的生成器。k是超參數(shù),不能太大/小,要保證辨別器有足夠的更新,但也不要更新的太好。
如果沒(méi)有把辨別器足夠好的更新,我們更新生成器則沒(méi)有太大的意義。
如果把辨別器更新的太好了,
1
?
D
(
G
(
z
i
)
)
1-D(G(z^i))
1?D(G(zi))會(huì)變成0,此時(shí)對(duì)生成器的更新會(huì)有困難。
GAN的收斂是非常不穩(wěn)定的。
三、
在上面的公式里,后面一項(xiàng)會(huì)有一點(diǎn)問(wèn)題,即容易把辨別器更新的太好了,
1
?
D
(
G
(
z
i
)
)
1-D(G(z^i))
1?D(G(zi))會(huì)變成0,此時(shí)對(duì)生成器的更新會(huì)有困難,所以更新G的時(shí)候把目標(biāo)函數(shù)改成max
l
o
g
D
(
G
(
z
)
)
logD(G(z))
logD(G(z)),但同時(shí)也會(huì)產(chǎn)生一些數(shù)值上的問(wèn)題,今后的工作會(huì)對(duì)其進(jìn)行一些改進(jìn)。
Theoretical Results
(講了一些理論上的結(jié)果)
一、當(dāng)且僅當(dāng)
p
g
=
p
d
a
t
a
p_g=p_{data}
pg?=pdata?(生成器學(xué)到的分布=真實(shí)數(shù)據(jù)的分布),目標(biāo)函數(shù)有一個(gè)全局最優(yōu)解。
二、算法一確實(shí)能夠求解目標(biāo)函數(shù)。
Global Optimality of p g = p d a t a p_g=p_{data} pg?=pdata?
(講目標(biāo)函數(shù)是正確的)
Proposition 1 當(dāng)G固定時(shí),辨別器最優(yōu)解(取值范圍[0,1])為
當(dāng)
p
g
=
p
d
a
t
a
p_g=p_{data}
pg?=pdata?時(shí),結(jié)果為1/2。
Theorem 1 當(dāng)且僅當(dāng)
p
d
a
t
a
=
p
g
p_{data}=p_g
pdata?=pg?時(shí),C(G)取得全局最小值。
KL散度,量化兩種概率分布P和Q之間差異的方式,又叫相對(duì)熵。在概率學(xué)和統(tǒng)計(jì)學(xué)上,我們經(jīng)常會(huì)使用一種更簡(jiǎn)單的、近似的分布來(lái)替代觀察數(shù)據(jù)或太復(fù)雜的分布。K-L散度能幫助我們度量使用一個(gè)分布來(lái)近似另一個(gè)分布時(shí)所損失的信息。
GAN使用的JS散度,相對(duì)熵(KL散度)雖然可以用來(lái)表示兩個(gè)概率分布之間的差異,但是它并不是對(duì)稱(chēng)的,因此有時(shí)用它來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)會(huì)有順序不同造成不一樣的訓(xùn)練結(jié)果的情況。為了克服這個(gè)問(wèn)題,有人就提出了一個(gè)新的衡量公式,叫做JS散度。
Convergence of Algorithm 1
Proposition 2
如果 G 和 D 有足夠的容量,并且在算法 1 的每一步,允許判別器在給定 G 的情況下達(dá)到其最優(yōu)值,并更新
p
g
p_g
pg? 以改進(jìn)標(biāo)準(zhǔn)
E
x
~
p
d
a
t
a
[
l
o
g
D
?
G
(
x
)
]
+
E
x
~
p
g
[
l
o
g
(
1
?
D
?
G
(
x
)
)
]
Ex~p_{data} [log D? G(x)] + Ex~p_g [log(1 ? D? G(x))]
Ex~pdata?[logD?G(x)]+Ex~pg?[log(1?D?G(x))] 然后
p
g
p_g
pg? 收斂到
p
d
a
t
a
p_{data}
pdata?。
Advantages and disadvantages
優(yōu):生成器沒(méi)有去看真正樣本上的數(shù)據(jù),沒(méi)有試圖去擬合那些特征,所以使得其能夠生成比較銳利的一些邊緣。
缺:要均衡好G和D,如果G和D沒(méi)均衡好,會(huì)導(dǎo)致結(jié)果很差。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-413376.html
Conclusions and future work
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-413376.html
到了這里,關(guān)于【論文精度(李沐老師)】Generative Adversarial Nets的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!