生成对抗网络(GAN)的数学原理全解
?PaperWeekly 原創 ·?作者|孫裕道
學校|北京郵電大學博士生
研究方向|GAN圖像生成、情緒對抗樣本生成
論文標題:
A Mathematical Introduction to Generative Adversarial Nets
論文鏈接:
https://arxiv.org/abs/2009.00169
引言
Goodfellow 大神的開創性工作 GAN 自 2014 年誕生以來,GAN 就受到了極大的關注,并且這種關注導致了 GANs 的新思想、新技術和新應用的爆炸式增長。
GAN 的原論文中的證明會有一些不嚴謹的地方,并且在算法中為了訓練效率更高,也有很多簡化,其實這也是這個領域的一個常見現象,在北大的深度學習的數學原理的暑期課上,老師就提到過深度學習中數學嚴謹證明占 6 成。
言外之意就是該領域的證明過程并沒有純數學的那么嚴謹,當從計算機科學工程師角度去推導證明的時候,往往會有跟實際相悖的前提假設,但是從該假設推導出來的結論卻是與實驗結果相符或者該結論會對解決實際問題中有一定的指導意義。
該作者是一個數學底蘊很強的 AI 研究者,該論文的目的是試圖從數學的角度對 GANs 進行概述,是一篇不可多得好有關 GAN 數學原理的理論性文章,論文中涉及到大量的數學原理和很多讓人眼花繚亂的數學符號,可以把它當成一個 GAN 的理論手冊,對哪一塊感興趣就可以認真研讀一番。
GAN背景介紹
榮獲圖靈獎品有深度學習三劍客之稱的 Yann LeCun 稱曾表示“GAN 的提出是最近 10 年在深度學習中最有趣的想法”。
下圖表示這 2014 到 2018 年以來有關 GAN?的論文的每個月發表數量,可以看出在 2014 年提出后到 2016 年相關的論文是比較少的,但是從 2016 年,或者是 2017 年到今年這兩年的時間,相關的論文是真的呈現井噴式增長。
GAN 的應用十分廣泛,它的應用包括圖像合成、圖像編輯、風格遷移、圖像超分辨率以及圖像轉換,數據增強等。
在這篇論文中,作者將嘗試從一個更數學的角度為初學者介紹 GAN,要完全理解 GANs,還必須研究其算法和應用,但理解數學原理是理解 GANs 的關鍵的第一步,有了它,GANs 的其他變種將更容易掌握。
GAN 的目標是解決以下問題:假設有一組對象數據集,例如,一組貓的圖像,或者手寫的漢字,或者梵高的繪畫等等,GAN 可以通過噪聲生成相似的對象,原理是神經網絡通過使用訓練數據集對網絡參數進行適當調整,并且深度神經網絡可以用來近似任何函數。
對于 GAN 判別器函數 D 和生成函數 G 建模為神經網絡,其中具體 GAN 的模型如下圖所示,GAN 網絡實際上包含了 2 個網絡,一個是生成網絡 G 用于生成假樣本,另一個是判別網絡 D 用于判別樣本的真假,并且為了引入對抗損失,通過對抗訓練的方式讓生成器能夠生成高質量的圖片。
具體的,對抗學習可以通過判別函數 和生成函數 之間的目標函數的極大極小值來實現。生成器 G 將來自于 分布隨機樣本 轉化為生成樣本 。判別器 試圖將它們與來自分布 ?的訓練真實樣本區分開來,而 G 試圖使生成的樣本在分布上與訓練樣本相似。
GAN的數學公式
GAN的對抗博弈可以通過判別函數 和生成函數 之間的目標函數的極大極小值來進行數學化的表示。生成器 將隨機樣本 分布 轉化為生成樣本 。判別器 試圖將它們與來自分布 的訓練樣本區分開來,而 試圖使生成的樣本在分布上與訓練樣本相似。對抗的目標損失函數如下所示為:
其中公式中, 表示關于下標中指定分布的期望值。GAN 解決的極小極大值的描述如下所示:
直觀上,對于給定的生成器 , 優化判別器 以區分生成的樣本 ,其原理是嘗試將高值分配給來自分布 的真實樣本,并將低值分配給生成的樣本 。
相反,對于給定的鑒別器 , 優化 ,使得生成的樣本 將試圖“愚弄”判別器 以分配高值。設 ,其分布為 ,可以用 和 重寫 為:
將上面的極大極小問題變為如下公式:
假設 具有密度 , 具有密度函數 (需要注意的是只有當 時才會發生)。綜上所述最終可以寫成:
可以觀察到,在某些 的 的約束下,上述值與 等效。
論文中有大量公式和證明,會看的讓人很頭大,而且不同的命題和不同的定理交錯出現,為了讀者能夠減少閱讀障礙,我從中挑選了一些自認為比較重要的定理和命題,并且給它們重新進行了排序整理。
命題1:給定在 上的概率分布 和 ,其中它們的概率密度函數為 和 ,則有如下:
其中,,的取值范圍為(sup表示上確界)。
定理1:設 是 上的概率密度函數。對于密度函數為 和 的概率分布 ,其極大極小值問題可以描述為:
對所有 ,可以解得 and 。
定理 1 說極大極小問題的解就是 Ian Goodfellow 在 2014 年那篇論文中推導出的 GAN 的優化解。
定理2:設 為 上給定的概率分布。對于概率分布 和函數 ,則有:
其中, and 對于 來說幾乎處處存在。
命題2:如果在每個訓練周期中,允許鑒別器 達到其最佳給定 ,然后更新 ,根據最小化準則有:
其中,分布 是收斂于分布 。
從純數學的角度來看,這個命題 2 并不嚴謹。然而,它為解決 GAN 極小極大問題提供了一個實用的框架。
綜上命題和定理可以將其歸納為如下的 GAN 算法框架,為了表達清晰,重新整理了一下該算法框架。
f-散度和f-GAN
4.1 f-散度
GAN 的核心本質是通過對抗訓練將隨機噪聲的分布拉近到真實的數據分布,那么就需要一個度量概率分布的指標—散度。我們熟知的散度有 KL 散度公式如下(KL 散度有一個缺點就是距離不對稱性,所以說它不是傳統真正意義上的距離度量方法)。
和 JS 散度公式如下(JS 散度是改進了 KL 散度的距離不對稱性):
但是其實能將所有我們熟知散度歸結到一個大類那就是 f- 散度,具體的定義如下所示:
定義1:設 和 是 上的兩個概率密度函數。則 和 的 f- 散度定義為:
其中,如果 時,會有 。
需要搞清楚一點事的 f- 散度依據所選函數不一樣,距離的不對稱也不一樣。
命題3:設 是域 上的嚴格凸函數,使得 。假設(相當于 )或 ,其中 。則有 , 當且僅當 。
4.2 凸函數和凸共軛
凸函數?的凸共軛也被稱為 的 Fenchel 變換或 Fenchel-Legendre 變換,它是著名的 Legendre 變換的推廣。設 是定義在區間 上的凸函數,則其凸共軛 定義為:
引理1:假設 是嚴格凸的,且在其域 上連續可微,其中 與。則有:
命題4:設 是 上的凸函數,其值域在 內。那么 是凸的并且是下半連續的。此外,如果 是下半連續的,則滿足 Fenchel 對偶 。
下表列出了一些常見凸函數的凸對偶,如下表所示:
4.3 用凸對偶估計f-散度
為了估計樣本的 f- 散度可以使用 f 的凸對偶,具體的推導公式如下所示:
其中 是任何 Borel 函數,這樣就得到了所有的 Borel 函數如下所示:
命題5:設 是嚴格凸的且在 上連續可微的,設 , 是 上的 Borel 概率測度,使得 ,則有:
其中 是一個優化器。
定理3:設 是凸的,使得 的域對某些 包含 ,設 是 上的 Borel 概率測度,則有:
其中對于所有的 Borel 函數有 。
定理4:設 是下半連續凸函數,使得 的域 具有 。設 為 上的 Borel 概率測度,使得 ,其中 和?。那么:
其中對于所有的 Borel 函數有 。
4.4 f-GAN和VDM
用 f- 散度來表示 GAN 的推廣。對于給定的概率分布 ,f-GAN 的目標是最小化相對于概率分布 的 f- 散度 。在樣本空間中,f-GAN 解決了下面的極大極小問題:
可以將如上的優化問題稱為變分散度最小化(VDM)。注意 VDM 看起來類似于 GAN 中的極大極小值問題,其中 Borel 函數 被稱為評判函數。
定理5:設 是一個下半連續嚴格凸函數,使得 的域 。進一步假定 在其域上是連續可微的,且 并且 。設 ? 上的 Borel 概率測度,則 有如下公式:
其中對于所有的 Borel 函數有 。
綜上所述,下面為 f-GAN 的算法流程框架。
4.4.1 Example1:?
當函數 ,這里的f-散度就是為我們熟知的 KL 散度。則它的共軛函數為 ,其中 ,其相應的目標函數為:
其中 ,忽略掉常數 +1 的常數項,并且 ,然后會有我們最原始的那種 GAN 的形式:
4.4.2 Example2:?
這就是詹森-香農散度,該函數的共軛函數為 ,域 。相應的 f-GAN 的目標函數為:
其中 ,,,所以進一步可以化簡為:
其中在這個公式中忽略掉常數項 。
4.4.3 Example3: ,
該函數的共軛函數為 ,域 。當 不是嚴格凸的連續可微時,相應的 f-GAN 目標函數如下所示:
上面這個目標函數的形式就是 Wasserstein GAN 的目標函數。
4.4.4 Example4:?
已知 ,所以該函數為嚴格凸函數。相應的 f-GAN 的目標函數為:
對上公式進一步求解可得:
其中里面有原始 GAN 論文中使用的“logD”技巧,用于 GAN 解決梯度飽和問題。
GAN的具體實例
對于 GAN 的應用實例,我沒有按照論文中給出的實例進行介紹,我介紹了在自己的感官上覺得不錯的 GAN。
5.1 WGAN
訓練一個 GAN 可能很困難,它經常會遇到各種問題,其中最主要的問題有以下三點:
消失梯度:這種情況經常發生,特別是當判別器太好時,這會阻礙生辰器的改進。使用最佳的判別器時,由于梯度的消失,訓練可能失敗,因此無法提供足夠的信息給生成器改進。
模式塌縮:這是指生成器開始反復產生相同的輸出(或一小組輸出)的現象。如果判別器陷入局部最小值,那么下一個生成器迭代就很容易找到判別器最合理的輸出。判別器永遠無法學會走出陷阱。
收斂失敗:由于許多因素(已知和未知),GANs 經常無法收斂。
WGAN 做了一個簡單的修改,用 Wasserstein 距離(也稱為推土機(EM)距離)代替 GAN 中的 Jensen-Shannon 散度損失函數。不要忽視這一修改的意義:這是自 GAN 誕生以來本課題最重要的進展之一,因為 EM 距離的使用有效地解決了基于散度的 GAN 的一些突出缺點,從而可以減輕 GANs 訓練中常見的故障模式。
5.2 DCGAN
DCGAN 是將卷積引入到 GAN 的訓練過程中,使得參數量和訓練效果更好,它實際訓練 GANs 中提供了很多的指導方向,具體有如下五點:
用跨步卷積替換生成器和判別器中的任何池化層。
在生成器和鑒別器中使用批處理規范化。
移除完全連接的隱藏層以獲得更深層的架構。
除了使用 Tanh 的輸出之外,在生成器中對所有層使用 ReLU 激活,。
在所有層的判別器中使用 LeakyReLU 激活。
需要注意的是判別器是從高維向量到低維向量是卷積過程,如下圖所示:
生成器是低維向量到高維向量是一個反卷積過程,反卷積又名轉置卷積和微步卷積,卷積和反卷積兩者的區別在于 padding 的方式不同,看看下面這張圖片就可以明白了:
DCGAN 還有一個重要的創新之處在于將矢量加法引入到圖像生成中,如下圖所示:
5.3 StyleGAN
StyleGAN 提出了一個新的生成器框架,號稱能夠控制所生成圖像的高層級屬性,如發型、雀斑等;并且生成的圖像在一些評價標準上得分更好,作為無監督學習的一種 GAN,它能夠從噪聲生成高分辨率的高清圖像。具體的算法框架原理圖如下所示:
StyleGAN 中生成的圖像之清晰,細節之豐富由下圖可見一斑,當然訓練的成本也是很高的。
5.4 zi2zi
zi2zi 是我最喜歡的 GAN 的一種應用,它是利用 GAN 來對字體風格進行轉換,以前的工作是處理類似的中文字體轉化問題,結果不是很理想,糾其原因有生成的圖片通常很模糊,對更多的有風格的字體處理時效果不好,每次只能有限地學習和輸出一種目標字體風格,GAN 能很好的解決以上問題,其模型框架如下圖所示:
中文字符,不論簡體還是繁體,或者日本文,都用相同的原理構建并有著一系列相同的根基,其中具體的實現結果如下圖所示:
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的生成对抗网络(GAN)的数学原理全解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息称英伟达 RTX 4090/4090
- 下一篇: 上市公司分红散户能分到吗