數學角度的GAN的改進方法

2021-10-03 21:56:11 字數 2812 閱讀 5090

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)=

max⁡d∈

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,∣∣∇

x​d(

x)∣∣

⩽1wgan-gp作者在實際操作中加入乙個懲罰項,去迫使微分盡可能落在絕對值為1的區間內:v(g

,d)≈

max⁡dv(

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

(∇x​d(

x)−1

)2。但是可見,取樣只能使得部分區域∣∣∇

xd(x

)∣∣⩽

1||\nabla_x d(x)||\leqslant 1

∣∣∇x​d

(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...