生成對抗網路 GAN

2021-10-04 01:42:09 字數 2638 閱讀 9113

機器學習中的模型一般有兩種:1. 決策函式 y=f(x);2. 條件概率分布 p(y|x)

根據通過學習資料來獲取這兩種模型的方法,可以分為判別方法和生成方法。判別方法是由資料直接學習決策函式或條件概率分布作為**模型,即判別模型;而生成模型是由資料學習聯合概率分布 p(x,y),然後由 p(y|x)=p(x,y)/p(x) 求出概率分布 p(y|x) 作為**模型,即生成模型。

生成對抗網路(gan)啟發自博弈論中的零和博弈(即兩人的利益之和為零,一方的所得正式另一方的所失),gan 模型由生成模型(generative model)和對抗模型(discriminative model)組成。生成模型 g 捕捉樣本資料的分布,用服從某一分布的雜訊 z 來生成乙個類似真是訓練資料的樣本,追求效果越像真實樣本越好;判別模型 d 是乙個二分類器,估計乙個樣本來自訓練資料(而非生成資料)的概率。生成器就類似於造假幣的人,而判別器就類似於驗鈔機,生成器的目的就是其造的假幣要騙過驗鈔機。

gan 的目標函式:

min ⁡g

max⁡dv

(d,g

)=ex

−pda

ta(x

)[

log⁡d(

x)]+

ez−p

z(x)

[log⁡(

1−d(

g(z)

))

]\min_g\max_dv(d,g)=e_(x)}[\log d(x)]+e_[\log(1-d(g(z)))]

gmin​d

max​v(

d,g)

=ex−

pdat

a​(x

)​[logd(

x)]+

ez−p

z​(x

)​[log(1

−d(g

(z))

)]其中 d(x) 表示真實資料通過判別器 d 的輸出結果,而 d(g(z)) 是雜訊 z 通過生成器 g 生成的假資料通過判別器 d 的輸出結果。所以對於判別器 d 來說,需要最大化目標函式,即通過判別器讓真幣為真的概率越大越好,而假幣為真的概率越小越好。對於生成器 g 來說,需要最小化目標函式,即讓假幣越真越好。

令 c (g

)=

max⁡dv

(g,d

)c(g)=\max_dv(g,d)

c(g)

=maxd​

v(g,

d),則 c(g

)=

−log⁡(

4)+2

⋅jsd

(pda

ta∣∣

pg

)c(g)=-\log(4)+2\cdot jsd(p_||p_g)

c(g)=−

log(4)

+2⋅j

sd(p

data

​∣∣p

g​),其中 jsd 表示 jensen-shannon divergence,即 js 散度。pda

ta

p_pd

ata​

是真實資料的分布,而 p

gp_g

pg​ 是生成的假資料的分布。

gan 存在訓練過程不穩定的問題,這一方面是因為 gan 自身的缺陷,另一方面是因為生成器和判別器的能力不匹配;此外生成器只會生成一兩種類別的樣本。

gan 的乙個改進是 wgan。當真實資料的分布和假資料的分布互不重疊時,js 散度值會趨近於乙個常數,其導數接近於0,這就導致了梯度消失。所以重新定義了一種 wasserstein-1 距離來代替原來的 js 散度:

w (p

r,pg

)=

inf⁡γ−

π(pr

,pg)

e(x,

y)[∣

∣x−y

∣∣

]w(p_r,p_g)=\inf_e_[||x-y||]

w(pr​,

pg​)

=γ−π

(pr​

,pg​

)inf​e

(x,y

)​[∣

∣x−y

∣∣]即使 p

rp_r

pr​ 和 p

gp_g

pg​ 互不重疊,wasserstein 距離依舊可以清楚的反應兩個分布的距離。

目標函式也變為了:

max ⁡f

wex−

pr[f

w(x)

]−ez

−pz[

fw(g

(z))

]\max_e_[f_w(x)]-e_[f_w(g(z))]

fw​max​e

x−pr

​​[f

w​(x

)]−e

z−pz

​​[f

w​(g

(z))

]min⁡g

−ez−

pz[f

w(g(

z))]

\min_g-e_[f_w(g(z))]

gmin​−

ez−p

z​​[

fw​(

g(z)

)]wgan 很好的解決了訓練不穩定和模式崩潰的問題。

gan 只能隨機產生乙個類別,cgan 可以指定類別來生成。

GAN 生成對抗網路

原理 假設我們有兩個網路 乙個生g generator 乙個判別d discriminator g是乙個生成的的網路,它接受乙個隨機的雜訊z,通過這個雜訊生成,記做g z d是乙個判別網路,判斷一張是不是 真實的 它的輸入引數是x,x代表一張的。輸出d x 代表x為真實的概率,如果為1,就代表100...

生成對抗網路 GAN

原文 generative adversarial networks 模型組成 核心公式 演算法圖示化描述 全域性最優點 pg pdata 效果與對比展望 ming maxdv d,g exp data x logd x exp x x log 1 d g z 分析 上方為 gan 網路的核心演算法...

GAN(生成對抗網路)

gan,generative adversarial network.起源於2014年,nips的一篇文章,generative adversarial net.gan,是一種二人博弈的思想,雙方利益之和是乙個常數,是固定的。你的利益多點,對方利益就少點。gan裡面,博弈雙方是 乙個叫g 生成模型 ...