風(fēng)格遷移、變裝模型這些改變圖像屬性的任務(wù)之前都是GAN的熱門話題?,F(xiàn)在,OpenAI的研究者們提出了一種新的生成模型,能快速輸出高清、真實(shí)的圖像。以下是論智對OpenAI博客的編譯。
這篇文章介紹了我們的新成果——Glow,這是一個(gè)可逆的生成模型,其中使用了可反復(fù)的1×1卷積網(wǎng)絡(luò)。2015年,我們曾推出過NICE,它是一種針對復(fù)雜高維進(jìn)行建模的深度學(xué)習(xí)框架。在可逆模型的基礎(chǔ)上,研究人員簡化了NICE的網(wǎng)絡(luò)結(jié)構(gòu),使模型能生成更加真實(shí)的高分辨率圖像,并支持高效的采樣,能發(fā)現(xiàn)可以用來控制數(shù)據(jù)屬性的特征。下面讓我們看看這個(gè)模型到底怎么玩:
這是年輕貌美的瑟曦。
黑化之后:
滄桑的瑟曦:
除此之外,你還能改變?nèi)宋镱^發(fā)的顏色、眼睛大小和胡子。接下來,還有另一種玩法,即混合兩張圖:
碧昂斯和小李子Mix一下,長這樣。
這是Glow模型的一個(gè)交互式Demo,感興趣的讀者可以移步官網(wǎng)體驗(yàn)試試,支持上傳自己的照片調(diào)整臉部屬性和合成兩張圖片。
動(dòng)機(jī)
以上是研究者Prafulla Dhariwal和Durk Kingma的面部表情特征變化圖。模型在訓(xùn)練時(shí)并沒有被給予屬性標(biāo)簽,但是它學(xué)會了一種隱藏空間,在其中特定的方向?qū)?yīng)不同特征的變化,例如胡子的茂密程度、年齡、發(fā)色等等
生成模型與數(shù)據(jù)的觀察有關(guān),就像面對許多人臉圖片,從中學(xué)習(xí)一種模型,了解數(shù)據(jù)是如何生成的。學(xué)習(xí)估計(jì)數(shù)據(jù)生成的過程需要學(xué)習(xí)數(shù)據(jù)中所有的結(jié)構(gòu),并且成功的模型可以合成和數(shù)據(jù)很相似的輸出結(jié)果。精確的生成模型可應(yīng)用的場景非常廣泛,例如語音識別、文本分析合成、半監(jiān)督學(xué)習(xí)和基于模型的控制。
Glow是一種可逆的生成模型,也可以稱作“流式”生成模型,是NICE和RealNVP技術(shù)的擴(kuò)展。目前,流式生成模型的關(guān)注度并不如GAN和VAE。
流式生成模型的幾個(gè)優(yōu)點(diǎn)有:
確切的隱藏變量推斷和對數(shù)相似度評估。在VAE中,模型智能大致推斷與數(shù)據(jù)點(diǎn)相對應(yīng)的隱藏變量的值,而GAN根本就沒有能推測隱藏變量的編碼器。但是在可逆生成模型中,這一過程能精確地推算出來。這不但能輸出一個(gè)精確的結(jié)果,還能對數(shù)據(jù)的對數(shù)相似度進(jìn)行優(yōu)化,而不是之前對數(shù)據(jù)的下限值優(yōu)化。
高效的推理和合成。自回歸的模型,例如PixelCNN同樣是可逆的,但是這種模型的合成結(jié)果很難平行化,通常在平行硬件上很低效。而類似Glow的流式生成模型不論在推理還是合成方面都很高效。
為下游任務(wù)提供了有用的隱藏空間。自回歸模型的隱藏層有著位置的邊緣分布,使其更難對數(shù)據(jù)進(jìn)行正確操作。在GAN中,數(shù)據(jù)點(diǎn)經(jīng)常不能直接表現(xiàn)在隱藏空間中,因?yàn)樗鼈儧]有編碼器,可能無法支持?jǐn)?shù)據(jù)分布。在可逆生成模型和VAE上就沒有這種情況。
對節(jié)省內(nèi)存有重大意義。可逆神經(jīng)網(wǎng)絡(luò)的計(jì)算梯度應(yīng)該是恒定的內(nèi)存量,而不是線性的。
結(jié)果
利用這種技術(shù),我們在標(biāo)準(zhǔn)上比較了RealNVP和我們的Glow,RealNVP是在這之前表現(xiàn)最佳的流式生成模型。結(jié)果如下:
在含有30000張照片的數(shù)據(jù)集上訓(xùn)練之后,模型生成的樣本
Glow模型能生成非常逼真的高分辨率圖像,并且非常高效。模型在NVIDIA 1080 Ti GPU上只用130毫秒(0.13秒)就生成了一張256×256的照片。
在隱藏空間插值
我們還可以在兩個(gè)隨機(jī)面孔之間進(jìn)行插值,利用編碼器在兩個(gè)圖片之間進(jìn)行編碼,并從中間點(diǎn)中取樣。注意,輸入的是隨機(jī)面孔,并不是模型中的樣本,所以這也證明了模型可以支持完全的目標(biāo)分布。
變臉過程十分流暢
在隱藏空間中處理
無需標(biāo)簽,我們就可以訓(xùn)練一個(gè)流式模型,然后利用學(xué)習(xí)到的隱藏表示進(jìn)行下游任務(wù)。這些語義分布可以改變頭發(fā)的顏色、圖片風(fēng)格、音調(diào)高低或者文本情感。由于流式模型擁有完美的編碼器,你可以編碼輸入并且計(jì)算輸入的平均隱藏向量。二者間向量的方向可以用來將輸入向該方向改變。
這一過程只需要少量的標(biāo)記數(shù)據(jù),并且模型一訓(xùn)練完就能完成。在此之前,用GAN做這些需要訓(xùn)練一個(gè)單獨(dú)的編碼器,而VAE需要保證解碼器和編碼器適用于分布數(shù)據(jù)。其他類似CycleGAN直接學(xué)習(xí)表示變化的函數(shù),也需要重新訓(xùn)練每一個(gè)變化。
# Train flow model on large, unlabelled dataset X
m = train(X_unlabelled)
# Split labelled dataset based on attribute, say blonde hair
X_positive, X_negative = split(X_labelled)
# Obtain average encodings of positive and negative inputs
z_positive = average([m.encode(x) for x in X_positive])
z_negative = average([m.encode(x) for x in X_negative])
# Get manipulation vector by taking difference
z_manipulate = z_positive - z_negative
# Manipulate new x_input along z_manipulate, by a scalar alpha in [-1,1]
z_input = m.encode(x_input)
x_manipulated = m.decode(z_input + alpha * z_manipulate)
用流式模型改變屬性的簡單代碼
進(jìn)步之處
相比之前的RealNVP,我們的進(jìn)步之處主要是一個(gè)可逆的1×1卷積,以及刪減掉其他元素,簡化了模型。
RealNVP架構(gòu)由兩種圖層組成:具有棋盤蒙版的圖層和通道蒙版的圖層。我們?nèi)コ似灞P樣的圖層,簡化了結(jié)構(gòu)。剩下的通道類型的蒙版起到以下作用:
在通道維度中改變輸入的順序
將輸入分成A和B兩部分,從特征維度的中部開始
將A輸入到一個(gè)較淺的卷積神經(jīng)網(wǎng)絡(luò)。根據(jù)神經(jīng)網(wǎng)絡(luò)的輸出線性地對B進(jìn)行轉(zhuǎn)換
連接A和B
可以看到我們的1×1卷積在性能上有大大的提升
除此之外,我們?nèi)∠伺鷼w一化,將它替換成激活歸一圖層。該圖層利用基于數(shù)據(jù)的初始化,簡單地轉(zhuǎn)換并縮放激活,該初始化在給定初始小批量數(shù)據(jù)的情況下將激活規(guī)范化。
訓(xùn)練規(guī)模
我們的結(jié)構(gòu)結(jié)合了多種優(yōu)化,例如梯度檢查點(diǎn),可以讓我們在較大規(guī)模上訓(xùn)練流式生成模型。我們使用Horovod輕松地將模型在多個(gè)機(jī)器上進(jìn)行了訓(xùn)練;文章開頭的Demo用了8個(gè)GPU。
未來方向
這篇研究表明,訓(xùn)練流式模型生成真實(shí)的高清圖像是很有潛力的,并且經(jīng)過學(xué)習(xí)的隱藏表示可以很容易用于下流任務(wù)。我們對未來工作的方向有以下計(jì)劃:
1.在可能性上比其他模型更有競爭力
在對數(shù)相似度上,自適應(yīng)模型和VAE的表現(xiàn)比流式模型要好,但是他們在采樣和精確推理上不如流式模型。未來我們會嘗試結(jié)合這幾種模型,以彌補(bǔ)不足。
2.改進(jìn)結(jié)構(gòu),提高計(jì)算和參數(shù)效率
為了生成逼真的高分辨率圖像,人臉生成模型利用大約200M的參數(shù)和將近600個(gè)卷積層,訓(xùn)練起來成本很高。但是更淺的網(wǎng)絡(luò)表現(xiàn)得又不好。使用自注意力結(jié)構(gòu)或者進(jìn)行漸進(jìn)式訓(xùn)練可能會讓訓(xùn)練成本更便宜。
-
圖像
+關(guān)注
關(guān)注
2文章
1080瀏覽量
40378 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5471瀏覽量
120904
原文標(biāo)題:OpenAI提出能合成高清逼真圖像的模型:“我們和GAN不一樣!”
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論