騰訊PCG長文:探究對話數(shù)據(jù)的局部分布特性與對抗回復(fù)生成模型的內(nèi)在聯(lián)系(1)
當(dāng)前,深度學(xué)習(xí)的不斷發(fā)展使機(jī)器學(xué)習(xí)各研究方向之間的界限趨于模糊,出現(xiàn)了機(jī)器學(xué)習(xí)模型在不同領(lǐng)域(如 CV 與 NLP)和不同問題(如 NMT 與 NRG)之間的遷移使用的利好局面。但是,在實(shí)際的遷移使用過程中,容易出現(xiàn)模型表現(xiàn)與預(yù)期不符的情況,在這種情況下,對于特定問題的數(shù)據(jù)分布特性的考察和研判往往是更重要的環(huán)節(jié)。本文以基于對抗學(xué)習(xí)的回復(fù)生成模型為背景,探討了局部數(shù)據(jù)分布特性對于對抗學(xué)習(xí)的潛在影響,并在此基礎(chǔ)上提出了一個(gè)新的對抗學(xué)習(xí)目標(biāo)。
生成式對抗網(wǎng)絡(luò) (Generative Adversarial Nets, GAN)[1] 的出現(xiàn)和快速發(fā)展為機(jī)器學(xué)習(xí)領(lǐng)域中關(guān)鍵問題的解決提供了新的思路。在過去幾年中,我們可以在各領(lǐng)域的各種任務(wù)中看到 GAN 一族模型的身影,其中當(dāng)然也包括非任務(wù)型對話系統(tǒng)(Non-task Oriented Conversational System,即 ChatBot)當(dāng)中的端到端回復(fù)生成問題(End-to-End Response Generation / Neural Response Generation, NRG)[2, 3]。
與 CV 領(lǐng)域的各種經(jīng)典的生成任務(wù)相比,NRG 問題中引入對抗學(xué)習(xí)的時(shí)間較晚,但這并不影響研究者對于該方法潛在有效性的預(yù)判,尤其是人們普遍相信對抗過程引入的隨機(jī)性可能對于解決 NRG 任務(wù)中的 safe response 問題起到顯著作用。Safe response 問題特指基于 Encoder-Decoder 架構(gòu)的端到端生成模型經(jīng)常輸出無意義或低信息量的回復(fù),例如 I don't know 或 I also think so 等,這些句子可以作為大部分 query 的回復(fù),但對于對話的展開和信息量的引入來說毫無意義,是 NRG 模型實(shí)際落地應(yīng)用的主要障礙之一[4,5,6,7]。
顯而易見,抑制 safe response 出現(xiàn)等價(jià)于提升生成結(jié)果的多樣性(diversity),而從模型的視角來看,提升 diversity 的有效途徑之一就是在生成過程中引入隨機(jī)性。目前大家公認(rèn)有兩種典型的引入隨機(jī)性的方法,一種是以 CVAE(Conditional Variational Autoencoder)為代表的基于顯式數(shù)據(jù)分布假設(shè)的模型[8][9],另一種則是不顯式指定數(shù)據(jù)分布假設(shè)的對抗學(xué)習(xí)模型[5][10]。受限于本文篇幅,這里不對 CVAE 一組進(jìn)行過多分析,而主要集中于 GAN 一族模型的討論。
經(jīng)典 GAN 模型在 NRG 場景下的局限性
如果對 GAN-based NRG 進(jìn)行實(shí)際訓(xùn)練,我們往往會發(fā)現(xiàn),模型真正的學(xué)習(xí)狀態(tài)似乎并沒有想象中的那么理想。除了要克服模型整體的不可導(dǎo)問題之外,我們還需要面對訓(xùn)練的不穩(wěn)定性和生成結(jié)果多樣性不符合預(yù)期的問題。
GAN-NRG 生成結(jié)果的多樣性不符合預(yù)期,這本身其實(shí)與引入 GAN 的初衷是相悖的。如果仔細(xì)觀察經(jīng)典 GAN 生成的回復(fù)結(jié)果,我們不難發(fā)現(xiàn)通過對抗生成的回復(fù)雖然比普通的 Seq2Seq 有更加豐富的 pattern,但是對于指定 query 的回復(fù)仍然存在比較明顯的趨同傾向,也就是說,對抗學(xué)習(xí)的確對于生成結(jié)果的多樣性起到了一定的推動作用,但是這種作用并不如預(yù)期般明顯[5]。
論文鏈接:https://www.jmlr.org/papers/volume22/20-052/20-052.pdf
代碼地址:https://github.com/Kramgasse49/local_gan_4generation
對于這個(gè)現(xiàn)象,我們在這里嘗試從 GAN-NRG 的訓(xùn)練目標(biāo)入手進(jìn)行解釋,進(jìn)而找到解決整個(gè)問題的切入點(diǎn)。
經(jīng)典的對抗學(xué)習(xí)框架由一生成模型 (Generator, G) 和一個(gè)判別模型 (Discriminator, D) 組成,其訓(xùn)練目標(biāo)如下:
其中,p_d 為真實(shí)的數(shù)據(jù)分布,p_z 為基于隨機(jī)噪聲變量 z 生成的數(shù)據(jù)分布。
而在回復(fù)生成的場景下,輸入數(shù)據(jù)是以 query-response (q-r)成對出現(xiàn)的,因此,對于上述訓(xùn)練目標(biāo)(尤其是生成模型 G),在形式上應(yīng)進(jìn)行如下修改:
在這里,p_g 是樣本 (q, \tilde(r)) 的數(shù)據(jù)分布,其中 \ tilde(r)表示 G 引入隨機(jī)變量后生成的回復(fù)。顯而易見,相比于真實(shí)存在的樣本 (q, r) 的分布 p_d 來說,判別模型 D 的期望是更低的,即存在如下不等式關(guān)系:
與此同時(shí),我們引入另一個(gè)事實(shí):用于訓(xùn)練回復(fù)生成模型的數(shù)據(jù)集存在另一個(gè)典型特征,即給定一個(gè) query q,其可能對應(yīng)多個(gè)語義上各不相同的 response r,這也是回復(fù)生成問題與端到端機(jī)器翻譯問題的主要區(qū)別之一。于是,我們不應(yīng)該簡單地將一個(gè)回復(fù)生成數(shù)據(jù)集看成是 N 個(gè)簡單 (q, r) 對的集合 {(q, r)},而是應(yīng)將其視為形如(q, R_q | R_q={r_i}) 的集合。于是,上述不等式應(yīng)進(jìn)行進(jìn)一步的修正,得到如下形式:
從上述關(guān)系當(dāng)中,可以發(fā)現(xiàn)一個(gè)重要的表達(dá)式,在邏輯上,這個(gè)表達(dá)式指向了語義空間中的一個(gè)點(diǎn),即當(dāng)前 q 所有的回復(fù) r 在語義空間中的質(zhì)心,同時(shí)也代表了 GAN-NRG 訓(xùn)練的一個(gè)上限。
上述結(jié)論實(shí)際上暗示了一種可能的情況,即 GAN 在 NRG 模型上的應(yīng)用,實(shí)際上最好的情況只能保證模型收斂到生成每個(gè) query 所對應(yīng)回復(fù)的局部 pattern 的狀態(tài),這也就解釋了為什么 GAN 帶來了多樣性的提升卻又沒有符合預(yù)期的提升。當(dāng)我們進(jìn)一步分析這個(gè)結(jié)論的時(shí)候,會發(fā)現(xiàn)這個(gè)結(jié)果實(shí)際上是在說,對抗學(xué)習(xí)過程試圖尋找的是每個(gè)小的回復(fù)集合 R_q 在語義空間中的 “位置”,而對于這個(gè)小集合本身的“形態(tài)” 并沒有太多關(guān)注。換言之,如果我們找到一個(gè)辦法,使模型能夠同時(shí)關(guān)注這個(gè)小集合的形態(tài),那么生成結(jié)果的多樣性應(yīng)該可以實(shí)現(xiàn)進(jìn)一步的提升。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。