Paper Reading | 讓機器像人類一樣學畫畫?GANs 「全家福」一覽

該文為Momenta Paper Reading 第一季首期回顧,始發於2017年2月24日。

Momenta視覺演算法研究員張明瑞用另一種視角解讀GANs Family:

論文鏈接:arxiv.org/pdf/1406.2661

PPT下載鏈接:https://pan.baidu.com/s/1i4B8dz3,密碼: fsuc

分享視頻回放鏈接:騰訊視頻

主講人

張明瑞

Momenta視覺演算法研究員,「有勁相機」聯合創始人,MIT Media Lab交流學者。

背景

GANs常被戲稱為「干」,對抗神經網路,Generative Adversarial Nets,第一個詞是「生成」,第二個詞是「對抗」,生成對抗網路。

GANs又進化為兩個分支:一個是典型的GANs,一個是拓展的GANs。

如果讓你生成一張圖片,你能想到什麼樣的方法?

人類方法

就像畫畫,首先要有腦子,會學,知道如何改進;第二,要有足夠的練習,不斷的畫,從雞蛋畫到蒙娜麗莎;第三,要有好的老師,不是著名畫家,而是能根據你目前的情況,來選擇合適方法教你的老師。

GANs的方法

和人類非常像,作為當下最火的神經網路模型,GANs可以還原馬賽克、給照片上色、把漫畫變成真人、把文字變成圖像......

GANs的組成

G (Generative network)是用來畫畫的生成網路;D(Discriminative network)是用來判別的。給G數據可以生成圖片,把生成的圖片和真實的圖片給D,它可以判別給它的到底是真實的,還是G生成的。為了得到非常好的解,我們就一起訓練。

兩個例子:

GANs:

Z是輸入給G的數據,在原始paper里,用的就是隨機雜訊。x是G生成的圖片,X是真實的圖片,0/1是D生成的結果。

深入的看一下結構,原篇Paper非常簡單,就是兩個MLP(感知機),沒有複雜的操作。

左邊的G過程,比如我輸入一個一維數據,經過一系列非線性運算,最終得到我想要的結果,比如128*128個數,x。右邊就是反過來,從128*128個數經過一系列運算,最終得到1個結果0/1 。

如何判斷一個網路已經學會東西了?

最好的情況是:G生成與真實圖片所差無幾的圖片,D能夠無差別的分別出來真實數據和生成數據。但是這兩個條件是對立的,不可能同時達成。這在數學上形成了納什均衡。

這也是為什麼它們中文名叫干,因為它們要干!

數學部分

進入數學部分,看GANs的目標函數:

合起來這個目標函數就代表了D的能力,這個值越大,說明D的能力越強。而值越小則說明G產生的圖片使D無法很好區分真實圖片和生成圖片,說明G的能力越強。

演算法

下面我們來看演算法:

演算法分成兩部分:首先從雜訊序列中隨機選取m個雜訊,從真實序列中選取m個真實數據,交給D去學習。然後讓G生成一些圖片,D來反饋,進行G的訓練。這樣D和G來回訓練,達成了一種根據彼此不同情況相互訓練的效果。也就實現了我們所說的一個好的老師,他會看你學到什麼程度,來調整策略告訴你下一輪該學什麼。

把這個複雜的過程圖像化:(還是蠻抽象的)

藍線,代表D的識別效果

綠線,代表G的生成分布

黑色虛點,代表真實數據的分布

最開始的時候(a),D有一些能力,知道左邊多數是真的,右邊多數是假的,但是還有些猶豫,所以顯示出波動;後來(b),D學聰明了,知道左邊的都是真的,右邊的都是假的;接著(c),G學習了,知道既然你(D)認為真的是那樣的(黑色虛點),那我就往左靠靠唄;經過了一系列如此反覆(圖中省略號),最後(d),G生成的和真實的完全吻合,此時D沒有辦法再作出判斷了。

數學論證

剛才我們得到了下面這個函數,並且從理論上說明它是可行的,但是我們還沒有從數學上去證明它。

我們把它丟給神經網路,神經網路能不能根據這個函數進行學習,我們得用數學證明它可學,它得有解!

我們先把最優條件記錄下來,p(g) = p(data) 就是,生成的概率=真實數據的分布概率。

概率論上的期望值,如果它是連續的話,可以化成積分的形式,所以

就可以化成

接著整理成

然後我們對D(x),p(x)做一個函數變換,就得到了

因為D(x)是一個概率,所以y取值範圍是0到1

接著我們對這個式子求導等0,就能得到最後的這個解

這樣就得到了D的最大值,接著把這個解帶進去,去求G的最小值。

具體的代換演化過程,有興趣的讀者可以閱讀原論文查閱學習。

到這裡,我們就證明了這個GANs它既有目標函數,而且這個函數可以學習。

但是作為初始態的GANs,仍然存在一些重要的缺陷尚未解決,於是才進化出了GANs Family中的兩個重要分支:

------------------------------------------------

知乎機構號:Momenta,打造自動駕駛大腦。

基於深度學習的環境感知、高精度地圖、駕駛決策技術,讓無人駕駛成為可能。

Momentawww.zhihu.com圖標

知乎專欄:Paper Reading,集聚自動駕駛知名大咖的前沿知識分享平台,歡迎申請加入或直接投稿。

Paper Readingzhuanlan.zhihu.com圖標

推薦閱讀:

Michael Nielsen對交叉熵的解釋(三)
譯文:如何使用TensorFlow實現神經網路(上)
【Neural Networks and Deep Learning】4.神經網路可以計算任何函數的可視化證明(1)
斯坦福CS231n項目實戰(四):淺層神經網路
谷歌大腦發布神經架構搜索新方法:提速1000倍

TAG:人工智慧 | 深度學習DeepLearning | 神經網路 |