本系列博文為深度學(xué)習(xí)/計算機視覺論文筆記,轉(zhuǎn)載請注明出處
標(biāo)題:Progressive Growing of GANs for Improved Quality, Stability, and Variation
鏈接:[1710.10196] Progressive Growing of GANs for Improved Quality, Stability, and Variation (arxiv.org)
摘要
我們描述了一種新的生成對抗網(wǎng)絡(luò)(GANs)訓(xùn)練方法。關(guān)鍵思想是逐步地使生成器和判別器增長:從低分辨率開始,隨著訓(xùn)練的進(jìn)行,我們添加新的層(layer),這些層模擬了越來越精細(xì)的細(xì)節(jié)。這不僅加速了訓(xùn)練過程,還極大地穩(wěn)定了訓(xùn)練過程,使我們能夠生成前所未有質(zhì)量的圖像,例如 102 4 2 1024^2 10242分辨率的CELEBA圖像。我們還提出了一種簡單的方法來增加生成圖像的變化,并在無監(jiān)督的CIFAR10數(shù)據(jù)集中實現(xiàn)了創(chuàng)紀(jì)錄的 8.80 8.80 8.80的Inception分?jǐn)?shù)。
此外,我們描述了一些對于防止生成器和判別器之間不健康的競爭很重要的實現(xiàn)細(xì)節(jié)。最后,我們提出了一種用于評估GAN結(jié)果的新指標(biāo),既涉及圖像質(zhì)量又涉及變化。作為額外的貢獻(xiàn),我們構(gòu)建了一個更高質(zhì)量的CELEBA數(shù)據(jù)集版本。
1 引言
生成方法用于從高維數(shù)據(jù)分布(例如圖像)中產(chǎn)生新樣本,正在廣泛應(yīng)用于語音合成(van den Oord等,2016a)、圖像轉(zhuǎn)換(Zhu等,2017;Liu等,2017;Wang等,2017)和圖像修復(fù)(Iizuka等,2017)等領(lǐng)域。目前,最突出的方法包括自回歸模型(van den Oord等,2016b;c)、變分自編碼器(VAE)(Kingma和Welling,2014)和生成對抗網(wǎng)絡(luò)(GAN)(Goodfellow等,2014)。目前,它們都有顯著的優(yōu)勢和劣勢。自回歸模型(如PixelCNN)可以生成清晰的圖像,但評估速度較慢,并且由于直接模擬像素上的條件分布,它們沒有潛在表示,這可能限制了它們的適用性。VAE易于訓(xùn)練,但由于模型的限制,往往會產(chǎn)生模糊的結(jié)果,盡管近期的工作正在改進(jìn)這一點(Kingma等,2016)。GAN可以生成清晰的圖像,盡管僅限于相對較小的分辨率,并且變化有些有限,盡管近期取得了進(jìn)展,訓(xùn)練仍然不穩(wěn)定(Salimans等,2016;Gulrajani等,2017;Berthelot等,2017;Kodali等,2017)。混合方法結(jié)合了這三種方法的各種優(yōu)勢,但在圖像質(zhì)量方面仍落后于GAN(Makhzani和Frey,2017;Ulyanov等,2017;Dumoulin等,2016)。
通常情況下,GAN由兩個網(wǎng)絡(luò)組成:生成器和判別器(也稱為評論家)。生成器從潛在編碼生成樣本,例如圖像,這些圖像的分布理想情況下應(yīng)與訓(xùn)練分布不可區(qū)分。由于通常不可能設(shè)計一個函數(shù)來判斷是否為這種情況,因此訓(xùn)練一個判別器網(wǎng)絡(luò)來進(jìn)行評估。由于網(wǎng)絡(luò)可微分,我們還可以獲得梯度,以引導(dǎo)兩個網(wǎng)絡(luò)朝著正確的方向進(jìn)行調(diào)整。通常,生成器是主要關(guān)注的對象,判別器是一個自適應(yīng)的損失函數(shù),在生成器訓(xùn)練完成后就會被丟棄。
這種表述存在多個潛在問題。當(dāng)我們衡量訓(xùn)練分布和生成分布之間的距離時,如果這些分布沒有實質(zhì)性的重疊,即很容易區(qū)分開(Arjovsky和Bottou,2017),梯度可能指向更多或更少的隨機方向。最初,Jensen-Shannon散度被用作距離度量(Goodfellow等,2014),近期這種表述已經(jīng)得到改進(jìn)(Hjelm等,2017),并且已經(jīng)提出了許多更穩(wěn)定的替代方法,包括最小二乘(Mao等,2016b)、帶邊際的絕對偏差(Zhao等,2017)和Wasserstein距離(Arjovsky等,2017;Gulrajani等,2017)。我們的貢獻(xiàn)在很大程度上與這個持續(xù)的討論無關(guān),我們主要使用改進(jìn)的Wasserstein損失,但也嘗試了最小二乘損失。
由于更高的分辨率使得容易區(qū)分生成的圖像與訓(xùn)練圖像(Odena等,2017),因此嚴(yán)重放大了梯度問題,生成高分辨率圖像變得困難。由于內(nèi)存限制,大分辨率還需要使用較小的小批量,進(jìn)一步影響訓(xùn)練的穩(wěn)定性。我們的關(guān)鍵洞察是,我們可以逐步地使生成器和判別器增長,從容易的低分辨率圖像開始,隨著訓(xùn)練的進(jìn)行,添加新的層,引入更高分辨率的細(xì)節(jié)。這極大地加速了訓(xùn)練,并提高了高分辨率圖像的穩(wěn)定性,我們將在第2節(jié)中討論。
GAN的表述并不明確要求生成模型代表整個訓(xùn)練數(shù)據(jù)分布。傳統(tǒng)觀點認(rèn)為圖像質(zhì)量和變化之間存在權(quán)衡,但這一觀點最近受到了挑戰(zhàn)(Odena等,2017)。當(dāng)前正在關(guān)注保留的變化程度,已經(jīng)提出了各種方法來衡量它,包括Inception分?jǐn)?shù)(Salimans等,2016)、多尺度結(jié)構(gòu)相似性(MS-SSIM)(Odena等,2017;Wang等,2003)、生日悖論(Arora和Zhang,2017)以及顯式測試發(fā)現(xiàn)的離散模式數(shù)量(Metz等,2016)。我們將在第3節(jié)中描述鼓勵變化的方法,并在第5節(jié)中提出用于評估質(zhì)量和變化的新指標(biāo)。
第4.1節(jié)討論了對網(wǎng)絡(luò)初始化的微小修改,以實現(xiàn)不同層之間更平衡的學(xué)習(xí)速度。此外,我們觀察到通常困擾GAN的模式崩潰往往發(fā)生得非??欤瑑H在幾十個小批量內(nèi)。通常,它們在判別器超調(diào)時開始,導(dǎo)致梯度夸張,然后會出現(xiàn)不健康的競爭,兩個網(wǎng)絡(luò)中的信號幅度升高。我們提出了一種機制來阻止生成器參與這種升級,克服了這個問題(第4.2節(jié))。
我們使用CELEBA、LSUN、CIFAR10數(shù)據(jù)集來評估我們的貢獻(xiàn)。我們改進(jìn)了CIFAR10的最佳發(fā)布Inception分?jǐn)?shù)。由于在基準(zhǔn)生成方法中通常使用的數(shù)據(jù)集分辨率較低,我們還創(chuàng)建了一個更高質(zhì)量的CELEBA數(shù)據(jù)集版本,允許在輸出分辨率高達(dá)1024×1024像素進(jìn)行實驗。該數(shù)據(jù)集和我們的完整實現(xiàn)可在 https://github.com/tkarras/progressive_growing_of_gans 找到,訓(xùn)練好的網(wǎng)絡(luò)可在 https://drive.google.com/open?id=0B4qLcYyJmiz0NHFULTdYc05lX0U 找到,同時附帶結(jié)果圖像,以及一個說明性視頻,展示了數(shù)據(jù)集、附加結(jié)果和潛在空間插值,地址為 https://youtu.be/G06dEcZ-QTg 。
2 逐步增長的生成對抗網(wǎng)絡(luò)
我們的主要貢獻(xiàn)是一種生成對抗網(wǎng)絡(luò)(GANs)的訓(xùn)練方法,我們從低分辨率圖像開始,逐步增加分辨率,通過向網(wǎng)絡(luò)添加層,如圖1所示。這種漸進(jìn)的方式使得訓(xùn)練首先可以發(fā)現(xiàn)圖像分布的大尺度結(jié)構(gòu),然后將注意力轉(zhuǎn)移到越來越細(xì)的尺度細(xì)節(jié),而不是必須同時學(xué)習(xí)所有尺度。
圖1:我們的訓(xùn)練始于生成器(G)和判別器(D)的低分辨率狀態(tài),為 4×4 像素。隨著訓(xùn)練的進(jìn)行,我們逐步向 G 和 D 添加層,從而增加生成圖像的空間分辨率。在整個過程中,所有現(xiàn)有的層都保持可訓(xùn)練狀態(tài)。這里的 N × N 表示卷積層在 N × N 的空間分辨率上操作。這使得在高分辨率下能夠穩(wěn)定地合成圖像,并且極大地加快了訓(xùn)練速度。在右側(cè),我們展示了使用漸進(jìn)式增長生成的 1024 × 1024 分辨率的六個示例圖像。
我們使用生成器和判別器網(wǎng)絡(luò),它們是彼此的鏡像,始終同步增長。在整個訓(xùn)練過程中,兩個網(wǎng)絡(luò)中的所有現(xiàn)有層都保持可訓(xùn)練狀態(tài)。當(dāng)向網(wǎng)絡(luò)添加新層時,我們會平滑地將它們淡入,如圖2所示。這避免了對已經(jīng)訓(xùn)練得很好的較小分辨率層造成突然的沖擊。附錄A詳細(xì)描述了生成器和判別器的結(jié)構(gòu),以及其他訓(xùn)練參數(shù)。
圖2:當(dāng)增加生成器(G)和判別器(D)的分辨率時,我們平滑地漸入新層。這個示例展示了從 16 × 16 圖像 (a) 到 32 × 32 圖像 ? 的過渡。在過渡期間 (b),我們將在更高分辨率上操作的層視為一個殘差塊,其權(quán)重 α 從 0 線性增加到 1。這里的 2× 和 0.5× 分別表示使用最近鄰濾波和平均池化進(jìn)行圖像分辨率的加倍和減半。toRGB 代表一個將特征向量投影到 RGB 顏色的層,而 fromRGB 則執(zhí)行相反的操作;兩者都使用 1 × 1 卷積。在訓(xùn)練判別器時,我們將實際圖像縮小以與網(wǎng)絡(luò)的當(dāng)前分辨率匹配。在分辨率過渡期間,我們在實際圖像的兩個分辨率之間插值,類似于生成器輸出組合兩個分辨率的方式。
我們觀察到,漸進(jìn)式訓(xùn)練有幾個好處。早期,生成較小圖像的穩(wěn)定性要更高,因為這里的類別信息較少,模式也較少(Odena等,2017)。通過逐漸增加分辨率,與從潛在向量到例如1024^2圖像的最終目標(biāo)相比,我們一直在持續(xù)地提出一個更簡單的問題。這種方法在概念上與Chen和Koltun(2017)最近的工作有相似之處。在實踐中,它穩(wěn)定了訓(xùn)練,使我們能夠使用WGAN-GP損失(Gulrajani等,2017)甚至LSGAN損失(Mao等,2016b)可靠地合成百萬像素級別的圖像。另一個好處是減少的訓(xùn)練時間。通過逐步增長的GANs,在較低分辨率下完成大部分迭代,通常可以在2-6倍的速度上獲得相當(dāng)?shù)慕Y(jié)果質(zhì)量,具體取決于最終的輸出分辨率。
漸進(jìn)增長GANs的思想與Wang等(2017)的工作相關(guān),他們使用多個判別器來操作不同的空間分辨率。這項工作受到Durugkar等(2016)的啟發(fā),后者同時使用一個生成器和多個判別器,以及Ghosh等(2017),他們使用多個生成器和一個判別器。分層GANs(Denton等,2015;Huang等,2016;Zhang等,2017)為圖像金字塔的每個層級定義一個生成器和判別器。這些方法建立在與我們工作相同的觀察基礎(chǔ)上,即從潛在向量到高分辨率圖像的復(fù)雜映射在逐步學(xué)習(xí)中更容易實現(xiàn),但關(guān)鍵的區(qū)別是我們只有一個單一的GAN,而不是一系列的GAN層級。與早期關(guān)于自適應(yīng)增長網(wǎng)絡(luò)的工作相反,例如自適應(yīng)增長神經(jīng)氣體(Fritzke,1995)和增強拓?fù)涞纳窠?jīng)進(jìn)化(Stanley和Miikkulainen,2002),這些方法會貪婪地增加網(wǎng)絡(luò),我們只是延遲引入預(yù)配置的層。在這種意義上,我們的方法類似于自編碼器的逐層訓(xùn)練(Bengio等,2007)。
3 使用小批量標(biāo)準(zhǔn)差增加變化
生成對抗網(wǎng)絡(luò)(GANs)往往只能捕捉到訓(xùn)練數(shù)據(jù)中的一個子集的變化,Salimans等人(2016)提出了“小批量區(qū)分”作為解決方案。他們不僅從單個圖像計算特征統(tǒng)計信息,還從小批量中計算,從而鼓勵生成和訓(xùn)練圖像的小批量顯示類似的統(tǒng)計信息。這是通過在判別器末尾添加一個小批量層來實現(xiàn)的,該層學(xué)習(xí)一個大張量,將輸入激活投影到一組統(tǒng)計數(shù)據(jù)中。對于小批量中的每個示例,都會生成一組單獨的統(tǒng)計數(shù)據(jù),并將其連接到層的輸出,以便判別器可以在內(nèi)部使用這些統(tǒng)計數(shù)據(jù)。我們在極大地簡化了這個方法的同時,也改善了變化。
我們的簡化解決方案既沒有可學(xué)習(xí)的參數(shù),也沒有新的超參數(shù)。我們首先計算每個空間位置上的每個特征在小批量上的標(biāo)準(zhǔn)差。然后,我們將這些估計值在所有特征和空間位置上平均,得到一個單一的值。我們復(fù)制這個值,并將它連接到所有的空間位置和小批量上,從而產(chǎn)生一個額外的(恒定的)特征圖。這個層可以插入到判別器的任何位置,但我們發(fā)現(xiàn)將其插入到末尾是最好的(詳見附錄A.1)。我們嘗試了更豐富的統(tǒng)計數(shù)據(jù)集,但未能進(jìn)一步改善變化。在平行的工作中,Lin等人(2017)就向判別器顯示多個圖像的益處提供了理論洞察。
解決變化問題的其他方法包括展開判別器(Metz等人,2016)以規(guī)范其更新,以及添加“排斥正則化器”(Zhao等人,2017)到生成器中,試圖鼓勵生成器在小批量中使特征向量正交。Ghosh等人(2017)的多個生成器也有類似的目標(biāo)。我們承認(rèn),這些解決方案可能會進(jìn)一步增加變化,甚至可能與我們的解決方案正交,但將詳細(xì)的比較留待以后。
4 生成器和判別器中的標(biāo)準(zhǔn)化
生成對抗網(wǎng)絡(luò)(GANs)容易因為兩個網(wǎng)絡(luò)之間的不健康競爭而導(dǎo)致信號幅度的升級。大多數(shù)情況下,如果不是全部情況,以前的解決方案都會使用批歸一化的變體(Ioffe&Szegedy,2015;Salimans&Kingma,2016;Ba等,2016)在生成器中使用,通常也會在判別器中使用。這些歸一化方法最初是引入的,以消除協(xié)變量偏移。然而,在GAN中,我們并沒有觀察到這是一個問題,因此我們認(rèn)為GAN中的實際需求是約束信號幅度和競爭。我們使用了一個包含兩個成分的不同方法,其中都沒有可學(xué)習(xí)的參數(shù)。
4.1 均衡學(xué)習(xí)率
我們不同于當(dāng)前謹(jǐn)慎權(quán)重初始化的趨勢,而是使用了一個簡單的 N ( 0 , 1 ) N(0, 1) N(0,1)初始化,然后在運行時明確地縮放權(quán)重。準(zhǔn)確地說,我們設(shè)置 w ^ i = w i / c w?_i = w_i/c w^i?=wi?/c,其中 w i w_i wi?是權(quán)重, c c c是來自He的初始化器(He等,2015)的每層歸一化常數(shù)。之所以在運行時而不是在初始化時執(zhí)行這個操作的好處,有些微妙,與常用的自適應(yīng)隨機梯度下降方法(例如RMSProp(Tieleman&Hinton,2012)和Adam(Kingma&Ba,2015))中的尺度不變性有關(guān)。這些方法通過其估計的標(biāo)準(zhǔn)差來歸一化梯度更新,從而使更新獨立于參數(shù)的尺度。因此,如果某些參數(shù)的動態(tài)范圍大于其他參數(shù),它們將需要更長時間來調(diào)整。這是現(xiàn)代初始化器引起的情況,因此可能學(xué)習(xí)率同時過大和過小。我們的方法確保所有權(quán)重的動態(tài)范圍以及學(xué)習(xí)速度都相同。Van Laarhoven(2017)也獨立地使用了類似的推理。
4.2 生成器中的像素特征向量標(biāo)準(zhǔn)化
為了防止生成器和判別器中的幅度因競爭而失控的情況,我們在每個卷積層后將生成器中每個像素的特征向量歸一化為單位長度。我們使用一種“局部響應(yīng)歸一化”的變體(Krizhevsky等人,2012),配置為
b x , y = a x , y 1 N ∑ j = 0 N ? 1 ( a x , y j ) 2 + ε b_{x,y} = \frac {a_{x,y}} {\sqrt {\frac{1}{N} \sum_{j=0}^{N-1}(a^j_{x,y}) ^ 2 + ε}} bx,y?=N1?∑j=0N?1?(ax,yj?)2+ε?ax,y??
其中 ε = 1 0 ? 8 ε = 10^{-8} ε=10?8, N N N是特征圖的數(shù)量, a x , y a_{x,y} ax,y?和 b x , y b_{x,y} bx,y?分別是像素 ( x , y ) (x,y) (x,y)中的原始和歸一化特征向量。令人驚訝的是,這種嚴(yán)格的約束似乎并沒有以任何方式損害生成器,實際上在大多數(shù)數(shù)據(jù)集上它并沒有太大地改變結(jié)果,但在需要時它能夠非常有效地防止信號幅度的升級。
5 用于評估GAN結(jié)果的多尺度統(tǒng)計相似性
為了將一個GAN的結(jié)果與另一個進(jìn)行比較,需要調(diào)查大量圖像,這可能是繁瑣、困難且主觀的。因此,希望能依賴于自動化方法,從大型圖像集合中計算出一些指示性的度量。我們注意到,現(xiàn)有方法,如多尺度結(jié)構(gòu)相似性(MS-SSIM)(Odena等人,2017),能夠可靠地發(fā)現(xiàn)大尺度的模式崩潰,但無法對顏色或紋理變化的較小效果做出反應(yīng),它們也不能直接從與訓(xùn)練集的相似性來評估圖像質(zhì)量。
我們基于這樣的直覺構(gòu)建,即一個成功的生成器會產(chǎn)生出樣本,其局部圖像結(jié)構(gòu)在所有尺度上都類似于訓(xùn)練集。我們提出通過考慮從生成和目標(biāo)圖像的拉普拉斯金字塔(Burt&Adelson,1987)表示中提取的局部圖像塊的分布之間的多尺度統(tǒng)計相似性來研究這一點,從16×16像素的低通分辨率開始。按照標(biāo)準(zhǔn)做法,該金字塔逐漸倍增,直到達(dá)到完整的分辨率,每個連續(xù)的層級編碼到前一層級的上采樣版本的差異。
一個單一的拉普拉斯金字塔級別對應(yīng)于特定的空間頻率帶。我們隨機采樣了16384張圖像,并從拉普拉斯金字塔的每個級別中提取了128個描述符,為每個級別給出了 2 21 2^{21} 221(2.1M)個描述符。每個描述符是一個帶有3個顏色通道的 7 × 7 7×7 7×7像素鄰域,用 x ∈ R 7 × 7 × 3 = R 147 x ∈ R^{7×7×3} = R^{147} x∈R7×7×3=R147表示。我們將訓(xùn)練集和生成集中級別 l l l的圖像塊分別表示為 { x i l } i = 1 2 21 \{x^l_i\}^{2^{21}}_{i=1} {xil?}i=1221? 和 { x i l } i = 1 2 21 \{x^l_i\}^{2^{21}}_{i=1} {xil?}i=1221? ,我們首先根據(jù)每個顏色通道的均值和標(biāo)準(zhǔn)差對 { x i l } \{x^l_i\} {xil?} 和 { y i l } \{y^l_i\} {yil?} 進(jìn)行歸一化,然后通過計算它們的切片Wasserstein距離 S W D ( { x i l } { y i l } ) SWD(\{x^l_i\}\{y^l_i\}) SWD({xil?}{yil?}) 來估計統(tǒng)計相似性,這是對移動距離的有效可計算隨機估計,使用512個投影(Rabin等人,2011)。
直觀地,小的Wasserstein距離表明圖像塊的分布是相似的,這意味著訓(xùn)練圖像和生成樣本在這個空間分辨率上看起來在外觀和變化方面都相似。特別是,從最低分辨率的 16 × 16 16×16 16×16圖像中提取的塊集之間的距離指示了大尺度圖像結(jié)構(gòu)的相似性,而最細(xì)級別的塊則編碼了有關(guān)像素級屬性(如邊緣的清晰度和噪聲)的信息。
6 實驗
本節(jié)討論了我們進(jìn)行的一系列實驗,以評估我們結(jié)果的質(zhì)量。有關(guān)網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練配置的詳細(xì)描述,請參見附錄A。我們還邀請讀者查閱附帶的視頻( https://youtu.be/G06dEcZ-QTg )以獲取更多的結(jié)果圖像和潛在空間插值。
在本節(jié)中,我們將區(qū)分網(wǎng)絡(luò)結(jié)構(gòu)(例如,卷積層,調(diào)整大?。⒂?xùn)練配置(各種規(guī)范化層,與小批量相關(guān)的操作)以及訓(xùn)練損失(WGAN-GP,LSGAN)。
6.1 通過統(tǒng)計相似性評估各項貢獻(xiàn)的重要性
首先,我們將使用切片Wasserstein距離(SWD)和多尺度結(jié)構(gòu)相似性(MS-SSIM)(Odena等人,2017)來評估我們各個貢獻(xiàn)的重要性,并對度量本身進(jìn)行感知驗證。我們將在先前的狀態(tài)-of-the-art損失函數(shù)(WGAN-GP)和訓(xùn)練配置(Gulrajani等人,2017)的基礎(chǔ)上進(jìn)行構(gòu)建,以無監(jiān)督的方式使用CELEBA(Liu等人,2015)和LSUN BEDROOM(Yu等人,2015)數(shù)據(jù)集進(jìn)行1282分辨率的測試。 CELEBA特別適合此類比較,因為訓(xùn)練圖像包含難以忠實地再現(xiàn)的明顯偽影(混疊、壓縮、模糊等)。在此測試中,我們通過選擇相對低容量的網(wǎng)絡(luò)結(jié)構(gòu)(附錄A.2)并在將總共顯示給判別器的真實圖像數(shù)量達(dá)到1000萬時終止訓(xùn)練,放大了訓(xùn)練配置之間的差異。因此,結(jié)果尚未完全收斂。
表1列出了幾種訓(xùn)練配置中的SWD和MS-SSIM的數(shù)值,在基線(Gulrajani等人,2017)之上逐步啟用我們的各個貢獻(xiàn)。 MS-SSIM數(shù)字是從10000對生成的圖像中平均得出的,而SWD是如第5節(jié)所述計算得出的。這些配置生成的CELEBA圖像顯示在圖3中。由于篇幅限制,該圖只顯示了表中每行的一小部分示例,但在附錄H中提供了更廣泛的示例。直觀上,一個好的評估指標(biāo)應(yīng)該獎勵在顏色、紋理和視角方面表現(xiàn)出豐富變化的合理圖像。然而,MS-SSIM沒有捕捉到這一點:我們可以立即看出配置(h)生成的圖像明顯比配置(a)更好,但MS-SSIM基本保持不變,因為它僅測量輸出之間的變化,而不是與訓(xùn)練集的相似性。另一方面,SWD確實表明了明顯的改進(jìn)。
表1:在 128 × 128 分辨率下,不同訓(xùn)練設(shè)置下生成圖像與訓(xùn)練圖像之間的切片 Wasserstein 距離(SWD)(第 5 節(jié))以及生成圖像之間的多尺度結(jié)構(gòu)相似性(MS-SSIM)。對于 SWD,每一列代表拉普拉斯金字塔的一個層次,最后一列給出四個距離的平均值。
圖3:(a) – (g) 對應(yīng)于表 1 中各行的 CELEBA 示例,這些示例故意是非收斂的。 (h) 我們的收斂結(jié)果。注意,一些圖像顯示出了鋸齒現(xiàn)象,一些圖像不夠清晰 - 這是數(shù)據(jù)集的一個缺陷,模型學(xué)會了忠實地復(fù)制這些特點。
第一個訓(xùn)練配置(a)對應(yīng)于Gulrajani等人(2017),其中生成器中有批歸一化,判別器中有層歸一化,小批量大小為64。 (b) 啟用了網(wǎng)絡(luò)的逐步增長,導(dǎo)致更銳利、更可信的輸出圖像。SWD正確地發(fā)現(xiàn)生成圖像的分布更類似于訓(xùn)練集。我們的主要目標(biāo)是實現(xiàn)高分辨率輸出,這需要減小小批量的大小,以使其適應(yīng)可用的內(nèi)存預(yù)算。我們在?中展示了隨著小批量大小從64減小到16所帶來的挑戰(zhàn)。生成的圖像是不自然的,這在兩個指標(biāo)中都明顯可見。在(d)中,我們通過調(diào)整超參數(shù)以及去除批歸一化和層歸一化(附錄A.2)來穩(wěn)定訓(xùn)練過程。作為中間測試(e?),我們啟用了小批量判別(Salimans等人,2016),令人驚訝的是,它在任何指標(biāo)上都沒有改善,包括衡量輸出變化的MS-SSIM。相反,我們的小批量標(biāo)準(zhǔn)差(e)提高了平均SWD分?jǐn)?shù)和圖像質(zhì)量。然后,在(f)和(g)中啟用了我們的其他貢獻(xiàn),從而在SWD和主觀視覺質(zhì)量方面都取得了改進(jìn)。最后,在(h)中,我們使用非縮減的網(wǎng)絡(luò)和更長的訓(xùn)練 - 我們認(rèn)為生成的圖像質(zhì)量至少與迄今為止發(fā)表的最佳結(jié)果相當(dāng)。
6.2 收斂和訓(xùn)練速度
圖4說明了在SWD指標(biāo)和原始圖像吞吐量方面,逐步增長對訓(xùn)練的影響。前兩個圖對應(yīng)于Gulrajani等人(2017)的訓(xùn)練配置,沒有逐步增長和有逐步增長。我們觀察到,逐步增長變體提供了兩個主要優(yōu)勢:它收斂到更好的極值,并且將總訓(xùn)練時間減少了約兩倍。改進(jìn)的收斂性是通過逐漸增加網(wǎng)絡(luò)容量所實施的一種隱式的課程學(xué)習(xí)來解釋的。沒有逐步增長,生成器和判別器的所有層都要同時為大尺度變化和小尺度細(xì)節(jié)找到簡潔的中間表示。然而,通過逐步增長,現(xiàn)有的低分辨率層在早期可能已經(jīng)收斂,因此網(wǎng)絡(luò)只需要通過引入新層來逐漸減小尺度效應(yīng)來精煉表示。的確,我們可以在圖4(b)中看到最大尺度統(tǒng)計相似性曲線(16)非??焖俚剡_(dá)到其最佳值,并在其余訓(xùn)練的過程中保持一致。較小尺度的曲線(32、64、128)隨著分辨率的增加逐一趨于平穩(wěn),但每個曲線的收斂都同樣一致。在圖4(a)中,非逐步增長訓(xùn)練中,每個尺度的SWD指標(biāo)大致同時收斂,這是可以預(yù)期的。
圖4:漸進(jìn)增長對訓(xùn)練速度和收斂的影響 這些時間是在單 GPU 設(shè)置下,使用 NVIDIA Tesla P100 測量的。(a)使用 CELEBA 數(shù)據(jù)集在 128 × 128 分辨率下,針對 Gulrajani 等人(2017)方法,與墻上時鐘時間的統(tǒng)計相似性。每個圖表代表拉普拉斯金字塔的一個層次上的切片 Wasserstein 距離,垂直線指示我們在表 1 中停止訓(xùn)練的點。(b)啟用漸進(jìn)增長的相同圖表。虛線垂直線指示我們對 G 和 D 的分辨率加倍的點。(c)漸進(jìn)增長對于 1024 × 1024 分辨率下原始訓(xùn)練速度的影響。
逐步增長的加速度隨著輸出分辨率的增加而增加。圖4?顯示了在訓(xùn)練過程中,以顯示給判別器的真實圖像數(shù)量為衡量標(biāo)準(zhǔn),當(dāng)訓(xùn)練一直進(jìn)行到1024 × 1024分辨率時的訓(xùn)練時間的情況。我們可以看到,逐步增長變體因為網(wǎng)絡(luò)在開始時是淺層且快速評估,所以獲得了顯著的起步優(yōu)勢。一旦達(dá)到完整分辨率,兩種方法之間的圖像吞吐量是相等的。圖表顯示,逐步變體在96小時內(nèi)達(dá)到了大約640萬張圖像,而可以推測,非逐步變體將花費大約520小時才能達(dá)到相同的程度。在這種情況下,逐步增長提供了大約5.4倍的加速度。
6.3 使用CELEBA-HQ數(shù)據(jù)集生成高分辨率圖像
為了有意義地展示高輸出分辨率下的結(jié)果,我們需要一個足夠多樣且高質(zhì)量的數(shù)據(jù)集。然而,先前在GAN文獻(xiàn)中使用的幾乎所有公開數(shù)據(jù)集都限制在相對較低的分辨率范圍內(nèi),從322到4802不等。為此,我們創(chuàng)建了一個高質(zhì)量版本的CELEBA數(shù)據(jù)集,由30000張1024 × 1024分辨率的圖像組成。有關(guān)創(chuàng)建此數(shù)據(jù)集的更多細(xì)節(jié),請參見附錄C。我們的貢獻(xiàn)使我們能夠以穩(wěn)健且高效的方式處理高輸出分辨率。
圖5顯示了我們的網(wǎng)絡(luò)生成的選定1024 × 1024圖像。雖然在另一個數(shù)據(jù)集(Marchesi,2017)中已經(jīng)展示過百萬像素GAN結(jié)果,但我們的結(jié)果更加多樣且具有更高的視覺質(zhì)量。更多的結(jié)果圖像以及從訓(xùn)練數(shù)據(jù)中找到的最近鄰示例,請參閱附錄F。隨附的視頻展示了潛在空間插值并可視化了逐步訓(xùn)練。插值的工作方式是首先為每個幀隨機生成一個潛在編碼(從N(0,1)中單獨采樣的512個分量),然后使用高斯(σ = 45幀@60Hz)在時間上模糊潛在變量,最后將每個向量歸一化為超球面上的向量。
圖5:使用 CELEBA-HQ 數(shù)據(jù)集生成的 1024 × 1024 圖像。請參見附錄 F 獲取更大的結(jié)果集,以及附帶的視頻中的潛在空間插值。
我們使用8臺Tesla V100 GPU對網(wǎng)絡(luò)進(jìn)行了4天的訓(xùn)練,在此之后,我們不再觀察到連續(xù)訓(xùn)練迭代的結(jié)果有質(zhì)量上的差異。我們的實現(xiàn)根據(jù)當(dāng)前輸出分辨率使用自適應(yīng)小批量大小,以便最佳地利用可用內(nèi)存預(yù)算。
為了證明我們的貢獻(xiàn)在很大程度上與損失函數(shù)的選擇無關(guān),我們還使用了LSGAN損失而不是WGAN-GP損失對同一網(wǎng)絡(luò)進(jìn)行了訓(xùn)練。圖1顯示了使用LSGAN生成的六個10242圖像的示例。有關(guān)此設(shè)置的更多細(xì)節(jié),請參見附錄B。
6.4 LSUN的結(jié)果
圖6在視覺上比較了我們的解決方案與先前在LSUN BEDROOM中的結(jié)果。圖7從2562的七個非常不同的LSUN類別中選擇了一些示例。來自所有30個LSUN類別的更大、非精選的結(jié)果集在附錄G中提供,視頻演示了插值。我們不知道在這些類別中有哪些先前的結(jié)果,盡管有些類別效果比其他類別更好,但我們認(rèn)為總體質(zhì)量較高。
圖6:在 LSUN BEDROOM 中的視覺質(zhì)量比較;圖片來自引用的文章。
圖7:從不同的 LSUN 類別生成的 256 × 256 圖像選擇。
6.5 CIFAR10的Inception分?jǐn)?shù)
我們知道CIFAR10(32 × 32的RGB圖像的10個類別)的最佳Inception分?jǐn)?shù)是7.90,而標(biāo)簽條件設(shè)置的分?jǐn)?shù)是8.87(Grinblat等人,2017)。兩個數(shù)字之間的巨大差異主要是由于在無監(jiān)督設(shè)置中必然出現(xiàn)的“幽靈”(即類別之間的過渡)而引起的,而標(biāo)簽條件設(shè)置可以消除許多這樣的過渡。
當(dāng)啟用我們的所有貢獻(xiàn)時,我們在無監(jiān)督設(shè)置下得到了8.80的分?jǐn)?shù)。附錄D展示了一組生成圖像的代表性示例,以及早期方法的更全面的結(jié)果列表。網(wǎng)絡(luò)和訓(xùn)練設(shè)置與CELEBA相同,當(dāng)然,分辨率限制在32 × 32。唯一的定制是WGAN-GP的正則化項 KaTeX parse error: Got function '\hat' with no arguments as subscript at position 14: E_{\hat{x}~P_\?h?a?t?{x}}[(||?\hat{x… 。Gulrajani等人(2017)使用了 γ = 1.0 γ = 1.0 γ=1.0 ,這對應(yīng)于1-Lipschitz,但我們注意到實際上最好是優(yōu)先選擇快速過渡( γ = 750 γ = 750 γ=750),以最小化“幽靈”。我們沒有嘗試在其他數(shù)據(jù)集上使用這個技巧。
7 討論
雖然與GANs以前的工作相比,我們的結(jié)果質(zhì)量通常較高,并且在高分辨率下的訓(xùn)練是穩(wěn)定的,但要達(dá)到真正的逼真程度還有很長的路要走。語義上的合理性和理解數(shù)據(jù)集特定的約束,比如某些物體是直的而不是彎曲的,仍有很大的改進(jìn)空間。圖像的微觀結(jié)構(gòu)也有提升的空間。盡管如此,我們認(rèn)為令人信服的逼真感現(xiàn)在可能已經(jīng)近在眼前,特別是在CELEBA-HQ數(shù)據(jù)集中。
8 致謝
我們要感謝Mikael Honkavaara、Tero Kuosmanen和Timi Hietanen提供的計算基礎(chǔ)設(shè)施。Dmitry Korobchenko和Richard Calderwood為CELEBA-HQ數(shù)據(jù)集相關(guān)工作所做的努力。Oskar Elek、Jacob Munkberg和Jon Hasselgren為有益的評論。
REFERENCES
-
Martin Arjovsky and L′eon Bottou. Towards principled methods for training generative adversarial networks. In ICLR, 2017.
-
Martin Arjovsky, Soumith Chintala, and L′eon Bottou. Wasserstein GAN. CoRR, abs/1701.07875, 2017.
-
Sanjeev Arora and Yi Zhang. Do GANs actually learn the distribution? an empirical study. CoRR, abs/1706.08224, 2017.
-
Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E. Hinton. Layer normalization. CoRR, abs/1607.06450, 2016.
-
Yoshua Bengio, Pascal Lamblin, Dan Popovici, and Hugo Larochelle. Greedy layer-wise training of deep networks. In NIPS, pp. 153–160. 2007.
-
David Berthelot, Tom Schumm, and Luke Metz. BEGAN: Boundary equilibrium generative adversarial networks. CoRR, abs/1703.10717, 2017.
-
Peter J. Burt and Edward H. Adelson. Readings in computer vision: Issues, problems, principles, and paradigms. Chapter: The Laplacian Pyramid As a Compact Image Code, pp. 671–679. 1987.
-
Qifeng Chen and Vladlen Koltun. Photographic image synthesis with cascaded refinement networks. CoRR, abs/1707.09405, 2017.
-
Zihang Dai, Amjad Almahairi, Philip Bachman, Eduard H. Hovy, and Aaron C. Courville. Calibrating energy-based generative adversarial networks. In ICLR, 2017.
-
Emily L. Denton, Soumith Chintala, Arthur Szlam, and Robert Fergus. Deep generative image models using a Laplacian pyramid of adversarial networks. CoRR, abs/1506.05751, 2015.
-
Vincent Dumoulin, Ishmael Belghazi, Ben Poole, Alex Lamb, Martin Arjovsky, Olivier Mastropietro, and Aaron Courville. Adversarially learned inference. CoRR, abs/1606.00704, 2016.
-
Ishan P. Durugkar, Ian Gemp, and Sridhar Mahadevan. Generative multi-adversarial networks. CoRR, abs/1611.01673, 2016.
-
Bernd Fritzke. A growing neural gas network learns topologies. In Advances in Neural Information Processing Systems 7, pp. 625–632. 1995.
-
Arnab Ghosh, Viveka Kulharia, Vinay P. Namboodiri, Philip H. S. Torr, and Puneet Kumar Dokania. Multi-agent diverse generative adversarial networks. CoRR, abs/1704.02906, 2017.
-
Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative Adversarial Networks. In NIPS, 2014.
-
Guillermo L. Grinblat, Lucas C. Uzal, and Pablo M. Granitto. Class-splitting generative adversarial networks. CoRR, abs/1709.07359, 2017.
-
Ishaan Gulrajani, Faruk Ahmed, Mart′?n Arjovsky, Vincent Dumoulin, and Aaron C. Courville. Improved training of Wasserstein GANs. CoRR, abs/1704.00028, 2017.
-
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Delving deep into rectifiers: Surpassing human-level performance on ImageNet classification. CoRR, abs/1502.01852, 2015.
-
Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. GANs trained by a two time-scale update rule converge to a local Nash equilibrium. In NIPS, pp. 6626–6637. 2017.
-
R Devon Hjelm, Athul Paul Jacob, Tong Che, Kyunghyun Cho, and Yoshua Bengio. Boundary-Seeking Generative Adversarial Networks. CoRR, abs/1702.08431, 2017.
-
Xun Huang, Yixuan Li, Omid Poursaeed, John E. Hopcroft, and Serge J. Belongie. Stacked generative adversarial networks. CoRR, abs/1612.04357, 2016.
-
Satoshi Iizuka, Edgar Simo-Serra, and Hiroshi Ishikawa. Globally and locally consistent image completion. ACM Trans. Graph., 36(4):107:1–107:14, 2017.
-
Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. CoRR, abs/1502.03167, 2015.
-
Diederik P. Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In ICLR, 2015.
-
Diederik P. Kingma and Max Welling. Auto-encoding variational Bayes. In ICLR, 2014.
-
Diederik P Kingma, Tim Salimans, Rafal Jozefowicz, Xi Chen, Ilya Sutskever, and Max Welling. Improved variational inference with inverse autoregressive flow. In NIPS, volume 29, pp. 4743–4751. 2016.
-
Naveen Kodali, Jacob D. Abernethy, James Hays, and Zsolt Kira. How to train your DRAGAN. CoRR, abs/1705.07215, 2017.
-
Dmitry Korobchenko and Marco Foco. Single image super-resolution using deep learning, 2017. URL: https://gwmt.nvidia.com/super-res/about. Machines Can See summit.
-
Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. ImageNet classification with deep convolutional neural networks. In NIPS, pp. 1097–1105. 2012.
-
Christian Ledig, Lucas Theis, Ferenc Huszar, Jose Caballero, Andrew P. Aitken, Alykhan Tejani, Johannes Totz, Zehan Wang, and Wenzhe Shi. Photo-realistic single image super-resolution using a generative adversarial network. CoRR, abs/1609.04802, 2016.
-
Zinan Lin, Ashish Khetan, Giulia Fanti, and Sewoong Oh. PacGAN: The power of two samples in generative adversarial networks. CoRR, abs/1712.04086, 2017.
-
Ming-Yu Liu, Thomas Breuel, and Jan Kautz. Unsupervised image-to-image translation networks. CoRR, abs/1703.00848, 2017.
-
Ziwei Liu, Ping Luo, Xiaogang Wang, and Xiaoou Tang. Deep learning face attributes in the wild. In ICCV, 2015.
-
Alireza Makhzani and Brendan J. Frey. PixelGAN autoencoders. CoRR, abs/1706.00531, 2017.
-
Xiao-Jiao Mao, Chunhua Shen, and Yu-Bin Yang. Image restoration using convolutional autoencoders with symmetric skip connections. CoRR, abs/1606.08921, 2016a.
-
Xudong Mao, Qing Li, Haoran Xie, Raymond Y. K. Lau, and Zhen Wang. Least squares generative adversarial networks. CoRR, abs/1611.04076, 2016b.
-
Marco Marchesi. Megapixel size image creation using generative adversarial networks. CoRR, abs/1706.00082, 2017.
-
Luke Metz, Ben Poole, David Pfau, and Jascha Sohl-Dickstein. Unrolled generative adversarial networks. CoRR, abs/1611.02163, 2016.
-
Augustus Odena, Christopher Olah, and Jonathon Shlens. Conditional image synthesis with auxiliary classifier GANs. In ICML, 2017.
-
Julien Rabin, Gabriel Peyr, Julie Delon, and Marc Bernot. Wasserstein barycenter and its application to texture mixing. In Scale Space and Variational Methods in Computer Vision (SSVM), pp. 435–446, 2011.
-
Alec Radford, Luke Metz, and Soumith Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. CoRR, abs/1511.06434, 2015.
-
Tim Salimans and Diederik P. Kingma. Weight normalization: A simple reparameterization to accelerate training of deep neural networks. CoRR, abs/1602.07868, 2016.
-
Tim Salimans, Ian J. Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, and Xi Chen. Improved techniques for training GANs. In NIPS, 2016.
-
Kenneth O. Stanley and Risto Miikkulainen. Evolving neural networks through augmenting topologies. Evolutionary Computation, 10(2):99–127, 2002.
-
Tijmen Tieleman and Geoffrey E. Hinton. Lecture 6.5 - RMSProp. Technical report, COURSERA: Neural Networks for Machine Learning, 2012.
-
Dmitry Ulyanov, Andrea Vedaldi, and Victor S. Lempitsky. Adversarial generator-encoder networks. CoRR, abs/1704.02304, 2017.
-
A¨aron van den Oord, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew W. Senior, and Koray Kavukcuoglu. WaveNet: A generative model for raw audio. CoRR, abs/1609.03499, 2016a.
-
A¨aron van den Oord, Nal Kalchbrenner, and Koray Kavukcuoglu. Pixel recurrent neural networks. In ICML, pp. 1747–1756, 2016b.
-
A¨aron van den Oord, Nal Kalchbrenner, Oriol Vinyals, Lasse Espeholt, Alex Graves, and Koray Kavukcuoglu. Conditional image generation with PixelCNN decoders. CoRR, abs/1606.05328, 2016c.
-
Twan van Laarhoven. L2 regularization versus batch and weight normalization. CoRR, abs/1706.05350, 2017.
-
Ting-Chun Wang, Ming-Yu Liu, Jun-Yan Zhu, Andrew Tao, Jan Kautz, and Bryan Catanzaro. High-resolution image synthesis and semantic manipulation with conditional GANs. CoRR, abs/1711.11585, 2017.
-
Zhou Wang, Eero P. Simoncelli, and Alan C. Bovik. Multi-scale structural similarity for image quality assessment. In Proc. IEEE Asilomar Conf. on Signals, Systems, and Computers, pp. 1398–1402, 2003.
-
David Warde-Farley and Yoshua Bengio. Improving generative adversarial networks with denoising feature matching. In ICLR, 2017.
-
Jianwei Yang, Anitha Kannan, Dhruv Batra, and Devi Parikh. LR-GAN: Layered recursive generative adversarial networks for image generation. In ICLR, 2017.
-
Fisher Yu, Yinda Zhang, Shuran Song, Ari Seff, and Jianxiong Xiao. LSUN: Construction of a large-scale image dataset using deep learning with humans in the loop. CoRR, abs/1506.03365, 2015.
-
Han Zhang, Tao Xu, Hongsheng Li, Shaoting Zhang, Xiaolei Huang, Xiaogang Wang, and Dimitris N. Metaxas. StackGAN: Text to photo-realistic image synthesis with stacked generative adversarial networks. In ICCV, 2017.
-
Junbo Jake Zhao, Micha¨el Mathieu, and Yann LeCun. Energy-based generative adversarial network. In ICLR, 2017.
-
Jun-Yan Zhu, Taesung Park, Phillip Isola, and Alexei A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networks. CoRR, abs/1703.10593, 2017.
A 網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練配置
A.1 用于 CELEBA-HQ 的 1024 × 1024 網(wǎng)絡(luò)
表2展示了我們在 CELEBA-HQ 數(shù)據(jù)集上使用的完整分辨率生成器和判別器的網(wǎng)絡(luò)架構(gòu)。這兩個網(wǎng)絡(luò)主要由逐步引入的3層復(fù)制塊組成,訓(xùn)練過程中逐步引入這些塊。生成器的最后一個 1 × 1 1 \times 1 1×1 卷積層對應(yīng)于圖2中的 toRGB 塊,判別器的第一個 1 × 1 1 \times 1 1×1 卷積層類似地對應(yīng)于 fromRGB。我們從 4 × 4 4 \times 4 4×4 分辨率開始訓(xùn)練網(wǎng)絡(luò),總共向判別器展示了 800k 個真實圖像。然后,我們在接下來的 800k 個圖像中在第一個 3層塊中淡入,再穩(wěn)定網(wǎng)絡(luò) 800k 個圖像,在接下來的 800k 個圖像中淡入下一個 3層塊,以此類推。
表2:我們在 CELEBA-HQ 中使用的生成器和判別器,用于生成 1024×1024 圖像。
潛在向量對應(yīng)于512維超球面上的隨機點,我們將訓(xùn)練和生成的圖像歸一化到 [ ? 1 , 1 ] [-1,1] [?1,1] 范圍內(nèi)。在兩個網(wǎng)絡(luò)的所有層中,除了最后一層使用線性激活函數(shù)外,都使用了泄漏整流線性單元(Leaky ReLU),泄漏率為0.2。在任何一個網(wǎng)絡(luò)中,我們都沒有使用批歸一化、層歸一化或權(quán)重歸一化。但是,在生成器的每個 3 × 3 3 \times 3 3×3 卷積層之后,我們對特征向量進(jìn)行逐像素歸一化,就像第4.2節(jié)中所述。
所有偏置參數(shù)都初始化為零,并且所有權(quán)重按照單位方差的正態(tài)分布進(jìn)行初始化。然而,我們在運行時使用層特定的常數(shù)來縮放權(quán)重,正如第4.1節(jié)所述。我們將在第3節(jié)中描述的過程中,在判別器末尾的 4 × 4 4 \times 4 4×4 分辨率處,注入了跨小批量標(biāo)準(zhǔn)差作為額外的特征圖。表 2 中的上采樣和下采樣操作分別對應(yīng)于 2 × 2 2 \times 2 2×2 元素復(fù)制和平均池化,分別。
訓(xùn)練過程中使用 Adam 優(yōu)化器(Kingma & Ba, 2015),其中 α = 0.001 \alpha = 0.001 α=0.001, β 1 = 0 \beta_1 = 0 β1?=0, β 2 = 0.99 \beta_2 = 0.99 β2?=0.99, ? = 1 0 ? 8 \epsilon = 10^{-8} ?=10?8。我們沒有使用任何學(xué)習(xí)率衰減或降低策略。為了在訓(xùn)練過程中可視化生成器的輸出,在生成器的權(quán)重上使用了指數(shù)移動平均,衰減率為0.999。對于分辨率從 4 2 4^2 42 到 12 8 2 128^2 1282 的不同情況,我們使用小批量大小 16,然后逐漸減小大小,分別變?yōu)? 25 6 2 → 14 256^2 \rightarrow 14 2562→14, 51 2 2 → 6 512^2 \rightarrow 6 5122→6, 102 4 2 → 3 1024^2 \rightarrow 3 10242→3,以避免超出內(nèi)存預(yù)算。
我們使用了 WGAN-GP 損失,但與 Gulrajani 等人(2017年)不同的是,我們在每個小批量上交替優(yōu)化生成器和判別器,即設(shè)置 n critic = 1 n_{\text{critic}} = 1 ncritic?=1。此外,我們在判別器損失中引入了第四個項,其權(quán)重非常小,以防止判別器輸出偏離零太遠(yuǎn)。準(zhǔn)確地說,我們設(shè)置 L ′ = L + ? drift E x ∈ P r [ D ( x ) 2 ] L' = L + \epsilon_{\text{drift}}E_{x \in P_r} [D(x)^2] L′=L+?drift?Ex∈Pr??[D(x)2],其中 ? drift = 0.001 \epsilon_{\text{drift}} = 0.001 ?drift?=0.001。
A.2 其他網(wǎng)絡(luò)
對于低于 1024 × 1024 1024 \times 1024 1024×1024 的空間分辨率,我們在兩個網(wǎng)絡(luò)中適當(dāng)?shù)芈匀チ藦?fù)制的 3 層塊的數(shù)量。
此外,在第 6.1 節(jié)中,我們使用了稍低容量的版本,在 16 × 16 16 \times 16 16×16 分辨率的 Conv 3 × 3 3 \times 3 3×3 層中減少了特征映射的數(shù)量,隨后在后續(xù)分辨率中減少了4倍。這使得最后一個 Conv 3 × 3 3 \times 3 3×3 層有32個特征映射。在表1和圖4中,我們對每個分辨率進(jìn)行了總共 600k 張圖像的訓(xùn)練,而不是 800k 張,并在 600k 張圖像的持續(xù)時間內(nèi)淡入新層。
對于表1中的 “Gulrajani 等人(2017年)” 情況,我們盡量遵循他們的訓(xùn)練配置。具體來說,包括 α = 0.0001 \alpha = 0.0001 α=0.0001, β 2 = 0.9 \beta_2 = 0.9 β2?=0.9, n critic = 5 n_{\text{critic}} = 5 ncritic?=5, ? drift = 0 \epsilon_{\text{drift}} = 0 ?drift?=0,和小批量大小為 64。禁用了漸進(jìn)式分辨率、小批量標(biāo)準(zhǔn)差以及運行時的權(quán)重縮放,所有權(quán)重都使用了 He 初始化器(He et al., 2015)。此外,在生成器中,我們用 ReLU 替換了 LReLU,將最后一層的線性激活改為 tanh,將逐像素歸一化改為批歸一化。在判別器中,對所有 Conv 3 × 3 3 \times 3 3×3 和 Conv 4 × 4 4 \times 4 4×4 層添加了層歸一化。潛在向量由從正態(tài)分布獨立采樣的 128 個分量組成。
B 1024 × 1024 的最小二乘生成對抗網(wǎng)絡(luò) (Least-Squares GAN, LSGAN)
我們發(fā)現(xiàn) LSGAN 通常比 WGAN-GP 更不穩(wěn)定,而且在長時間運行結(jié)束時也容易失去一些變化。因此,我們更傾向于使用 WGAN-GP,但也通過在 LSGAN 的基礎(chǔ)上構(gòu)建來生成高分辨率圖像。例如,圖1中的 10242 圖像是基于 LSGAN 的。
除了在第 2 至 4 節(jié)中描述的技術(shù)之外,我們在 LSGAN 中還需要一個額外的“hack”,以防止在數(shù)據(jù)集對于判別器來說過于簡單的情況下訓(xùn)練失控,導(dǎo)致判別器梯度失去意義。我們會根據(jù)判別器的輸出,自適應(yīng)地增加判別器中的乘性高斯噪聲的幅度。這個噪聲會應(yīng)用于每個 Conv 3 × 3 3 \times 3 3×3 和 Conv 4 × 4 4 \times 4 4×4 層的輸入。歷史上一直有在判別器中添加噪聲的做法,但通常會對圖像質(zhì)量產(chǎn)生負(fù)面影響(Arjovsky et al., 2017)。理想情況下是不需要這樣做的,而根據(jù)我們的測試結(jié)果,對于 WGAN-GP(Gulrajani et al., 2017)來說,這是成立的。噪聲的幅度由公式 0.2 ? max ? ( 0 , d ^ t ? 0.5 ) 2 0.2 \cdot \max(0, \hatn5n3t3z_t - 0.5)^2 0.2?max(0,d^t??0.5)2 決定,其中 d ^ t = 0.1 d + 0.9 d ^ t ? 1 \hatn5n3t3z_t = 0.1d + 0.9\hatn5n3t3z_{t-1} d^t?=0.1d+0.9d^t?1? 是判別器輸出 d d d 的指數(shù)移動平均。這個“hack”的動機是,當(dāng) d d d 接近(或超過)1.0 時,LSGAN 會變得非常不穩(wěn)定。
C CELEBA-HQ 數(shù)據(jù)集
在本節(jié)中,我們描述了創(chuàng)建高質(zhì)量版本的 CELEBA 數(shù)據(jù)集的過程,該數(shù)據(jù)集包含 30000 張 1024 × 1024 1024 \times 1024 1024×1024 分辨率的圖像。作為起點,我們采用了原始 CELEBA 數(shù)據(jù)集中包含的各種野外圖像集合。這些圖像在分辨率和視覺質(zhì)量方面變化極大,從 43 × 55 43 \times 55 43×55 到 6732 × 8984 6732 \times 8984 6732×8984 不等。其中一些圖像顯示了數(shù)人的人群,而其他圖像則集中在單個人的面部上 - 往往只是面部的一部分。因此,我們發(fā)現(xiàn)有必要應(yīng)用多種圖像處理步驟,以確保一致的質(zhì)量并將圖像居中在面部區(qū)域。
我們的處理流程如圖8所示。為了提高整體圖像質(zhì)量,我們使用兩個預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)對每個 JPEG 圖像進(jìn)行預(yù)處理:一個卷積自編碼器,用于消除自然圖像中的 JPEG 噪點,結(jié)構(gòu)類似于 Mao 等人(2016a)的提出的方法;以及一個經(jīng)過對抗訓(xùn)練的 4x 超分辨率網(wǎng)絡(luò)(Korobchenko & Foco, 2017),類似于 Ledig 等人(2016)。為了處理面部區(qū)域超出圖像的情況,我們使用填充和濾波來擴展圖像的尺寸,如圖8(c-d)所示。
圖8:創(chuàng)建 CELEBA-HQ 數(shù)據(jù)集。我們從 CelebA 野外數(shù)據(jù)集中獲取 JPEG 圖像 (a)。我們通過去除 JPEG 圖像偽影(b,頂部)和 4 倍超分辨率(b,底部)來提高視覺質(zhì)量(b,中部)。然后,我們通過鏡像填充(c)和高斯濾波(d)來擴展圖像,以產(chǎn)生視覺上令人愉悅的景深效果。最后,我們使用面部標(biāo)志位置選擇適當(dāng)?shù)牟眉魠^(qū)域 (e),并執(zhí)行高質(zhì)量的重采樣以獲得最終的 1024 × 1024 分辨率圖像 (f)。
然后,根據(jù)原始 CELEBA 數(shù)據(jù)集中包含的面部標(biāo)志注釋,我們選擇一個面部裁剪矩形,具體如下:
x ′ = e 1 ? e 0 y ′ = 1 2 ( e 0 + e 1 ) ? 1 2 ( m 0 + m 1 ) c = 1 2 ( e 0 + e 1 ) ? 0.1 ? y ′ s = max ? ( 4.0 ? ∣ x ′ ∣ , 3.6 ? ∣ y ′ ∣ ) x = Normalize ( x ′ ? Rotate90 ( y ′ ) ) y = Rotate90 ( x ′ ) \begin{align} x' = & e_1 - e_0 \\ y' = & \frac{1}{2} (e_0 + e_1) - \frac{1}{2} (m_0 + m_1) \\ c = & \frac{1}{2} (e_0 + e_1) - 0.1 \cdot y' \\ s = & \max (4.0 \cdot |x'|, 3.6 \cdot |y'|) \\ x = & \text{Normalize} (x' - \text{Rotate90}(y')) \\ y = & \text{Rotate90}(x') \end{align} x′=y′=c=s=x=y=?e1??e0?21?(e0?+e1?)?21?(m0?+m1?)21?(e0?+e1?)?0.1?y′max(4.0?∣x′∣,3.6?∣y′∣)Normalize(x′?Rotate90(y′))Rotate90(x′)??
其中, e 0 e_0 e0?、 e 1 e_1 e1?、 m 0 m_0 m0? 和 m 1 m_1 m1? 分別表示兩個眼睛標(biāo)志和兩個嘴巴標(biāo)志的 2D 像素位置, c c c 和 s s s 表示所需裁剪矩形的中心和尺寸, x x x 和 y y y 表示其方向。我們通過經(jīng)驗構(gòu)建了上述公式,以確保在不同角度觀察面部時,裁剪矩形保持一致。計算出裁剪矩形后,我們使用雙線性濾波將矩形變換為 4096 × 4096 4096 \times 4096 4096×4096 像素,然后使用盒式濾波將其縮放為 1024 × 1024 1024 \times 1024 1024×1024 分辨率。
我們對數(shù)據(jù)集中的所有 202599 張圖像執(zhí)行上述處理,進(jìn)一步分析生成的 1024 × 1024 1024 \times 1024 1024×1024 圖像以估計最終的圖像質(zhì)量,按照質(zhì)量對圖像進(jìn)行排序,并丟棄除了最佳的 30000 張圖像之外的所有圖像。我們使用基于頻率的質(zhì)量度量標(biāo)準(zhǔn),這有利于包含廣泛頻率范圍并且大致呈徑向?qū)ΨQ的功率譜的圖像。這懲罰了模糊圖像以及由于可見的半色調(diào)模式等原因具有顯著方向特征的圖像。我們選擇了 30000 張圖像作為實際的最佳結(jié)果的平衡點,因為這似乎產(chǎn)生了最好的結(jié)果。
D CIFAR10 結(jié)果
圖9展示了在無監(jiān)督設(shè)置下生成的非精選圖像,表3則比較了基于 Inception 分?jǐn)?shù)的先前方法。我們以兩種不同的方式報告分?jǐn)?shù):1) 訓(xùn)練運行過程中觀察到的最高分?jǐn)?shù)(這里的 ± 表示 Inception 分?jǐn)?shù)計算器返回的標(biāo)準(zhǔn)偏差);2) 從訓(xùn)練中觀察到的最高分?jǐn)?shù)中計算的均值和標(biāo)準(zhǔn)偏差,從十個隨機初始化開始??梢哉f,后一種方法更有意義,因為個別運行可能會出現(xiàn)幸運情況(就像我們的情況)。在這個數(shù)據(jù)集中,我們沒有使用任何形式的數(shù)據(jù)增強。
表3:CIFAR10 Inception 分?jǐn)?shù),分?jǐn)?shù)越高越好。
圖9:使用無監(jiān)督訓(xùn)練的網(wǎng)絡(luò)(無標(biāo)簽條件),生成的 CIFAR10 圖像,獲得了創(chuàng)紀(jì)錄的 8.80 Inception 分?jǐn)?shù)。
E MNIST-1K 離散模式測試與喪失能力的判別器
Metz 等人(2016)描述了一個設(shè)置,其中生成器同時合成 MNIST 數(shù)字到 3 個顏色通道,使用預(yù)訓(xùn)練分類器對數(shù)字進(jìn)行分類(在我們的情況下為 0.4% 的錯誤率),然后連接在一起形成 [0, 999] 范圍內(nèi)的數(shù)字。他們生成了總共 25600 張圖像,并計算覆蓋的離散模式數(shù)量。他們還計算 KL 散度,即 KL(直方圖 || 均勻分布)?,F(xiàn)代 GAN 實現(xiàn)可以在非常低的散度下輕松覆蓋所有模式(在我們的情況下為 0.05),因此 Metz 等人指定了一個相當(dāng)?shù)腿萘康纳善骱蛢蓚€喪失能力的判別器(“K/2” 約有 2000 個參數(shù),“K/4” 只有約 500 個),以揭示訓(xùn)練方法之間的差異。這兩個網(wǎng)絡(luò)都使用了批歸一化。
如表4所示,使用 Metz 等人指定的網(wǎng)絡(luò)結(jié)構(gòu)以 WGAN-GP 損失覆蓋的模式要比原始 GAN 損失多得多,甚至比使用較小的(K/4)判別器的未展開的原始 GAN 更多。KL 散度,這可能是一個比原始計數(shù)更準(zhǔn)確的指標(biāo),效果更好。
表4:使用 Metz 等人(2016)定義的兩個微小判別器(K/4、K/2)進(jìn)行 MNIST 離散模式測試的結(jié)果。覆蓋的模式數(shù)量 (#) 和與均勻分布的 KL 散度給出了在 8 個隨機初始化上的平均值 ± 標(biāo)準(zhǔn)偏差。對于模式數(shù)量,越高越好,對于 KL 散度,越低越好。
將批歸一化替換為我們的標(biāo)準(zhǔn)化(均衡學(xué)習(xí)率、逐像素標(biāo)準(zhǔn)化)顯著改善了結(jié)果,同時還從判別器中刪除了一些可訓(xùn)練參數(shù)。添加小批量標(biāo)準(zhǔn)差層進(jìn)一步改善了分?jǐn)?shù),同時將判別器的容量恢復(fù)到原始容量的 0.5%。對于這些小圖像,漸進(jìn)式方法并沒有太大幫助,但也沒有損害。
F 額外的 CELEBA-HQ 結(jié)果
圖10展示了我們生成圖像的最近鄰。圖11給出了來自 CELEBA-HQ 的額外生成示例。我們對使用 CELEBA 和 CELEBA-HQ 進(jìn)行的所有測試都啟用了鏡像增強。除了切片 Wasserstein 距離 (SWD) 外,我們還引用了最近引入的 Fréchet Inception 距離 (FID) (Heusel 等人,2017),從 50K 張圖像計算而來。
圖10:頂部:我們的 CELEBA-HQ 結(jié)果。接下來的五行:從訓(xùn)練數(shù)據(jù)中找到的最近鄰,基于特征空間距離。我們使用了來自五個 VGG 層的激活值,如 Chen & Koltun(2017)所建議的。只有在右下圖像中突出顯示的裁剪區(qū)域用于比較,以排除圖像背景,并將搜索重點放在匹配的面部特征上。
圖11:使用 CELEBA-HQ 數(shù)據(jù)集生成的其他 1024×1024 圖像。切片 Wasserstein 距離(SWD)×103 在 1024、…、16 層次上分別為 7.48、7.24、6.08、3.51、3.55、3.02、7.22,其平均值為 5.44。從 5 萬張圖像計算的 Fréchet Inception 距離(FID)為 7.30。請參見視頻以獲取潛在空間插值。
G LSUN 結(jié)果
圖12-17展示了為所有 30 個 LSUN 類別生成的代表性圖像。為每個類別單獨訓(xùn)練了一個網(wǎng)絡(luò),使用相同的參數(shù)。所有類別都使用了 100K 張圖像進(jìn)行訓(xùn)練,除了 BEDROOM 和 DOG,它們使用了所有可用數(shù)據(jù)。由于對于大多數(shù)類別來說,100K 張圖像是非常有限的訓(xùn)練數(shù)據(jù),因此我們在這些測試中啟用了鏡像增強(但不適用于 BEDROOM 或 DOG)。
圖12:從 LSUN 類別生成的 256 × 256 256 \times 256 256×256 示例圖像。切片 Wasserstein 距離(SWD) × 1 0 3 \times 10^3 ×103 分別給出了 256、128、64、32 和 16 層次,其中平均值用粗體表示。我們還引用了從 5 萬張圖像計算的 Fréchet Inception 距離(FID)。
圖13:從 LSUN 類別生成的 256 × 256 256 \times 256 256×256 示例圖像。切片 Wasserstein 距離(SWD) × 1 0 3 \times 10^3 ×103 分別給出了 256、128、64、32 和 16 層次,其中平均值用粗體表示。我們還引用了從 5 萬張圖像計算的 Fréchet Inception 距離(FID)。
圖14:從 LSUN 類別生成的 256 × 256 256 \times 256 256×256 示例圖像。切片 Wasserstein 距離(SWD) × 1 0 3 \times 10^3 ×103 分別給出了 256、128、64、32 和 16 層次,其中平均值用粗體表示。我們還引用了從 5 萬張圖像計算的 Fréchet Inception 距離(FID)。
圖15:從 LSUN 類別生成的 256 × 256 256 \times 256 256×256 示例圖像。切片 Wasserstein 距離(SWD) × 1 0 3 \times 10^3 ×103 分別給出了 256、128、64、32 和 16 層次,其中平均值用粗體表示。我們還引用了從 5 萬張圖像計算的 Fréchet Inception 距離(FID)。
圖16:從 LSUN 類別生成的 256 × 256 256 \times 256 256×256 示例圖像。切片 Wasserstein 距離(SWD) × 1 0 3 \times 10^3 ×103 分別給出了 256、128、64、32 和 16 層次,其中平均值用粗體表示。我們還引用了從 5 萬張圖像計算的 Fréchet Inception 距離(FID)。
圖17:從 LSUN 類別生成的 256 × 256 256 \times 256 256×256 示例圖像。切片 Wasserstein 距離(SWD) × 1 0 3 \times 10^3 ×103 分別給出了 256、128、64、32 和 16 層次,其中平均值用粗體表示。我們還引用了從 5 萬張圖像計算的 Fréchet Inception 距離(FID)。
H 表 1 的額外圖像
圖18展示了表1中非收斂設(shè)置的更大集合圖像。故意限制訓(xùn)練時間,以使各種方法之間的差異更加明顯可見。文章來源:http://www.zghlxwxcb.cn/news/detail-658034.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-658034.html
到了這里,關(guān)于【計算機視覺|生成對抗】逐步增長的生成對抗網(wǎng)絡(luò)(GAN)以提升質(zhì)量、穩(wěn)定性和變化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!