大规模计算时代:深度生成模型何去何从
?PaperWeekly 原創(chuàng) ·?作者|Chunyuan Li
單位|Microsoft Research Researcher
研究方向|深度生成模型
人工智能的核心愿望之一是開發(fā)算法和技術(shù),使計(jì)算機(jī)具有合成我們世界上觀察到的數(shù)據(jù)的能力, 比如自然語(yǔ)言,圖片等等。?
每當(dāng)我們建立一個(gè)模型來(lái)模仿這種能力時(shí),該模型就稱為生成模型(Generative Models)。?
如果該模型涉及深度神經(jīng)網(wǎng)絡(luò),則該模型是深度生成模型(Deep Generative Models, 簡(jiǎn)稱 DGMs)。?
作為深度學(xué)習(xí)中自我監(jiān)督學(xué)習(xí) (self-supervised learning)技術(shù)的一個(gè)分支,DGM 特別專注于刻畫數(shù)據(jù)的生成過(guò)程。這篇文章回顧了 DGM 的歷史,定義和現(xiàn)狀,并分享最新的一些研究結(jié)果。最終希望啟發(fā)大家去思考一個(gè)共同的主題:如何在大規(guī)模預(yù)訓(xùn)練時(shí)代推進(jìn)或應(yīng)用深度生成模型。
歷史回顧和基礎(chǔ)知識(shí):三種類型的深度生成模型和一個(gè)通用技巧
生成模型(Generatitve Models)在傳統(tǒng)機(jī)器學(xué)習(xí)中具有悠久的歷史,它經(jīng)常與另外一個(gè)主要方法(判別模型,Discriminative Models)區(qū)分開。我們可以通過(guò)一個(gè)故事 [1] 學(xué)到它們有何不同:有兩兄弟,他們具有不同的特殊能力,一個(gè)具有深入洞察事物內(nèi)在的能力,而另一個(gè)善于學(xué)習(xí)所見事物之間的差異。在故事里,前者代表生成模型,而后者代表區(qū)分模型,他們的特點(diǎn)總結(jié)為:?
生成模型:專注于使用某種內(nèi)部機(jī)制來(lái)表征實(shí)際觀察的事物的分布;
區(qū)分模型:專注于在不同事物之間建立決策邊界。?
隨著深度學(xué)習(xí)的興起,生成模型通過(guò)和深度神經(jīng)網(wǎng)絡(luò)的結(jié)合,逐漸形成了一個(gè)新的家族:深度生成模型。他們這個(gè)家族有個(gè)共同的特點(diǎn),就是利用神經(jīng)網(wǎng)絡(luò)來(lái)模擬數(shù)據(jù)生成的過(guò)程。
這樣以來(lái),復(fù)雜而神秘的數(shù)據(jù)生成過(guò)程就被某個(gè)參數(shù)量一定的神經(jīng)網(wǎng)絡(luò)的給擬合出來(lái)了,加之訓(xùn)練這個(gè) DGM 的數(shù)據(jù)庫(kù)本身大小也是確定的,這里就會(huì)出現(xiàn)一個(gè)潛在的通用技巧。引用 2016 年一篇 OpenAI 博客?[2] 上的話來(lái)說(shuō):?
我們用作生成模型的神經(jīng)網(wǎng)絡(luò)具有許多參數(shù),這些參數(shù)遠(yuǎn)小于我們?cè)谟?xùn)練它用的數(shù)據(jù)量,因此模型會(huì)被迫使發(fā)現(xiàn)并有效地內(nèi)化數(shù)據(jù)的本質(zhì),從而以生成數(shù)據(jù)。
簡(jiǎn)單地做一些數(shù)學(xué)上的刻畫。作為來(lái)自真實(shí)數(shù)據(jù)分布??的樣本, 用于建模的數(shù)據(jù)集為?。深度生成模型的目標(biāo)是使用參數(shù)為??的深度神經(jīng)網(wǎng)絡(luò),來(lái)建立一個(gè)描述分布?,然后通過(guò)訓(xùn)練來(lái)不斷地調(diào)整參數(shù) θ,使得模型輸出的分布 去盡量接近真實(shí)數(shù)據(jù)分布 。
所有 DGM 都具有上述相同的基本目標(biāo)和通用技巧,但是它們處理問(wèn)題的思路方式不同。根據(jù) OpenAI 的分類法,我們這里考慮三種流行的模型類型:VAE,GAN,自回歸模型 (autoregressive models),詳見下表:
表格1. 不同深度學(xué)習(xí)模型的對(duì)比。不同類別標(biāo)記為不同的顏色,它們對(duì)應(yīng)的變種也用相同的顏色展示在下面的圖1里。
從小型到大型的深度生成模型轉(zhuǎn)變
多年來(lái),我們?cè)诎l(fā)展 DGM 及其理論原理方面做出了許多努力,DGM 在較小的規(guī)模上現(xiàn)在已得到相對(duì)較好的理解。上面提到的 DGM 技巧保證模型在溫和條件下可以正常運(yùn)行:;許多在小規(guī)模設(shè)定下的研究已經(jīng)驗(yàn)證了這一點(diǎn)。但是近期的研究表明, 預(yù)訓(xùn)練模型可以通過(guò)在海量數(shù)據(jù)上進(jìn)行自監(jiān)督學(xué)習(xí),以獲得了巨大的進(jìn)步和驚人的實(shí)驗(yàn)結(jié)果(N 急劇增加)。
圖1. 我們考慮了三種流行的深度生成模型類型:藍(lán)色的自動(dòng)回歸模型(神經(jīng)語(yǔ)言模型,或NLM),綠色的可變自動(dòng)編碼器(VAE)和橙色的生成對(duì)抗網(wǎng)絡(luò)(GAN)。Transformer和BERT作為重要的文獻(xiàn)參考點(diǎn)也包括在圖里,但并不作為本文考察重點(diǎn)。圖里最右邊的三個(gè)新模型,是在大規(guī)模計(jì)算的時(shí)代下我們自己的工作。
上圖總結(jié)了深度生成模型隨時(shí)間的簡(jiǎn)短演變歷史,通過(guò)兩種指標(biāo)來(lái)衡量:?
模型大小(參數(shù)數(shù)量)?
科學(xué)影響力(迄今為止的引用次數(shù))?
OpenAI 的研究人員認(rèn)為,生成模型是最有前途的方法之一,可以潛在地實(shí)現(xiàn)用計(jì)算機(jī)了解世界的目標(biāo)。
沿著這些思路,他們?cè)?2018 年開發(fā)了 Generative Pre-training (GPT) [3],在各種未標(biāo)記文本的語(yǔ)料庫(kù)上訓(xùn)練了自回歸神經(jīng)語(yǔ)言模型(neural language model, 簡(jiǎn)稱 NLM [4]),隨后對(duì)每個(gè)特定任務(wù)進(jìn)行了區(qū)分性微調(diào),從而顯著提高了多項(xiàng)任務(wù)的性能語(yǔ)言理解任務(wù)。
在 2019 年,他們將這一想法進(jìn)一步擴(kuò)展到 15 億個(gè)參數(shù),并開發(fā)了 GPT-2 [5],該模型顯示了近乎人類的語(yǔ)言生成能力。隨著更多的計(jì)算,英偉達(dá)的 Megatron [6] 和微軟的 Turing-NLG [7] 繼承了相同的想法,并將其參數(shù)分別擴(kuò)展到 83 億和 170 億。?
以上研究表明,NLM 已取得了巨大進(jìn)步(大大增加 P?去匹配 N)。但是,作為自回歸模型,NLM 僅僅是 DGM 的三種類型之一。還有兩種其他類型的 DGM(VAE 和 GAN),雖然他們學(xué)術(shù)影響力很大,但在大規(guī)模計(jì)算大行其道的當(dāng)代,它們到底會(huì)有怎么樣的表現(xiàn)呢?
在這個(gè)時(shí)代,大型模型通過(guò)大規(guī)模計(jì)算在大型數(shù)據(jù)集上進(jìn)行訓(xùn)練,這催生了新的學(xué)習(xí)范式:自我監(jiān)督學(xué)習(xí)的預(yù)訓(xùn)練+特定任務(wù)的微調(diào)。在這種范式下,由上圖可見,我們對(duì)大規(guī)模的 DGM 的研究較少 (比如并沒(méi)有 200M 參數(shù)量以上的 VAE 或者 GAN),我們也并不確定 DGM 的通用技巧是否仍可以在這種情況下很好地用于工業(yè)實(shí)踐。
由此,我們可以提出了一系列研究問(wèn)題:
1. 機(jī)遇:如果我們把 DGM 做到大規(guī)模,是否能和現(xiàn)有的預(yù)訓(xùn)練模型一爭(zhēng)高低??
2. 挑戰(zhàn):現(xiàn)有 DGM 是否需要進(jìn)行修改,以使其在此大規(guī)模的數(shù)據(jù)上有效地工作??
3. 應(yīng)用:反過(guò)來(lái)做,DGM 是否可以幫助預(yù)訓(xùn)練??
接下來(lái),我們用自己的研究結(jié)果作為例子,來(lái)對(duì)這些問(wèn)題一一進(jìn)行回答。?
1. Optimus:我們開發(fā)了第一個(gè)大規(guī)模的 VAE 模型,展示出比起主流的語(yǔ)言建模預(yù)訓(xùn)練模型(比如 BERT 和 GPT-2)的一些優(yōu)勢(shì) 。
2. FQ-GAN:作為以分布匹配為目標(biāo)的 GAN,在大數(shù)據(jù)上訓(xùn)練尤其困難,我們提出 FQ 作為一種有效的解決技巧,展示出在 BigGAN [8], StyleGAN?[9], U-GAT-IT [10] 這些主流模型上的性能提升。
3. Prevalent:我們使用生成模型合成大量多模態(tài)數(shù)據(jù),并在此基礎(chǔ)上進(jìn)行自我監(jiān)督學(xué)習(xí),預(yù)訓(xùn)練了第一個(gè)通用的視覺(jué)語(yǔ)言導(dǎo)航系統(tǒng) [11],在三個(gè)相關(guān)任務(wù)上取得 SoTA。
讀者可以直接跳到相應(yīng)的章節(jié)閱讀具體內(nèi)容。
Optimus: 在語(yǔ)言建模領(lǐng)域的機(jī)遇
論文標(biāo)題:Optimus: Organizing Sentences via Pre-trained Modeling of a Latent Space
論文鏈接:https://arxiv.org/abs/2004.04092
代碼鏈接:https://github.com/ChunyuanLI/Optimus
預(yù)訓(xùn)練語(yǔ)言模型(Pre-trained language models ,簡(jiǎn)稱 PLM)在各種自然語(yǔ)言處理任務(wù)方面取得了實(shí)質(zhì)性進(jìn)展。PLM 通常經(jīng)過(guò)訓(xùn)練,可以根據(jù)海量文本數(shù)據(jù)中的上下文預(yù)測(cè)單詞,并且可以對(duì)學(xué)習(xí)的模型進(jìn)行微調(diào)以適應(yīng)各種下游任務(wù)。?
PLM 通常可以扮演兩個(gè)不同的角色:編碼器(例如 BERT [12] 和 Roberta [13])和解碼器(例如 GPT-2 [5] 和 Megatron [6])。有時(shí),兩個(gè)任務(wù)都可以在一個(gè)統(tǒng)一的框架中執(zhí)行,例如 UniLM [14], BART?[15] 和 T5 [16]。盡管這些已取得了顯著的性能改進(jìn),但是它們?nèi)狈σ环N在緊湊的特征空間對(duì)結(jié)構(gòu)進(jìn)行顯式建模的功能,因此很難從整體句子的語(yǔ)義級(jí)別控制自然語(yǔ)言的生成和表示。?
原理上來(lái)說(shuō),變分自動(dòng)編碼器(VAE)經(jīng)過(guò)有效訓(xùn)練后,既可以作為強(qiáng)大的生成模型使用,又可以作為自然語(yǔ)言的有效表示學(xué)習(xí)框架來(lái)使用。VAE 把句子表示在低維的特征空間中,通過(guò)操縱句子對(duì)應(yīng)的特征向量表示來(lái)輕松操縱句子語(yǔ)義上的變化(比如使用可解釋的向量運(yùn)算符等),操作后的向量作為整體語(yǔ)義的概要,來(lái)指導(dǎo)句子的生成。?
例如,基本款的 VAE 就提供了一種由先驗(yàn)分布來(lái)指定的特征平滑的正則化。下圖展示了 VAE 操縱句子變換的過(guò)程。
圖2.?在語(yǔ)義空間組織和操縱句子
我們來(lái)利用下面的公式對(duì)比,詳細(xì)了解下自回歸模型和 VAE 在建模句子時(shí)候的不同。對(duì)于長(zhǎng)度為 T 句子?,自回歸模型 NLM 會(huì)以前的單詞們??為條件來(lái)生成當(dāng)前的單詞?,如式(1)所示。?
GPT-2 也許是最著名的自回歸模型 NLM 的實(shí)例,其優(yōu)勢(shì)來(lái)自由于在大量文本上進(jìn)行預(yù)訓(xùn)練。這種自回歸模型缺乏一種由高層語(yǔ)義指導(dǎo)的生成的能力。相反,VAE 生成 時(shí),既依賴了先前的單詞標(biāo)記 ,又依賴了一個(gè)潛在變量 z,如式(2)所示。?
潛在變量 z 決定了句子的主要“輪廓”,例如時(shí)態(tài),主題或情感,它會(huì)指導(dǎo)解碼器在順序解碼的過(guò)程中按照輪廓來(lái)填充細(xì)節(jié)。將解碼器 decoder θ 與編碼器 encoder Φ 組合,我們就得到了 VAE 模型,它通過(guò)最大化對(duì)數(shù)似然下限 [17] 來(lái)學(xué)習(xí)參數(shù)。
盡管 VAE 具有扎實(shí)的理論優(yōu)勢(shì),但當(dāng)前語(yǔ)言建模中使用的 VAE 經(jīng)常使用較小的網(wǎng)絡(luò)體系結(jié)構(gòu)(例如兩層 LSTM)來(lái)構(gòu)建模型, 這大大限制了模型的容量,導(dǎo)致性能欠佳。這種淺層 VAE,在當(dāng)下的海量數(shù)據(jù)的時(shí)代,就尤其顯得不適配——因?yàn)樯衔奶岬降?DGM 的通用技巧會(huì)崩潰:。?
如果擴(kuò)大 VAE 模型,并將其用作新的預(yù)訓(xùn)練語(yǔ)言模型(PLM),將會(huì)發(fā)生什么?
因此,我們開發(fā)了 Optimus (Organizing sentences with pre-trained modeling of a universal latent space),第一個(gè)針對(duì)自然語(yǔ)言的大規(guī)模深度隱變量模型,該模型使用句子級(jí)別的(可變)自動(dòng)編碼器在大型文本語(yǔ)料庫(kù)進(jìn)行了預(yù)訓(xùn)練,從而將由符號(hào)表達(dá)的自然語(yǔ)言組織在一個(gè)連續(xù)且緊湊的特征空間里,把對(duì)句子的語(yǔ)義操作轉(zhuǎn)換為對(duì)向量的算術(shù)操作。?
Optimus 體系結(jié)構(gòu)如下圖(a)所示。為了易于培訓(xùn),我們使用 BERT 初始化編碼器,并使用 GPT-2 初始化解碼器。[CLS] 位置輸出的特征用于轉(zhuǎn)化我們感興趣的語(yǔ)義空間 z。
為了有效地利用 GPT-2 本身預(yù)訓(xùn)練的結(jié)果且不重新訓(xùn)練權(quán)重,我們研究了兩種方案來(lái)把特征 z 送給編碼器,并讓它被用起來(lái),如圖(b)所示:1)z 充當(dāng)了解碼器的附加存儲(chǔ)向量的作用出席;2)被添加到解碼器的底部嵌入層,并在每個(gè)解碼步驟中直接使用。
從經(jīng)驗(yàn)上,我們發(fā)現(xiàn)基于內(nèi)存的方案效果更好。為了避免臭名昭著的特征消失問(wèn)題,我們對(duì) KL 項(xiàng)采用了一些特殊處理,包括周期性變化系數(shù) [18](cyclical annealing schedule)的技巧和按維度進(jìn)行閾值處理?[19](dimension-wise thresholding)的技術(shù)。
圖3. (a) Optimus體系結(jié)構(gòu),由編碼器和解碼器組成,(b) 向編碼器注入特征向量的兩種方式
作為一種新型的 PLM,Optimus 顯示出一些有趣的結(jié)果,具有與現(xiàn)有 PLM 相比的獨(dú)特優(yōu)勢(shì):?
語(yǔ)言建模:我們考慮了四個(gè)數(shù)據(jù)集,包括 Penn Treebank, SNLI, Yahoo 和? Yelp 語(yǔ)料庫(kù),并對(duì)每個(gè) PLM 進(jìn)行微調(diào)。由于 VAE 獨(dú)特的先驗(yàn)分布中編碼的語(yǔ)義知識(shí),Optimus 在三個(gè)數(shù)據(jù)集上展示了低于 GPT-2 的困惑度(perplexity)。?
另外,和文獻(xiàn)中所有的自然語(yǔ)言上的 VAE 相比,Optimus 顯示了更好的特征學(xué)習(xí)性能,以相互信息(mutual information)[20]?和活動(dòng)單位(active units)[21]?衡量。這意味著預(yù)訓(xùn)練本身就是緩解特征消失問(wèn)題的有效方法。?
引導(dǎo)性的語(yǔ)言生成:由于潛在變量 z 的存在,Optimus 具有從語(yǔ)義級(jí)別控制句子生成的獨(dú)特優(yōu)勢(shì)(GPT-2 在此方面是不適用的)。這種可控制性給用戶提供了一種新的方式來(lái)和語(yǔ)言生成模型進(jìn)行交互。?
在圖 4 中,我們展示了兩種使用一些簡(jiǎn)單的潛在矢量操縱來(lái)說(shuō)明這種想法:(1)通過(guò)潛在矢量的算術(shù)運(yùn)算進(jìn)行句子的類比寫作:,(2)兩個(gè)句子之間的過(guò)度:,其中?。
對(duì)于更復(fù)雜的潛在空間的句子操縱功能,我們考慮對(duì)話響應(yīng)生成(dialog response generation),風(fēng)格化響應(yīng)生成(stylized response generation)和標(biāo)簽條件語(yǔ)句生成(label-conditional sentence generation)這些任務(wù)。Optimus在所有這些任務(wù)上都比現(xiàn)有方法具有優(yōu)勢(shì)。
圖4. (a) 句子類比生成;(b) 句子插補(bǔ)。藍(lán)色表示生成的句子。
低資源下的語(yǔ)言理解:與 BERT 相比,Optimus 學(xué)習(xí)的特征空間更平滑,特征模式更分離(請(qǐng)參見圖 4a 和 4b)。在凍結(jié)主干網(wǎng)絡(luò)且僅更新分類器的微調(diào)設(shè)定下(feature-based setting), Optimus 能夠比 BERT 獲得更好的分類性能和更快的適應(yīng)性,因?yàn)樗试S Optimus 維護(hù)和利用到在預(yù)訓(xùn)練中學(xué)習(xí)到的語(yǔ)義結(jié)構(gòu)。?
圖 4c 顯示了在 Yelp 數(shù)據(jù)集上每個(gè)類別帶有不同數(shù)量的標(biāo)記樣本的結(jié)果,Optimus 在低計(jì)算場(chǎng)景(feature-based setting)中顯示了更好的結(jié)果。我們?cè)?GLUE 數(shù)據(jù)集上可以觀察到類似的比較。
圖5. (a) 和 (b) 分別展示了使用tSNE對(duì)Optimus和BERT進(jìn)行特征空間可視化的結(jié)果。具有不同標(biāo)簽的句子以不同的顏色呈現(xiàn)。(c) 不同數(shù)量的帶有標(biāo)簽數(shù)據(jù)的結(jié)果
感興趣更多詳細(xì)結(jié)果,請(qǐng)查看我們的論文,在 Github 上試試 Optimus 的代碼。
FQ-GAN: 圖像生成中的挑戰(zhàn)
論文標(biāo)題:Feature Quantization Improves GAN Training
論文鏈接:https://arxiv.org/abs/2004.02088
代碼鏈接:https://github.com/YangNaruto/FQ-GAN
Generative Adversarial Networks (GAN)是一種流行的圖像生成模型。它由兩個(gè)網(wǎng)絡(luò)組成:一個(gè)用于直接合成模擬樣本的生成器(generator),以及一個(gè)用于區(qū)分真實(shí)樣本 () 和偽樣本?(?) 的鑒別器(discriminator)。GAN 以對(duì)抗的方式訓(xùn)練這兩個(gè)網(wǎng)絡(luò),以便偽造的數(shù)據(jù)分布可以匹配真實(shí)的數(shù)據(jù)分布。?
特征匹配(Feature matching)[22]?一項(xiàng)有理論支撐的訓(xùn)練 GAN 的原理技術(shù), 它將 GAN 的數(shù)據(jù)分布匹配問(wèn)題轉(zhuǎn)換為鑒別器特征空間中的特征分布匹配問(wèn)題。這要求從整體偽造樣本和整體真實(shí)樣本中算得的特征統(tǒng)計(jì)量要相似,比如,一階或二階矩。
但實(shí)際實(shí)現(xiàn)上,這些特征統(tǒng)計(jì)量是使用連續(xù)特征空間中的小批量數(shù)據(jù)(mini-batch)來(lái)估計(jì)的。隨著數(shù)據(jù)集變得更大和更復(fù)雜(例如,更高的分辨率),基于小批量的估計(jì)質(zhì)量變得很差。因?yàn)樵诠潭ù笮〉呐咳ス烙?jì)更大的數(shù)據(jù)集,估計(jì)方差很大。對(duì)于 GAN 來(lái)說(shuō),這個(gè)問(wèn)題尤為嚴(yán)重,因?yàn)樯善鞯膫卧鞓颖痉植荚谟?xùn)練中總是在變化 [23],這對(duì)于大規(guī)模擴(kuò)展 GAN 模型提出了新的挑戰(zhàn)。?
為解決此問(wèn)題,我們?cè)谡撐?Feature Quantization Improves GAN Training 中提出了鑒別器的特征量化(FQ)的技術(shù),將特征表示量化在一個(gè)字典空間里,而非它原來(lái)的連續(xù)空間。?
FQ-GAN 的神經(jīng)網(wǎng)絡(luò)架構(gòu)如圖 6a 所示。相比較于原來(lái)的 GAN 模型,我們僅僅需要把 FQ 作為一個(gè)新的層,嵌入到區(qū)分器中某一層或者多層。FQ-GAN 將原來(lái)的連續(xù)特征限制在一組學(xué)習(xí)好的字典的元素上;而這里的字典元素,則一直代表著當(dāng)前真假樣本最具代表性的特征。?
由于真假樣本只能從有限的詞典元素中選擇其表示形式,因此 FQ-GAN 間接執(zhí)行特征匹配。這可以使用圖 6b 中的可視化示例進(jìn)行說(shuō)明,其中將真實(shí)樣本特征??和偽樣本特征??量化為相同的質(zhì)心(在此示例中,真假特征最后都量化到了和它們顏色一致的中心值了)。?
我們使用移動(dòng)平均值更新(moving average updates)來(lái)實(shí)現(xiàn)不斷更新的字典 E,使得該字典 E 確保包含一組與當(dāng)前真假樣本特征一致的元素。
圖6. (a) FQ-GAN架構(gòu):我們的FQ可以作為標(biāo)準(zhǔn)GAN區(qū)分器中的新層來(lái)添加進(jìn)去。(b) 用字典查找來(lái)實(shí)現(xiàn)隱式特征匹配。相同顏色的小散點(diǎn)們表示可以量化為相同中心(大圓圈)的連續(xù)特征;在經(jīng)過(guò)FQ之后,真實(shí)特征(正方形)和偽特征(三角形)會(huì)共享相同的中心。
我們所提出的 FQ 技術(shù)可以輕松地應(yīng)用到現(xiàn)有的 GAN 模型中,且在訓(xùn)練中的計(jì)算開銷卻很小。大量的實(shí)驗(yàn)結(jié)果表明,FQ-GAN 可以在各種任務(wù)上大幅度提高基線方法的圖像生成質(zhì)量,我們嘗試了在 9 個(gè)基準(zhǔn)數(shù)據(jù)集上的 3 個(gè)代表性GAN模型:?
BigGAN 圖像生成。BigGAN [8]?是由 Google DeepMind 于 2018 年推出的,它是我們知道的最大的 GAN 模型。我們?cè)谝韵氯齻€(gè)數(shù)據(jù)集上將 FQ-GAN 與 BigGAN 進(jìn)行了比較:CIFAR 10,CIFAR 100 和 ImageNet。這三個(gè)數(shù)據(jù)集依次具有越來(lái)越多的圖像類別或者樣本。?
就 FID 值(該指標(biāo)衡量了真假數(shù)據(jù)之間的特征統(tǒng)計(jì)差異)而言,FQ-GAN 始終優(yōu)于 BigGAN 超過(guò) 10%。我們的方法還改進(jìn)了 Twin Auxiliary Classifiers GAN [24],這是在 NeurIPS 2019 上出現(xiàn)的 GAN 的一個(gè)新變體,它特別適合細(xì)粒度的圖像數(shù)據(jù)集。?
StyleGAN 人臉合成。StyleGAN [9],是由 NVIDIA 在 2018 年 12 月推出的,該模型可以生成特別逼真的高分辨率人臉面部肖像的圖像(想象下 Deep Fake 的潛在影響)。StyleGAN 是基于 Progressive GAN [25]?進(jìn)行改進(jìn)的,但它引入更多使研究人員可以更好地控制特定的視覺(jué)功能的機(jī)制。?
我們?cè)?FFHQ 數(shù)據(jù)集上進(jìn)行比較,圖像分辨率從 32x32 一直到 1024x2014。結(jié)果顯示 FQ-GAN 收斂速度更快,并產(chǎn)生更好的最終性能。感受一下:
表格2. FQ對(duì)StyleGAN的提升。在FFHQ數(shù)據(jù)集上不同分辨率下的 FID-50k scores (越低越好)
圖7. FQ-StyleGAN的生成的1024x2014的樣例圖片(在8塊V100上訓(xùn)練一周多就為看這些美女帥哥?)
U-GAT-IT 圖像轉(zhuǎn)化。U-GAT-IT [10]?是剛出現(xiàn)在 ICLR 2020 上的最先進(jìn)的圖像樣式轉(zhuǎn)換(image style transfer)方法。在五個(gè)基準(zhǔn)數(shù)據(jù)集上,我們看到 FQ 在很大程度上改善了量化性能,并顯示了更好的人類感知評(píng)估結(jié)果。?
如果你想使用 FQ 改善你的 GAN 模型,那趕緊嘗試我們?cè)?GitHub 上的代碼,并查看我們的論文去了解更多細(xì)節(jié)。
Prevalent: 在視覺(jué)和語(yǔ)言導(dǎo)航任務(wù)上的應(yīng)用
論文標(biāo)題:Towards Learning a Generic Agent for Vision-and-Language Navigation via Pre-training
論文鏈接:https://arxiv.org/abs/2002.10638
代碼鏈接:https://github.com/weituo12321/PREVALENT
通過(guò)對(duì)圖像和語(yǔ)言的語(yǔ)義的進(jìn)一步了解,自然而然的下一步就是使機(jī)器在理解多模態(tài)輸入后能采取行動(dòng)以完成指定任務(wù)。為了實(shí)現(xiàn)此目標(biāo),我們碰到的一項(xiàng)基本挑戰(zhàn)就是“遵循自然語(yǔ)言的指示并讓機(jī)器能夠?qū)W習(xí)如何在視覺(jué)環(huán)境中導(dǎo)航” (vision-and-language navigation,簡(jiǎn)稱 VLN)。在理想情況下,我們希望一次性地訓(xùn)練一個(gè)通用的機(jī)器,它可以迅速適應(yīng)多個(gè)不同的下游任務(wù)。?
為此,我們提出了 Prevalent,第一個(gè)遵循預(yù)訓(xùn)練和微調(diào)范式的 VLN 算法。如圖 8a 所示,我們將預(yù)訓(xùn)練的數(shù)據(jù)樣本表示為三元組(圖像-文本-動(dòng)作),并以兩個(gè)目標(biāo)對(duì)模型進(jìn)行預(yù)訓(xùn)練:掩蓋語(yǔ)言建模(masked language modeling)和動(dòng)作預(yù)測(cè) (action prediction)。?
由于預(yù)訓(xùn)練不涉及最終的下游學(xué)習(xí)目標(biāo),因此這種自我監(jiān)督的學(xué)習(xí)方法通常需要大量的訓(xùn)練樣本才能發(fā)現(xiàn)多模態(tài)數(shù)據(jù)的內(nèi)部本質(zhì),從而很好地泛化到新任務(wù)上。?
在我們的研究中,我們發(fā)現(xiàn)該子領(lǐng)域最大的訓(xùn)練數(shù)據(jù)集 R2R 僅包含 104,000 個(gè)樣本,這比用于自然語(yǔ)言(language pre-training)還有多模態(tài)(vision-and-language pretraining )的那些子領(lǐng)域的預(yù)訓(xùn)練數(shù)據(jù)集要小一個(gè)數(shù)量級(jí)。這會(huì)導(dǎo)致以下尷尬的情況:一方面由于訓(xùn)練數(shù)據(jù)不足而使得預(yù)訓(xùn)練質(zhì)量不理想,另一方面,使用人工注釋來(lái)收集此類樣本又非常昂貴。?
在我們的論文 Towards Learning a Generic Agent for Vision-and-Language Navigation via Pre-training 中, 我們嘗試了用深度生成模型來(lái)合成這些多模態(tài)數(shù)據(jù),很幸運(yùn)地發(fā)現(xiàn)這樣做居然是有效果的。?
我們首先訓(xùn)練一個(gè)自動(dòng)回歸模型(相當(dāng)于 VLN 領(lǐng)域的 Speaker 模型 [26]),該模型可以根據(jù) R2R 數(shù)據(jù)集上的機(jī)器人的軌跡(一系列的動(dòng)作和視覺(jué)圖像的序列)生成語(yǔ)言指令。然后,我們使用模擬器(Matterport 3D Simulator)[27]?收集大量的最短軌跡,并使用生成模型合成它們相應(yīng)的指令。這產(chǎn)生了 6,482,000 個(gè)新的訓(xùn)練樣本。?
通過(guò)圖 8b 中比較了這兩個(gè)數(shù)據(jù)集,我們看到合成數(shù)據(jù)占了 98.4% 的預(yù)訓(xùn)練數(shù)據(jù)。我們的 Prevalent 就是預(yù)訓(xùn)練在這樣的組合數(shù)據(jù)集上。
圖8. (a) 模型學(xué)習(xí)的流程:在大量增強(qiáng)的R2R數(shù)據(jù)集中對(duì)機(jī)器進(jìn)行預(yù)訓(xùn)練,并在三個(gè)下游任務(wù)上進(jìn)行微調(diào);(b) 預(yù)訓(xùn)練數(shù)據(jù)集的百分比:98.4%的合成數(shù)據(jù)和1.6%的真實(shí)數(shù)據(jù)。
預(yù)訓(xùn)練好模型后,我們嘗試了三個(gè)下游導(dǎo)航任務(wù)的微調(diào),包括房間到房間的導(dǎo)航(R2R),和兩個(gè)域外任務(wù):對(duì)話指導(dǎo)的視覺(jué)導(dǎo)航(CVDN)以及和人類交互更多的導(dǎo)航任務(wù)(HANNA)。我們的算法在這三個(gè)任務(wù)上都達(dá)到了最先進(jìn)的水平。這些結(jié)果標(biāo)明,深度生成模型合成的樣品可用于預(yù)訓(xùn)練,并且可以提高其模型的通用性。?
有關(guān)更多詳細(xì)信息,請(qǐng)閱讀我們的 CVPR 2020 論文 Towards Learning a Generic Agent for Vision-and-Language Navigation via Pre-training。我們?cè)?GitHub 上發(fā)布了 Prevalent 的預(yù)訓(xùn)練模型,數(shù)據(jù)集和代碼。我們希望它可以為將來(lái)在視覺(jué)和語(yǔ)言導(dǎo)航這個(gè)子領(lǐng)域的自我監(jiān)督預(yù)訓(xùn)練方面的研究奠定堅(jiān)實(shí)的基礎(chǔ)。
展望未來(lái)
從上面的示例中,我們已經(jīng)看到了在大規(guī)模訓(xùn)練時(shí)代,深度生成模型的的機(jī)遇,挑戰(zhàn)和應(yīng)用。下面我們謹(jǐn)慎地探討下,這個(gè)時(shí)代背景下,深度生成模型未來(lái)可以開展的工作:?
落地實(shí)用:隨著我們繼續(xù)推進(jìn)這些模型并擴(kuò)大其規(guī)模,我們可以期望 DGM 去合成高保真的圖像或語(yǔ)言樣本。這本身可能會(huì)在各個(gè)領(lǐng)域中會(huì)被真正地落地實(shí)用起來(lái),例如藝術(shù)圖像合成?[28]?或面向任務(wù)的對(duì)話 [29]。?
技術(shù)組合:這三種深度學(xué)習(xí)模型類型的界限會(huì)很容易變得模糊,研究人員可以結(jié)合不同模型的優(yōu)勢(shì)進(jìn)行進(jìn)一步的改進(jìn)。小規(guī)模的設(shè)置里已經(jīng)有非常多融合的工作,那大規(guī)模的情況,是否會(huì)有新的技術(shù)難題呢?借助已經(jīng)被極度大規(guī)模化的 autogressive models,其它模型類別是否會(huì)因此受益呢??
自我監(jiān)督學(xué)習(xí):這個(gè)我個(gè)人最感覺(jué)興趣的方向。1)利用生成模型提升自我監(jiān)督學(xué)習(xí)的性能,比如 Electra [39]。2)作為自我監(jiān)督學(xué)習(xí)的一個(gè)分支,DGM 本身在基礎(chǔ)工作上的進(jìn)展也會(huì)在更加廣泛的意義上影響自我監(jiān)督學(xué)習(xí) 。
比如,上文交代的 DGM 的通用技巧,更深入一層的思考,其實(shí)也是自我監(jiān)督學(xué)習(xí)的通用技巧:有限參數(shù)量的神經(jīng)網(wǎng)絡(luò),在學(xué)會(huì)生成(部分)觀察到的數(shù)據(jù)的中對(duì)其過(guò)程進(jìn)行編碼,這必須要求模型本身可以有效地學(xué)習(xí)并發(fā)現(xiàn)掌握數(shù)據(jù)的本質(zhì),從而推理出對(duì)許多下游任務(wù)都通用的良好表達(dá)。
致謝?
首先感謝我的合作者們一起完成這些研究結(jié)果。另外,我們自己的研究實(shí)現(xiàn)基于 GitHub 上一些開源項(xiàng)目,在此對(duì)代碼的作者們表示感謝:HuggingFace Transformers [31], BigGAN [8], StyleGAN [9], U-GAT-IT [10], Matterport3D Simulator [27], Speaker-Follower [26].?
更多深度生成模型的基礎(chǔ)知識(shí)學(xué)習(xí)資源,可以參考最近的大學(xué)課堂教程:斯坦福大學(xué) [32](網(wǎng)絡(luò)課程 [33]),加州伯克利大學(xué) [34],哥倫比亞大學(xué) [35],紐約大學(xué) [36]。?
如果你對(duì)類似的研究課題也感興趣,歡迎探討,合作。了解更多:http://chunyuan.li/
相關(guān)鏈接
[1] https://medium.com/@mlengineer/generative-and-discriminative-models-af5637a66a3?
[2] https://openai.com/blog/generative-models/?
[3] https://openai.com/blog/language-unsupervised/?
[4]?http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf?
[5] https://openai.com/blog/better-language-models/?
[6] https://arxiv.org/abs/1909.08053?
[7] https://www.microsoft.com/en-us/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft/?
[8] https://github.com/ajbrock/BigGAN-PyTorch?
[9] https://github.com/NVlabs/stylegan?
[10] https://github.com/taki0112/UGATIT?
[11] https://www.jiqizhixin.com/articles/19030401?
[12] https://github.com/google-research/bert?
[13] https://ai.facebook.com/blog/roberta-an-optimized-method-for-pretraining-self-supervised-nlp-systems/?
[14] https://github.com/microsoft/unilm?
[15] https://arxiv.org/abs/1910.13461?
[16] https://ai.googleblog.com/2020/02/exploring-transfer-learning-with-t5.html?
[17]?https://www.cs.princeton.edu/courses/archive/fall11/cos597C/lectures/variational-inference-i.pdf?
[18] https://www.microsoft.com/en-us/research/blog/less-pain-more-gain-a-simple-method-for-vae-training-with-less-of-that-kl-vanishing-agony/?
[19] https://arxiv.org/abs/1909.00868?
[20] https://github.com/jxhe/vae-lagging-encoder?
[21] https://arxiv.org/abs/1509.00519?
[22] https://arxiv.org/abs/1702.08398?
[23] https://arxiv.org/abs/1811.11083?
[24] https://github.com/batmanlab/twin-auxiliary-classifiers-gan?
[25] https://arxiv.org/abs/1710.10196?
[26] http://ronghanghu.com/speaker_follower/?
[27]?https://github.com/peteanderson80/Matterport3DSimulator?
[28] https://deepart.io/?
[29] https://arxiv.org/abs/2002.12328?
[30] https://github.com/google-research/electra?
[31] https://github.com/huggingface/transformers?
[32] https://deepgenerativemodels.github.io/?
[33] https://online.stanford.edu/courses/cs236-deep-generative-models?
[34] https://sites.google.com/view/berkeley-cs294-158-sp20/home?
[35]?http://stat.columbia.edu/~cunningham/teaching/GR8201/?
[36] https://cs.nyu.edu/courses/spring18/CSCI-GA.3033-022/
點(diǎn)擊以下標(biāo)題查看更多往期內(nèi)容:?
ICLR 2020:從去噪自編碼器到生成模型
萬(wàn)字綜述之生成對(duì)抗網(wǎng)絡(luò)(GAN)
BiGAN-QP:簡(jiǎn)單清晰的編碼生成模型
深度學(xué)習(xí)中的Lipschitz約束:泛化與生成模型
全新視角:用變分推斷統(tǒng)一理解生成模型
Wasserstein距離在生成模型中的應(yīng)用
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁(yè)搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的大规模计算时代:深度生成模型何去何从的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: WEY坦克300后备箱容积多少升?
- 下一篇: 小变动、大影响:苹果 iOS 18 细化