Generative Adversarial Networks(Section 2)

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

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

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

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

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


這個數(shù)據(jù)集包含 m 個樣本 x(i)。

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

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



由于對數(shù)函數(shù)是一個單調(diào)增函數(shù),并不會概率最大值的位置。

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

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

對最大似然和其他統(tǒng)計估計量更加詳細(xì)的討論參見 Goodfellow 等人深度學(xué)習(xí)書中第 5 章。

2.2 深度生成式模型的分類

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


圖 9

2.3 顯式的密度模型

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

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

2.3.1 易解顯式模型

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

全可見信念網(wǎng)絡(luò) 全可見信念網(wǎng)絡(luò)(Frey et al. 1996; Frey, 1998) 或者 FVBN 是使用概率鏈?zhǔn)椒▌t將一個 n-維向量 x 分解為一維概率分布的乘積形式的概率分布:

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

圖 10

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

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

如果想了解更多的關(guān)于用來定義 FVBN 的概率鏈?zhǔn)椒▌t或者用來定義非線性 ICA 模型的概率密度函數(shù)的確定型變換的影響,請參考 Goodfellow et al. 書的第 3 章。

這里總結(jié)一下,定義了一個顯式、易解密度函數(shù)的模型是非常有效的,因為他們可以直接在訓(xùn)練數(shù)據(jù)的對數(shù)似然上直接應(yīng)用優(yōu)化算法。然而,擁有易解密度的模型族其實(shí)很有限,不同的族也有相應(yīng)不同的缺點(diǎn)。

2.3.2 需要近似的顯式模型

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

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

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

圖 11

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

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

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

2.4 隱式密度模型

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

一些基于從pmodel 進(jìn)行采樣的方式隱式模型定義了一個 Markov chain 轉(zhuǎn)移算子,必須運(yùn)行多次來從模型中獲得一個樣本。這個家族中的首個例子就是生成式隨機(jī)網(wǎng)絡(luò)(Generative stochastic network)(Bengio et al., 2014)。正如 2.3.2 節(jié)中講的那樣,Markov chain 常常不能規(guī)?;礁呔S空間中,而且在生成時也有過高的計算代價。GANs 就是針對這些問題進(jìn)行設(shè)計的。

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

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

總結(jié)一下,GANs 針對其他生成式模型的缺點(diǎn)進(jìn)行設(shè)計的:

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

同時,GANs 也有新的缺點(diǎn),訓(xùn)練 GANs 需要找到博弈的 Nash 均衡,這個其實(shí)是一個比優(yōu)化目標(biāo)函數(shù)更加困難的問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容