【GAN优化】一览IPM框架下的各种GAN
今天的這篇小文將是GAN模型理論介紹的最后一篇。有一些內容,所用數學技巧和方法非常高大上,理論結果也非常漂亮,但是完全搞明白其中的門門道道需要相當大精力和知識鋪墊,況且實際運用也非常小眾,但是作為模型理論里十分重要的一部分,有必要做一定程度的了解。故今天的文章將類似于“參觀博物館”的形式,只大概展示一些結果,帶領大家看一看IPM框架和由此產生的各種各樣的GAN。
作者&編輯 | 小米粥
在第二期,已經解釋過原始形式的GAN其實只是fGAN的一個特例,在fGAN中我們可以通過選擇不同形式的f(x)來獲得不同的距離度量,從而產生各種GAN,例如LSGAN,EBGAN。其實,關于GAN的目標函數,除了f-divergence外還有另一大類:IPM,非常熟悉的WGAN便是屬于IPM框架下的一種GAN。類似地,我們也可以在IPM框架下產生各種各樣的GAN。
1 IPM
IPM(integral probability metric)也是一種對于兩個概率分布之間的距離的度量。在IPM技術中,首先定義了滿足某種限制條件的某一類函數的集合F,然后尋找一個最優的f(x)∈F使得兩個分布之間的差異最大,該最大的差異值即為兩個分布之間的距離:
這里要求f(x)(判別器)是可測、有界的實值函數,且函數空間F是對稱的。
正是由于選擇不同的函數空間F,導致了兩種分布之間的各種各樣的距離度量以及它們的性質差異。這點與f-divergence很像,例如在WGAN中,選擇函數空間F為:
WGAN將判別器函數限定為滿足1-Lipschitz條件,則對應了Wasserstein距離:
另外需要說明,IPM定義的距離度量雖然滿足對稱性、非負性、三角不等式,但是當該距離為0時,并不能嚴格證明兩個分布相等,故為一種偽度量。
在這樣的框架下,GAN的判別器(critic)先學習某種兩個分布之間的距離,其目標函數為:
然后,優化生成器使得該距離最小:
接下來,我們將簡單介紹三個不同類型的IPM,一起看一看IPM框架的強大泛化能力。
2. IPM框架下的GAN
2.1 Mean feature matching
如果我們定義函數空間為如下形式:
其中,v是m維的向量,其p范數小于等于1,Φ(x)是一個被w參數化的神經網絡,f(x)為兩個向量的內積。利用對偶范數的定義:
此時的IPM距離為:
其中,
為分布經過映射后的均值,這便是Mean feature matching GAN。
我們是這樣計算兩個分布之間的距離:尋找一個最優映射Φ(x)使得兩個分布在映射到Φ(x)的特征空間后,其均值的差異最大,均值最大差異值即為兩個分布之間的距離。接下來生成器的任務便是使得均值匹配,即均值差異變小。
我們不僅可以關注一階統計特征——均值,還可以關注數據二階統計特征——方差,類似得,函數空間F選擇為:
對應的IPM距離為:
我們稱之為Covariance Matching GAN。更進一步,同時考慮均值和方差兩個統計特征,則可以得到如下的IPM距離:
2.2 Maximum mean discrepancy
最大均值差異(Maximum mean discrepancy)距離在遷移學習中具有廣泛的應用,用來衡量兩個分布的距離以判斷其是否相似,它是在再生核希爾伯特空間中度量兩個分布的差異。當給定核函數(例如高斯核函數),便給定了一個希爾伯特空間,再將函數空間限定在希爾伯特空間的單位球中:
對應于高斯核的IPM距離為:
實際中,上述距離(MMD距離)是這樣計算的:
一個直觀的想法是直接最小化該距離,以此作為生成模型的目標函數,這便是GMMN(Generative moment matching networks),這與一般的GAN形式是不一樣的,它不存在判別器的部分,不需要訓練神經網絡來逼近兩個概率分布之間的距離。
MMD GAN在該思路上進行擴展,它不使用固定的高斯核函數,而是通過判別器幫助學習一個核函數來最大化希爾伯特空間上的平均值差異,并將差異值作為分布的距離供生成器訓練,需要說明一下它的核函數定義借鑒了高斯核函數的形式:
2.3 Fisher GAN
在線性判別分析中,我們希望找到這樣一條直線:將訓練樣本投影到直線上,可以使得同類型的樣本的投影點盡可能接近,而異類型的樣本的投影點盡可能遠離。類似于此,Fisher GAN不僅最大化均值差異,同時考慮了判別器的二階矩限制,其函數空間選擇為:
則其IPM距離為:
3. 小結
到此,我們花了五期來詳細地介紹了一下GAN模型。
第一期中我們介紹了其他生成模型和GAN,一般在生成模型中,對生成器的概率分布進行顯式建模,那么可以直接計算似然函數,再以最小化似然函數作為目標來訓練生成模型。而在GAN的框架中,需要先利用數學技巧將生成器定義的隱式概率分布和數據集的本質概率分布的距離轉化成可以通過采樣來計算的形式,再使用神經網絡(也就是判別器)來幫助逼近兩個概率分布的距離,最后將距離作為目標函數來訓練生成模型。
第二期中,我們介紹了一類框架f-divergence,在f-divergence中,通過選擇不同的f(x)來構造不同的距離,然后利用共軛函數對距離進行數學變換,使得可采樣得到距離的一個近似:
第三期中,先說明了f-divergence的問題:隨著數據空間維數增加,距離不連續。我們介紹了處處連續,幾乎處處可導且導數不為0的Wasserstein距離,由此引入WGAN,將目標函數視為線性規劃問題并利用對偶原理將其轉換成易于采樣求解的對偶問題,最后推導出WGAN。
第四期中,我們介紹了矩陣的特征值(奇異值)的本質、譜范數等內容,展示了如何施加1-Lipschitz,并介紹了一種可以完美解決1-Lipschitz的SNGAN,
第五期中,我們介紹了另一個與f-divergence同級別的IPM框架,在IPM中,通過選擇不同的函數空間來制造不同的距離。并簡單展示了在此框架下的WGAN,McGAN,MMD GAN,Fisher GAN等內容。
到此,相信大家對GAN這個生成模型已經有了基本、比較清晰的認識,不得不說,我們的GAN優化之路才剛剛開始了一點,之前只是著重于其基本原理和目標函數(當然,GAN的目標函數五花八門,目前只是做了最基本的闡述,以后肯定還會涉及其他內容,還會再介紹)從下一期開始,接下來我們將會關注GAN的訓練時的問題,大家有什么意見和建議歡迎留言,以便能更充分得準備內容。
[1]?Li, Chun-Liang, et al. "MMD GAN: Towards Deeper Understanding of Moment Matching Network." (2017).
[2]?Mroueh, Youssef, T. Sercu, and V. Goel. "McGan: Mean and Covariance Feature Matching GAN." (2017).
總結
這篇文章簡單介紹了一下IPM技術,以及給出幾個例子屬于IPM框架下的GAN,例如MMDGAN,FisherGAN等,并在最后對之前的內容做了回顧。
下期預告:GAN訓練中的問題
GAN群
有三AI建立了一個GAN群,便于有志者相互交流。感興趣的同學也可以微信搜索xiaozhouguo94,備注"加入有三-GAN群"。
有三AI夏季劃
有三AI夏季劃進行中,歡迎了解并加入,系統性成長為中級CV算法工程師。
轉載文章請后臺聯系
侵權必究
往期精選
【GAN優化】GAN優化專欄上線,首談生成模型與GAN基礎
【GAN的優化】從KL和JS散度到fGAN
【GAN優化】詳解對偶與WGAN
【GAN優化】詳解SNGAN(頻譜歸一化GAN)
【GAN優化】GAN優化專欄欄主小米粥自述,腳踏實地,莫問前程
【技術綜述】有三說GANs(上)
【模型解讀】歷數GAN的5大基本結構
【完結】深度學習CV算法工程師從入門到初級面試有多遠,大概是25篇文章的距離
【完結】優秀的深度學習從業者都有哪些優秀的習慣
【完結】給新手的12大深度學習開源框架快速入門項目
【完結】總結12大CNN主流模型架構設計思想
【AI不惑境】數據壓榨有多狠,人工智能就有多成功
【AI不惑境】網絡深度對深度學習模型性能有什么影響?
【AI不惑境】網絡的寬度如何影響深度學習模型的性能?
【AI不惑境】學習率和batchsize如何影響模型的性能?
【AI不惑境】殘差網絡的前世今生與原理
【AI不惑境】移動端高效網絡,卷積拆分和分組的精髓
總結
以上是生活随笔為你收集整理的【GAN优化】一览IPM框架下的各种GAN的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【NLP】有三AI NLP知识星球来了,
- 下一篇: 【知识星球】3D网络结构解读系列上新