Generative Adversarial Networks(Section 2)

2 生成式模型如何工作?比較 GANs 和其他生成式模型有何不同?

我們現在了解了生成式模型能做什么以及為何有必要來構建生成式模型。現在我們要問:生成式模型如何工作的?尤其是,相比于其他的生成式模型,GANs 如何工作?

2.1 最大似然估計(Maximum likelihood estimation)

為了簡化討論,我們先來看看通過最大似然原理進行的生成式模型。不是所有的生成式模型采用最大似然。一些生成式模型默認是不使用最大似然的,但是可以通過改動來使用(GANs 就落在這類)。如果忽略那些不使用最大釋然,聚焦于一般不用最大似然的模型的最大似然版本的模型,我們可以去掉不同模型之間的一些讓人格外分心的差異。

最大似然的基本想法是定義一個給出參數為 θ 的概率分布的估計的模型。然后將 似然(likelihood) 定義為模型分配給訓練數據的概率


這個數據集包含 m 個樣本 x(i)

最大似然的原理實際上就是選擇可以最大化訓練數據的似然的模型參數。這在對數空間中很容易完成,我們可以將原來的乘積轉化為求和。這樣可以簡化似然關于模型的導數的代數表達式,而且在用計算機實現的時候,也能夠避免數值問題,比如說乘上幾個很小的概率值的時候出現的下溢情形。

在(2)式中,我們用到了性質:對正數 v,有



由于對數函數是一個單調增函數,并不會概率最大值的位置。

在圖 8 中我們給出最大似然過程的示例。
我們同樣可以將最大似然估計看做是最小化生成概率分布和模型的 KL散度

如果我們能夠足夠準確地做到此操作,那么若 pdata 處在分布 pmodel(x;θ) 族中,則模型能夠準確地恢復 pdata。實踐中,我們不能獲取 pdata 本身,而僅僅是從pdata中采樣出的 m 個樣本的訓練集。我們使用這些來定義 p^data,即將概率放在這 m 個點上的經驗分布,來近似pdata。最小化 p^datapmodel 之間的 KL 散度實際上就和最大化訓練集的似然完全等價。

對最大似然和其他統計估計量更加詳細的討論參見 Goodfellow 等人深度學習書中第 5 章。

2.2 深度生成式模型的分類

如果我們將注意力放在通過最大化似然的深度生成式模型上,我們可以通過對比他們計算似然及其梯度或者近似這些量的方式來比較這幾種模型。如前面提到的,這些模型中很多是不通過最大似然的原理進行的,但是我們可以檢查這些模型的最大似然變體來減少這些方法之間的不同。所以按照這樣的觀點,我們構建了在圖 9 中的分類。分類樹的每個葉子都有其優缺點。GANs 為了避免這樣缺點設計而成,但同時也引入一些新的缺點。


圖 9

2.3 顯式的密度模型

在分類樹的左邊分支是定義了顯式的密度函數 pmodel(x;θ)。對這些模型,最大化似然是直接的;我們簡單地將模型定義密度函數插入到似然函數的表達式中,然后使用梯度上升即可。

顯式的密度模型引入的主要困難是設計一個可以刻畫要被生成的數據所有復雜性的模型同時又能保持計算易解性。有兩種不同的解決策略來解決這個問題:(1)精心設計模型來保證易解性,在 2.3.1 節會進行解釋,(2)模型可以獲得似然及其梯度的易解近似,在 2.3.2 節解釋。

2.3.1 易解顯式模型

在分類樹最左的葉子上面的模型定義了一個顯式的計算易解的密度函數。目前有兩種方法來解決:全可見信念網絡(Fully visible belief networks)和非線性獨立成分分析(Non linear independent components analysis)。

全可見信念網絡 全可見信念網絡(Frey et al. 1996; Frey, 1998) 或者 FVBN 是使用概率鏈式法則將一個 n-維向量 x 分解為一維概率分布的乘積形式的概率分布:

FVBNs 是生成式建模的三個流行方法之一,另外兩個是 GANs 和變分自編碼器。他們形成了來自 DeepMind 復雜生成式模型(如 Wavenet,Oord et al., 2016)的基礎。Wavenet 能夠產生真實的人類語音。FVBNs 的主要缺點是樣本必須每次產生一個:首先是 x1,然后是 x2
等等,所以生成一個樣本的代價是 O(n)。在現代 FVBN 如 Wavenet 中,在每個 xi 上的分布用一個深度神經網絡計算得出,所有這 n 個步驟需要特別大的計算量。而且,這些步驟不能并行。Wavenet 需要兩分鐘才能產生一秒的聲音,不能進行交互式對話。GANs 設計為能夠并行產生所有的 x,有著更好的生成速度。

圖 10

非線性獨立成分分析 另一類有著顯式密度函數的深度生成式模型族是基于兩個不同空間的連續、非線性變化的。例如,如果有一個隱含變量 z 向量和一個連續、可微分、可逆的變換 g 使得 g(z) 得到一個在 x 空間的模型產生的樣本,那么

?所以 px 易解當密度 pz 易解且g-1 Jacobian 行列式易解。換言之,在 z 上的簡單的分布加上一個變換 g 可以用復雜方式來對空間進行變形可以產生一個 x 上的復雜分布,如果 g 設計得很巧妙,這個密度也會易解。使用非線性 g 函數的模型最早可以追溯到 Deco 和 Brauer(1995) 的工作。而這個族的最新成員是 real NVP(Dinh et al., 2016)。參見圖 10中由 real NVP 生成的 ImageNet 樣本。非線性 ICA 模型主要缺點是他們引入對函數 g 的限制。特別是,可逆性要求意味著隱含變量 z 必須有和 x 同樣的維度。GANs 的設計思想就是減少這樣的對 g 的限制,尤其是可以使用比 x 更大維度的 z

如果想了解更多的關于用來定義 FVBN 的概率鏈式法則或者用來定義非線性 ICA 模型的概率密度函數的確定型變換的影響,請參考 Goodfellow et al. 書的第 3 章。

這里總結一下,定義了一個顯式、易解密度函數的模型是非常有效的,因為他們可以直接在訓練數據的對數似然上直接應用優化算法。然而,擁有易解密度的模型族其實很有限,不同的族也有相應不同的缺點。

2.3.2 需要近似的顯式模型

為了避開由設計易解密度函數的要求帶來的缺點,另外也有一些模型可以有顯式的密度函數,這些函數是不易解的,需要使用近似來最大化似然。這些基本上被分為兩個類別:使用確定型近似(一般就是指變分方法)和隨機近似方法(Markov chain Monte Carlo,MCMC 方法)。

變分近似 變分方法定義了一個下界

最大化 L 的學習算法確保能夠獲得至少和其作用在 L 上一樣高的似然值。對許多模型的族,即使在對數似然不是易解的情形下,可以定義一個 L 是計算易解的。目前,在深度生成式模型中變分學習最流行的方法就是 變分自編碼器(Variational autoencoder)(Kingma, 2013;Rezende et al., 2014) 或者 簡稱 VAE。變分自編碼器是最流行的三個深度生成式模型之一,除此之外就是 FVBNs 和 GANs。而變分方法的主要缺點就是,當近似后驗分布太弱或者先驗分布太弱,即使有一個完美的優化算法和無限的訓練數據,L 和真實的似然之間的間隔會導致 pmodel 學到和真實的 pdata 不同的東西。GANs 被設計成無偏的,就是說在給定足夠大的模型和無限數據的情況下,GAN 博弈的 Nash 均衡能夠準確恢復 pdata。在實踐中,變分方法通常能夠獲得非常好的似然,但是會產生低質量的樣本。并沒有一種好的方法來量化樣本的質量,所以這其實是一個主觀判斷,不是實驗事實。參見圖 11 VAE 生成的樣本。盡管很難指出 GAN 設計的一個方面說這是獲得更好樣本的起作用的部分,GANs 一般會生成更好的樣本。對比 FVBNs,VAEs 是更難優化的,但是 GANs 并不是在這個方面做了優化,參考 Goodfellow 書的第 19 章。

圖 11

實驗中,高度靈活的先驗或者靈活的近似后驗的 VAEs 可以獲得靠近他們自身對數似然 L 的值(Kingma et al., 2016; Chen et al., 2016)當然,這是測試目標和最大界的界之間的間隔。VAEs 能夠得到與其他方面相差不多的似然,也就是說他們同樣靠近目標的最大值。L. Dinh 和 D. Kingma 已經給出了一個猜想,模型族(Dinh et al., 2014; Rezende and
Mohamed, 2015; Kingma et al., 2016; Dinh et al., 2016) 可以用作 VAE 先驗或者近似后驗是通用近似子。如果這個被證明,就可以知道 VAEs 是漸進一致的。

Markov chain 近似 大多數深度學習算法使用某種形式的隨機近似,至少是采用了使用小量隨機選擇的訓練樣本形成一個小批量來最小化期望損失函數。通常,基于采樣的近似在有用的樣本被快速采樣(比如說,選擇單個樣本操作代價很小)并且只要這些樣本方差也不高的情形下能夠表現的很好。一些模型需要采取 Markov chain 來生成更加昂貴的樣本。Markov chain 是一個通過重復采樣樣本 x'~q(x'|x) 來生成樣本的過程。并根據變換算子 q來更新 x,Markov chain 方法可以保證 x 最終會收斂到一個來自 pmodel(x) 的樣本。不幸的是,這個收斂過程會非常緩慢,也沒有很好的方法來測試是否已經收斂,所以在實踐中,通常會在其沒有真正收斂到一個 pmodel 的樣本時,過早使用 x。在高維空間中,Markov chain 更加低效。Botlzmann machiness (Fahlman et al., 1983; Ackley et al., 1985; Hinton et al., 1984; Hinton and
Sejnowski, 1986) 是依賴于 Markov chain 訓練模型和生成樣本的一類生成式模型。Botlzmann machines 在深度學習復興的開始發揮了重要作用(Hinton et al., 2006; Hinton, 2007) 但是現在很少有人使用了,最大的原因是其依賴的 Markov chain 近似技術在 ImageNet 這樣的問題上難以規模化。而且,即使 Markov chain 方法能夠規模化很好用來訓練,用其進行樣本生成也有非常大的計算消耗,大家往往會選擇單步生成方法。也是因為這樣的原因,GANs 才設計成避免使用 Markov chain。對 Markov chain Monte Carlo 近似更詳細的討論參見 Goodfellow 書的第 18 章。在同一本書的第 20 章有對 Botlzmann machines 的介紹。

還有一些方法同時使用了變分和 Markov chain 近似。例如,深度 Boltzmann machine 用了這兩個類型的近似(Salakhutdinov and Hinton, 2009).

2.4 隱式密度模型

有些模型可以不需要顯式定義一個密度函數進行訓練。這些模型給出了一種間接和pmodel 進行交互的方式(通常是從中進行采樣)訓練模型。這些技術構成了圖 9 中分類圖的第二個分支。

一些基于從pmodel 進行采樣的方式隱式模型定義了一個 Markov chain 轉移算子,必須運行多次來從模型中獲得一個樣本。這個家族中的首個例子就是生成式隨機網絡(Generative stochastic network)(Bengio et al., 2014)。正如 2.3.2 節中講的那樣,Markov chain 常常不能規模化到高維空間中,而且在生成時也有過高的計算代價。GANs 就是針對這些問題進行設計的。

最后,最右邊的葉子是單步生成樣本的隱式模型族。在這個家族中,GANs 是唯一一個成員,但是后來也有了 Kernelized moment matching 這樣的模型(Li et al., 2015; Dziugaite et al., 2015).

2.5 對比 GANs 和其他生成式模型

總結一下,GANs 針對其他生成式模型的缺點進行設計的:

  • 他們可以并行生成樣本,而不是隨 x 的維度變化的運行時間。這是相對于 FVBN 的優點。
  • 生成器函數的設計只有很少的限制。這個優點是對比于 Boltzmann machine 說的,因為很少概率分布能夠給出易解的 Markov chain 采樣,而相比較于非線性 ICA,則因為生成器必須是可逆的而且隱含編碼 z 必須要和樣本 x 有著同樣的維度。
  • 不需要 Markov chain。這相較于 Boltzman machines 和 GSNs
  • 不需要有變分界,在 GANs 框架中可用的特定模型族已經證實是通用近似子,所以 GANs 其實是漸進一致的。某些 VAEs 被猜想是漸進一致的,但還沒有被證實。
  • 主觀上判斷 GANs 能夠產生比其他方法更好的樣本。

同時,GANs 也有新的缺點,訓練 GANs 需要找到博弈的 Nash 均衡,這個其實是一個比優化目標函數更加困難的問題。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,431評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,637評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,555評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,900評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,629評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,976評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,976評論 3 448
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,139評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,686評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,411評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,641評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,129評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,820評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,233評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,567評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,362評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,604評論 2 380

推薦閱讀更多精彩內容