作者:溫利武? ? 班級:1402019? ? ? 學號:14020199041
【嵌牛導讀】:深度學習的潛在優(yōu)勢就在于可以利用大規(guī)模具有層級結(jié)構(gòu)的模型來表示相關(guān)數(shù)據(jù)所服從的概率密度。從深度學習的浪潮掀起至今,深度學習的最大成功在于判別式模型。判別式模型通常是將高維度的可感知的輸入信號映射到類別標簽。訓練判別式模型得益于反向傳播算法、dropout和具有良好梯度定義的分段線性單元。然而,深度產(chǎn)生式模型相比之下遜色很多。這是由于極大似然的聯(lián)合概率密度通常是難解的,逼近這樣的概率密度函數(shù)非常困難,而且很難將分段線性單元的優(yōu)勢應用到產(chǎn)生式模型的問題?;谝陨系挠^察,作者提出了產(chǎn)生對抗網(wǎng)絡。
【嵌牛鼻子】:對抗網(wǎng)絡
【嵌牛提問】:對抗網(wǎng)絡背后的數(shù)學原理
【嵌牛正文】:。顧名思義,產(chǎn)生對抗網(wǎng)絡包含兩個網(wǎng)絡:產(chǎn)生器和判別器。產(chǎn)生器負責偽造一些數(shù)據(jù),要求這些數(shù)據(jù)盡可能真實(盡可能服從只有上帝知道的概率分布),而判別器負責判別給定數(shù)據(jù)是偽造的(來自產(chǎn)生器生成的數(shù)據(jù)),還是來自由上帝創(chuàng)造的真實分布。至此,我們不得不佩服作者如此的問題形式化。整個過程中就是在博弈。產(chǎn)生器盡可能偽造出真實的數(shù)據(jù),而判別器盡可能提高自身的判別性能。
這樣一種問題形式化實際上是一種通用框架,因為判別器和生成器可以是任何一種深度模型。為了簡單起見,該篇文章只利用多層感知機,而且生成器所生成的樣本是由隨機噪聲得到的。利用這種方法,整個模型的訓練融入了之前無法利用的反向傳播算法和dropout. 這個過程中不需要近似推測和馬爾科夫鏈。
產(chǎn)生對抗網(wǎng)絡
這部分將具體介紹產(chǎn)生對抗網(wǎng)絡模型,并詳細推導出GAN的優(yōu)化目標。
簡單起見,生成器和判別器都基于多層感知神經(jīng)元。對于生成器,我們希望它是一個由噪聲到所希望生成數(shù)據(jù)的一個映射;對于判別器,它以被考查的數(shù)據(jù)作為輸入,輸出其服從上帝所定義的概率分布的概率值。下圖清晰地展示了這個過程。
假設我們有包含m個樣本的訓練集
. 此外,任給一種概率密度函數(shù)
(當然,在保證模型復雜度的前提下,相應的概率分布越簡單越好),我們可以利用隨機變量
采樣得到m個噪聲樣本
. 由此,我們可以得到似然函數(shù)


進一步,得到對數(shù)似然

由大數(shù)定律,當m→∞時,我們用經(jīng)驗損失來近似期望損失,得
回到我們的初衷:整個過程中就是在博弈。產(chǎn)生器盡可能偽造出真實的數(shù)據(jù),而判別器盡可能提高自身的判別性能。注意到我們剛剛構(gòu)造的似然函數(shù)是針對判別器D(?)的優(yōu)化目標函數(shù)。因此,我們一方面希望對判別器的可學習參數(shù)優(yōu)化,極大化對數(shù)似然函數(shù),另一方面我們希望對判別器的可學習參數(shù)優(yōu)化,極小化對數(shù)似然函數(shù)。將此形式化得到我們的優(yōu)化目標:
相關(guān)理論結(jié)果
生成器G(?)實際上隱式定義了一個概率分布pg,將其稱之為隱式是因為G是從噪聲
到樣本G(z)的映射。由此,我們自然會提出一個問題:通過這樣的建模以及訓練方式得到的pg能否最終達到上帝創(chuàng)造的那個分布pdata,或者說兩者差距到底多少?
這個問題由下面的命題和定理回答。
首先,任意給定生成器G,我們考慮最優(yōu)判別器D.
命題1. 對于給定G,最優(yōu)判別器為
證明.
給定G,我們目標是最大化V(G,D)
其中,χ和Ω分別為x和z的積分域或者說是樣本空間。
注意到第二項,利用映射關(guān)系x=G(z),我們可以得到
這一步并不顯然。(詳細推導見附錄C:測度論中隨機變量的換元)
所以,
由于G已經(jīng)給定,上帝創(chuàng)造的分布也是確定的,因此pdata和pg都是非零定函數(shù),我們的目標是找到一個函數(shù)D使得V(G,D)到達最大。因此,我們對D求變分(見附錄A),令其為0,可以得到,極大值點
證畢。
有了這個定理,我們可以進一步將這個min max博弈重新形式化為最小化C(G),其中
下面,我們提出并證明定理1. 由此回答本節(jié)最開始提出的問題:通過這樣的建模以及訓練方式得到的pg能否最終達到上帝創(chuàng)造的那個分布pdata,或者說兩者差距到底多少?
定理1. 對于C(G)的全局優(yōu)化最小值可達,當且僅當pg=pdata,并且最小值為?log4.
證明.
等號成立的條件為
(見附錄B)
證畢。
由此可見,生成器完美地浮現(xiàn)了上帝創(chuàng)造數(shù)據(jù)的過程!
下面我們正式給出GAN訓練算法流程,如下圖所示。
注意到,作者給出的算法和我們的優(yōu)化目標并不一致。我們推導出的優(yōu)化目標,是先對D優(yōu)化并將其優(yōu)化到底,然后再對G優(yōu)化。之所以實際訓練流程與其不一致,是因為實際中如果對D優(yōu)化到底,這將會導致很高的計算代價,而且通常會導致過擬合。相反,該算法是先對D優(yōu)化k步,然后再進行一步對G的優(yōu)化。通過這種方法,只要G變化得足夠慢,D總是在最優(yōu)解的附近。自然地,我們會提出一個疑問,這樣交叉地訓練G和D和形式化得到的minmax博弈,兩者得到的解差距有多少?這個問題由下面的命題回答。
我們不加證明地給出該算法的收斂性。
命題2. 假設G和D有足夠的表達能力,并且假設算法1的每一步,給定G,D都可以達到最優(yōu),并且pg依照下面目標優(yōu)化
那么,pg可以收斂到pdata.
我們通過下面的示意圖,可以更加直觀地理解整個訓練的過程。
最下面的水平線代表噪聲的域,x代表樣本的域??梢钥吹紾(z)將一個從均勻分布采集到的樣本映射到了非均勻分布的支撐集上去了。綠色的曲線代表x=G(z)的概率密度函數(shù)pg;黑色曲線代表上帝創(chuàng)造的概率密度函數(shù)pdata;藍色的曲線代表判別概率函數(shù)D。(a)接近收斂時,可以看到判別函數(shù)D是部分正確的;(b)此時進行算法的內(nèi)循環(huán)優(yōu)化,即對于當前狀態(tài)的G,優(yōu)化D,優(yōu)化結(jié)果如(b)圖的藍線所示;(c)進行完內(nèi)循環(huán)優(yōu)化后,固定D,對G進行優(yōu)化,可以看到D的梯度驅(qū)使G走向D的分界面;(d)最后,如果G和D都具有足夠的表達能力,兩者會達到一個平衡,即pg=pdata,此時判別器無法區(qū)分兩者,即D(x)=1/2.
實驗效果
下面我們來欣賞一下偽裝上帝的效果吧!
每張圖的最右側(cè)一欄是在訓練集中的與生成樣本的最近鄰樣本??梢姡P驮跊]有記憶訓練集的情況下生成了多樣化的類似風格的圖片。不像其他生成模型的可視化那樣,這些圖片都是由模型分布直接生成的,而不是利用條件概率的方法。并且,這些圖片不像利用馬爾科夫鏈采樣過程那樣所生成的圖像之間是不相關(guān)的。(a)(b)(c)(d)依次是MNIST, TFD, CIFAR-10(全連接模型), CIFAR-10(卷積判別器和反卷積生成器)
附錄
A.K-L散度
在概率論和信息論中,K-L散度,也稱之為信息增益,是衡量兩個概率分布差異的一種“度量”。我們首先給出K-L散度的定義。分為離散形式和連續(xù)形式。
對于離散形式,給定兩個離散型隨機變量所對應的概率函數(shù)P和Q,兩者的K-L散度定義為
對于連續(xù)形式,給定兩個連續(xù)型隨機變量所對應的概率密度p和q,兩者的K-L散度定義為
定義很抽象,下面我們對其進行直觀的解讀。注意到之所以這種“度量”是加引號的,因為它并不符合數(shù)學上真正度量的公理之一,即對稱性。也就是說DKL(p∥q)≠DKL(q∥p). 那么前后位置的差異代表什么實際含義呢?
前置位,如定義式中的P(或p)可以理解為數(shù)據(jù)的真實分布,而Q(或q)是模型對真實分布的一種近似。另一種理解是,DKL(P∥Q)表示從先驗Q到后驗P帶來的信息增益。
K-L散度有如下幾個重要性質(zhì):
(1) K-L散度是具有良好定義的,當且僅當,當對于某些x,q(x)=0, 一定有p(x)=0;
(2) 對于某些x,當p(x)=0,一定有
(因為limx→0xlnx=0)
(3)DKL(p∥q)≥0?等號成立的條件是p=q.
下面證明一下最后一條性質(zhì)。
證畢。
B.泛函變分
泛函變分實際上是函數(shù)微分的一種自然的推廣。
對于給定泛函
其中

我們可以仿照泰勒公式,定義泛函的展開形式,對于任意η(?),

其中x=G(z).
我們首先定義測度空間
,其中
為z的樣本空間,F(xiàn)為σ-代數(shù)。進一步,易證G(?)是可測函數(shù):
,其中
為x的樣本空間,G為的σ-代數(shù)。因此,我們有
其中PG為x的分布。
證畢。