?
圖像生成在 GAN 和 VAE 誕生后得到了很快的發(fā)展,現(xiàn)在圍繞 GAN 的論文十分火熱。在計算機(jī)視覺頂會 CVPR 2018 上甚至有 8% 的論文標(biāo)題中包含 GAN!
生成模型只能受限于 GAN 和 VAE 嗎?近日著名人工智能研究組織OpenAI另辟蹊徑,發(fā)布了其最新工作成果——Glow,一種基于流的生成模型。
玩法一:用Glow與其他人臉圖像融合,毫無違和感??!
你最想上傳誰和誰的照片?
玩法二:用Glow模型控制人臉圖像屬性
加了胡子的Hinton,笑容調(diào)到最高,看起來更加硬朗!
Glow的作者在此之前已經(jīng)基于流的生成模型提出過NICE [1] 和 RealNVP [2],Glow 是在這兩個模型基礎(chǔ)上加入可逆 1 x 1 卷積進(jìn)行的擴(kuò)展。
Glow可以使用相對較少的數(shù)據(jù),快速生成高清的逼真圖像,具有GAN和VAE所不具備的精確操作潛在變量、需要內(nèi)存少等優(yōu)勢。
Glow支持高效采樣,并且可以自動學(xué)習(xí)圖像中的屬性特征,比如人的五官。
下圖是使用Glow操縱兩名研究人員面部圖像的屬性。模型在訓(xùn)練的時候并沒有給出眼睛、年齡等屬性標(biāo)簽,但Glow自己學(xué)習(xí)了一個潛在空間,其中某些方向?qū)?yīng)胡須密度,年齡,發(fā)色等屬性的變化(真是機(jī)智啊,可以用來預(yù)測自己留胡子好不好看了)
人臉混合過度的效果十分流暢:
下圖使用30,000個高分辨率面部數(shù)據(jù)集進(jìn)行訓(xùn)練后,Glow模型中的樣本可以冒充真人照片了!你能看出下圖是否是真人嗎?
再放大來看,這個效果至少是不輸給GAN的:
Glow模型生成一個256 x 256的樣本,在NVIDIA1080 Ti GPU上只需要大約130ms。使用 reduced-temperature模型采樣結(jié)果更好,上面展示的例子是溫度0.7的結(jié)果。
Glow模型
Glow 的模型框架:
Glow實(shí)驗
實(shí)驗最初是比較 Glow 和 RealNVP,反轉(zhuǎn)操作上 NICE 采用反轉(zhuǎn),RealNVP 采用固定隨機(jī)排列,Glow 采用可逆 1 × 1 卷積,并且耦合方式也影響實(shí)驗的效果,文章比較了加性耦合層和仿射耦合層的性能差距。通過在 CIFAR-10 數(shù)據(jù)集的平均負(fù)對數(shù)似然(每維度的比特)來衡量不同操作的差距,其中所有模型都經(jīng)過 K = 32 和 L = 3 的訓(xùn)練,實(shí)驗效果如下圖:
可以從上圖看出,Glow 采用的方法都取得了較小的平均負(fù)對數(shù)似然,這說明了在實(shí)驗上是優(yōu)于其他幾個模型的。
為了驗證 RealNVP 和Glow 整體的框架下的差距,實(shí)驗進(jìn)一步擴(kuò)展,比較了CIFAR-10,ImageNet 和 LSUN 數(shù)據(jù)集上兩者的差距,在相同預(yù)處理下得到的結(jié)果如下:
正如上面表格所顯示的,模型在所有數(shù)據(jù)集上實(shí)現(xiàn)了顯著的改進(jìn)。
在高分辨率圖像的生成上,Glow 使用了 CelebA-HQ 數(shù)據(jù)集,數(shù)據(jù)集包含 3 萬張高分辨率的圖片。在高分辨率下,多尺度的豐富可能會讓得到的潛在變量具有更多的圖像細(xì)節(jié)。試驗中采用了退火算法來優(yōu)化實(shí)驗,在退火參數(shù) T=0.7 時候,合成的隨機(jī)樣本如下圖:
可以看到合成的圖像質(zhì)量和合理性都比價高,為了對潛在變量插值生成圖像,實(shí)驗以兩組真實(shí)圖片為依據(jù),插值中間的過渡,生成的結(jié)果如下:
從上圖能看出整體的過渡還是相當(dāng)順暢的,這也是Glow 在潛在變量精確推斷的優(yōu)勢所在,這樣的實(shí)驗結(jié)果也是讓人驚喜的!
為了生成更多含語義的圖像,文章利用了一些標(biāo)簽來監(jiān)督訓(xùn)練,對于不同人臉屬性合成的圖像如下:
退火模型對提高生成也是很重要的環(huán)節(jié),文章對比了不同退火參數(shù) T 下的實(shí)驗效果,合理的 T 的選擇對于實(shí)驗效果還是很重要的。
為了說明模型深度(多尺度)的意義,文中對比了 L=4 和 L=6 的效果,可以看出多尺度對于整體模型的意義很大。
訓(xùn)練基于流的生成模型操縱屬性的簡單代碼:
最后再來一波蜜汁變臉,沒看夠的朋友戳文末視頻吧~
論文鏈接:
https://d4mucfpksywv.cloudfront.net/research-covers/glow/paper/glow.pdf
項目代碼(TensorFlow):
https://github.com/openai/glow
[1]. NICE: Non-linearindependent components estimation" Laurent Dinh, David Krueger, YoshuaBengio. ArXiv 2014.
[2]. Density estimationusing Real NVP. Ding et al, 2016.
聯(lián)系客服