1. 程式人生 > >【GAN ZOO閱讀】模式正則化的生成對抗網路 MODE REGULARIZED GENERATIVE ADVERSARIAL NETWORKS

【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 蒙特利爾學習演算法研究所,蒙特利爾大學,蒙特利爾,QC H3T 1J4,加拿大
2 香港理工大學計算機系,香港
3 滑鐵盧大學計算機學院,滑鐵盧,ON N2L 3G1,加拿大

摘要

儘管生成對抗網路在各種生成任務中實現了先進的結果,但它們高度不穩定的並且容易出錯。作者認為GAN的這些不良行為是由於在高維空間中訓練的判別函式的形狀非常特殊,這很容易使訓練不順利,或將概率推向錯誤的方向。作者提出了幾種使GAN的目標正規化的方法,可以大大穩定GAN模型的訓練。本文還證明,本文的正規化器可以在訓練的早期階段幫助在生成分佈中公平分配概率,從而為缺失模式的問題提供統一的解決方案。

1 引言

生成對抗網路(GAN) (Goodfellow等, 2014)已經展示了它們在各種任務上的潛力,例如影象生成,影象超解析度,3D物件生成和視訊預測(Radford等,2015;Ledig等,2016;Sønderby等,2016;Nguyen等,2016;吳等,2016;Mathieu等,2015)。GAN的目標是訓練引數化函式(生成器),以將噪聲樣本(例如均勻或高斯噪聲)對映到接近樣本資料的分佈。GAN訓練過程的基本方案是訓練一個判別器,該判別器為實際資料樣本分配較高的概率,並將較低的概率分配給生成的資料樣本,同時嘗試使用判別器提供的梯度資訊將生成樣本移向接近真實資料的流形。在常見的設定中,生成器和判別器由深度神經網路表示。

儘管GAN已經在一些領域取得了成功,但由於訓練不穩定和對超引數的敏感性,GAN通常被認為非常難以訓練。另一方面,訓練GAN時觀察到的常見故障模式是將大量可能出現的模式壓縮到幾種模式。即儘管生成器產生了有意義的樣本,但這些樣本通常僅來自幾種常見的模式(即資料分佈下的高概率的小範圍區域)。這種現象的背後是模式的缺失問題,這被廣泛認為是訓練GAN的一個主要問題:資料分佈的許多模式根本沒有在生成的樣本中表現出來,生成樣本的熵值要低得多,而且生成樣本中的變化少於原始資料分佈。

這個問題一直是近期論文的主題,很多文章提出了一些技巧和新架構以穩定GAN的訓練,並提升其樣本的多樣性。 然而作者認為這些問題背後的原因是在GAN訓練期間對判別器缺乏控制。作者希望使用判別器作為度量,促使生成器生成的樣本流向實際資料的流形。然而,即使訓練了判別器來區分這兩個流形,控制這兩個流形之間的判別函式的形狀也是很難的事。 實際上,判別的形狀在資料中起作用的空間可能是非線性的,有不良的“高原”和錯誤的最大值,這可能會損害GAN的訓練(圖1

)。

在這裡插入圖片描述
圖1 在CelebA資料集上訓練的DCGAN模型中具有非常高的判別值( D = 1.0 D = 1.0 )的樣本。

為了解決這個問題,作者提出了一個新的GAN訓練目標正則化器。它的基本思想簡單但功能強大:除了判別器提供的梯度資訊之外,希望生成器利用具有更可預測行為的其他相似性度量,例如L2範數。區分這些相似性指標將提供更穩定的梯度來訓練生成器。將這一想法與旨在懲罰缺失模式的方法相結合,可以為GAN目標構建一系列額外的正規化器。然後,作者設計一組度量以根據模式的多樣性和分佈的公平性來評估生成的樣本。這些指標在判斷複雜生成模型時表現得更加穩健,包括那些經過良好訓練和崩潰的模型。

正則化器通常會在模型差異和偏差之間進行權衡。實驗結果表明,正確應用正則化器可以顯著減少模型方差、穩定訓練,並一次性修復丟失模式的問題,對生成的樣本產生正面或至少沒有負面的影響。作者還討論了正則化GAN演算法的變體,與DCGAN的baseline相比,它可以改善樣本質量。

2 相關工作

GAN方法最初是由Goodfellow等提出的(2014),其中生成器和判別器都是由深度神經網路定義的。

Goodfellow等的工作中(2014),GAN能夠在各種資料集上生成有趣的區域性結構,但全域性非相干影象。Mirza & Osindero (2014)通過引入額外的向量來擴大GAN的表示能力,以允許生成器以其他有益資訊為條件產生樣本。GAN的幾個條件變種已應用於廣泛的任務,包括來自法線貼圖的影象預測(Wang & Gupta,2016), 從文字合成影象(Reed等,2016)和邊緣地圖(Isola等,2016),實時影象處理(Zhu等,2016),時間影象生成(Zhou和Berg,2016;Saito& Matsumoto,2016;Vondrick等,2016),紋理合成,樣式轉換和視訊風格轉化(Li和Wand,2016)。

研究人員還致力於擴充套件GAN的極限,以生成更高解析度的照片般逼真的影象。Denton等(2015)最初在GAN上應用拉普拉斯金字塔框架以生成高解析度的影象。在他們的LAPGAN的每個級別,生成器和判別器都是卷積網路。作為LAPGAN的替代品, Radford等(2015)成功地設計了一類深度卷積生成對抗網路,使得無監督影象表示學習有了顯著改進。旨在改進GAN的另一項工作是通過特徵學習得到來自潛在空間和影象空間的特徵。這項工作的動機是:來自不同空間的特徵對於生成感知和自然影象是互補的。從這個角度來看,一些研究人員使用學習特徵之間的距離作為生成模型訓練目標的損失。Larsen等(2015)將變分自動編碼器目標與GAN組合,並利用來自GAN中的判別器的學習特徵來獲得更好的影象相似性度量。結果表明,從判別器中學習距離對樣本視覺保真度有很大幫助。最近的文獻也展示了令人印象深刻的影象超解析度結果,以生成4倍放大的照片般逼真的自然影象(Ledig等,2016;Sønderby等,2016;Nguyen等,2016)。

儘管取得了這些成功,但GAN非常難以訓練。雖然 Radford等(2015)提供了一類對穩定GAN訓練至關重要的經驗特徵選擇,更利於GAN的訓練。Salimans等(2016)提出特徵匹配技術來穩定GAN的訓練。要求生成器匹配判別器的中間特徵的統計資料。類似的想法被趙等(2016)採用。

除了特徵距離, Dosovitskiy&Brox (2016) 發現影象空間中的對應損失進一步提高了GAN的訓練穩定性。此外,一些研究人員在統一學習過程中利用兩個空間中的資訊 (Dumoulin等, 2016; Donahue等,2016)。在Dumoulin等(2016)的工作中,一個訓練器不僅訓練一個生成器,而且訓練一個編碼器;同時訓練判別器以區分影象上的兩個分佈,潛在空間是通過在訓練資料上使用編碼器,或對潛在先驗應用生成器(解碼器)產生的。這與常規GAN的訓練形成對比:在常規GAN訓練中,判別器僅嘗試分離影象空間中的分佈。此外,Metz等(2016)通過展開判別器的優化來穩定GAN的訓練,這可以被認為是與本文正交的工作。

在與GAN模型共同訓練自動編碼器或VAE方面,本文的工作與VAEGAN有關(Larsenal等,2015)。然而,VAEGAN中的變分自動編碼器(VAE)用於生成樣本,而本文基於自動編碼器的損失用作懲罰丟失模式的正則化器,從而提高GAN的訓練穩定性和樣本質量。本文在 附錄D 中展示了各個方面的細節差異。

3 用於GAN的模式正則化器

GAN訓練過程可以被視為一種對抗的雙人遊戲,其中判別器 D D 試圖區分真實和生成的例子,而生成器 G G 試圖通過將生成的樣本推向更高的判別值的方向來欺騙判別器。訓練判別器 D D 可被視為訓練樣本空間的評估度量。然後,生成器 G G 利用由判別器提供的區域性梯度 log D ( G ) \nabla\log D(G) 來更新,即朝向原始資料流形的方向移動。

作者仔細研究了訓練GAN時不穩定的根本原因。判別器在生成樣本的和原始樣本集上進行訓練。正如Goodfellow等(2014)、Denton等(2015)、Radford等(2015)所指出的那樣,當資料流形和生成流形是不相交的(在幾乎所有實際情況中都是如此),它相當於訓練的特徵函式在資料流形上非常接近1,在生成流形上為0。在訓練過程中,為了將良好的梯度資訊傳遞給生成器,判別器產生穩定、平滑的梯度是很重要的。然而,由於判別器目標不直接取決於判別器在空間的其他部分中的行為,如果判別器函式的形狀不是預期的,則訓練就很容易失敗。舉個例子,Denton等(2015)注意到了GAN常見的故障模式,即梯度消失問題。在這種情況下判別器 D D 完美地分類了真實樣本和生成例項,使得在生成樣本週圍, D D 幾乎為零。在這種情況下,生成器將不會有任何利於讓自己變好的梯度。

訓練GAN時的另一個重要問題是模式缺失。理論上,如果生成的資料和實際資料來自相同的低維流形,則判別器可以幫助生成器分配其概率質量,因為缺失模式在生成器下不會具有接近0的概率,因此這些中的樣本區域可以適當地集中在 D D 接近1的區域。然而,實際上由於兩個流形是不相交的, D D 在所有實際資料樣本上往往都接近1,因此資料量較大的模式通常具有更高的判別器的梯度吸引力的機會。對於典型的GAN模型,由於所有模式都具有相似的 D D 值,因此沒有理由說明生成器不能坍縮到幾個主要模式。換句話說,由於判別器的輸出分別在偽造和真實的資料上幾乎為0和1,因此生成器不會因缺失模式而受到懲罰。

3.1 幾何度量的正則化器

與GAN生成器的目標相比,從優化的角度來看,監督學習的優化目標更加穩定。區別很明顯:GAN生成器的優化目標是學習的判別器;在監督模型中,優化目標是具有良好幾何特性的距離函式。後者通常提供比前者更容易的訓練梯度,特別是在訓練的早期階段。

受此觀察的啟發,作者建議將監督訓練的訊號作為判別器目標之上的正則化器。假設生成器 G ( z ) : Z X G(z):Z→X 首先從空間 Z Z 中的固定先驗分佈中取樣,然後通過訓練變換 G G ,將其變換到樣本空間 X X 來生成樣本。作者還與 G G 聯合聯合訓練編碼器 E ( x ) : X Z E(x):X→Z 。假設 d d 是資料空間中的某種相似性度量,作者新增 E x P d [ d ( x , G E ( x ) ) ] E_{x\sim P_d}[d(x,G\circ E(x))] 作為正則化器,其中 p d p_d 是資料生成分佈。編碼器本身是通過最小化相同的重建誤差來訓練的。

在實踐中,距離測量 d d 有很多選擇。例如,畫素的 L 2 L2 距離,或判別器的學習特徵的距離(Dumoulin等,2016)或者由其他網路,例如VGG分類器提供的距離(Ledig等,2016)。

這個正則化器的幾何直覺是非常直接的。作者試圖使用梯度下降將生成的流形移動到真實資料流形。除了判別器提供的梯度之外,作者還嘗試了通過其他幾何距離匹配兩個流形,例如 L s L^s 度量。新增編碼器的想法等同於首先訓練兩個流形之間的點到點對映 G ( E ( x ) ) G(E(x)) ,然後嘗試最小化這兩個流形上的點之間的預期距離。

3.2 模型正則化器

除了度量的正則化器之外,作者還提出了一種模式正則化器,以進一步懲罰丟失的模式。在傳統的GAN中,生成器的優化目標是經驗總和 i θ log D ( G θ ( z i ) ) \sum_i\nabla θ\log D(G_θ(z_i)) 。丟失模式問題是由兩個事實的結合引起的:
(1)生成器很少訪問缺失模式附近的區域,因此可以去提供少量的樣本去提升訓練器在這些區域附近的表現;
(2)缺失模式和非缺失模式往往對應於 D D 的較高的數值,生成器不是完美的,因此判別器可以在區域性做出很好的判定,並獲得高的 D D 值(甚至在不缺失的地方也是如此)。

例如,考慮圖2中的情況。對於大多數 z z ,生成器的梯度 θ log D ( G θ ( z ) ) θ\log D(G_θ(z)) 將生成器推向主模式 M 1 M_1 。只有當 G ( z ) G(z) 非常接近模式 M 2 M_2 時,生成器才能獲得梯度以將其自身推向較小規模的 M 2 M_2 。然而這種 z z 在先驗可能是低概率或零概率 p 0 p_0

在這裡插入圖片描述
圖2 缺失問題的圖示。

鑑於此觀察,考慮具有度量正則化器的GAN模型。假設 M 0 M_0 是資料生成分佈的次要模式。對於 x M 0 x\in M_0 ,如果 G E G\circ E 是一個好的自動編碼器, G ( E ( x ) ) G(E(x)) 將非常接近模式 M 0 M_0 。由於訓練資料中有足夠的模式 M 0 M_0 的訓練樣例,作者將模式正則化器 E x p d [ log D ( G E ( x ) ] E_{x\sim p_d}[\log D(G\circ E(x)] 新增到生成器的優化目標中,以鼓勵 G ( E ( X ) ) G(E(X)) 移向附近的資料生成分佈模式。通過這種方式可以實現跨不同模式的公平概率質量分佈。

簡而言之,生成器和編碼器的正則化優化目標變為:
(1) T G = E z [ log D ( G ( z ) ) ] + E x p d [ λ 1 d ( x , G E ( x ) ) + λ 2 log D ( G E ( x ) ) ] T_G=-\mathbb E_z[\log D(G(z))]+\mathbb E_{x\in p_d}[\lambda_1d(x,G\circ E(x))+\lambda_2\log D(G\circ E(x))]\tag{1}