日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从Wasserstein距离、对偶理论到WGAN

發(fā)布時間:2024/10/8 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从Wasserstein距离、对偶理论到WGAN 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


作者丨蘇劍林

單位丨廣州火焰信息科技有限公司

研究方向丨NLP,神經(jīng)網(wǎng)絡(luò)

個人主頁丨kexue.fm


2017 年的時候筆者曾寫過互懟的藝術(shù):從零直達WGAN-GP,從一個相對通俗的角度來介紹了 WGAN,在那篇文章中,WGAN 更像是一個天馬行空的結(jié)果,而實際上跟 Wasserstein 距離沒有多大關(guān)系。?


在本篇文章中,我們再從更數(shù)學(xué)化的視角來討論一下 WGAN。當(dāng)然,本文并不是純粹地討論 GAN,而主要側(cè)重于 Wasserstein 距離及其對偶理論的理解。


?推土機哪家強?成本最低找Wasserstein


本文受啟發(fā)于著名的國外博文 Wasserstein GAN and the Kantorovich-Rubinstein Duality [1],內(nèi)容跟它大體上相同,但是刪除了一些冗余的部分,對不夠充分或者含糊不清的地方作了補充。不管怎樣,在此先對前輩及前輩的文章表示致敬。?


注:完整理解本文,應(yīng)該需要多元微積分、概率論以及線性代數(shù)等基礎(chǔ)知識。還有,本文確實長,數(shù)學(xué)公式確實多,但是,真的不復(fù)雜、不難懂,大家不要看到公式就嚇怕了。


Wasserstein距離


顯然,整篇文章必然圍繞著 Wasserstein 距離(W 距離)來展開。假設(shè)我們有了兩個概率分布 p(x),q(x),那么 Wasserstein 距離的定義為:



事實上,這也算是最優(yōu)傳輸理論中最核心的定義了。?


相信我,式 (1) 沒有想象中那么難理解。我們來逐項看看。?


成本函數(shù)


首先 d(x,y) ,它不一定是距離,其準確含義應(yīng)該是一個成本函數(shù),代表著從 x 運輸?shù)?y 的成本。常用的 d 是基于 l 范數(shù)衍生出來的,比如:



都是常見的選擇,其中:



特別指出,其實哪種距離并不是特別重要,因為很多范數(shù)都是相互等價的,范數(shù)的等價性表明其實最終定義出來的 W 距離都差不多。


成本最小化


然后來看 γ ,條件 γ∈Π[p,q] 意味著:



這也就是說, γ 是一個聯(lián)合分布,它的邊緣分布就是原來的 p 和 q。?


事實上 γ 就描述了一種運輸方案。不失一般性,設(shè) p 是原始分布,設(shè) q 是目標分布, p(x) 的意思是原來在位置 x 處有 p(x) 量的貨物, q(x) 是指最終 x 處要存放的貨物量,如果 p(x)>q(x) ,那么就要把 x 處的一部分貨物運到別處,反之,如果 p(x)<q(x) ,那么就要從別的地方運一些貨物到 x 處。而 γ(x,y) 的意思是指,要從 x 處搬 γ(x,y)dx 那么多的東西到 y 處。?


最后是 inf ,這表示下確界,簡單來說就是取最小,也就是說,要從所有的運輸方案中,找出總運輸成本 ?γ(x,y)d(x,y)dxdy 最小的方案,這個方案的成本,就是我們要算的 W[p,q] 。


如果將上述比喻中的“貨物”換成“沙土”,那么 Wasserstein 距離就是在求最省力的“搬土”方案了,所以 Wasserstein 距離也被稱為“推土機距離”(Earth Mover's Distance)。?


最后改編一張開頭提到的國外博文的圖片,來展示這個“推土”過程:


?推土機距離圖示。左邊p(x)每處的沙土被分為若干部分,然后運輸?shù)接叶藂(x)的同色的位置(或者不動)


矩陣形式


逐項分析完含義之后,現(xiàn)在我們再來完成地重述一下問題,我們實際上在求下式的最小值:



其中 d(x,y) 是事先給定的,而這個最小值要滿足如下約束:



認真盯著式 (5),考慮到積分只是求和的極限形式,所以我們可以把 γ(x,y) 和 d(x,y) 離散化,然后看成很長很長的(列)向量 Γ 和 D:



所以式 (5) 相當(dāng)于就是將 Γ 和 D 對應(yīng)位置相乘,然后求和,這不就是內(nèi)積 ?Γ,D? 了嗎?


如果還沒理解這一點,那么請再好好地盯一會式 (5),頭腦中想象著將 x,y 分區(qū)間離散化的過程,再想想積分的定義,相信這并不難理解。


如果已經(jīng)理解了這一點,那就好辦了,我們可以把約束條件 (6) 也這樣看:把 p(x),q(x) 分別看成一個長向量,然后還可以拼起來,把積分也看成求和,這時候約束條件 (6) 也可以寫成矩陣形式 AΓ=b:



最后不能忘記的是 Γ ≥ 0 ,它表示 Γ 的每個分量都大于等于 0。?


線性規(guī)劃問題


現(xiàn)在問題可以用一行字來描述:



這就是“線性約束下的線性函數(shù)最小值”的問題,它就是我們在高中時就已經(jīng)接觸過的線性規(guī)劃問題了。可見,雖然原始問題足夠復(fù)雜,又有積分又有下確界的,但經(jīng)過轉(zhuǎn)寫,它本質(zhì)上就是一個并不難理解的線性規(guī)劃問題(當(dāng)然,“不難理解”并不意味著“容易求解”)。


線性規(guī)劃與對偶?


讓我們用更一般的記號,把線性規(guī)劃問題重寫一遍,常見的形式有兩種:



這兩種形式本質(zhì)上是等價的,只不過在討論第一種的時候相對簡單一點(真的只是簡單一點點,并沒有本質(zhì)差別),而從 (9) 式可以知道,我們目前只關(guān)心第一種情況。?


注意,為了避免混亂,我們必須聲明一下各個向量的大小。我們假設(shè)每個向量都是列向量,經(jīng)過轉(zhuǎn)置 ? 之后就代表一個行向量,都是 n 維向量,其中 c 也就是權(quán)重,就是對 x 的各個分量加權(quán)求和;是 m 維向量,自然是一個 m×n 的矩陣了, Ax=b 實際上就是描述了 m 個等式約束。?


弱對偶形式


在規(guī)劃和優(yōu)化問題中,“對偶形式”是一個非常重要的概念。一般情況下,“對偶”是指某種變換,能將原問題轉(zhuǎn)化為一個等價的、但是看起來幾乎不一樣的新問題,即:



“對偶”之所以稱為“對偶”,是因為將新問題進行同樣形式的變換后,通常來說能還原為原問題,即:



即“對偶”像是一面鏡子,原問題和新問題相當(dāng)于“原像”和“鏡像”,解決了一個問題,就等價于解決了另一個問題。所以就看哪個問題更簡單了。


讀者可能還有疑問:“對偶”跟數(shù)學(xué)中諸如“逆否命題”之類的等價描述有什么區(qū)別?其實也沒有本質(zhì)區(qū)別,簡單來說“對偶”和“逆否命題”都是跟原來的命題完全等價的,但是“對偶”看起來跟原命題很不一樣,而“逆否命題”僅僅是原命題的一個邏輯變換。從線性代數(shù)的角度來看,“對偶”相當(dāng)于向量空間中的“原空間”和“補空間”之間的關(guān)系。


最大 vs 最小


這里我們先介紹“弱對偶形式”,其實它推導(dǎo)起來還是挺簡單的。


我們的目標是,設(shè)置最小值在處取到,那么我們有,我們可以在兩邊乘以一個,使得等式變成一個標量:。?


如果此時假設(shè),那么(因為),則。也就是說,在條件下的任意總是不大于,“總是”意味著即使對于最大那個也一樣,所以我們就有:



這便稱為“弱對偶形式”,它的形式就是:“左邊的最大”還大不過“右端的最小”


幾點評注


對于弱對偶形式,也許下面幾點值得進一步說明一下:?


1. 現(xiàn)在我們將原來的最小值問題變成了一個最大值問題,這便有了對偶的味道。當(dāng)然,弱對偶形式之所以“弱”,是因為我們目前找到的對偶形式只是原來問題的一個下界,還沒有證明它們二者相等。?


2. 弱對偶形式在很多優(yōu)化問題中(包括非線性優(yōu)化)都成立。如果二者真的相等,那么就是真正意義上的對偶了,稱為強對偶形式。?


3. 理論上,我們確實需要證明式 (13) 左右兩端相等才能進一步應(yīng)用它。但從應(yīng)用角度,其實弱對偶形式給出的下界都已經(jīng)夠用了,因為深度學(xué)習(xí)中的問題都很復(fù)雜,能有一個近似的目標去優(yōu)化都已經(jīng)很不錯了。?


4. 讀者可能會想問:前面我們?yōu)槭裁匆僭O(shè)而不干脆假設(shè)?假設(shè)后者當(dāng)然簡單很多,但問題是后者在實踐中很難實現(xiàn),所以只能假設(shè)前者。?


強對偶形式


上面已經(jīng)說了,從實踐角度其實弱對偶形式已經(jīng)夠用了。但是為了讓對完整理論的讀者也有更多收獲,這里繼續(xù)把“強對偶形式”也論證一番。對于只關(guān)心 WGAN 本身的讀者來說,可以考慮跳過這部分。?


所謂強對偶形式,也就是:



注意前面已經(jīng)說了,弱對偶形式對于很多優(yōu)化問題都成立,但強對偶形式不一定成立。而對于線性規(guī)劃來說,強對偶形式是成立的。?


Farkas引理


強對偶形式的證明,主要用到稱之為“Farkas 引理”的結(jié)論:


對于固定的矩陣和向量,下面兩個選項有且只有一個成立:


1. 存在且 x≥0,使得Ax=b;


2. 存在使得


什么鬼?又大又小又轉(zhuǎn)置的?能不能說人話?


其實這個引理還真有一個很直觀的幾何解釋,只不過幾何解釋翻譯成代數(shù)語言就不簡單了。幾何解釋的出發(fā)點是我們?nèi)タ紤]如下的向量集合:



這個集合的含義是:我們將 A 看成是 n 個 m 維列向量的組合。



那么上述集合實際上就是所有 a1,a2,…,an 的非負線性組合。那這個集合是個啥呢?答案是:一個錐,如圖所示。


?給定向量的非負線性組合構(gòu)成這些向量圍成的一個錐


現(xiàn)在我們隨便給定一個向量 b,那么顯然它只有兩種可能性,而且必有一種成立:1. 在錐內(nèi)(包括邊界)2. 在錐外。這當(dāng)然是廢話,但是將它翻譯成代數(shù)語言,那就不是廢話了。

?給定的向量在錐內(nèi),意味著可以表示為非負線性組合


?給定的向量在錐外,我們可以找到一個“標桿”向量與之對比


如果它在錐內(nèi),那么根據(jù)錐本身的定義,它就可以表示為 a1,a2,…,an 的非負線性組合(表示方式可能不唯一),也就是存在 x≥0,使得 Ax=b,這就是第一種情況。


如果在錐外呢?怎么表示在錐外?當(dāng)然我們可以直接寫出錐內(nèi)的否命題,但是那實用價值不大。如果向量 b 在錐外,那么我們總是可以找到一個“標桿”向量 y,它與 a1,a2,…,an 的夾角都大于等于 90 度,向量表示法就是內(nèi)積都小于等于零,即,或者寫成一個整體


找到這個“標桿”后,向量 b 與“標桿”的夾角必然是要小于 90 度的,即。這樣一個大于等于 90 度,一個小于 90 度,保證了向量 b 在全體向量構(gòu)成的錐外。這就是第二種情況。


當(dāng)然,這不能算是完備的證明,只能算是一個啟發(fā)式引導(dǎo),完備的證明還要仔細論證為什么這些向量的非負線性組合構(gòu)成了一個錐。這些就不在本文的范疇了。Farkas 引理的特點是二選一,比如我要證明滿足第二點,只需要證明它不滿足第一點,反之亦然。這是對問題的一個轉(zhuǎn)化。


從引理到強對偶


有了 Farkas 引理,我們就可以證明強對偶形式了。證明的思路是:證明 max 可以任意程度地接近 min 。?


證明還是先假設(shè) min 的最小值在處取到,即最小值為,那么我們考慮:



當(dāng) ?>0 時,那么對于任意 x≥0,都不可能等于,這是因為已經(jīng)是最小值,所以能達到的最大值,它不可能等于更大的


前面已經(jīng)說了,不滿足第一種情況,那就只能滿足第二種情況了,即存在使得,這等價于:



下面我們表明 α 必須大于 0,這是因為,所以我們再去考慮 ?=0。而當(dāng) ?=0 時有,即滿足 Farkas 引理的第一種情況,那就不滿足第二種情況,而不滿足第二種情況,意味著,都有,剛剛我們已經(jīng)證明了,所以必須有 α>0。


現(xiàn)在確定 α>0 了,我們就可以從式 (18) 得到:



這意味著:



而弱對偶形式已經(jīng)告訴我們:



也就是被夾在之間,而因為 ? > 0 是任意的,所以兩者可以無限接近,從而:



這便是要證的強對偶形式。?


簡單說明


Farkas 引理和強對偶形式的證明,看上去比較迂回,但實際上是優(yōu)化理論中非常經(jīng)典和重要的證明案例,對于初學(xué)者來說,它應(yīng)該是一次非常強烈的思維沖擊。因為我們以往的認識中,我們對原命題做變換,僅僅是局限于“邏輯變換”,如否命題、逆否命題等。而對偶形式和 Farkas 引理卻出現(xiàn)了一些“看起來很不一樣,卻又偏偏等價”的結(jié)論。


Farkas 引理和強對偶形式也可以進一步推廣到一般的凸集優(yōu)化問題,證明手段相似,只不過在對區(qū)域和不等關(guān)系的討論上,比上面的線性規(guī)劃的過程更為細致和復(fù)雜。不過我也不是專門搞這些優(yōu)化問題的,所以只有一個模糊的認識,就不再繼續(xù)班門弄斧了。


Wasserstein GAN


好了,進行了一大通的準備工作后,我們終于可以導(dǎo)出 Wasserstein GAN 了,就本文來看,它只不過是線性規(guī)劃的對偶形式的一個副產(chǎn)品罷了。?


W距離的對偶


在推導(dǎo)之前,我們還是再來捋一捋本文的思路:本文先給出了 W 距離的定義 (1) ,然后經(jīng)過分析,發(fā)現(xiàn)它其實就是普通線性規(guī)劃問題的一個連續(xù)版本,轉(zhuǎn)化過程為 (7) , (8) 和 (9) ;因此中間我們花了相當(dāng)一部分篇幅去學(xué)習(xí)線性規(guī)劃及其對偶形式,最終得到了結(jié)論 (14) 。?


現(xiàn)在我們要做的事情,就是把整個過程“逆”過來,也就是將找出 (14) 對應(yīng)的連續(xù)版本,為 W 距離找一個對偶表達式。 其實這個過程也不復(fù)雜,由結(jié)論 (14) 和式 (9) ,我們得到:



注意式 (8) 中 b 是由兩部分拼起來的,所以我們也可以把 F 類似地寫成:



現(xiàn)在 ?b,F? 可以寫成:



或者對應(yīng)的積分形式是:



別忘了約束條件



代入計算后,可以發(fā)現(xiàn)這個諾大的矩陣運算實際上就說了這樣的一件事情:



或者直接寫成:



從對偶到WGAN


終于,我們就要接近尾聲了,現(xiàn)在我們得到了 W 距離 (1) 的一個對偶形式了:



注意到由 f(x)+g(y)≤d(x,y) 我們得到:



即 g(x)≤?f(x),所以我們有:



即如果 g=?f,它的最大值不會小于原來的最大值,所以我們可以放心地讓 g=?f,從而:



這便是我們最終要尋找的 W 距離 (1) 的對偶形式了,其中約束條件我們可以寫為 ||f||L≤1,稱為 Lipschitz 約束。


由于 p,q 都是概率分布,因此我們可以寫成采樣形式:



這就是 WGAN 的判別器所采用的 loss 了,自然地,整個 WGAN 的訓(xùn)練過程就是:



千呼萬喚的 WGAN 終于現(xiàn)身,剩下的就是怎么加 Lipschitz 約束的問題了,可以參考:深度學(xué)習(xí)中的Lipschitz約束:泛化與生成模型。


文章小結(jié)


本文主要介紹了 Wasserstein 距離,然后轉(zhuǎn)化為一個線性規(guī)劃問題,繼而介紹了線性規(guī)劃的對偶理論,最終導(dǎo)出了 Wasserstein 距離的對偶形式,它可以用作訓(xùn)練生成模型,即 WGAN 及后面一系列推廣。


本文是筆者對線性規(guī)劃及其對偶理論的一次簡單學(xué)習(xí)總結(jié),對熟悉線性代數(shù)后希望從理論上了解 WGAN 的讀者應(yīng)該會有一定的參考價值。如果對文中內(nèi)容有什么疑惑或批評,歡迎留言指出。




點擊以下標題查看作者其他文章:?


  • 變分自編碼器VAE:原來是這么一回事 | 附開源代碼

  • 再談變分自編碼器VAE:從貝葉斯觀點出發(fā)

  • 變分自編碼器VAE:這樣做為什么能成?

  • 從變分編碼、信息瓶頸到正態(tài)分布:論遺忘的重要性

  • 深度學(xué)習(xí)中的互信息:無監(jiān)督提取特征

  • 全新視角:用變分推斷統(tǒng)一理解生成模型

  • 細水長flow之NICE:流模型的基本概念與實現(xiàn)

  • 細水長flow之f-VAEs:Glow與VAEs的聯(lián)姻

  • 深度學(xué)習(xí)中的Lipschitz約束:泛化與生成模型




#投 稿 通 道#

?讓你的論文被更多人看到?



如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢??答案就是:你不認識的人。


總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?


PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。


??來稿標準:

? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?

? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?

? PaperWeekly 默認每篇文章都是首發(fā),均會添加“原創(chuàng)”標志


? 投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請單獨在附件中發(fā)送?

? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通




?


現(xiàn)在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關(guān)注」訂閱我們的專欄吧



關(guān)于PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。


▽ 點擊 |?閱讀原文?| 查看作者博客

總結(jié)

以上是生活随笔為你收集整理的从Wasserstein距离、对偶理论到WGAN的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。