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