1. 程式人生 > 實用技巧 >論文翻譯閱讀(3)--Conditional Generative Adversarial Nets

論文翻譯閱讀(3)--Conditional Generative Adversarial Nets

Conditional GAN 論文閱讀筆記

文章地址:https://arxiv.org/abs/1411.1784
Mirza M, Osindero S. Conditional Generative Adversarial Nets[J]. Computer Science, 2014:2672-2680.

Abstract

生成對抗網[8]是最近被提出的一種訓練生成模型的新方法。本文介紹了條件版本的GAN,僅通過多增加一個條件輸入資料y。我們希望這個條件能同時約束生成器和判別器。我們展示了本文模型能夠產生以類標籤為條件的MNIST數字。這個模型還可以用來學習多模態模型,和標註影象–可以為沒有訓練標籤的資料提供描述性的tags.

1 Introduction

最近,生成對抗網被提出,其作為生成模型的一種框架,可以避免許多難以處理的概率計算的困難。

對抗網路的優點是不需要馬爾可夫鏈,只需要反向傳播獲得梯度,學習過程中不需要推理,並且可以很容易地將各種因素和相互作用納入模型中。

此外,如[8]所示,它可以產生最先進的對數似然估計和逼真的樣本。

在一個無條件的GAN模型中,資料生成的模式不受控制。但是,可以通過附加資訊調整指導資料生成過程。條件可以是類標籤,像[5]中的繪畫資料的某些部分,甚至基於不同模態的資料。

本文我們展示瞭如何構建條件對抗網。在文中我們展示了兩組實驗結果。一個是基於類標籤的MNIST數字資料集,另一個是MIR Flickr 25000資料集,用於多模式學習。

2 Related Work

最近監督神經網路(尤其是卷積網路)取得了許多成功[13,17],但要調整這些模型以適應大量的輸出類別仍然是一個挑戰。第二個問題是,迄今為止的大部分工作都集中在學習從輸入到輸出的一對一對映。然而,許多有趣的問題是一對多的概率對映。例如,在影象標記問題中,可以許多不同的標記賦予給定的同張影象,並且不同的註釋者可以使用不同的(但通常是同義或相關的)術語來描述同一影象。

解決第一個問題的一種方法是利用其他模式的資訊:例如,使用自然語言語料庫中標籤的向量表示,其中幾何關係在語義上是有意義的。當在這樣的空間中進行預測時,我們受益於:當預測錯誤時,我們仍然“接近”事實(例如預測“桌子”而不是“椅子”)。而且我們可以自然地對訓練期間沒見過的標籤進行預測。文獻[3]等研究表明,即使是從影象特徵空間到詞表示空間的簡單線性對映也可以提高分類效能。

解決第二個問題的一種方法是使用條件概率生成模型,輸入被視為條件變數,一對多對映被例項化為條件預測分佈。

[16] 採用類似的方法來解決這個問題,並在MIR flickr25000資料集上訓練一個多模態的深度Boltzmann機器。

此外,在[12]中,作者展示瞭如何訓練一個有監督的多模態神經語言模型,並且他們能夠為影象生成的描述性句子。

(這些相關工作的相關性不高吧)

3 Conditional Adversarial Nets

3.1 Generative Adversarial Nets

生成對抗網是一種新的生成式模型。它們由兩個“對抗性”模型組成:一個是捕獲資料分佈的生成器G,另一個是判斷樣本來自訓練資料還是生成資料的判別器D。G和D都可以是一個非線性對映函式,比如多層感知器。

為了學習資料x上的生成分佈 p g p_g pg,生成器構建了一個從先驗噪聲分佈 p z ( z ) p_z(z) pz(z)到資料空間 G ( z ; θ g ) G(z;θ_g) G(z;θg)的對映函式。鑑別器 D ( x ; θ d ) D(x;θ_d) D(x;θd)輸出單個標量,表示x來自真實s資料的概率。

G和D同時訓練:調整G的引數使 l o g ( 1 − D ( G ( z ) ) log(1- D(G(z)) log(1D(G(z))最小化,調整D的引數使 l o g D ( X ) ) 最 大 化 , 以 上 過 程 遵 循 兩 人 的 最 小 − 最 大 博 弈 , 其 值 函 數 為 logD(X))最大化,以上過程遵循兩人的最小-最大博弈,其值函式為 logD(X))V(G,D)$:

min ⁡ G max ⁡ D V ( D , G ) = E x ∼ p d a t a ( x ) [ log ⁡ D ( x ) ] + E z ∼ p z ( z ) [ l o g ( 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)))] GminDmaxV(D,G)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]

3.2 Conditional Adversarial Nets

如果生成器和鑑別器都以一些附加資訊為條件y,生成對抗網可以擴充套件為一個條件模型。y可以是任何型別的輔助資訊,例如類標籤或來自其他模式的資料。我們可以通過向D和G輸入y作為附加輸入層來實現條件控制。

在G中,先驗輸入噪聲pz(z)和y被組合在聯合隱藏表示中,並且對抗性訓練框架對hidden representation的構成方式具有很大的靈活性。(目前,我們只是將條件輸入和先驗噪聲作為MLP的一個隱藏層的輸入,但是可以想象使用更高階的互動來允許複雜的生成機制,這在傳統的生成框架中是非常困難的。)

在鑑別器中,x和y被表示為判別函式的輸入(在這種情況下由MLP實現)。

此時兩人極小極大博弈的目標函式如下所示:
min ⁡ G max ⁡ D V ( D , G ) = E x ∼ p d a t a ( x ) [ l o g D ( x ∣ y ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ∣ y ) ) ) ] \min_G \max_D V(D,G)= \mathbb{E}_{x\sim p_{data}(x)}[logD(x|y)]+\mathbb{E}_{z\sim p_z(z)}[\log (1-D(G(z|y)))] GminDmaxV(D,G)=Expdata(x)[logD(xy)]+Ezpz(z)[log(1D(G(zy)))]

(細節沒有說)
圖1展示了一個簡單條件對抗網的結構。
在這裡插入圖片描述

4 Experimental Results

4.1 Unimodal

我們在MNIST影象上訓練了一個條件對抗網路,條件輸入是類標籤。類標籤採用one-hot 編碼。

對於生成器G,噪聲先驗z是從單位超立方體內的均勻分佈提取維數為100向量。ReLu作為隱藏層的啟用函式[4,11],層大小分別為200和1000,然後將它們對映到維度為1200的第二個組合隱藏ReLu層。然後我們有一個最終的sigmoid單元層作為我們的輸出,用於生成784維MNIST樣本(28*28)。

判別器D將x對映到具有240個單元和5個pieces的maxout[6]層,而將y對映到具有50個單元和5個pieces的maxout層。這兩個隱藏層對映到一個有240個單元和4個pieces的聯合maxout層,然後被送入sigmoid層。(只要判別器有足夠的能力,判別器的精確結構並不重要;我們發現maxout單元通常非常適合這項任務。)
網路訓練超引數設定

maxout 通俗理解–本來傳統的MLP演算法在第i層到第i+1層,引數只有一組,然而現在不這麼幹了,在這一層同時訓練n組引數,然後選擇啟用值最大的作為下一層神經元的啟用值。

模型採用隨機梯度下降法訓練,mini-batch size為100,初始學習率為0.1,指數下降到0.000001,衰減因子為1.00004。同時使用動量係數,初始值為0.5,增加到0.7。概率為0.5的Dropout[9]同時應用於生成器和鑑別器。以驗證集上對數似然的最佳估計作為停止點。(什麼的停止點?超引數的停止點?)

表1顯示了MNIST資料集測試資料的高斯Parzen視窗對數似然估計。從每10個類中抽取1000個樣本,並將高斯Parzen視窗(概率密度估計的一種)擬合到這些樣本上。然後,我們使用Parzen視窗分佈估計測試集的對數似然(關於如何構造這個估計的更多細節,請參見[8])

我們所提出的條件對抗網路結果與一些模型的效果是相當,也優於一些方法(包括非條件對抗網路)。我們提出這些結果更多的是概念的證明,而不是作為有效性的證明,並認為隨著超引數空間和體系結構的進一步探索,條件模型應該匹配或將超過非條件模型的效能。

4.2 Multimodal

(生成詞向量的工作)

像Flickr這樣的照片網站?是一個豐富的標記資料來源,這些資料以影象和它們相關聯的使用者生成元資料(UGM)的形式存在,尤其是使用者標記。

使用者生成的元資料不同於更“規範”的影象標記模式,因為它們通常更具描述性,並且在語義上更接近人類用自然語言描述影象的方式,而不僅僅是識別影象中的物件。UGM的另一個方面是synoymy很流行,不同的使用者可能使用不同的詞彙來描述相同的概念,因此,有一種有效的方法來規範這些標籤變得非常重要。概念詞嵌入[14]在這裡是非常有用的,因為相關概念最終由相似的向量表示。

在本節中,我們將演示影象的自動標記,使用基於影象特徵的條件對抗網路來生成的標記向量分佈來實現。

對於影象特徵,我們在帶有21000個標籤的完整ImageNet資料集上預先訓練了一個類似於[13]的卷積模型[15]。我們使用最後一個有4096個單元的全連線層的輸出作為影象表示。

對於單詞表示,我們首先從YFCC100M 資料集元資料中收集使用者標記、標題和描述的文字語料庫。在對文字進行預處理和清理之後,我們訓練了一個單詞向量大小為200的skip gram模型[14]。我們省略了詞彙表中出現次數少於200次的單詞,最終得到了一本247465的詞典。

在GAN訓練過程中,我們保持卷積模型和語言模型引數不變。梯度在這兩個模型中的傳遞將作為下一步的工作。

在實驗中,我們使用MIR-flickr25000資料集[10],並使用上面描述的卷積模型和語言模型提取影象和標籤特徵。我們的實驗中省略了沒有任何標記的影象,並將註釋視為額外的標記。前15萬個樣本被用作訓練集。在訓練集中帶有多標籤的影象會按相應的tag 重複多次。

為了評估,我們為每個影象生成100個樣本,並使用詞彙表中單詞與每個樣本向量表示的餘弦相似度來找出最接近的20個單詞。然後我們從100個樣本中選出最常見的10個單詞。表4.2顯示了使用者分配的標記和註釋以及生成的標記的一些示例。

最佳的生成器結構為:接收大小為100的高斯噪聲作為噪聲先驗,並將其對映到500維ReLu層。將4096維影象特徵向量對映到2000維ReLu隱層。這兩個層被對映到一個200維線性層的聯合表示,該層將輸出生成的詞向量。

最佳鑑別器結構為:500維和1200維ReLu隱層組成,分別用於詞向量和影象特徵,maxout層由1000個單元和3個塊組成連線層,最後送入單個sigmoid單元。

模型採用隨機梯度下降法訓練,mini-batch size 為100,初始學習率為0.1,指數下降到.000001,衰減因子為1.00004。使用動量梯度下降演算法,動量係數的初始值為0.5,增加到0.7。發生器和鑑別器均採用了概率為0.5的drop out 結構。

超引數和體系結構的選擇是通過交叉驗證以及隨機網格搜尋和手動選擇的混合(儘管搜尋空間有限)

5 Future Work

本文的結果是非常初步的,但它們展示了條件對抗網的潛力,並顯示了有趣和有用的應用前景。

在未來探索中,我們希望探索更復雜的模型,並對其效能和特點進行更詳細和透徹的分析。

在目前的實驗中,我們只單獨使用每個標籤。但是,我們希望通過同時使用多個標籤(有效地將生成問題作為“集合生成”的一個)來實現更好的結果。

另外一個可以深入研究的方向是構建一個聯合訓練方案,用來學習語言模型(語言模型隨著網路進行訓練)。類似[12]這樣的工作表明,我們可以學習適合特定任務的語言模型。

6.思考

1.本文只是簡單的在GAN的輸入處嵌入了一個條件,並沒有說明由此帶來的訓練上的差別。光從目標函式上來看應該是訓練形式不做改變。

2.上述問題是沒有在文章中說明,在程式碼實現中體現了?還是後續有改進 工作。

3.與早期調研的李巨集毅的條件GAN目標函式有所不同。李巨集毅的課件中所用的框架為另一篇文章的工作:Generative Adversarial Text to Image Synthesis [ICML 2016,http://arxiv.org/abs/1605.05396] 看看這篇文章有沒有引用CGAN