Abstract(摘要)
我們提出了一個通過對抗過程來評估生成模型的新架構,其中我們同時訓練兩個模型:捕獲資料分布的生成模型G,以及評估樣本來自訓練資料而不是生成模型G的機率的判别模型D。G的訓練過程是最大化D犯錯誤的機率。該架構對應于極大極小化雙人遊戲。在任意函數G和D的空間中,存在唯一的解決方案,其中G用來逼近訓練資料分布并且達到和G相等,為1/2。在G和D由多層感覺器定義的情況下,整個系統可以用反向傳播進行訓練。在訓練或生成樣本期間不需要任何馬爾科夫鍊或展開的近似推斷網絡。實驗通過對生成的樣本進行定性和定量評估來證明該架構的能力。
1.Introduction(介紹)
深度學習的前景是發現豐富的層次模型,它們表示人工智能應用中遇到的各種資料的機率分布,例如自然圖像,包括語音的音頻波形和自然語言語料庫中的符号。到目前為止,深度學習中最成功的模型是判别模型,通常是将那些高次元、豐富的感官輸入映射到分類标簽的模型。這些驚人的成功主要基于反向傳播和dropout算法,使用具有良好梯度的分段線性單元。深度生成模型的影響較小,因為難以近似在最大似然估計和相關政策中出現的許多難以處理的機率計算,并且由于難以在生成環境中利用分段線性單元的好處。我們提出了一種新的生成模型評估過程,可以避免這些困難。
在提出的對抗性網絡架構中,生成模型與對手進行對抗:對手是一種判别模型,用于學習确定樣本是來自模型分布還是資料分布。生成模型可以被認為類似于造假者團隊,試圖生産虛假貨币并在沒有檢測的情況下使用它,而判别模型類似于警察,試圖檢測僞造貨币。在這個遊戲中的競争促使兩個團隊改進他們的方法,直到假冒品與真正的商品不能被區分。
該架構可以為多種模型和優化算法産生特定的訓練算法。在本文中,我們探讨了生成模型通過多層感覺器傳遞随機噪聲來生成樣本的特殊情況,并且判别模型也是多層感覺器。我們将這種特殊情況稱為對抗性網絡。在這種情況下,我們可以僅使用非常成功的反向傳播和dropout算法來訓練兩個模型,并且僅使用前向傳播通過生成模型來生成樣本。不需要近似推理或馬爾科夫鍊。
2. Related work(相關工作)
具有潛在變量的定向圖形模型的替代方案是具有潛在變量的無向圖形模型,例如受限玻爾茲曼機(RBM),深玻爾茲曼機(DBM)及其衆多變體。這些模型中的互相作用表示為非标準化勢函數的乘積,通過對随機變量的所有狀态的全局求和/積分進行歸一化。盡管可以通過馬爾科夫鍊蒙特卡洛(MCMC)方法估計,但是這個數量(分區函數)及其梯度對于除了最普通的執行個體之外的所有執行個體都是難以處理的。混合對于依賴MCMC的學習算法提出了一個重要問題。
深度信念網絡(DBN)是包含無向層和多個定向層的混合模型。雖然存在快速近似分層訓練标準,但DBN會引起與無向和定向模型相關的計算困難。
還提出了不接近或限制對數似然的替代标準,例如得分比對和噪聲對比估計(NCE)。這兩者都需要将學習的機率密度指定為歸一化常數。請注意,在許多具有多層潛在變量(例如DBN和DBM)的有趣生成模型中,甚至不可能得到易處理的非标準化機率密度。一些模型,如去噪自動編碼器和壓縮自動編碼器,其學習規則與應用于RBM的分數比對非常相似。在NCE中,與本研究一樣,采用判别訓練标準來拟合生成模型。然而,生成模型本身不是用于拟合單獨的判别模型,而是用于将生成的資料與樣本區分為固定的噪聲分布。因為NCE使用固定的噪聲分布,是以在模型甚至在一小部分觀察變量上學習了大緻正确的分布後,學習速率顯著減慢。
最後,一些技術不涉及明确定義機率分布,而是訓練生成器從所需分布中抽取樣本。這種方法的優點是可以将這種機器設計成通過反向傳播進行訓練。最後在該領域的突出工作包括生成随機網絡(GSN)架構,它擴充了廣義去噪自動編碼器:兩者都可以看作是定義參數化馬爾科夫鍊,即學習機器的參數執行生成馬爾科夫鍊的一步。與GSN相比,對抗性網絡架構不需要馬爾科夫鍊進行采樣。因為對抗網在生成期間不需要回報回路,是以它們能夠更好地利用分段線性單元,這提高了反向傳播的性能,但是當在回報回路中使用時存在無界激活的問題。最近通過反向傳播訓練生成器的例子包括最近關于變分貝葉斯和随機反向傳播的自動編碼工作。
3. Adversarial nets(對抗網絡)
當模型是多層感覺器時,對抗模型架構是最直接的應用。為了學習在資料x上的生成器的分布
,我們在輸入噪聲變量
上定義先驗機率,然後将資料空間的映射表示為
,其中G是由具有參數
的多層感覺器表示的可微函數。我們還定義了第二個多層感覺器
,它輸出單個标量。D(x)代表樣本x來自真實資料而不是生成資料
的機率。我們訓練D以最大化訓練樣本和來自G的樣本配置設定正确标簽的機率。我們同時訓練G以最小化log(1-D(G(z))):
換句話說,D和G使用值函數V(G,D)進行極大極小化的雙人遊戲:
(1)
在下一節中,我們提出了對抗網絡的理論分析,基本上表明訓練标準允許恢複資料生成分布,因為G和D被賦予足夠的容量,即在非參數限制中。有關該方法的不太正式,更具教學意義的解釋,請參見圖1。在實踐中,我們必須使用疊代的數值方法來實作遊戲。在訓練的内循環中優化D到完成計算上是禁止的,并且在有限資料集上将導緻過拟合。相反,我們在優化D的k步和優化G的一步之間交替。這導緻D保持在其最優解附近,隻要G變化足夠慢。這種政策類似于SML/PCD訓練将馬爾科夫鍊中的樣本從一個學習步驟維持到下一個學習步驟的方式,以避免維持到下一個學習步驟的方式,以避免在馬爾科夫鍊中作為學習内循環的一部分進行訓練。該過程在算法1中正式呈現。
在實踐中,等式1可能無法為G學習提供足夠的梯度。在學習初期,當G很差時,D可以高度自信地拒絕樣本,因為它們與訓練資料明顯不同。在這種情況下,log(1-D(G(z)))飽和。我們可以訓練G以最大化logD(G(z)),而不是訓練G最小化log(1-D(G(z)))。該目标函數産生G和D動力學的相同固定點,但在學習早期提供更強的梯度。
圖1:生成式對抗網絡通過同時更新判别分布(D,藍色,虛線)進行訓練,以便區分來自資料生成分布(黑色,虛線)的樣本
與生成分布
。下面的水準線是噪聲z采樣的值分布域。在這種情況下是均勻的。上面的水準線是x值域的一部分。向上箭頭表示映射x=G(z)如何在變換樣本上施加非均勻分布
。G在高密度區域收縮,在
低密度區域擴充。(a)考慮收斂附近的對抗對:
類似于
,D是部分精确分類器。(b)在算法D的内循環中,訓練D來區分樣本和資料,收斂到
。(c)在更新G之後,D的梯度引導G(z)流向更可能被分類為資料的區域。(d)進過幾個步驟的訓練後,如果G和D有足夠的能力。他們将達到兩個都無法改善的點,因為
.判别器無法區分兩個分部,即D(x)=1/2.
4. Theoretical Results(理論結果)
生成器G隐含地将機率分布
定義為
時獲得的樣本G(z)的分布。是以,如果給定足夠的容量和訓練時間,我們希望算法1收斂到
的良好估計。該部分的結果在非參數設定中完成。例如,我們通過研究機率密度函數空間中的收斂來表示具有無限容量的模型。
我們将在4.1節中說明這個minimax遊戲對于
具有全局最優。然後将在4.2節中展示算法1優化等式1,進而獲得所需的結果。
4.1 Global Optimality of ( 的全局最優化)
我們首先考慮任何給定生成器G的最優判别器D。
命題1:對于G固定,最優的判别器D是:
證明:對于任何生成器G,判别器D的訓練标準是最大化V(G,D)。
對于任何
,函數
在[0,1]的
處達到其最大值。判别器不需要在
之外定義,結束證明。
注意,D的訓練目标可以解釋為最大化用于估計條件機率P(Y=y|x)的對數似然,一種Y表示x來自
(y=1)還是
(y=0)。方程式中的minimax遊戲可以重新表述為:
定理1:當且僅當
時,實作虛拟訓練标準C(G)的全局最小值。此時C(G)的值為-log(4)。
證明:對于
,
(考慮等式2)。是以,通過檢查等式4在
,我們發現
。可以看到這是C(G)的最佳可能值,達到了
。觀察到:
并且從
中減去這個表達式,我們可以獲得:
其中KL是Kullback-Leibler散度。我們在前面的表達式中認識到模型分布和資料生成過程之間的JenSen-Shannon差異。
由于兩個分布之間的Jensen-Shannon散度總是非負的,隻有當它們相等時才為零,我們已經證明
=-log(4)是C(G)的全局最小值。唯一的解是
,即完全複制資料生成過程的生成模型。
4.2 Convergence of Algorithm 1(算法1的收斂)
命題1:如果G和D具有足夠的能力,并且在算法1的每個步驟中,允許判别器達到其最佳給定G,并且更新
以便改進标準。
然後,
收斂到
.
證明:考慮
作為
的函數,如在上述标準中所作的那樣。注意,
在
中是凸的。凸函數的上界的偏導數包括在達到最大值的點處函數的導數。換句話說,如果
并且對于每個
,
在x中是凸的,那麼如果
,則
。這相當于在給定相應G的情況下,在最佳D處計算
的梯度下降更新。
在
中是凸的,具有在thm1中證明的唯一全局最優,是以在
足夠小的情況下,
收斂到
.進而得到證明。
在實踐中,對抗網絡通過函數
表示有限的
分布。并且我們優化
而不是優化
本身。使用多層感覺器定義G在參數空間中引入了多個關鍵點。然而,多層感覺器在實踐中的優異性能表明它們是一種合理的模型,盡管它們缺乏理論上的保證。
五 實驗
我們訓練了對抗網絡的一系列資料集,包括MNIST [23],多倫多人臉資料庫(TFD)[28]和CIFAR-10 [21]。生成器網使用整流器線性激活[19,9]和sigmoid激活的混合,而判别器網使用maxout [10]激活。Dropout[17]用于訓練判别網絡。雖然我們的理論架構允許在生成器的中間層使用壓差和其他噪聲,但我們使用噪聲作為生成器網絡最底層的輸入。
我們通過将高斯Parzen視窗拟合到用G生成的樣本并在該分布下報告對數似然來估計測試集資料在pg下的機率。通過驗證集上的交叉驗證獲得高斯的σ參數。該程式在Breuleux等人的文章中介紹。 [8]并用于各種生成模型,其确切的可能性是不易處理的[25,3,5]。結果報告在表1中。這種估計似然性的方法具有稍高的方差,并且在高維空間中表現不佳,但它是我們所知的最佳方法。可以采樣但不能估計可能性的生成模型的進步直接激發了對如何評估此類模型的進一步研究。
表1:Parzen基于視窗的對數似然估計。在MNIST上報告的數字是測試集上樣本的平均對數似然,并且在示例中計算的平均值的标準誤差。在TFD上,我們計算了資料集折疊的标準誤差,使用每個折疊的驗證集選擇不同的σ。在TFD上,σ在每個折疊上交叉驗證,并計算每個折疊的平均對數似然。對于MNIST,我們将與其他資料集的實值(而不是二進制)版本進行比較。
在圖2和圖3中,我們顯示了訓練後從生成器網中抽取的樣本。雖然我們沒有聲稱這些樣本比現有方法生成的樣本更好,但我們認為這些樣本至少與文獻中更好的生成模型競争,并突出了對抗架構的潛力。
圖2:來自模型的樣本的可視化。最右邊的列顯示最近的相鄰樣本的訓練示例,以證明模型沒有記住訓練集。樣品是公平的随機抽取,而不是挑選。與深度生成模型的大多數其他可視化不同,這些圖像顯示來自模型分布的實際樣本,而不是給定隐藏單元樣本的條件均值。而且,這些樣品是不相關的,因為取樣過程不依賴于馬爾可夫鍊混合。 a)MNIST b)TFD c)CIFAR-10(完全連接配接模型)d)CIFAR-10(卷積鑒别器和“反卷積”發生器)
圖3:通過在完整模型的z空間中的坐标之間線性插值獲得的數字。
表2:生成模組化中的挑戰:對涉及模型的每個主要操作的深度生成模組化的不同方法遇到的困難的總結。
六 優點和缺點
與以前的模組化架構相比,這個新架構具有優缺點。缺點主要在于沒有pg(x)的明确表示,并且D在訓練期間必須與G很好地同步(特别是,在不更新D的情況下,G不得過多訓練,以避免“Helvetica場景” “其中G将太多的z值折疊到x的相同值以具有足夠的多樣性來模拟pdata”,就像Boltzmann機器的負鍊必須在學習步驟之間保持最新一樣。優點是永遠不需要馬爾可夫鍊,隻有backprop用于獲得漸變,學習期間不需要推理,并且可以将多種功能合并到模型中。表2總結了生成性對抗網與其他生成模組化方法的比較。
上述優點主要是計算的。對抗模型也可以從生成器網絡獲得一些統計優勢,而不是直接用資料示例更新,而隻是通過流經判别器的梯度。這意味着輸入的元件不會直接複制到生成器的參數中。對抗性網絡的另一個優點是它們可以表示非常尖銳,甚至簡并的分布,而基于馬爾可夫鍊的方法要求分布有些模糊,以便鍊能夠在模式之間混合。
7 結論和未來的工作
該架構承認了許多簡單的擴充:
- 條件生成模型p(x | c)可以通過将c作為輸入添加到G和D來獲得。
- 可以通過訓練輔助網絡來預測給定x的z來進行學習的近似推斷。這類似于由喚醒 - 睡眠算法[15]訓練的推理網,但具有以下優點:在生成器網完成訓練之後,可以針對固定的生成器網訓練推理網。
- 可以通過訓練共享參數的條件模型族來近似地模拟所有條件p(xS | x6S),其中S是x的索引的子集。從本質上講,人們可以使用對抗網來實作确定性MP-DBM的随機擴充[11]。
- 半監督學習:當有限的标記資料可用時,來自判别器或推理網的特征可以提高分類器的性能。
- 提高效率:通過劃分更好的協調G和D的方法或确定在教育訓練期間更好地配置設定樣本z,可以大大加快教育訓練。
本文證明了對抗性模組化架構的可行性,表明這些研究方向可能有用。