擴(kuò)散模型在文本生成領(lǐng)域的應(yīng)用
?? 新智元報(bào)道??
來(lái)源:知乎 編輯:桃子【新智元導(dǎo)讀】擴(kuò)散模型在文本生成領(lǐng)域的應(yīng)用有哪些?本文就3篇論文展開(kāi)解讀。
本文主要討論以下幾篇論文
- Structured Denoising Diffusion Models in Discrete State-Spaces(D3PM)
- Diffusion-LM Improves Controllable Text Generation
- Composable Text Control Operations in Latent Space with Ordinary Differential Equations
Structured Denoising Diffusion Models in Discrete State-Spaces(D3PM)
擴(kuò)散模型里的去噪匹配項(xiàng)
- 該加噪方式應(yīng)使得xt從q(xt|x0)中的采樣方便快捷。使得我們能夠?qū)σ陨系娜ピ肫ヅ漤?xiàng)里的L_t-1在任意時(shí)間步上方便計(jì)算。
- 同時(shí)該加噪方式應(yīng)使得q(xt-1| xt, x0)有方便計(jì)算的解析形式,使得我們計(jì)算去噪匹配項(xiàng)的KL散度成為可能。

Diffusion-LM Improves Controllable Text Generation
相比于D3PM,這篇論文的主要?jiǎng)?chuàng)新點(diǎn)在于定義了一個(gè)詞嵌入的方程統(tǒng)一了擴(kuò)散過(guò)程里離散到連續(xù)的狀態(tài)。我們可以看到D3PM本質(zhì)上的擴(kuò)散是在離散序列上做的。但是Diffusion-LM的具體做法是前向時(shí)離散的字詞首先通過(guò)詞嵌入轉(zhuǎn)為一系列連續(xù)的潛在向量。之后對(duì)每個(gè)連續(xù)向量不斷加高斯噪聲進(jìn)行前向擴(kuò)散。后向時(shí)不斷去噪并且最終將每個(gè)潛在向量量化到一個(gè)距離最近的詞嵌入上。具體來(lái)說(shuō)前向時(shí)從離散的詞序列w到x0的過(guò)程為:
Emb為詞嵌入方程,前向?yàn)閺碾x散到連續(xù)
后向?yàn)閺倪B續(xù)到離散
擴(kuò)散模型的變分下界的最主要優(yōu)化項(xiàng)的等價(jià)形式
多出的兩項(xiàng)都和詞嵌入直接相關(guān)
每一步的優(yōu)化目標(biāo)其中之一是直接預(yù)測(cè)初始輸入
將條件生成拆解為兩項(xiàng)
- 作者提到該擴(kuò)散模型的速度比自回歸式的預(yù)訓(xùn)練模型慢了7倍。但筆者試跑了一下作者代碼發(fā)現(xiàn),用transformer做初始詞的誤差估計(jì),并且做200次去噪過(guò)程。實(shí)際生成一個(gè)句子在A100顯卡上要花4-5分鐘,是自回歸式生成類(lèi)似長(zhǎng)度的句子所耗時(shí)間的數(shù)十倍。
- 作者給的源代碼十分混亂,難以閱讀和使用。但筆者對(duì)于其提到的即在有引導(dǎo)的條件生成上表現(xiàn)良好,又在無(wú)引導(dǎo)的開(kāi)放生成上表現(xiàn)突出持保留態(tài)度。該質(zhì)疑主要來(lái)源于筆者在非自回歸模型里的一些感性經(jīng)驗(yàn)。該擴(kuò)散模型的主要優(yōu)化目標(biāo)是每個(gè)潛在向量與其詞嵌入的預(yù)測(cè)誤差。似乎并沒(méi)有對(duì)句子的整體性有任何的要求。甚至就連P(w|x0)文章采取的建模方式也是每個(gè)字詞的概率的獨(dú)立連乘。這樣強(qiáng)假設(shè)先驗(yàn)下的建模方式對(duì)模型能力要求很高。可能在小數(shù)據(jù)集小領(lǐng)域上可以達(dá)到較好效果,但復(fù)雜的文本領(lǐng)域恐怕難以建模。筆者按照作者的開(kāi)源代碼所訓(xùn)練出的結(jié)果也不理想。但存在筆者簡(jiǎn)單嘗試下誤用的可能。
Composable Text Control Operations in Latent Space with Ordinary Differential Equations

其中假定f_i為輸出玻爾茲曼分布的能量模型
對(duì)性質(zhì)向量的能量函數(shù)可以定義為對(duì)每個(gè)性質(zhì)的能量函數(shù)的加權(quán)和
這是負(fù)的對(duì)數(shù)似然函數(shù)的表達(dá)式(normalized logits)
該擴(kuò)散過(guò)程的ODE解
- CVAE 如果需要對(duì)某個(gè)性質(zhì)做條件生成(如情感,關(guān)鍵詞)需要大量數(shù)據(jù)對(duì)全量模型訓(xùn)練。但VAE+Diffusion不用,只需要固定VAE額外訓(xùn)練一個(gè)潛在向量的分類(lèi)器做擴(kuò)散引導(dǎo)即可。而在潛在向量上的分類(lèi)器,首先維度低,參數(shù)量少,訓(xùn)練資源相比原預(yù)訓(xùn)練模型低幾個(gè)數(shù)量級(jí)!并且所需的訓(xùn)練數(shù)據(jù)也極少(原論文僅使用200條訓(xùn)練)
- CVAE難以做到性質(zhì)聚合,往往需要對(duì)不同性質(zhì)的條件生成單獨(dú)訓(xùn)練且訓(xùn)練出來(lái)的模型難以有效地聚合。但VAE+Diffusion在理論上展現(xiàn)了這種可能(當(dāng)然是否有效仍需具體觀察)。
- 首先是分類(lèi)器的準(zhǔn)確度是需要考慮的問(wèn)題。直接用VAE里的潛在向量去做分類(lèi)而不是BERT的CLS去做分類(lèi)筆者與筆者的同事做過(guò)相關(guān)實(shí)驗(yàn)。準(zhǔn)確率相比CLS分類(lèi)是有較為明顯的下降的。這樣的下降必然會(huì)影響擴(kuò)散引導(dǎo)的效果。
- 其次是解碼器生成時(shí)的采樣策略必然會(huì)導(dǎo)致一定的隨機(jī)性存在。哪怕是筆者自身訓(xùn)練的CVAE,在做特定的條件生成時(shí)往往也需要對(duì)同一個(gè)潛在向量重復(fù)采樣以保證條件生成滿(mǎn)足相關(guān)性質(zhì)。
- 再次是關(guān)于多個(gè)條件聚合時(shí),不同性質(zhì)的條件聚合是否會(huì)出現(xiàn)明顯的互相干擾,是否需要手動(dòng)調(diào)整各個(gè)性質(zhì)的比重系數(shù)也值得考慮。
自身實(shí)踐
- 根據(jù)有標(biāo)簽數(shù)據(jù)集生成一批帶標(biāo)簽的Latent-Vec數(shù)據(jù)
- 用這些帶有特定性質(zhì)的Latent-Vec訓(xùn)練一個(gè)情感二分類(lèi)器
- 已知擴(kuò)散過(guò)程的起點(diǎn)(Encoder的輸出)和終點(diǎn)(帶標(biāo)簽的Latent-vec)用分類(lèi)器進(jìn)行Nueral-ODE擴(kuò)散。
- 分類(lèi)器的準(zhǔn)確度的確不高,最高只能達(dá)到八成左右(分類(lèi)器的架構(gòu)沒(méi)有進(jìn)行太多探索,只嘗試了MLP的一些超參調(diào)整)。分類(lèi)器雖然準(zhǔn)確率一般但對(duì)性質(zhì)改變已經(jīng)足夠。
- 生成的潛在向量確定性比較高,且速度很快。相比于Diffusion-LM需要5分鐘左右的擴(kuò)散時(shí)間生成一句話(huà),VAE+diffusion的做法只需要幾秒鐘。
- 原句1(負(fù)面):呵呵了 這物流速度也是沒(méi)誰(shuí)了 同城網(wǎng)購(gòu)竟然三天了還不到。
- 改寫(xiě)句1:呵呵了 這物流速度也是沒(méi)誰(shuí)了 同城網(wǎng)購(gòu)居然還可以很不錯(cuò) 哈哈.
- 原句2(正面): 還不錯(cuò),等試用一段時(shí)間再說(shuō)
- 改寫(xiě)句2: 還不行,等試用一段時(shí)間再說(shuō)
- 原句3(負(fù)面): 買(mǎi)錯(cuò)了,自己是榮耀7,悲哀了,不管商家的事,鬼火綠
- 改寫(xiě)句3:買(mǎi)對(duì)了,自己是榮耀7,呵呵,感謝商家的事,快樂(lè)了,不管火鬼綠
- 原句4(負(fù)面):一次很差的購(gòu)物 手機(jī)到手后 沒(méi)仔細(xì)檢查 晚上檢查發(fā)現(xiàn)手機(jī)背面有劃痕聯(lián)系了客服說(shuō)換 但是 后面他們打電話(huà)說(shuō)不能更換 反正就是各種各樣的借口
-
改寫(xiě)句4: 一次很漂亮的購(gòu)物 手機(jī)上檢查 后手機(jī)沒(méi)受劃 具體使用體驗(yàn)可以打電話(huà)客服詢(xún)問(wèn) 后來(lái)她說(shuō)我不錯(cuò) 而且說(shuō)都是精心計(jì)劃 以后說(shuō)但是一定要注意換三端的電話(huà) 感覺(jué)沒(méi)有各種各樣的借口
參考資料:
^ DELLA? https://arxiv.org/abs/2207.06130
https://zhuanlan.zhihu.com/p/561233665 本文來(lái)自知乎答主 中森,若進(jìn)行二次轉(zhuǎn)載 ,向原作者進(jìn)行申請(qǐng)。

評(píng)論
圖片
表情

