1. 程式人生 > >【GAN ZOO閱讀】Generative Adversarial Nets 生成對抗網路 原文翻譯 by zk

【GAN ZOO閱讀】Generative Adversarial Nets 生成對抗網路 原文翻譯 by zk


Ian J. Goodfellow, Jean Pouget-Abadie ∗ , Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair † , Aaron Courville, Yoshua Bengio ‡
Département d’informatique et de recherche opérationnelle
蒙特利爾大學, QC H3C 3J7
(zk翻譯自https://arxiv.org/pdf/1406.2661.pdf,引用請標明出處)

摘要

作者提出了一個通過對抗過程來估計生成模型的新框架,文中同時訓練兩個模型:捕獲資料分佈的生成模型 G G ,和估計樣本是否來自訓練資料的概率的判別模型 D D G

G 的訓練過程是使 D D 犯錯誤的概率最大化。這個框架就像是對應一個minimax two-player game。在任意函式 G G
D D 的空間中,存在一個唯一的解: G G 重新生成訓練資料的分佈, D D 在任何情況下都等於 1 2 \frac 1 2 。(個人理解: D = 1 2 D=\frac 1 2 時無法判定樣本是否來源於訓練資料,這樣便達到了以假亂真的效果。)在 G G D D 由多層感知器定義的情況下,整個系統可以用反向傳播來訓練。在訓練或生成樣本期間,不需要任何馬爾可夫鏈或展開的近似推理網路。實驗通過定性和定量評估生成的樣本來證明框架應用的潛力。


1、概述

深度學習的目標是發現豐富的層次模型[2],它們表示人工智慧應用中遇到的各種資料的概率分佈,如自然影象,語音音訊波形和自然語言語料庫中的符號。到目前為止,深度學習中最引人注目的成功是判別式模型,它們通常是那些將高維度、豐富的感知輸入對映到類標籤的模型[14,22]。這些驚人的成功主要基於反向傳播和dropout演算法、使用分段線性單元[19,9,10](它們具有特別良好的梯度)。在此之前,基於深度學習的生成模型的影響較小,原因在於很難逼近極大似然估計和相關策略中出現的許多棘手的概率計算,以及難以在生成模型中利用分段線性單元。作者提出了一個新的生成模型的估計程式來回避這些困難。

在作者提出的對抗網路框架中,生成模型與它的“對手”進行對抗,並且有一個判別模型,用於判斷樣本是來自模型分佈還是來自資料分佈。生成模型可以被認為是一個“造假者”團隊,這個團隊試圖生成能夠以假亂真的假貨幣,而判別模型可以被認為是“警察”,試圖檢測假貨幣。這種競爭促使兩個“團隊”改進他們的方法,直到“造假者”的產品可以以假亂真。

該框架可以為多種模型和優化演算法產生特定訓練方法。作者探討了一種特殊情況:生成模型通過把隨機噪聲通過多層感知器產生樣本,並且判別模型也是多層感知器。作者把這個特殊情況稱為對抗網路。在這種情況下,可以使用反向傳播和dropout演算法來訓練這兩個模型,並用正向傳播從生成模型中產生樣本。該模型不需要使用近似推理或馬爾可夫鏈。

2、相關工作

帶有潛在變數的有向圖模型的替代方法是具有潛在變數的無向圖模型,如受限玻爾茲曼機(RBMs)[27,16],深度玻爾茲曼機(DBMs)[26]及其眾多變體。這些模型中的相互作用被表示為未歸一化的潛在函式的乘積,通過對隨機變數的所有狀態進行全域性總和/積分來歸一化。這個數量(分配函式)及其梯度對於大部分情況(除了最平凡的例項外)都是難以處理的,雖然它們可以用馬爾可夫鏈蒙特卡洛(MCMC)方法來估計。Mixing是基於MCMC的學習演算法的一個重要問題[3,5]。

深度信賴網路(DBN)[16]是包含單個無向層和多個有向層的混合模型。雖然存在快速近似分層訓練標準,但DBN會產生與無向和有向模型相關的計算困難。

不近似或限制對數似然的替代標準也被提出,如分數匹配[18]和噪聲對比估計(NCE)[13]。這兩個要求學習的概率密度指定達到某個歸一化常數。要注意的是,在許多具有多層潛在變數(如DBN和DBM)的有趣的生成模型中,甚至不可能推匯出易處理的非標準化概率密度。一些模型,例如去噪自動編碼器[30]和收縮自動編碼器,其學習規則與應用於RBM的分數匹配非常相似。在NCE中採用判別性訓練標準來擬合生成模型。然而,生成模型本身不是用一個單獨的判別模型來擬合的,生成模型是用來區分生成的資料與噪聲分佈的。由於NCE使用固定的噪聲分佈,所以在模型已經學習了一小部分觀測變數的近似正確的分佈之後,學習速度就會急劇下降。

最後,一些技術不涉及明確定義的概率分佈,而是訓練一個生成器從所需的分佈中抽取樣本。這種方法的優點是可以通過反向傳播來訓練。在這方面最近的工作突出包括生成亂序網路(GSN)框架[5],它擴充套件了廣義降噪自動編碼器[4]:兩者都可以被看作是定義一個引數化馬爾可夫鏈,即一個學習機器的引數執行生成馬爾可夫鏈的一個步驟。與GSN相比,對抗網路框架不需要馬爾可夫鏈進行抽樣。因為對抗網路在生成過程中不需要反饋迴圈,所以它們能夠更好地利用分段線性單元[19,9,10](這可以提高反向傳播的效能),但是當在反饋環路中使用時會遇到無限啟用的問題。最近一些通過向後傳播來構造生成器的例子包括自動編碼變分貝葉斯[20]和隨機反向傳播[24]方面的工作。

3、對抗網路

當模型都是多層感知器時,對抗建模框架可以被直接使用。為了學習在資料 x x 上的分佈 p g p_g ,在輸入噪聲變數 p z ( z ) p_z(z) 上定義一個先驗值,然後將對資料空間的對映表示為 G ( z ; θ g ) G(z;θ_g) ,其中 G G 是由多層感知器表示的可微分函式。作者還定義了另一個多層感知器 D ( x ; θ d ) D(x;θ_d) ,輸出一個標量, D ( x ) D(x) 表示 x x 來自資料而不是 p g p_g 的概率。然後訓練 D D 以最大化將正確標籤分配給訓練樣本和來自 G G 的樣本的概率,同時訓練 G G 以最小化 l o g ( 1 D ( G ( z ) ) ) log(1-D(G(z)))

換言之, D D G G 用以下的估值函式來玩這個這個two-player minimax game:
(1) min G max D V ( D , G ) = E x p d a t a    ( x ) [ log D ( x ) ] + E z p z ( z ) [ log ( 1 D ( G ( z ) ) ) ] . \min_G \max_D V(D, G)=\mathbb E_{x\sim p_{data}\ \ (x)}[\log {D(x)}]+\mathbb E_{z\sim p_z (z)}[\log(1-D(G(z)))].\tag{1}

在下一節中,作者將對抗網路進行理論分析,表明訓練準則能夠重新生成資料的分佈,因為 G G D D 被給予了足夠的能力,也可以說是非引數的極限。圖1對此方法進行了一個不是很正式的解釋。在實踐中,必須使用迭代的數值方法來實現訓練的過程。 在訓練的內部迴圈中,完全的優化 D D 在計算上是不可行的,並在有限的資料集上會導致過擬合。相反,作者在優化 D D k k 步和優化 G G 的一步之間交替。只要 G G 足夠慢地變化, D D 就能維持在最佳解決方案附近。 這個策略類似於SML/PCD[31,29]訓練的方式,從一個學習步驟到下一個學習步驟保持馬爾可夫鏈的樣本,為了防止作為學習內迴圈的一部分在馬爾可夫鏈中burning。演算法步驟見演算法1


演算法1 GAN的minibatch隨機梯度下降訓練,判別器訓練步數 k k 是一個超參。在作者的實驗中 k = 1 k=1 ,是最容易的超參。


for number of training iterations do
for k steps do
從先驗噪聲 p g ( z ) p_g(z) 中取樣出 m m 個樣本 { z ( 1 ) , . . . , z ( m ) } \{z^{(1)},...,z^{(m)}\} m m 是minibatch的大小
從生成的分佈 p d a t a ( x ) p_{data}(x) 中取樣出 m m 個樣本 { x ( 1 ) , . . . , x ( m ) } \{x^{(1)},...,x^{(m)}\}
從生成的分佈 p d a t a ( x ) p_{data}(x) 中取樣出 m m 個樣本 { x ( 1 ) , . . . , x ( m ) } \{x^{(1)},...,x^{(m)}\}
使用隨機梯度下降方法更新判別器: θ d 1 m i = 1 m [ log D ( x ( i ) ) + log ( 1 D ( G ( z ( i ) ) ) ) ] \nabla_{\theta_d}\frac 1 m \sum_{i=1}^{m}[\log D(x^{(i)})+\log(1-D(G(z^{(i)})))]

相關推薦

GAN ZOO閱讀Generative Adversarial Nets 生成對抗網路 原文翻譯 by zk

Ian J. Goodfellow, Jean Pouget-Abadie ∗ , Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair † , Aaron Courville, Yoshua Bengio ‡

GAN ZOO閱讀模式正則化的生成對抗網路 MODE REGULARIZED GENERATIVE ADVERSARIAL NETWORKS

原文地址: https://arxiv.org/abs/1612.02136 引用之請註明出處。 Tong Che 1,Yanran Li 2 3,Athul Paul Jacob 1,Yoshua Bengio 1,Wenjie Li 2 1 蒙特利爾學習演算法

GAN ZOO閱讀Unsupervised Pixel–Level Domain Adaptation with GAN 使用GAN的無監督的畫素級域適應

原文連結,引用請標明出處 部分譯文參考自 https://blog.csdn.net/forever1993/article/details/78405280 摘要 收集註釋良好的影象資料集來訓練現代機器學習演算法對於許多工而言過於昂貴。 一個有吸引力的替代方案是渲染資料,並在其中自

GAN ZOO翻譯系列基於能量的生成對抗網路 Energy-Based Generative Adversarial Networks

趙俊博, Michael Mathieu, Yann LeCun 紐約大學計算機科學系 Facebook人工智慧研究院 {jakezhao, mathieu, yann}@cs.nyu.edu 原文連結https://arxiv.org/abs/1609.031

GAN ZOO閱讀系列NONSUPERVISED REPRESENTATION LEARNING WITH DCGAN 使用深度卷積生成對抗網路的無監督的表示學習

Alec Radford & Luke Metz indico Research Boston, MA {alec,luke}@indico.io Soumith Chintala Facebook AI Research New York, NY [e

GAN ZOO閱讀系列UNSUPERVISED REPRESENTATION LEARNING WITH DCGAN 使用深度卷積生成對抗網路的無監督的表示學習

Alec Radford & Luke Metz indico Research Boston, MA {alec,luke}@indico.io Soumith Chintala

Paper NoteGenerative Adversarial Nets 論文理解

前言 起先接觸GAN,被論文中的公式嚇到了~~~這尼瑪都是什麼鬼~~~啃了很久,終於把論文中的模型推匯出來,整理成這篇文章。 GAN介紹 Generative Adversarial Nets這篇論文是Ian Goodfellow等人於2014年發表,至此,GAN在深

TensorFlow-windows學習筆記七——生成對抗網路

前言 既然學習了變分自編碼(VAE),那也必須來一波生成對抗網路(GAN)。 國際慣例,參考網址: 理論 粗略點的講法就說:一個生成器GG,一個判別器DD,前者用來將噪聲輸入轉換成圖片,後者判別當前輸入圖片是真實的還是生成的。 為了

ICCV2017 | 一文詳解GAN之父Ian Goodfellow 演講《生成對抗網路的原理與應用》(附完整PPT)

當地時間 10月 22 日到10月29日,兩年一度的計算機視覺國際頂級會議 International Conference on Computer Vision(ICCV 2017)在義大利威尼斯開幕。Google Brain 研究科學家Ian Goodfellow在會上作為主題為《生成對抗網路(G

GAN ZOOPrecomputed Realtime Texture Synthesis with Markovian Generative Adversarial 用MGAN預訓練實時紋理合成

原文地址 https://link.springer.com/chapter/10.1007/978-3-319-46487-9_43 補充材料和程式碼 https://github.com/chuanli11/MGANs。 Chuan Li and Michael Wand

Generative Adversarial Nets(GAN Tensorflow)

概率 制造 display 變量 pan clas cli tps OS Generative Adversarial Nets(簡稱GAN)是一種非常流行的神經網絡。 它最初是由Ian Goodfellow等人在NIPS 2014論文中介紹的。 這篇論文引發了很多關於神經

個人總結:Generative Adversarial Nets GAN原始公式的得來與推導

根據文章所述, 為原始資料, 使用的噪聲資料,,   為batch_size的大小。 而  為通過生成器生成的資料,也就是說 與是能夠互相對立的競爭對手。生成器生成了妄圖模擬到的效果達到“欺騙”判別器的目的。

《GraphGAN:Graph Representation Learning with Generative Adversarial Nets》論文閱讀筆記

最近在準備碩士期間的畢業論文的開題工作,也是比較愁於沒有什麼好的畢業設計的想法。在學習完這篇論文後,我發現基於生成對抗網路的網路表示學習的方法挺有意思。通過寫這篇部落格也是想要加深自己對這篇論文的idea的理解,同時也想著是否我也可以提出一種改進或是適當借鑑一下這種思想。 &nbs

論文閱讀Deep Adversarial Subspace Clustering

導讀:   本文為CVPR2018論文《Deep Adversarial Subspace Clustering》的閱讀總結。目的是做聚類,方法是DASC=DSC(Deep Subspace Clustering)+GAN(Generative Adversarial Networks)。本文從以下四個方面來

一文讀懂對抗生成學習(Generative Adversarial Nets)[GAN]

一文讀懂對抗生成學習(Generative Adversarial Nets)[GAN] 0x00 推薦論文 https://arxiv.org/pdf/1406.2661.pdf 0x01什麼是gan Generative model G用來生成樣本 Discriminative mo

GAN ZOO翻譯系列InfoGAN: Interpretable Representation Learning by Information Maximizing GAN

本文是InfoGAN的翻譯,原文地址:https://arxiv.org/abs/1606.03657 相當一部分部分翻譯參照於:https://blog.csdn.net/pingguolou/article/details/72920970 infoGAN:通過最大化生成對抗網路中資

GAN ZOO翻譯系列s2GAN:使用樣式和結構對抗網路生成影象建模

王小龍,Abhinav Gupta 卡耐基梅隆大學機器人研究所 摘要 當前的生成框架使用的端至端的學習,並從均勻噪聲分佈取樣產生影象。然而,這些方法忽略影象形成的最基本的原理。影象是按照以下方式產生的:(a)結構:3D模型;(B)樣式:紋理到結構的對

GAN ZOO翻譯StackGAN:Text to Photo-realistic Image Synthesis with Stacked GAN 使用堆疊的GAN從文字中生成照片一樣逼真的圖片

Han Zhang1, Tao Xu2, Hongsheng Li3, Shaoting Zhang4, Xiaogang Wang3, Xiaolei Huang2, Dimitris Metaxas1 1羅格斯大學 2裡海大學 3香港中文大學 4百度研究院

GAN ZOO翻譯系列Cat GAN:UNSUPERVISED AND SEMI-SUPERVISED LEARNING WITH CATEGORICAL GAN 用於監督和半監督學習的GAN

Jost Tobias Springenberg 弗萊堡大學 79110 Freiburg, Germany [email protected] 原文連結https://arxiv.org/abs

Resources and Implementations of Generative Adversarial Nets: GAN, DCGAN, WGAN, CGAN, InfoGAN

I organized this reposity mainly for learning GANs, so all codes about classical GANs were implemented with simple network structure and