各種散度
熵
在P分佈攜帶的信息量
/
對P分佈的樣本使用基於P的編碼所需的最小字節數
交叉熵
從Q分佈的角度來看P分佈的信息量
/
對P分佈的樣本使用基於Q的編碼所需的所需要的“平均的編碼長度”
爲何交叉熵可以用來衡量損失?參考
訓練樣本P分佈的熵是恆定的,最小化交叉熵等於最小化KL散度,即用當前分佈來擬合訓練數據分佈的信息量損失。
KL散度
不對稱性 非負性
使用Q分佈來近似P分佈時信息的損失量
/
對P分佈的樣本使用基於Q的編碼“額外所需的編碼長度”。
JS 散度
對稱性 0-1之間 越小越相似
GAN 原理
根據原始GAN定義的判別器loss,我們可以得到最優判別器的形式;而在最優判別器下,可以把原始GAN定義的生成器loss等價變換爲最小化真實分佈與生成分佈之間的JS散度。
固定G,求出最優的D,然後代入max DV(G,D),得到的是JS散度,最小爲-2log2
最小化上式,即最優化JS散度,那麼必然
訓練產生問題
- 原始GAN 問題:
生成器梯度消失嚴重
- JS 散度衡量不了不重疊分佈距離
圖片是由低維的vector到高維生成的,由於與幾乎不可能有不可忽略的重疊,所以無論它們相距多遠JS散度都是常數,最終導致生成器的梯度(近似)爲0,梯度消失。 - 判別器太好
- G、D訓練互相影響
更新G之後,確實對應的JS散度變小了,但是同時影響了V(G,D)曲線,那下次的maxV(G,D)可能變大了,就是說D擬合兩者分佈的能力變差了
解決方式 更新多次D,更新一次G
- 改進的生成器loss(因爲剛開始訓GAN的時候判別器對生成圖片的輸出較小,原損失函數的梯度小,訓練慢)
導致不穩定&collapse mode 多樣性不 足
等於最小化
又要最小化KL,又要最大化JS 梯度不穩定
前面KL的毛病:不對稱
第一項是沒有生成真實數據集裏存在的樣本,第二項是錯誤生成了真實數據裏沒有的樣本,那我寧願不去生成多樣性的樣本,不試錯。
WGAN
Earth-Mover(EM)距離
在所有可能的聯合分佈下,求真實樣本和生成樣本距離的期望,取這個期望的下界。
也就是在最優的聯合分佈下,將Pr挪到Pg的最小消耗。
Wasserstein距離相比KL散度、JS散度的優越性在於,即便兩個分佈沒有重疊,Wasserstein距離仍然能夠反映它們的遠近。
WGAN
對真實樣本來說取f(x),對生成樣本來說取-f(x)的上界,對參數w梯度有限制。
1-拉普拉斯連續 :限制輸出變化量<輸入變化量,即要求函數平滑,防止訓練趨向於將兩類距離越拉越大不收斂。
與原始GAN 區別:
1.損失函數
-
參數截斷以滿足拉普拉斯條件
-
去掉判別器中的sigmoid
因爲原始D(x)擬合的是0、1值,而在這裏判別器擬合的是Wassertain 距離。
WGAN-GP
使用梯度懲罰 加懲罰項
Relativistic GANs
傳統的 GAN 會度量生成數據是真實數據的概率。相對 GAN(Relativistic GAN)則會去度量生成數據比真實數據「更加真實」的概率
參考:WGAN