1. 程式人生 > >GAN學習筆記:WGAN

GAN學習筆記:WGAN

今天來學習一下大名鼎鼎的WGAN。

傳統的GAN存在著一些問題,比如在D訓練的太強的時候,G會出現梯度消失的問題,亦或由於KL散度的不對稱性,GAN也容易出現mode collapse的現象。

一、距離函式

WGAN中一個很重要的工作就是提出了EM距離,也稱推土機距離。

先來看一下幾個常用的距離和EM距離。

TV(Total Variation)距離:


KL距離:


JS距離:


最後就是EM距離啦


可以看到,EM距離被稱為推土機距離是很形象的,將一堆土從一個分佈推到另一個分佈所需要的消耗就是兩個分佈之間的EM距離。

這是WGAN中非常非常重要的一個概念。

可以通過數學證明,相比於其他的幾個距離,EM距離的平滑特性要優越的多。具體情況可以參看論文。

二、WGAN

由於定義中的inf並不好求,在這裡做了一個轉換,可以證明定義式等價於如下的式子。


其中f為利普希茨常數為1的函式。

那麼接下來將f的利普希茨常數推廣到k的情況,可以得到如下目標函式。


三、訓練演算法


以上是WGAN的演算法。

可以看到WGAN較傳統GAN的幾個主要的不同:

第一、損失函式的不同,去掉了傳統GAN中的log。

第二、在訓練權重時進行了clip操作,讓w處在-c到c這個範圍內。

第三、採用了RMSProp演算法,在實際中,SGD演算法也是可行的,但是不可以使用如adam等momentum的演算法,這在論文中也有提到。