文章連結:http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf
這是Goodfellow的scholar首頁,沒看過的可以去膜拜一下。https://scholar.google.ca/citations?user=iYN86KEAAAAJ
與GAN相關的最新的推薦文章:
Unsupervised and Semi-supervised Learning with Categorical Generative Adversarial Networks
Semi-Supervised Learning with Generative Adversarial Networks
Semi-supervised Knowledge Transfer for Deep Learning from Private Training Data
在這篇文章中,作者提出了一種新的產生模型的計算過程,從而能夠迴避一些產生模型所面臨的困境。所提出的產生對抗網路同時訓練兩個模型:產生模型G和判別模型D。對G的訓練的目標是 使得D犯錯的機率最大。對D的訓練目標是使得其能夠判別一個樣本是來自產生模型還是真實資料。稍微有點繞,文中作者做了一個比喻,有助於理解。產生模型G存在一個對手,即判別模型D,可將G類比為一個偽造貨幣的團隊,他們試圖生產假的貨幣,並且使用這些貨幣而不被警察發現,而D則可類比為警察,他們要查出這些偽造的貨幣。最後的競爭結果直到偽造者(G)造出警察(D)無法判別真假的貨幣為止。當G和D兩者都是多層感知機的時候,即稱為對抗網路(adversarial nets)。
圖1 訓練過程理解
圖一是對 對抗網路訓練過程的通俗理解。圖中的藍色虛線是判別器D,綠色實現是產生模型G的分布P(G),黑色點畫線是真實資料產生分布Px,下方的兩個橫線表示x=G(z)這個將雜訊映射到x的趨勢。從(a)到(d)可以看到,隨著訓練迭代,G的分布越來越接近真實資料,而D最後無法區分G和真實資料,變成一個定值0.5。訓練目標是:
第一項是D的訓練目標,最大化正確分類的判別機率,第二項是G的最小化訓練目標。在實際操作的時候,G訓練為最大化,這是因為原來的那一項在學齡前學習的時候容易飽和,而換成這一項之後能提供更強的梯度。