GAN 原理

各種散度

S(p)=ip(xi)logbp(xi)S(p)=- \sum \limits_i p(x_i)log_bp(x_i)
在P分佈攜帶的信息量
/
對P分佈的樣本使用基於P的編碼所需的最小字節數

交叉熵

在這裏插入圖片描述
H(p,q)=ip(xi)logbq(xi)H(p,q)=- \sum \limits_i p(x_i)log_bq(x_i)
從Q分佈的角度來看P分佈的信息量
/
對P分佈的樣本使用基於Q的編碼所需的所需要的“平均的編碼長度”
爲何交叉熵可以用來衡量損失?參考
訓練樣本P分佈的熵是恆定的,最小化交叉熵等於最小化KL散度,即用當前分佈來擬合訓練數據分佈的信息量損失。

KL散度

在這裏插入圖片描述
在這裏插入圖片描述
KL(pq)=(ip(xi)logbq(xi))+ip(xi)logbp(xi)KL(p||q)=-(\sum \limits_i p(x_i)log_bq(x_i))+\sum \limits_i p(x_i)log_bp(x_i)
=H(p,q)H(p)=H(p,q)-H(p)
不對稱性 非負性

使用Q分佈來近似P分佈時信息的損失量
/
對P分佈的樣本使用基於Q的編碼“額外所需的編碼長度”。

JS 散度

在這裏插入圖片描述
對稱性 0-1之間 越小越相似

GAN 原理

根據原始GAN定義的判別器loss,我們可以得到最優判別器的形式;而在最優判別器下,可以把原始GAN定義的生成器loss等價變換爲最小化真實分佈PrP_r與生成分佈PgP_g之間的JS散度。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
固定G,求出最優的D,然後代入max DV(G,D),得到的是JS散度,最小爲-2log2
最小化上式,即最優化JS散度,那麼必然
在這裏插入圖片描述

訓練產生問題

  • 原始GAN 問題:
    生成器梯度消失嚴重
  1. JS 散度衡量不了不重疊分佈距離
    圖片是由低維的vector到高維生成的,由於PrP_rPgP_g幾乎不可能有不可忽略的重疊,所以無論它們相距多遠JS散度都是常數log2\log 2,最終導致生成器的梯度(近似)爲0,梯度消失。
  2. 判別器太好
  3. G、D訓練互相影響
    更新G之後,確實對應的JS散度變小了,但是同時影響了V(G,D)曲線,那下次的maxV(G,D)可能變大了,就是說D擬合兩者分佈的能力變差了
    解決方式 更新多次D,更新一次G
  • 改進的生成器loss(因爲剛開始訓GAN的時候判別器對生成圖片的輸出較小,原損失函數的梯度小,訓練慢)
    導致不穩定&collapse mode 多樣性不 足在這裏插入圖片描述在這裏插入圖片描述
    在這裏插入圖片描述
    等於最小化在這裏插入圖片描述
    又要最小化KL,又要最大化JS 梯度不穩定

前面KL的毛病:不對稱
在這裏插入圖片描述
第一項是沒有生成真實數據集裏存在的樣本,第二項是錯誤生成了真實數據裏沒有的樣本,那我寧願不去生成多樣性的樣本,不試錯。

WGAN

Earth-Mover(EM)距離

而W(P_r, P_g)就是“最優路徑規劃”下的“最小消耗”
在所有可能的聯合分佈下,求真實樣本和生成樣本距離的期望,取這個期望的下界。
也就是在最優的聯合分佈下,將Pr挪到Pg的最小消耗。
Wasserstein距離相比KL散度、JS散度的優越性在於,即便兩個分佈沒有重疊,Wasserstein距離仍然能夠反映它們的遠近。

WGAN

在這裏插入圖片描述
對真實樣本來說取f(x),對生成樣本來說取-f(x)的上界,對參數w梯度有限制。
在這裏插入圖片描述
1-拉普拉斯連續 :限制輸出變化量<輸入變化量,即要求函數平滑,防止訓練趨向於將兩類距離越拉越大不收斂。

與原始GAN 區別:
1.損失函數
在這裏插入圖片描述

  1. 參數截斷以滿足拉普拉斯條件
    在這裏插入圖片描述

  2. 去掉判別器中的sigmoid
    因爲原始D(x)擬合的是0、1值,而在這裏判別器擬合的是Wassertain 距離。

WGAN-GP

使用梯度懲罰 加懲罰項
在這裏插入圖片描述

Relativistic GANs

傳統的 GAN 會度量生成數據是真實數據的概率。相對 GAN(Relativistic GAN)則會去度量生成數據比真實數據「更加真實」的概率
在這裏插入圖片描述
在這裏插入圖片描述

參考:WGAN

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章