機器學習中的模型一般有兩種: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
maxdv
(d,g
)=ex
−pda
ta(x
)[
logd(
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)))]
gmind
maxv(
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
)=
maxdv
(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
)infe
(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))]
fwmaxe
x−pr
[f
w(x
)]−e
z−pz
[f
w(g
(z))
]ming
−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 生成模型 ...