論文鏈接:https://arxiv.org/abs/2205.14217
代碼鏈接:https://github.com/XiangLi1999/Diffusion-LM
一、簡介
無需重訓模型控制語言模型的表現(xiàn)是自然語言生成(NLG)的一個重要開放問題,近期工作已經(jīng)在簡單句子屬性控制生成上取得了一定的進展,但是在復雜的、細粒度的控制上的進展還遠遠不夠。作者指的更復雜,更細粒度的控制:
為了解決這一挑戰(zhàn),我們提出了一個基于連續(xù)擴散模型的非自回歸語言模型,我們稱之為Diffusion-LM。Diffusion-LM是在連續(xù)空間上使用擴散模型,將隨機噪聲逐漸還原成詞向量。連續(xù)的層級式的中間隱空間可以通過簡單的梯度回傳方法實現(xiàn)復雜的可控生成任務(wù)。實驗表明,Diffusion-LM在六個細粒度控制任務(wù)上取得領(lǐng)先的效果。
傳統(tǒng)的自回歸語言模型可以生成高質(zhì)量文本,但是生成的結(jié)果一般都是隨機不可控的,現(xiàn)實情況下往往需要生成可控的文本。一個最直接的方法就是通過有標簽數(shù)據(jù)微調(diào)語言模型,但是這種方法針對不同的可控任務(wù)需要不同的標注數(shù)據(jù)和重訓模型。所以針對這一缺陷,應(yīng)運而生了即插即用式的可控文本生成任務(wù)。
擴散模型已經(jīng)在圖像生成上取得了優(yōu)秀的性能,但是很少使用在NLP領(lǐng)域,主要是因為文本模態(tài)的離散性。為了解決這一問題,文章提出在隱空間上進行擴散模型的加噪和去噪,在隱空間和詞向量之間采用round的方法,將隱空間估計到詞向量空間。
實驗證明使用擴散模型進行即插即用的文本可控生成可以取得更優(yōu)的性能,并且支持更多復雜的可控生成任務(wù)。
至于選擇擴散模型的原因,根據(jù)文章總結(jié)為以下幾點:
-
中間變量的連續(xù)且分層的特性使得簡單的梯度算法就可以實現(xiàn)復雜且可控的生成任務(wù)。
-
由于文本通常是離散的,因此運用離散的擴散模型具有極大的困難,因此作者對標準的擴散模型進行了改造: 在傳統(tǒng)的步驟上添加了embedding step和rounding step,設(shè)計了學習embedding的訓練目標,并且提出了提升rounding表現(xiàn)的方法。
-
之前的控制生成方法,通?;谧曰貧w語言模型,只能從左至右生成。這導致PPLM無法修復在之前步中的錯誤。
二、相關(guān)工作
文本領(lǐng)域擴散模型。擴散模型被證明在連續(xù)空間上有較好的生成效果,但是文本模態(tài)天然的與圖像、音頻不同,是連續(xù)的語言符號表征的語義信息。為了處理離散數(shù)據(jù),之前的工作有研究離散狀態(tài)空間的擴散模型,方法是在離散數(shù)據(jù)上采用一個破壞過程(每個token有一定概率被刪除或者被替換)。本文聚焦在文本領(lǐng)域上的連續(xù)擴散模型,文章提出的Diffusion-LM在連續(xù)的隱空間上進行擴散過程,其可以有效地使用梯度回傳方法進行可控生成。
自回歸和非自回歸語言模型。很多的預訓練語言模型都是從左至右自回歸形式的,如GPT-3、PaLM等,固定的生成順序?qū)拗瓶煽厣傻撵`活性,尤其那種左右上下文全局都相關(guān)的可控任務(wù)。因為自回歸模型無法利用右側(cè)上下文信息作為先驗條件,之前很多工作在這些控制任務(wù)上采用了特殊的訓練和解碼技術(shù),比如Qin等人提出了將離散的語言模型輸出到連續(xù)的變量中,然后采用右側(cè)上下文回傳梯度信息。Diffusion-LM的優(yōu)勢就是可以在復雜的、全局的句子屬性上以任意的分類器為條件進行可控生成。此外,還有一些在機器翻譯和語音識別任務(wù)上的非自回歸語言模型,但是這些方法都是對機器翻譯和語言識別任務(wù)定制的,都無法成功對語言建模。
即插即用的可控文本生成。即插即用的可控文本生成旨在將語言模型凍結(jié),使用勢函數(shù)引導輸出的方向。通過給定概率勢函數(shù)來衡量生成文本是否符合控制要求,并且生成的文本優(yōu)化的方向不僅要符合控制要求,還要保證語言的通順性。自回歸模型上已有很多種即插即用的可控生成方法。比如FUDGE通過每個token對整個句子的部分控制進行重新賦權(quán)重,根據(jù)候選挑選最好的控制結(jié)果,GeDi對每個token采用一個更小的語言模型微調(diào)來達到可控生成的效果。與本文方法最接近的方法是PPLM,它是一種在隱空間上升高梯度以滿足控制方向的一種方法,但是PPLM控制是根據(jù)自回歸語言模型方向從左到右的控制token的生成,所以在某些復雜的任務(wù)上表現(xiàn)并不理想,比如句法結(jié)構(gòu)控制,Diffusion-LM在隱空間上進行可控生成緩解了PPLM的這一問題。
三、問題陳述和背景
3.1、文本的生成模型和可控生成
文本生成是指從訓練好的語言模型 p l m ( w ) p_{lm}(\mathbf{w}) plm?(w)中取樣 w \mathbf{w} w的任務(wù),其中 w = [ w 1 ? ? ? w n ] \mathbf{w}= [w_1···w_n] w=[w1????wn?]是離散詞的序列, p l m ( w ) p_{lm}(\mathbf{w}) plm?(w)是詞的序列的概率分布??煽匚谋旧傻娜蝿?wù)是從條件分布 p ( w ∣ c ) p(\mathbf{w}|\mathbf{c}) p(w∣c)中抽取 w \mathbf{w} w,其中 c \mathbf{c} c表示一個控制變量。對于句法控制, c \mathbf{c} c可以是一個目標句法樹,而對于情感控制, c \mathbf{c} c可以是一個期望的情感標簽??煽厣傻哪繕耸巧蓾M足控制目標 c \mathbf{c} c的 w \mathbf{w} w。
考慮即插即用的可控生成設(shè)置:我們得到一個從大量未標注文本數(shù)據(jù)中訓練出來的語言模型 p l m ( w ) p_{lm}(\mathbf{w}) plm?(w),對于每個控制任務(wù),我們得到一個從較小數(shù)量的標注文本數(shù)據(jù)中訓練出來的分類器 p ( c ∣ w ) p(\mathbf{c}|\mathbf{w}) p(c∣w)(例如,對于句法控制,分類器是一個概率分析器)。目標是利用這兩個模型,通過貝葉斯規(guī)則 p ( w ∣ c ) ∝ p l m ( w ) ? p ( c ∣ w ) p(\mathbf{w}|\mathbf{c})∝p_{lm}(\mathbf{w})·p(\mathbf{c}|\mathbf{w}) p(w∣c)∝plm?(w)?p(c∣w)從后驗 p ( w ∣ c ) p(\mathbf{w}|\mathbf{c}) p(w∣c)中近似取樣。這里, p l m ( w ) p_{lm}(\mathbf{w}) plm?(w)鼓勵w流暢,而 p ( c ∣ w ) p(\mathbf{c}|\mathbf{w}) p(c∣w)鼓勵 w \mathbf{w} w履行控制。
3.2、自回歸語言模型
語言模型的典型方法將 p l m p_{lm} plm?納入自回歸左至右的mannar, p l m ( w ) = p l m ( w 1 ) ∏ i = 2 n p l m ( x i ∣ x < i ) p_{lm}(\mathbf{w})=p_{lm}(w_1)\prod_{i=2}^np_{lm}(x_i|x_{<i}) plm?(w)=plm?(w1?)∏i=2n?plm?(xi?∣x<i?) 。在這種情況下,文本生成被簡化為以迄今為止生成的部分序列為條件反復預測下一個token的任務(wù)。下一個token的預測 p l m ( x i ∣ x < i ) p_{lm}(x_i|x_{<i}) plm?(xi?∣x<i?)通常由Transformer架構(gòu)來參數(shù)化。文章來源:http://www.zghlxwxcb.cn/news/detail-405562.html
3.3、連續(xù)域的擴散模型
擴散模型是一個潛變量模型,它將數(shù)據(jù) x 0 ∈ R d \mathbf{x}_0∈\mathbb{R}^d x0?∈Rd建模為馬爾可夫鏈 x T . . . x 0 \mathbf{x}_T...\mathbf{x}_0 xT?...x0?,每個變量的維度是 d d d, x T \mathbf{x}_T xT?是一個高斯分布。擴散模型對潛在變量 x T : 1 \mathbf{x}_{T:1} xT:1?的序列進行增量降噪,以接近目標數(shù)據(jù)分布的樣本(圖2)。初始狀態(tài) p θ ( x T ) ≈ N ( 0 , I ) p_θ(\mathbf{x}_T)≈\mathcal{N}(0,I) pθ?(xT?)≈N(0,I),每個降噪過渡 x t → x t ? 1 \mathbf{x}_t→\mathbf{x}_{t-1} xt?→xt?1?由模型 p θ ( x t ? 1 ∣ x t ) = N ( x t ? 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) p_θ(\mathbf{x}_{t-1}|\mathbf{x}_t)=\mathcal{N}(\mathbf{x}_{t-1};μ_θ(\mathbf{x}_t,t),Σ_θ(\mathbf{x}_t,t)) pθ?(xt?1?∣xt?)=N(xt?1?;μθ?(xt?,t),Σθ?(xt?,t))來參數(shù)化。例如, μ θ μ_θ μθ?和 Σ θ Σ_θ Σθ?可以由U-Net或Tranformer來計算。
為了訓練擴散模型,我們定義了一個構(gòu)建中間潛變量 x 1 : T \mathbf{x}_{1:T} x1:T?的前向過程。前向過程逐步向數(shù)據(jù) x 0 \mathbf{x}_0 x0?添加高斯噪聲,直到在擴散步驟 T T T,樣本 x T \mathbf{x}_T xT?是近似高斯的。每個過渡 x t ? 1 → x t \mathbf{x}_{t-1}→\mathbf{x}_t xt?1?→xt?的參數(shù)為 q ( x t ∣ x t ? 1 ) = N ( x t ; 1 ? β t x t ? 1 , β t I ) q(\mathbf{x}_t|\mathbf{x}_{t-1})=\mathcal{N}(\mathbf{x}_t;\sqrt{1-β_t}\mathbf{x}_{t-1},β_t\mathbf{I}) q(xt?∣xt?1?)=N(xt?;1?βt??xt?1?,βt?I),其中超參數(shù) β t β_t βt?是在擴散步驟 t t t添加的噪聲量。這個前向過程 q q q的參數(shù)化不包含可訓練的參數(shù),允許我們定義一個訓練目標,包括根據(jù)預先定義的前向過程 q q q生成噪聲數(shù)據(jù),并訓練一個模型來逆轉(zhuǎn)這個過程并重建數(shù)據(jù)。
擴散模型的訓練是為了最大化數(shù)據(jù)的邊際似然 E x 0 ~ p d a t a [ log ? p θ ( x 0 ) ] \mathbb{E}_{\mathbf{x}_0~p_{data}}[\log p_θ(\mathbf{x}_0)] Ex0?~pdata??[logpθ?(x0?)],目標是 log ? p θ ( x 0 ) \log p_θ(\mathbf{x}_0) logpθ?(x0?)的變分下限: L v l b ( x 0 ) = E q ( x 1 : T ∣ x 0 ) [ log ? q ( x T ∣ x 0 ) p θ ( x T ) + ∑ t = 2 T log ? q ( x t ? 1 ∣ x 0 , x t ) p θ ( x t ? 1 ∣ x t ) ? log ? p θ ( x 0 ∣ x 1 ) ] \mathcal{L}_{vlb}(\mathbf{x}_0)=\mathbb{E}_{q(\mathbf{x}_{1:T}|\mathbf{x}_0)}\left[\log\frac{q(\mathbf{x}_T|\mathbf{x}_0)}{p_{\theta}(\mathbf{x}_T)}+\sum_{t=2}^T\log\frac{q(\mathbf{x}_{t-1}|\mathbf{x}_0,\mathbf{x}_t)}{p_{\theta}(\mathbf{x}_{t-1}|\mathbf{x}_t)}-\log p_{\theta}(\mathbf{x}_0|\mathbf{x}_1)\right] Lvlb?(x0?)=Eq(x1:T?∣x0?)?[logpθ?(xT?)q(xT?∣x0?)?+t=2∑T?logpθ?(xt?1?∣xt?)q(xt?1?∣x0?,xt?)??logpθ?(x0?∣x1?)]然而,這個目標可能是不穩(wěn)定的,需要許多優(yōu)化技巧來穩(wěn)定。為了規(guī)避這個問題,Ho等人設(shè)計了一個簡單的代理目標,對 L v l b \mathcal{L}_{vlb} Lvlb?中的每個KL-散度項進行擴展和重新加權(quán),以獲得一個均方誤差損失,我們將其稱為 L s i m p l e \mathcal{L}_{simple} Lsimple?。對于第 t t t個KL散度,有 E q ( x 1 : T ∣ x 0 ) [ log ? q ( x t ? 1 ∣ x 0 , x t ) p θ ( x t ? 1 ∣ x t ) ] = E q ( x 1 : T ∣ x 0 ) [ 1 2 σ t 2 ∣ ∣ μ θ ( x t , t ) ? μ ^ ( x t , x 0 ) ∣ ∣ 2 ] + C \mathbb{E}_{q(\mathbf{x}_{1:T}|\mathbf{x}_0)}\left[\log\frac{q(\mathbf{x}_{t-1}|\mathbf{x}_0,\mathbf{x}_t)}{p_{\theta}(\mathbf{x}_{t-1}|\mathbf{x}_t)}\right]=\mathbb{E}_{q(\mathbf{x}_{1:T}|\mathbf{x}_0)}\left[\frac{1}{2\sigma^2_t}||\mu_{\theta}(\mathbf{x}_t,t)-\hat{\mu}(\mathbf{x}_t,\mathbf{x}_0)||^2\right]+C Eq(x1:T?∣x0?)?[logpθ?(xt?1?∣xt?)q(xt?1?∣x0?,xt?)?]=Eq(x1:T?∣x0?)?[2σt2?1?∣∣μθ?(xt?,t)?μ^?(xt?,x0?)∣∣2]+C其中 μ ^ ( x t , x 0 ) \hat{\mu}(\mathbf{x}_t,\mathbf{x}_0) μ^?(xt?,x0?)是后驗 q ( x t ? 1 ∣ x 文章來源地址http://www.zghlxwxcb.cn/news/detail-405562.html
到了這里,關(guān)于Diffusion-LM Improves Controllable Text Generation 擴散語言模型改善可控文本生成的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!