生成式對抗網路 NIPS 2016 課程 第 0~1 節

本報告總結了 NIPS 上 Ian Goodfellow 的 生成式對抗網路課程。其內容有:(1)為何生成式建模是值得學習的話題;(2)生成式模型如何工作,GAN 與其他生成式模型的比較;(3)GAN 工作原理;(4)GAN 的研究前沿;(5)將 GAN 和其他方法組合的當前最優的圖像模型。最後給出幫助讀者學習的三個練習和相應的解答。

引言

本報告總結了 NIPS2016 上的生成對抗網路的課程。回答了很多之前的聽眾提出來的大多數問題,並儘可能地確保它對大家有用。當然,它不能算是 GAN 這個領域的完整的回顧;很多優秀的論文並沒有得到展示,因為這些論文並不是針對大家提出來的這些問題的,而本課程是作為一個兩個小時的演講,所以也沒有足夠的時間來涉及所有話題。

本報告給出了:(1)為何生成式建模是一個值得研究的領域;(2)生成式模型如何工作,GAN 與其他的生成模型的對比(3)GAN 工作的細節(4)GAN 研究前沿和(5)組合 GAN 和其他方法得到了當前最優的圖像模型。最後這個報告會包含三個練習及其解答。

而本課程的相關演示文檔也可以獲得,有 pdf 和 keynote 兩種格式:iangoodfellow.com/slideiangoodfellow.com/slide

圖 1

圖 2

課程視頻是由 NIPS 錄製的,過段時間應該能夠看到。

生成式對抗網路是生成式模型的一種。「生成式模型」這個詞有很多用法。本課程中,它表示任何一種可以接受訓練集(從一個分布 p_data 採樣的樣本)學會表示該分布的估計的模型。其結果是一個概率分布 p_model。有些時候,模型會顯式地估計 p_model,比如說圖1所示。還有些時候,模型只能從 p_model 中生成樣本,比如說圖2。有些模型能夠同時這兩件事情。雖說 GANs 經過設計可以做到這兩點,我們這裡把精力放在 GANs 樣本生成上。

1 為何學習生成式建模?

大家有理由會想知道為何生成式模型值得學習,特別是那些只能夠生成數據而不是能對密度函數進行估計的生成式模型。總而言之,當我們把它用在圖像上是,這樣的模型僅僅能夠給出更多的圖像,我們其實並不缺少圖像啊。

下面給出幾個學習和研究生成式模型的理由:

  • 訓練生成式模型和從生成式模型進行採樣是我們表示和操縱高維概率分布的能力的特別好的檢驗。高維概率分布在很多的應用數學和工程領域都是舉足輕重的研究對象。
  • 生成式模型可以被以多種方式用在強化學習中。強化學習演算法常常會被分類成兩類:基於模型和免模型的,而基於模型的演算法就是包含生成式模型的。時間序列數據的生成式模型可以被用來模型可能的未來。這樣的模型可以被用來進行規劃和多種方式的強化學習任務。用於規劃的生成式模型可以學到在給定世界當前的狀態和假設智能體會採取的行動作為輸入時,關於世界的未來狀態的條件分布。而智能體可以用不同的潛在行動來查詢這個模型,選擇模型預測為最可能從此行動得到想要的狀態的行動。最近出來的這種模型例子是,Finn 等人的研究工作,而對把這個模型用於規劃的例子就是 Finn 和 Levine 的研究工作。另一種生成式模型可以被用在強化學習上的方式是在一個想像的環境中進行學習,其中錯誤的行動不會給智能體帶來真實的損失。生成式模型還可以通過追蹤不同狀態被訪問的頻率或者不同的行動被嘗試的頻率來指導探索,特別是 GANs,可以用在逆強化學習中,在第 5.6 節我們會講其與強化學習的關聯。
  • 生成式模型可以用 missing 數據進行訓練,並能夠給出輸入數據的 missing 部分。而 missing 數據的特別有趣的例子就是半監督學習(semi-supervised learning),其中很多(或者幾乎所有)訓練樣本的標籤都是丟失的。現代深度學習演算法一般是要求有特別多的帶標籤樣本才能夠泛化得很好。半監督學習是降低樣本標籤的策略。這個學習演算法可以通過研究大量無標籤樣本提升自己的泛化性能,而這些無標籤樣本是很容易獲得的。生成式模型尤其是 GANs,能夠很好地執行半監督學習演算法。這個會在第 5.4 節介紹。

圖 3

  • 生成式模型尤其是 GANs,讓機器學習能夠更好地利用多模態輸出。對很多任務,單個輸入可能會對應不同的正確答案,這些答案中的每一個都是可以接受的。某些傳統訓練機器學習模型的方式,如最小化目標輸出和模型預測輸出的均方誤差,並不能夠訓練出可以產生多個不同的正確答案的模型。這種場景的一個例子就是預測視頻的下一幀,參見圖 3。
  • 最後,很多任務本質上都是需要某個分布中的採樣的樣本的。

我們在下面列舉一些此類任務的例子:

  • 單個圖片超解析度:這個任務的目標是以低解析度圖像為輸入,合成高解析度的相同內容的圖片。生成式建模的作用就是讓模型能夠為圖像加入原本就該屬於輸入的信息。有很多對應於低分辨圖像的超分辨圖像。這個模型應該選擇一副採樣自可能的圖像的概率分布的圖像。選擇一幅是所有可能圖像的平均圖像可能會得到一個太過模糊的結果。參見圖 4。

圖 4

  • 一些創作藝術的任務。兩個近期項目表明生成式模型,尤其是 GANs,可以用於創建互動式程序來幫助用戶創作對應於他們想像的粗線條場景的更加真實的圖像。參見圖 5 和圖 6.

圖 5

圖 6

  • 圖像到圖像的轉換應用可以轉換航攝照片成地圖或者將線條轉換為圖像。有很多困難但是很有用的創造性的應用。參見圖 7。

圖 7

所有上面提到以及其他的生成式模型的應用都說明花時間和資源來提升生成式模型的性能是值得的。


推薦閱讀:

阿里雲大規模演算法組--機器/深度學習工程師

TAG:生成对抗网络GAN | 机器学习 | 深度学习DeepLearning |