聊一聊擴(kuò)散模型在NLP領(lǐng)域應(yīng)用
共 10798字,需瀏覽 22分鐘
·
2024-07-23 07:00
擴(kuò)散模型應(yīng)用于NLP領(lǐng)域應(yīng)用
作者:StormBlafe
原文地址:https://zhuanlan.zhihu.com/p/706445533
來(lái)由
文本生成的任務(wù)核心在于依據(jù)給定的數(shù)據(jù),創(chuàng)造出媲美人工撰寫的流暢文本,這一領(lǐng)域在當(dāng)今的實(shí)際應(yīng)用中展現(xiàn)出蓬勃的活力與廣泛的適用性。深度學(xué)習(xí)領(lǐng)域的翹楚——循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)與轉(zhuǎn)換器(Transformer),以其卓越的序列處理能力,已然成為駕馭文本生成任務(wù)的中流砥柱。而近期,預(yù)訓(xùn)練語(yǔ)言模型(PLMs)的崛起,更是為文本生成的質(zhì)量提升帶來(lái)了質(zhì)的飛躍。通過(guò)在海量語(yǔ)料上的預(yù)訓(xùn)練,這些模型能夠高效地遷移到具體任務(wù)上,利用先前習(xí)得的知識(shí)優(yōu)化任務(wù)表現(xiàn),實(shí)現(xiàn)快速且精準(zhǔn)的微調(diào)。
傳統(tǒng)的文本生成策略多采用自回歸(AR)模式,即逐一生成輸出序列中的每個(gè)元素,確保序列內(nèi)元素間的連貫性與依存關(guān)系。盡管這種方法能有效保證生成文本的邏輯性和一致性,但其在處理長(zhǎng)文本時(shí)的計(jì)算復(fù)雜度和時(shí)間消耗不容小覷。鑒于此,非自回歸(NAR)生成策略應(yīng)運(yùn)而生,其創(chuàng)新之處在于能夠并行處理所有輸出元素的生成,顯著減少了推理過(guò)程中的延遲,為文本生成技術(shù)的高效與實(shí)時(shí)應(yīng)用開辟了新的路徑。
盡管非自回歸模型在加速文本生成流程上表現(xiàn)出色,但相較于自回歸模型,其在生成精確度上往往略遜一籌。這一局限性主要?dú)w咎于其并行生成機(jī)制,該機(jī)制在捕捉序列中token間細(xì)微而復(fù)雜的相互作用時(shí)存在天然短板。為彌合這一性能鴻溝,研究者們將目光轉(zhuǎn)向了在圖像生成領(lǐng)域大放異彩的擴(kuò)散模型,并將其巧妙地融入非自回歸文本生成的框架之中。
擴(kuò)散模型的核心思想在于,通過(guò)一系列去噪步驟,逐步將無(wú)序的隨機(jī)噪聲轉(zhuǎn)化為結(jié)構(gòu)化的數(shù)據(jù)樣本。當(dāng)應(yīng)用于非自回歸文本生成場(chǎng)景下,這一模型能夠基于初始輸入,迭代式地優(yōu)化中間生成結(jié)果,不僅有效應(yīng)對(duì)了復(fù)雜約束條件下的文本生成挑戰(zhàn),還能產(chǎn)出品質(zhì)卓越的最終文本。更值得一提的是,借助恰當(dāng)?shù)牟蓸蛹铀偌夹g(shù),擴(kuò)散模型成功實(shí)現(xiàn)了對(duì)推理效率與生成文本質(zhì)量的雙重優(yōu)化,為非自回歸文本生成技術(shù)的實(shí)用性與效能性提供了有力保障,使其在追求速度與精度的平衡點(diǎn)上邁出了堅(jiān)實(shí)一步。
在見證了擴(kuò)散模型如何在圖像合成與音頻生成等領(lǐng)域綻放光彩后,自然語(yǔ)言處理(NLP)領(lǐng)域的研究者們萌生了將這一模型遷移至文本生成任務(wù)的想法。然而,文本數(shù)據(jù)本質(zhì)上的離散特性與圖像數(shù)據(jù)的連續(xù)分布形成了鮮明對(duì)比,這為直接套用擴(kuò)散模型帶來(lái)了不小的挑戰(zhàn)。面對(duì)這一難題,學(xué)者們提出了兩大策略以求破解:
首先,一種流行的做法是通過(guò)嵌入層這一橋梁,將原本離散的文本信息轉(zhuǎn)換為連續(xù)向量表示,從而讓擴(kuò)散模型得以在一個(gè)熟悉的連續(xù)空間內(nèi)運(yùn)作,進(jìn)而處理文本生成任務(wù)。這種方法使得模型能夠在高維空間中捕捉詞與詞之間的語(yǔ)義關(guān)聯(lián),為生成連貫且有意義的文本奠定了基礎(chǔ)。
其次,考慮到保留文本固有的離散性質(zhì)的重要性,另一派研究者選擇直面挑戰(zhàn),致力于將擴(kuò)散模型的理論框架擴(kuò)展至能直接處理離散數(shù)據(jù)的版本。這種策略不僅避免了連續(xù)表示可能帶來(lái)的信息損失,還確保了生成文本的自然流暢與語(yǔ)法正確性,為NLP領(lǐng)域的擴(kuò)散模型應(yīng)用開辟了一條新路徑。
兩種方案各具特色,前者通過(guò)降維映射實(shí)現(xiàn)了模型的靈活應(yīng)用,后者則堅(jiān)守文本的本真形態(tài),力圖在保持語(yǔ)言特性的前提下提升生成效果。無(wú)論哪一種方法,都在推動(dòng)著擴(kuò)散模型在NLP領(lǐng)域的不斷探索與創(chuàng)新。
在文本生成領(lǐng)域,擴(kuò)散模型的運(yùn)用借鑒了圖像生成中的兩種核心擴(kuò)散機(jī)制——連續(xù)擴(kuò)散與離散擴(kuò)散。連續(xù)擴(kuò)散模型在操作時(shí),于一個(gè)連續(xù)的潛變量空間(latent space)中執(zhí)行擴(kuò)散流程,這種設(shè)置允許模型在生成過(guò)程中進(jìn)行平滑的過(guò)渡和細(xì)膩的調(diào)整。相反,離散擴(kuò)散模型則直接在文本的符號(hào)級(jí)別(token level)上實(shí)施擴(kuò)散過(guò)程,保持了語(yǔ)言數(shù)據(jù)的離散性和固有結(jié)構(gòu)。
然而,鑒于文本數(shù)據(jù)本質(zhì)上的離散屬性以及其深層語(yǔ)義的復(fù)雜性,要將擴(kuò)散模型無(wú)縫應(yīng)用到非自回歸的文本生成場(chǎng)景中絕非易事。非自回歸方法試圖打破逐字生成的傳統(tǒng)框架,轉(zhuǎn)而追求一次性生成完整文本序列的高效途徑,但這一轉(zhuǎn)變對(duì)模型提出了更高的要求,特別是要處理好詞匯選擇與語(yǔ)境關(guān)聯(lián)的微妙平衡。
為應(yīng)對(duì)這一挑戰(zhàn),當(dāng)前的研究工作在擴(kuò)散模型的原有架構(gòu)上進(jìn)行了多項(xiàng)創(chuàng)新,旨在提升其在文本生成任務(wù)中的表現(xiàn)力和實(shí)用性。具體而言,這些革新舉措主要聚焦于以下幾個(gè)方面:
訓(xùn)練目標(biāo)的精調(diào):為了使擴(kuò)散模型更加貼合文本生成的特性,研究者對(duì)模型的訓(xùn)練目標(biāo)進(jìn)行了細(xì)致的調(diào)整。通過(guò)引入或優(yōu)化損失函數(shù),確保模型在學(xué)習(xí)過(guò)程中能更準(zhǔn)確地捕捉文本的統(tǒng)計(jì)規(guī)律和語(yǔ)義連貫性,進(jìn)而生成自然流暢且含義豐富的文本內(nèi)容。
量身定做的噪聲計(jì)劃(Noise Schedule):噪聲計(jì)劃是擴(kuò)散模型的關(guān)鍵環(huán)節(jié),決定著模型如何逐步向輸入添加噪聲并最終將其去除,以恢復(fù)原始信號(hào)。考慮到文本的獨(dú)特性,研究者開發(fā)了專為文本數(shù)據(jù)設(shè)計(jì)的噪聲調(diào)度策略,這種策略能夠更精細(xì)地控制噪聲的添加與去除過(guò)程,保證在生成文本時(shí)既能保留信息的完整性,又能兼顧語(yǔ)義的準(zhǔn)確性。
預(yù)訓(xùn)練語(yǔ)言模型的整合:利用預(yù)訓(xùn)練語(yǔ)言模型(如BERT、GPT系列)在語(yǔ)言理解與生成上的卓越能力,研究者嘗試將這些模型與擴(kuò)散模型進(jìn)行深度融合。通過(guò)在擴(kuò)散模型的訓(xùn)練和生成階段嵌入預(yù)訓(xùn)練模型的預(yù)測(cè)結(jié)果,能夠顯著增強(qiáng)擴(kuò)散模型的語(yǔ)言表達(dá)能力和語(yǔ)境適應(yīng)性,從而產(chǎn)出質(zhì)量更高、更符合人類語(yǔ)言習(xí)慣的生成文本。
總而言之,盡管將擴(kuò)散模型應(yīng)用于非自回歸文本生成面臨一系列技術(shù)難題,但通過(guò)上述策略的不斷探索與實(shí)踐,研究者正在逐步克服這些障礙,推動(dòng)該領(lǐng)域向著更加成熟和實(shí)用的方向邁進(jìn)。
文本擴(kuò)散模型
文本擴(kuò)散模型基于輸入數(shù)據(jù)逐漸將一個(gè)隨機(jī)噪聲復(fù)原為期望的文本。開始時(shí)的噪聲可以是離散(如[MASK] tokens)或連續(xù)(隨機(jī)高斯噪聲)的,分別對(duì)應(yīng)離散和連續(xù)的文本擴(kuò)散模型。去噪過(guò)程依賴于一個(gè)參數(shù)化去噪網(wǎng)絡(luò),大多基于transformer架構(gòu)。在訓(xùn)練階段,去噪網(wǎng)絡(luò)基于設(shè)定好的noise schedule,目標(biāo)函數(shù)和conditioning strategy恢復(fù)被打亂的中間結(jié)果。在推理階段,去噪網(wǎng)絡(luò)從一個(gè)隨機(jī)噪聲 開始,逐步將其去噪為目標(biāo)文本。值得注意的是,文本擴(kuò)散模型在推理階段的每一步中都用NAR的方式并行預(yù)測(cè)隱變量。
針對(duì)文本數(shù)據(jù)的擴(kuò)散模型
由于文本數(shù)據(jù)的離散特質(zhì),將擴(kuò)散模型應(yīng)用于非自回歸文本生成并非易事。具體來(lái)說(shuō),離散的token不能直接被連續(xù)的噪聲打亂,因此我們需要對(duì)經(jīng)典的擴(kuò)散模型做出改進(jìn)以讓其適用于文本數(shù)據(jù)。最近文本擴(kuò)散模型領(lǐng)域的進(jìn)展。已有工作可分為兩派,一派在離散的token層面進(jìn)行擴(kuò)散,另一派在token的隱表示層面進(jìn)行連續(xù)擴(kuò)散。
擴(kuò)散過(guò)程中的關(guān)鍵設(shè)計(jì)
去噪網(wǎng)絡(luò)及其相關(guān)設(shè)置(例如noise schedule, 目標(biāo)函數(shù)以及conditioning strategy)是文本擴(kuò)散模型的核心組成部分,對(duì)生成質(zhì)量有重要影響。
1、去噪網(wǎng)絡(luò)
去噪網(wǎng)絡(luò)在逆向過(guò)程中從中間生成結(jié)果中移除噪聲。和使用U-Net的視覺(jué)擴(kuò)散模型不同,文本擴(kuò)散模型通常采用transformer作為去噪網(wǎng)絡(luò),從而更好地捕獲token之間的依賴關(guān)系。
-
Transformer
近年來(lái),transformer成為了自然語(yǔ)言處理領(lǐng)域的主流架構(gòu)。Transformer是一個(gè)由多個(gè)transformer層組成的encoder-decoder網(wǎng)絡(luò),每個(gè)transformer層都包含數(shù)個(gè)前饋網(wǎng)絡(luò)和多頭自注意力函數(shù) :其中 是輸入序列,并被不同的權(quán)重矩陣分別映射為 , , , 表示向量維度。由于transformer在文本生成領(lǐng)域的強(qiáng)勁表現(xiàn),大多數(shù)文本擴(kuò)散模型將transformer的encoder或整體用作去噪網(wǎng)絡(luò)。一些工作進(jìn)一步使用了基于transformer的預(yù)訓(xùn)練語(yǔ)言模型,如BERT或RoBERTa。
2、Noise Schedule
Noise schedule 是噪聲規(guī)模和時(shí)間步之間的函數(shù),控制了去噪網(wǎng)絡(luò)的不同輸入數(shù)據(jù)的出現(xiàn)頻率。在訓(xùn)練階段,原始文本被噪聲 打亂,其中 是隨機(jī)采樣的時(shí)間步。Noise schedule影響著恢復(fù)目標(biāo)文本的去噪過(guò)程,從而對(duì)生成質(zhì)量有重要影響。一些已有方法沿用視覺(jué)任務(wù)中的常用noise schedule,另一些則針對(duì)文本數(shù)據(jù)的離散特征設(shè)計(jì)了新的noise schedule。
-
Linear Schedule
DDPM提出了linear schedule, 在 到 的范圍內(nèi)線性變化。這樣的noise schedule使得噪聲規(guī)模在剛開始時(shí)相對(duì)較小,去噪網(wǎng)絡(luò)可以更容易恢復(fù)數(shù)據(jù),而隨著噪聲規(guī)模的逐漸增加原始數(shù)據(jù)最終會(huì)被完全打亂為噪聲。Difformer[8]和LD4LG[9]在文本擴(kuò)散模型中也使用了相同的noise schedule。
-
Cosine Schedule
[10]中提出linear schedule中噪聲規(guī)模的增長(zhǎng)速度過(guò)快,使得最后一部分的隱變量都幾乎被完全打亂。因此他們提出了cosine schedule,其定義 , 其中 。Cosine schedule放緩了噪聲規(guī)模的增長(zhǎng)速度,也被SED[11]和SSD-LM用于文本生成。
-
Mutual Information Schedule
D3PM為離散擴(kuò)散過(guò)程設(shè)計(jì)了mutual information schedule,對(duì)原始數(shù)據(jù)和隱變量之間的互信息進(jìn)行線性插值。對(duì)于包括吸收狀態(tài)的離散擴(kuò)散模型,該schedule會(huì)退化為 。
-
Sqrt Schedule
Diffusion-LM觀察到經(jīng)過(guò)打亂后,單詞在embedding空間中的最近鄰?fù)3植蛔儯⑦@種現(xiàn)象歸因?yàn)閭鹘y(tǒng)的noise schedule的初始噪聲規(guī)模過(guò)小,不足以打亂文本數(shù)據(jù)。因此作者提出了sqrt schedule,其定義 ,噪聲的初始規(guī)模更大并且增長(zhǎng)速度更快,同時(shí)增長(zhǎng)速度也會(huì)隨時(shí)間逐漸下降避免過(guò)度打亂數(shù)據(jù)。Diffuseq[12]也使用了該noise schedule。
-
Spindle Schedule
非自回歸生成中的easy-first policy認(rèn)為常見的單詞應(yīng)該較早被生成出來(lái)以作為后續(xù)更少見的單詞生成時(shí)的上下文。因此DiffusionBERT[13]提出了spindle schedule,對(duì)于包含信息量更多的單詞賦予更高被打亂的概率。從而較少見的單詞會(huì)在前向過(guò)程的開始階段被替換為[MASK]并在去噪階段的結(jié)尾被恢復(fù)。
-
Adaptive Schedule
SeqDiffuSeq[14]認(rèn)為預(yù)測(cè) 的難度應(yīng)該隨時(shí)間步的增加而線性增長(zhǎng)。為此,作者設(shè)計(jì)了adaptive schedule,其從一個(gè)已有noise schedule中學(xué)習(xí)噪聲規(guī)模和loss之間的關(guān)系,之后在訓(xùn)練過(guò)程中根據(jù)得到的loss更新噪聲規(guī)模。
3、目標(biāo)函數(shù)
作為另一個(gè)關(guān)鍵部分,去噪網(wǎng)絡(luò)的目標(biāo)函數(shù)也需要改進(jìn)以適應(yīng)文本生成任務(wù)。例如原來(lái)通過(guò) 參數(shù)化的loss可能不是預(yù)測(cè)word embedding任務(wù)的最優(yōu)選擇,而連續(xù)文本擴(kuò)散模型中新增的額外embedding和rounding步驟同樣需要額外的loss項(xiàng)。進(jìn)一步的重參數(shù)化也可以簡(jiǎn)化loss的形式。
-
parameterized Loss
如公式(5)所述,經(jīng)典擴(kuò)散模型的訓(xùn)練目標(biāo)可被簡(jiǎn)化為預(yù)測(cè)后驗(yàn)分布 的均值 。而Diffusion-LM發(fā)現(xiàn)該訓(xùn)練目標(biāo)可能導(dǎo)致模型對(duì) 的預(yù)測(cè)不能收斂到任何word embedding上。作者認(rèn)為這是因?yàn)橐灶A(yù)測(cè) 為目標(biāo)的去噪網(wǎng)絡(luò)缺少對(duì) 的約束信息。因此作者提出用 參數(shù)化訓(xùn)練目標(biāo),該目標(biāo)可寫作
其中 是去噪網(wǎng)絡(luò)。這樣,去噪網(wǎng)絡(luò)在不同時(shí)間步的預(yù)測(cè)目標(biāo)被統(tǒng)一為原始輸入 。這種loss形式也被后續(xù)文本擴(kuò)散模型的工作廣泛采用。
-
Auxiliary Loss
由于連續(xù)文本擴(kuò)散模型在推理階段需要將embedding映射為word token,Diffusion-LM在目標(biāo)函數(shù)中引入了一項(xiàng)新的loss 來(lái)更好地學(xué)習(xí)映射關(guān)系,其中 是詞表上的softmax分布。該訓(xùn)練目標(biāo)共同訓(xùn)練了擴(kuò)散過(guò)程和embedding過(guò)程,但可能學(xué)習(xí)到一個(gè)簡(jiǎn)單解,即學(xué)習(xí)到的embedding彼此之間距離都很近,構(gòu)成一個(gè)各向同性的embedding空間。另外,由于 是在 的基礎(chǔ)上添加了少量噪聲得到的,因此對(duì) 的預(yù)測(cè)較為容易,從而不能對(duì)模型的訓(xùn)練提供足夠的指導(dǎo)信息。因此,Difformer提出用 來(lái)替代 ,其中 表示模型對(duì) 的預(yù)測(cè)。和 之間的距離較遠(yuǎn),使得該loss可以對(duì)embedding產(chǎn)生足夠的約束。
-
Surrogate Loss
RDM[15]提出對(duì)離散擴(kuò)散模型的去噪過(guò)程進(jìn)行重參數(shù)化。作者引入了一個(gè)step-wise rounting indicator ,其中 選擇被打亂的token進(jìn)行還原, 選擇經(jīng)過(guò)去噪的token進(jìn)行打亂。經(jīng)過(guò)這種參數(shù)化后,這樣RDM的訓(xùn)練目標(biāo)可以被替代為一個(gè)多分類的交叉熵loss。
4、Conditioning Strategy
通過(guò)設(shè)定不同的條件 ,文本生成任務(wù)可以被進(jìn)一步分類為unconditional generation,attribute-to-text generation (如屬性控制),text-to-text generation (如機(jī)器翻譯)。已有的文本擴(kuò)散模型設(shè)計(jì)了不同的conditioning strategies將不同的條件 和去噪網(wǎng)絡(luò)相結(jié)合。本章中我們將討論這些conditioning strategies。
-
Unconditional Generation
當(dāng) 為空時(shí),任務(wù)變?yōu)闊o(wú)條件文本生成,文本擴(kuò)散模型通過(guò)逆向過(guò)程不受約束地將隨機(jī)噪聲轉(zhuǎn)變?yōu)槲谋拘蛄?。SED和DiffusionBERT遵循這種任務(wù)設(shè)置來(lái)評(píng)測(cè)文本擴(kuò)散模型的基本生成能力。
-
Attribute-to-text Generation
當(dāng) 被設(shè)置為主題或情感等屬性,任務(wù)變?yōu)閍ttribute-to-text generation。Classifier-guidance是處理這類任務(wù)的經(jīng)典方法,其使用一個(gè)訓(xùn)練好的屬性分類器在生成過(guò)程中提供梯度信息作為指導(dǎo)。Diffusion-LM關(guān)注細(xì)粒度的控制條件,例如語(yǔ)義內(nèi)容或語(yǔ)法結(jié)構(gòu)。和plug-and-play方法類似,Diffusion-LM沒(méi)有直接將條件整合進(jìn)去噪網(wǎng)絡(luò),而是利用額外的分類器在推理階段指導(dǎo)生成結(jié)果。和分類器引導(dǎo)的視覺(jué)擴(kuò)散模型[16]類似,Diffusion-LM在推理階段會(huì)利用分類器的梯度信息更新中間結(jié)果,(3)中的逆向過(guò)程被修改為:其中 是分類器提供的梯度, 是控制梯度大小的參數(shù)。
Classifier-free是另一種處理該任務(wù)的方法,通常顯式地將條件整合進(jìn)去噪網(wǎng)絡(luò)中。LD4LG使用類別embedding作為條件,通過(guò)cross-attention機(jī)制和隱變量被整合到去噪網(wǎng)絡(luò)中。相似地,SED在訓(xùn)練過(guò)程中也將條件映射為embedding,但通過(guò)self-conditioning機(jī)制將其和隱變量結(jié)合。
-
Text-to-text Generation
當(dāng) 被設(shè)置為文本序列或文章時(shí),任務(wù)變?yōu)閠ext-to-text generation,例如機(jī)器翻譯和文本摘要。這類任務(wù)相較于attribute-to-text任務(wù)普遍更具挑戰(zhàn)性,因?yàn)樗麄冸y以被簡(jiǎn)單的屬性分類器控制。因此classifier-gudiance方法不再適用。Diffuseq提出了partially noising策略將條件文本整合進(jìn)連續(xù)的擴(kuò)散過(guò)程中。具體而言,去噪網(wǎng)絡(luò)的輸入是目標(biāo)文本和條件文本的拼接。在前向過(guò)程中,拼接起來(lái)的序列被部分打亂,噪聲只添加到目標(biāo)文本的部分,而條件文本保持不變。逆向過(guò)程從條件文本和隨機(jī)噪聲的拼接開始,整個(gè)過(guò)程中條件文本依舊保持不變,隨機(jī)噪聲被逐漸還原。Difformer和SeqDiffuSeq將完整的transformer作為去噪網(wǎng)絡(luò)。Encoder負(fù)責(zé)生成條件文本的embedding表示,Decoder將被打亂的文本的embedding和條件文本的embedding通過(guò)cross-attention結(jié)合,進(jìn)而預(yù)測(cè)打亂前的文本。
5、預(yù)訓(xùn)練語(yǔ)言模型的使用
由于預(yù)訓(xùn)練語(yǔ)言模型(PLMs)在文本生成任務(wù)上的出色表現(xiàn),我們可以將它們整合到文本擴(kuò)散模型中以提高生成質(zhì)量。本章中我們將介紹這方面的已有工作。
-
PLMs as Denoising Networks
離散文本擴(kuò)散模型的去噪網(wǎng)絡(luò)嘗試還原被[MASK]打亂的文本序列,而這一目標(biāo)和已有PLMs的預(yù)訓(xùn)練任務(wù)非常類似,例如BERT中的Masked Language Model。因此離散文本擴(kuò)散模型和PLMs的結(jié)合有很好的前景。DiffusionBERT使用預(yù)訓(xùn)練好的BERT作為去噪網(wǎng)絡(luò)。不過(guò)原始的去噪網(wǎng)絡(luò)在預(yù)測(cè)時(shí)會(huì)依賴時(shí)間步信息,而PLMs在預(yù)訓(xùn)練時(shí)沒(méi)有遇到過(guò)這類信息。因此DiffusionBERT引入了time-agnostic decoding,在預(yù)測(cè)時(shí)不顯式地提供時(shí)間步信息,而是讓模型自己根據(jù)被打亂的token數(shù)量自行推測(cè)。連續(xù)文本擴(kuò)散模型也可以使用PLMs, SSD-LM使用了一個(gè)預(yù)訓(xùn)練好的RoBERTa作為去噪網(wǎng)絡(luò)來(lái)加快收斂速度。
-
Diffusion on PLM’s Latent Space
Latent diffusion models[17]在預(yù)訓(xùn)練好的圖像編碼器的隱空間中進(jìn)行擴(kuò)散過(guò)程,并在文本指導(dǎo)圖像生成的任務(wù)上取得了較好效果。相似的方法也被用于文本擴(kuò)散模型中。LD4LG在預(yù)訓(xùn)練好的BART的隱空間中訓(xùn)練文本擴(kuò)散模型。在訓(xùn)練階段,BART的encoder將文本轉(zhuǎn)換為embedding,之后沿用連續(xù)擴(kuò)散過(guò)程將其打亂并復(fù)原。在推理階段,去噪網(wǎng)絡(luò)從隨機(jī)噪聲中恢復(fù)embedding,之后通過(guò)BART的decoder將其解碼為文本。LatentOps使用一個(gè)預(yù)訓(xùn)練好的GPT-2將ODE sampler采樣的隱變量映射回離散的文本。Difformer用預(yù)訓(xùn)練好的BERT的embedding進(jìn)行初始化。
-
Revising Pre-training Tasks of PLMs
盡管PLMs可以提供高效初始化文本擴(kuò)散模型并加快收斂,但由于二者訓(xùn)練目標(biāo)上的不一致,PLMs的隱空間可能并不適合擴(kuò)散模型。因此一些工作重新設(shè)計(jì)了預(yù)訓(xùn)練任務(wù)并提出了基于文本擴(kuò)散模型的預(yù)訓(xùn)練模型。GENIE[18]設(shè)計(jì)了新的預(yù)訓(xùn)練任務(wù)continuous paragraph denoising (CPD) 并重新預(yù)訓(xùn)練了一個(gè)文本擴(kuò)散模型。給定一個(gè)document ,CPD 從中選擇一個(gè)段落 并用[MASK]進(jìn)行替換得到 ,之后將其送入encoder,將結(jié)果作為上下文表示。之后 通過(guò)擴(kuò)散過(guò)程被打亂,并和此前得到的上下文表示一起送入去噪網(wǎng)絡(luò)預(yù)測(cè)擴(kuò)散過(guò)程中添加的噪聲。
6、針對(duì)文本數(shù)據(jù)的優(yōu)化
在上述方法之外,已有工作還提出了許多別的技巧用于提升文本擴(kuò)散模型的生成質(zhì)量,它們中有一些為文本數(shù)據(jù)的獨(dú)有特征而設(shè)計(jì),另一些借鑒了其他領(lǐng)域擴(kuò)散模型使用的方法。本章我們將介紹這些方法。
-
Clamping Trick
推理階段中,在將去噪網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果用于下一步預(yù)測(cè)之前,Diffusion-LM將預(yù)測(cè)結(jié)果替換為和它距離最近的word embedding。這使得預(yù)測(cè)結(jié)果集中在詞表中的單詞周圍,降低了rounding過(guò)程的loss。但是這種做法需要計(jì)算所有word embedding和預(yù)測(cè)結(jié)果之間的距離,因此在推理階段的每一步都使用這種方法會(huì)非常耗時(shí)。因此GENIE只在推理階段的最后一步使用該方法。
-
Self-conditioning
在標(biāo)準(zhǔn)擴(kuò)散模型的逆向過(guò)程中,去噪網(wǎng)絡(luò)基于當(dāng)前的隱變量 和 做出預(yù)測(cè)。Analog Bits[19]提出可以將上一步對(duì) 的預(yù)測(cè) 也作為去噪網(wǎng)絡(luò)的輸入。然而在訓(xùn)練過(guò)程中,我們無(wú)法像在推理過(guò)程中自然的得到上一個(gè)時(shí)間步的預(yù)測(cè)結(jié)果。因此Analog Bits用 作為對(duì) 的近似,并將其用到50%需要進(jìn)行self-conditioning的訓(xùn)練數(shù)據(jù)上,對(duì)于剩下的訓(xùn)練數(shù)據(jù) 被設(shè)為0。實(shí)驗(yàn)表明self-conditioning可以顯著提升生成質(zhì)量,并也被用于文本擴(kuò)散模型中。LD4LG引入了一個(gè)cross-attention層來(lái)實(shí)現(xiàn)self-conditioning。在訓(xùn)練階段,該層根據(jù)當(dāng)前樣本是否需要self-conditioning,分別結(jié)合一個(gè) 的映射或者一個(gè)可學(xué)習(xí)的embedding 。
-
Semi-NAR Generation
SSD-LM引入了半非自回歸的生成策略,迭代地生成一個(gè)大小為B的token block,每次生成的輸入都是之前生成的block和一個(gè)隨機(jī)噪聲的拼接。新生成的block也會(huì)和此前的block拼接起來(lái)作為新的context。上述生成過(guò)程會(huì)重復(fù)至生成的文本達(dá)到想要的長(zhǎng)度。這樣的生成策略彌補(bǔ)了文本擴(kuò)散模型的非自回歸生成方式中缺少依賴的問(wèn)題。
-
Additional Normalization
Difformer觀察到少見的token往往比常見的token擁有更大的范數(shù),但已有的文本擴(kuò)散模型對(duì)不同token添加的噪聲規(guī)模是相同的。因此少見的token需要更多的擴(kuò)散步驟才能被完全打亂。因此Difformer引入了一個(gè)layer normalization模塊將word embedding的大小約束到相同的水平。
-
Timestep Sampling
在訓(xùn)練過(guò)程中,大多數(shù)已有工作隨機(jī)采樣時(shí)間步并用對(duì)應(yīng)的噪聲來(lái)打亂原始數(shù)據(jù)。不過(guò)[10]中提出均勻采樣時(shí)間步會(huì)導(dǎo)致訓(xùn)練loss中出現(xiàn)噪聲,并提出了重要性采樣:這種采樣方式對(duì)loss較大的時(shí)間步分配較高的權(quán)重,能夠穩(wěn)定訓(xùn)練過(guò)程。
結(jié)論和展望
本文概述了最近文本擴(kuò)散模型領(lǐng)域的研究進(jìn)展。我們總結(jié)了離散和連續(xù)的文本擴(kuò)散模型,并討論了擴(kuò)散過(guò)程中的關(guān)鍵設(shè)計(jì)。我們還總結(jié)了預(yù)訓(xùn)練語(yǔ)言模型在文本擴(kuò)散模型中的使用并介紹了其他針對(duì)文本數(shù)據(jù)的優(yōu)化技巧。為了進(jìn)一步促進(jìn)該領(lǐng)域的發(fā)展,我們總結(jié)了以下幾點(diǎn)文本擴(kuò)散模型的未來(lái)發(fā)展方向。
Customized Noise Schedules
已有的文本擴(kuò)散模型中的noise schedule大部分源自圖像生成任務(wù),在前向和去噪過(guò)程中平等對(duì)待所有的token。因此它們會(huì)忽視token在重要性和出現(xiàn)頻率上的差異,導(dǎo)致對(duì)關(guān)鍵詞或罕見詞的生成不夠準(zhǔn)確等問(wèn)題。DiffusionBERT中的spindle schedule對(duì)信息量更高的單詞賦予了更高的權(quán)重并帶來(lái)了明顯的性能提升。針對(duì)文本數(shù)據(jù)并且任務(wù)相關(guān)的noise schedule需要進(jìn)一步的研究。
Efficient and Effective Way to Use PLMs
盡管已有工作已經(jīng)成功將PLMs應(yīng)用于文本擴(kuò)散模型,它們?nèi)匀浑y以超越原始PLMs的微調(diào)結(jié)果。原因在于這些PLMs在預(yù)訓(xùn)練時(shí)主要遵循sequence-to-sequence或自回歸的方式,而沒(méi)有考慮到擴(kuò)散過(guò)程。這同樣引出了另一個(gè)問(wèn)題,即已有工作往往需要更多的訓(xùn)練步數(shù)才能將PLMs和擴(kuò)散過(guò)程較好地結(jié)合。因此,如何將PLMs高效地和擴(kuò)散模型相結(jié)合并且有效地在擴(kuò)散過(guò)程中利用它們學(xué)習(xí)到的知識(shí)值得進(jìn)一步探索。
Unified Multimodal Diffusion Models
擴(kuò)散模型在文本生成圖像任務(wù)上取得了顯著進(jìn)展,一些工作也探索了它們?cè)趇mage captioning等圖像生成文本任務(wù)上的應(yīng)用。實(shí)際上,這兩類工作往往使用了相似的擴(kuò)散機(jī)制和設(shè)置,只是在數(shù)據(jù)格式上有所不同。因此,如果能統(tǒng)一文本和圖像數(shù)據(jù)的建模方式,擴(kuò)散模型有希望統(tǒng)一圖像生成文本以及文本生成圖像任務(wù)的語(yǔ)義空間,從而成為一個(gè)統(tǒng)一的多模態(tài)生成模型。
Alignment with Human Values
雖然擴(kuò)散模型擁有富有多樣性的生成能力,它們也可能生成違背人類價(jià)值觀的內(nèi)容,例如種族或性別偏見。如果結(jié)合了PLMs,該問(wèn)題可能會(huì)更加嚴(yán)重,因?yàn)橐延械腜LMs是在從互聯(lián)網(wǎng)上收集的大規(guī)模語(yǔ)料上進(jìn)行預(yù)訓(xùn)練的,其可能包含敏感的個(gè)人信息或帶有冒犯性的句子??紤]到文本擴(kuò)散模型對(duì)中間結(jié)果強(qiáng)大的控制能力,如何避免文本擴(kuò)散模型生成上述負(fù)面內(nèi)容或?qū)ι山Y(jié)果進(jìn)行去毒值得關(guān)注。
