
下一個(gè)GAN?OpenAI提出可逆生成模型Glow
目前,生成對(duì)抗網(wǎng)絡(luò) GAN 被認(rèn)為是在圖像生成等任務(wù)上最為有效的方法,越來(lái)越多的學(xué)者正朝著這一方向努力:在計(jì)算機(jī)視覺頂會(huì) CVPR 2018 上甚至有 8% 的論文標(biāo)題中包含 GAN。近日來(lái)自 OpenAI 的研究科學(xué)家 Diederik Kingma 與 Prafulla Dhariwal 卻另辟蹊徑,提出了基于流的生成模型 Glow。據(jù)介紹,該模型不同于 GAN 與 VAE,而在生成圖像任務(wù)上也達(dá)到了令人驚艷的效果。
該研究一經(jīng)發(fā)表,立刻引起了機(jī)器學(xué)習(xí)社區(qū)的注意,有人對(duì)此表示:終于,我們有了 GAN 以外的優(yōu)秀生成模型!
本文將介紹 OpenAI 創(chuàng)造的 Glow,一種使用可逆 1×1 卷積的可逆生成模型。它在之前可逆生成模型研究的基礎(chǔ)上(論文:NICE: Non-linear Independent Components Estimation、Density estimation using Real NVP)進(jìn)一步擴(kuò)展,并簡(jiǎn)化了架構(gòu)。OpenAI 提出的模型可以生成逼真的高分辨率圖像,支持高效率采樣,并能發(fā)現(xiàn)用于操作數(shù)據(jù)屬性的特征。目前,OpenAI 已經(jīng)發(fā)布了該模型的代碼,并開放了在線可視化工具,供人們?cè)囉谩?
論文:Glow: Generative Flow with Invertible 1×1 Convolutions
Note:OpenAI 的 Glow 和 PyTorch 內(nèi)置的機(jī)器學(xué)習(xí)編譯器重名了。
摘要:由于可以追蹤確切的對(duì)數(shù)似然度、潛在變量推斷,以及訓(xùn)練與合成的可并行性,基于流的生成模型(Dinh et al., 2014)在概念上就很吸引人。在這篇論文中我們提出了 Glow,這是一種簡(jiǎn)單的使用可逆 1x1 卷積的生成流。使用該方法,我們展示了在標(biāo)準(zhǔn)基準(zhǔn)上的對(duì)數(shù)似然度的顯著提升。也許最引人注目的是,我們展示了僅通過(guò)普通的對(duì)數(shù)似然度目標(biāo)優(yōu)化,生成模型就可以高效地進(jìn)行逼真圖像的合成以及大尺寸圖像的操作。
Glow 模型控制人臉圖像屬性以及和其它人臉圖像融合的交互式 demo(讀者可在原網(wǎng)頁(yè)進(jìn)行交互操作,還可以上傳自己的圖片)。
研究動(dòng)機(jī)
研究員 Prafulla Dhariwal 和 Durk Kingma 的圖像屬性操作。訓(xùn)練過(guò)程中沒有給模型提供屬性標(biāo)簽,但它學(xué)習(xí)了一個(gè)潛在空間,其中的特定方向?qū)?yīng)于胡須密度、年齡、頭發(fā)顏色等屬性的變化。
生成建模就是觀察數(shù)據(jù)(比如一組人臉圖片),然后學(xué)習(xí)可生成數(shù)據(jù)的模型。學(xué)習(xí)近似數(shù)據(jù)生成過(guò)程需要學(xué)習(xí)數(shù)據(jù)中存在的所有結(jié)構(gòu),而且成功的模型應(yīng)該能夠合成與數(shù)據(jù)相似的輸出。精確生成模型應(yīng)用廣泛,包括語(yǔ)音合成、文本分析與合成、半監(jiān)督學(xué)習(xí)和基于模型的控制。研究者提出的技術(shù)也能應(yīng)用于上述任務(wù)。
Glow 是一種可逆生成模型,也稱為基于流的生成模型,是 NICE 和 RealNVP 技術(shù)的擴(kuò)展。相比 GAN 和 VAE,基于流的生成模型迄今為止在研究界受到的關(guān)注寥寥無(wú)幾。
基于流的生成模型具有以下優(yōu)點(diǎn):
結(jié)果
使用該技術(shù),OpenAI 在標(biāo)準(zhǔn)基準(zhǔn)數(shù)據(jù)集上獲得了優(yōu)于 RealNVP 的顯著改進(jìn),后者是之前基于流的生成模型的最好結(jié)果。
在不同數(shù)據(jù)集的測(cè)試集上對(duì) RealNVP 模型和 Glow 模型的量化性能評(píng)估(bits per dimension)對(duì)比結(jié)果。
Glow 模型在包含三萬(wàn)張高分辨率人臉圖像的數(shù)據(jù)集上進(jìn)行訓(xùn)練后生成的結(jié)果示例。
Glow 模型可以生成逼真的高分辨率圖像,而且非常高效。該模型使用一塊 NVIDIA 1080 Ti GPU,只需大約 130ms 即可生成一張 256 x 256 的圖像,研究人員發(fā)現(xiàn)從溫度降低的模型中采樣通常會(huì)帶來(lái)高質(zhì)量的樣本。上圖中的圖像示例就是通過(guò)將潛在空間標(biāo)準(zhǔn)差的溫度縮放 0.7 而得到的。
潛在空間中的插值
研究人員還可以在任意人臉圖像之間插值,方法是使用編碼器對(duì)兩張圖像進(jìn)行編碼,然后從中間點(diǎn)進(jìn)行采樣。注意:輸入是任意人臉圖像,而不是從模型中采集的樣本,因此這可以證明該模型支持完整的目標(biāo)分布。
在 Prafulla 的人臉圖像和名人面部圖像之間進(jìn)行插值。
潛在空間中的操作
研究人員可以在無(wú)需標(biāo)簽的情況下訓(xùn)練一個(gè)基于流的模型,然后使用學(xué)到的潛在表征進(jìn)行下游任務(wù),如處理輸入的屬性。這些語(yǔ)義屬性可以是頭發(fā)的顏色、圖像的風(fēng)格、樂聲的音高,或者文本句子的情緒。由于基于流的模型具備一個(gè)完美的編碼器,因此你可以編碼輸入,并計(jì)算輸入在具備和不具備某屬性時(shí)的平均本征向量(latent vector)。然后利用兩個(gè)本征向量之間的向量方向來(lái)處理任意輸入。
上述過(guò)程需要相對(duì)較小規(guī)模的標(biāo)注數(shù)據(jù),可以在模型訓(xùn)練好之后進(jìn)行(訓(xùn)練過(guò)程不需要標(biāo)簽)。之前利用 GAN 的研究(https://arxiv.org/abs/1606.03657)需要分別訓(xùn)練編碼器。使用 VAE 的研究(https://arxiv.org/abs/1804.03599)只能保證解碼器和編碼器可以兼容分布內(nèi)數(shù)據(jù)。其他方法包括直接學(xué)習(xí)表示變換的函數(shù),如 Cycle-GAN,但是它們需要對(duì)每一次變換進(jìn)行重新訓(xùn)練。
使用基于流的模型處理屬性的簡(jiǎn)單代碼片段:
# 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)forxinX_positive])
z_negative = average([m.encode(x)forxinX_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)
該研究的主要貢獻(xiàn)(不同于早期 RealNVP 研究)是添加了可逆 1x1 卷積,以及刪除其他組件,從而整體簡(jiǎn)化架構(gòu)。
RealNVP 架構(gòu)包含兩種層的序列:含有棋盤掩碼(checkerboard masking)的層和含有通道掩碼(channel-wise masking)的層。研究人員移除了含有棋盤掩碼的層以簡(jiǎn)化架構(gòu)。含有通道掩碼的層執(zhí)行并重復(fù)以下步驟:
1. 通過(guò)在通道維度上反轉(zhuǎn)輸入的順序來(lái)置換輸入。
2. 從特征維的中間向下將輸入分成兩部分:A 和 B。
3. 將 A 輸入淺層卷積神經(jīng)網(wǎng)絡(luò)。根據(jù)神經(jīng)網(wǎng)絡(luò)的輸出對(duì) B 進(jìn)行線性變換。
4. 連接 A 和 B。
將這些層連在一起之后,A 更新 B,B 更新 A,然后 A 再更新 B……這種信息的二分流動(dòng)(bipartite flow)顯然是相當(dāng)僵硬的。研究人員發(fā)現(xiàn),通過(guò)將步驟(1)的反向排列改變?yōu)椋ü潭ǎ﹕huffling 排列,模型性能可以得到改善。
更進(jìn)一步,模型還可以學(xué)習(xí)最優(yōu)排列。學(xué)習(xí)置換矩陣(permutation matrix)是一種離散優(yōu)化,不適合梯度上升。但由于置換操作只是具有平方矩陣的線性變換的特例,因此可以用卷積神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn),置換通道相當(dāng)于通道數(shù)相等的輸入和輸出的 1x1 卷積運(yùn)算。因此,研究人員用學(xué)習(xí)的 1x1 卷積運(yùn)算替換固定排列。1x1 卷積的權(quán)重被初始化為一個(gè)隨機(jī)的旋轉(zhuǎn)矩陣。如下圖所示,這一運(yùn)算帶來(lái)了模型性能的大幅提升。研究人員還指出,通過(guò)對(duì)權(quán)重進(jìn)行 LU 分解,可以高效地完成優(yōu)化目標(biāo)函數(shù)所涉及的計(jì)算。
主要貢獻(xiàn)——可逆 1x1 卷積,極大地改進(jìn)了模型。
此外,研究人員刪除了批歸一化,用一個(gè)激活歸一化層作為替代。這個(gè)層簡(jiǎn)單地移動(dòng)和擴(kuò)大了激活函數(shù),給定數(shù)據(jù)的初始 minibatch,該層具備依靠數(shù)據(jù)的初始化技術(shù)可對(duì)激活函數(shù)進(jìn)行歸一化操作。這能把 minibatch 大小縮減到 1(對(duì)于較大的圖像),把模型大小擴(kuò)大。
規(guī)模
本文提出的架構(gòu)結(jié)合了各種優(yōu)化方法,例如梯度檢查點(diǎn),因此能夠訓(xùn)練規(guī)模更大的基于流的生成模型。此外,研究人員使用 Horovod 在機(jī)器集群上訓(xùn)練模型。上面 demo 中使用的模型是在有 8 塊 GPU 的 5 臺(tái)機(jī)器上訓(xùn)練的。使用這個(gè)設(shè)置,可以訓(xùn)練具有 1 億多個(gè)參數(shù)的模型。
研究方向
本研究表明,訓(xùn)練基于流的模型來(lái)生成真實(shí)的高分辨率圖像并非不可能,而且還能學(xué)習(xí)隱藏表征,用于數(shù)據(jù)處理這樣的下游任務(wù)。研究人員還為未來(lái)的研究提供了幾個(gè)方向:
1. 在似然函數(shù)上可與其它模型類別相媲美。自回歸模型和 VAE 在對(duì)數(shù)似然上表現(xiàn)要比基于流的模型好,然而,它們各自有采樣效率低、推理不精確的缺陷??梢詫⒒诹鞯哪P?、VAE 以及自回歸模型三者相結(jié)合來(lái)權(quán)衡其長(zhǎng)處。這會(huì)是一個(gè)有趣的研究方向。
2. 改進(jìn)架構(gòu),從而提高計(jì)算與參數(shù)效率。為了生成真實(shí)的高分辨率圖像,人臉生成模型使用了大約 2 億個(gè)參數(shù)、600 個(gè)卷積層,因此訓(xùn)練成本極高。而較淺的模型在學(xué)習(xí)長(zhǎng)期依存關(guān)系時(shí)表現(xiàn)會(huì)變差。使用自注意架構(gòu),或者用更進(jìn)步的訓(xùn)練方法作為更好的解決方案能夠讓訓(xùn)練流模型更廉價(jià)。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03