gan的discriminator評估的方式其實是計算p
gp_g
pg和pda
ta
p_pd
ata
的js散度。但是js 散度面對乙個問題:當兩個分布沒有重合,得到的js散度就是log
2log2
log2
(同時之前從散度角度理解gan,使用js散度還面臨mode collapse和mode dropping的問題)。但是很大概率不重合:
d_loss =
0.5*
(torch.mean(
(d_real -1)
**2)+ torch.mean(d_fake**2)
)g_loss =
0.5* torch.mean(
(d_fake -1)
**2)
這裡看到discriminator的損失函式和log的時候不一樣,但是目標一致,最小化loss。
假設兩個分布p,q,其中x
px_p
xp和x
qx_q
xq分別是兩分布中取樣的點,用r(x
p,xq
)r(x_p,x_q)
r(xp,
xq)
表示兩點要移動的量,那麼定義earth mover』s distance為:b(r
)=∑x
p,xq
r(xp
,xq)
∣∣xp
,xq∣
∣b(r) = \sum\limits_ r(x_p,x_q)||x_p,x_q||
b(r)=x
p,x
q∑
r(xp
,xq
)∣∣
xp,
xq∣
∣那麼如何根據wasserstein distance設計discriminator(推論過程複雜,省略):
v (g
,d)=
maxd∈
1−li
psch
it
z\}[d(x)] - e_}[d(x)]
v(g,d)
=d∈1
−lip
schi
tzmax
pdata
讓discriminator分數上公升,p
gp_g
pg讓其下降。這裡補充lipschitz函式:
若$||f(x_1)-f(x_2)||\leqslant k||x_1-x_2||,那麼就稱函式 f(x
)f(x)
f(x)
是 kk
k lipschitz函式,特別的將 k
kk 設定為1,此時就是定義discriminator中的函式。這個函式的直觀反應就是輸出的變化不可以比輸入變化快。但是由於根據原理推導出來的函式中的max
\max
max難以實現以及lipschitz函式難以模擬,因此,wgan中的實際操作是採用weight clipping。weight clipping的具體定義如下:如果w⩾c
,w=c
w\geqslant c, w=c
w⩾c,w=
c,如果w⩽−
c,w=
−c
w\leqslant -c, w=-c
w⩽−c,w
=−c。相當於是給weight圈定乙個區域,通過這個方式能夠讓輸出在輸入變化的時候改變較小。但是這種方法只是直觀上的近似,並非能夠實際達到理論上的1-lipschitz函式。
後來的wgan-gp,根據1-lipschitz函式特性,可以得到:
∀ x,
∣∣∇x
d(x)
∣∣⩽1
\forall x, ||\nabla_x d(x)||\leqslant 1
∀x,∣∣∇
xd(
x)∣∣
⩽1wgan-gp作者在實際操作中加入乙個懲罰項,去迫使微分盡可能落在絕對值為1的區間內:v(g
,d)≈
maxdv(
g,d)
≈dmax
但是實際操作中,不可能對所有點做積分。作者採用近似的方式,將懲罰項修改為期望:ex∼
ppen
alty
[max(
0,∣∣
∇xd(
x)−1
∣∣)]
e_}[\max(0,||\nabla_xd(x)-1||)]
ex∼ppe
nalt
y[
max(0,
∣∣∇x
d(x
)−1∣
∣)],這裡的ppe
nalt
yp_
ppenal
ty是在pda
ta
p_pd
ata
和p
gp_g
pg之間的取樣。最終的**中,沒有使用max
\max
max而是使用l2 loss:(∇x
d(x)
−1)2
(\nabla_x d(x)-1)^2
(∇xd(
x)−1
)2。但是可見,取樣只能使得部分區域∣∣∇
xd(x
)∣∣⩽
1||\nabla_x d(x)||\leqslant 1
∣∣∇xd
(x)∣
∣⩽1,後續,spectrum norm能使得所有區域滿足這個條件。
參考文獻:
李巨集毅老師對抗生成網路公開課
GAN存在問題的數學推導
最優判別器 其中x表示一張,pr x 表示真實中x出現的概率.pg x 生成中x出現的概率.最優判別器,就是通過學習這兩種分布,似合出公式4.當判別器是最優判別器時,生成器損失函式湊常數項得 由於pr與pg的支撐集是高維空間中的低維流形,pr與pg非常難有重疊部分,得生成器損失函式中 具體表現為,判...
gan 的要點 (弱點與改進 推土距離)
1 如何度量兩個分布的相似度 kl散度,分布的對數差異的數學期望 兩個分布在所有取值上的加權平均 2 極大似然估計可以看作最小化模型分布的kl散度距離等價。使得對數似然函式最大 等價轉換 引入負號 引入常數項 相除形式 kl散度定義 3 kl散度作為損失函式的模式塌陷問題 因為p x 為其中乙個分布...
數學幾何 四等分的角度
題目傳送門 下圖是我對這道題的理解,我自己給他起了個名字,嘿嘿 構造菱形找特殊點法 重要思想已在圖中做出展示,上 include include include include using namespace std struct point inline double len point a,po...