天天看點

【百面機器學習之算法工程師讀書筆記】——第十四章:生成式對抗網絡——WGAN:抓住低維的幽靈引言WGAN簡介GANs的陷阱?WGAN算法的實作思路

WGAN論文連結:https://arxiv.org/pdf/1701.07875.pdf

引言

二維與三維的關系

極限情況下,如果下圖這張照片足夠薄,沒有厚度,那麼他就在一個二維平面裡,體積為0。拓展到高維空間,這個體積叫測度,無論N維空間的N有多大,在N+1維空間中測度就是0,就好比二維平面在三維空間中一樣。一個地位空間的物體,在高維空間中忽略不計,好像幽靈一般,若有若無,是一個隐去的世界。

【百面機器學習之算法工程師讀書筆記】——第十四章:生成式對抗網絡——WGAN:抓住低維的幽靈引言WGAN簡介GANs的陷阱?WGAN算法的實作思路

WGAN簡介

2017年,一個訓練生成對抗網絡的新方法WGAN被提出,上一篇文章中我們介紹過GAN,其本質就是在最小化生成分布與真實資料分布的JS距離,當算法收斂時,生成器刻畫的分布就是真實資料的分布。但是在GAN中,生成器的訓練很不穩定,是以,WGAN就是來解決這個問題的。

GANs的陷阱?

Goodfellow在論文中指出,訓練判别器,是在度量生成器分布和真實資料分布的JS距離;訓練生成器,是在減小這個JS距離。但是在實驗中發現,訓練好生成器是一件很困難的事,生成器很不穩定,常出現坍縮模式。

坍縮模式

即生成器僅記下樣本,沒有了解樣本,沒有泛化能力,更沒有創造新樣本的能力,不會活學活用。拿圖檔來說的化,就是反複生成一些相近或相同的圖檔,多樣性太差。

坍縮模式原因

訓練生成器是基于JS距離,問題的根源可能也與JS距離有關。高維空間中并不是每個點都能表達一個樣本,空間大部分其實是多餘的,真實資料都蜷縮在低維子空間的流形(即高維曲面)上,因次元低,體積小,幾乎為0,難以發現。通俗的講,生成器就好比一張大網布滿整個空間,在“兵力”有限的情況下,網布得越大,每個點附近的兵力就越少。當大網穿過低維子空間時,可看見的“兵”幾乎為0,是以,這部分子空間就相當于一個盲區,如果真實資料都布在這,就成了漏網之魚了。

【百面機器學習之算法工程師讀書筆記】——第十四章:生成式對抗網絡——WGAN:抓住低維的幽靈引言WGAN簡介GANs的陷阱?WGAN算法的實作思路

WGAN破解武器——Wasserstein距離

根據上述問題,我們的第一直覺會想到:不要讓生成器在高維空間傻傻的布網,讓它直接到低維空間抓”魚“(真實資料)。處在高維空間,對抗隐蔽的低維空間,不能再用粗暴簡陋的方法,需要特殊武器——Wasserstein距離,又名推土機距離。

推土機距離公式

【百面機器學習之算法工程師讀書筆記】——第十四章:生成式對抗網絡——WGAN:抓住低維的幽靈引言WGAN簡介GANs的陷阱?WGAN算法的實作思路

原因:

Wasserstein距離之是以能解決JS距離,其實就是生成器不在”布網“,而時改為”定位追蹤“。因為當生成器分布随參數thalt變化而連續變化時,生成器分布于真實分布的Wasserstein距離也會随着that變化為變化,且幾乎處處可導,而JS距離不保證随tha變化而連續變化。換言之,生成器隻需講自身分布稍微改變,就會改變它到真實分布的推土機距離,而JS距離是不敏感的,無論生成器怎麼變化,JS距離都是一個常數。是以,推土機距離能有效鎖定低維子空間的真實資料分布。

WGAN算法的實作思路

如上圖所示的推土機距離公式太難求解了,但是和它有相同的值的wasserstein距離的對偶式是可以求解的。能大大降低Wasserstein距離的求解難度。其公式如下:

【百面機器學習之算法工程師讀書筆記】——第十四章:生成式對抗網絡——WGAN:抓住低維的幽靈引言WGAN簡介GANs的陷阱?WGAN算法的實作思路

其計算過程是找到一個函數f,使得它最大化目标函數

【百面機器學習之算法工程師讀書筆記】——第十四章:生成式對抗網絡——WGAN:抓住低維的幽靈引言WGAN簡介GANs的陷阱?WGAN算法的實作思路

,對比原來GANs的

【百面機器學習之算法工程師讀書筆記】——第十四章:生成式對抗網絡——WGAN:抓住低維的幽靈引言WGAN簡介GANs的陷阱?WGAN算法的實作思路

,隻是去掉了log,是以,隻需做微小改動就能使用GANs的架構。但是,此處的f和GANs中的D不同,前者需要滿足,即1-Lupschitz函數,後者是一個sigmoid函數作輸出層的神經網絡。二者都要求在尋找最優函數時要考慮界的限制。若是沒限制,則函數值會無限大或無限小。

判别器在此處叫評分器,越像真實樣本分數越高,否在越低。訓練評分器就是計算生成器分布于真實分布的wasserstein距離:給定評分器,訓練生成器就是在縮小這個距離。具體過程如下圖。

【百面機器學習之算法工程師讀書筆記】——第十四章:生成式對抗網絡——WGAN:抓住低維的幽靈引言WGAN簡介GANs的陷阱?WGAN算法的實作思路

相關公式介紹連結:

https://www.cnblogs.com/noahzhixiao/p/10171410.html

https://blog.csdn.net/qq_31239495/article/details/83145651

【注:如有錯誤,還望指出,謝謝!】

繼續閱讀