文章名稱
【ACL-2019】An End-to-End Generative Architecture for Paraphrase Generation
核心要點(diǎn)
文章旨在進(jìn)行釋義生成港柜。作者通過(guò)構(gòu)建條件生成網(wǎng)絡(luò)架構(gòu)(CVAE),結(jié)合對(duì)抗訓(xùn)練方法(在CVAE生成句子之后,加入句子是否是真實(shí)的判別器,通俗的說(shuō)就是判斷這個(gè)句子是不是假的或者不在語(yǔ)料里),在沒(méi)有額外語(yǔ)義信息輸入的情況下實(shí)現(xiàn)真實(shí)的釋義生成晋修。
方法細(xì)節(jié)
問(wèn)題引入
原有的釋義生成模型包括三種類型,1)seq2seq;2)基于強(qiáng)化學(xué)習(xí)踩蔚;3)基于生成網(wǎng)絡(luò),如CVAE枚粘。作者發(fā)現(xiàn)原有方法存在兩方面問(wèn)題馅闽,1)由于潛在的搜索空間較大且大多數(shù)的搜素空間是不存在實(shí)際的語(yǔ)義(可以不去搜索),因此馍迄,隨機(jī)采樣的情況下福也,基于生成模型的釋義生成網(wǎng)絡(luò),存在無(wú)法生成真實(shí)語(yǔ)句的問(wèn)題攀圈。此外暴凑,利用LSTM的方法,存在Exposure Bias的問(wèn)題(參見(jiàn)[1])并利用規(guī)劃采樣方法緩解這一問(wèn)題赘来。然而现喳,[2]說(shuō)明這種方法在實(shí)際場(chǎng)景中無(wú)法應(yīng)用,主要是因?yàn)檫@個(gè)方法和訓(xùn)練的策略目標(biāo)是不一致的撕捍。此外拿穴,原有的許多方法需要引入額外的語(yǔ)言學(xué)信息。
具體做法
作者提出的模型的整體框架如下圖所示忧风,模型可以被理解為默色,1)使用CVAE進(jìn)行釋義生成,2)并且利用一個(gè)外加的判別器狮腿,增強(qiáng)CVAE腿宰。這個(gè)基于對(duì)抗訓(xùn)練的判別器呕诉,被用來(lái)判斷整個(gè)句子是否是真實(shí)的(符合語(yǔ)料中句子的分布)。由于不像以前的生成網(wǎng)絡(luò)判斷單個(gè)詞是否真實(shí)(LSTM的生成原理吃度,盡量確保下一個(gè)詞的似然最大)甩挫,理論上應(yīng)該可以緩解上述提到的,LSTM曝光偏差問(wèn)題椿每。
總結(jié)下來(lái)伊者,模型整體框架包括3部分,1)CVAE的編碼器间护;2)CVAE的解碼器亦渗;3)(基于對(duì)抗損失的)判別器。
首先汁尺,編碼器由兩個(gè)LSTM組成法精,用來(lái)生成隱變量。把輸入的原句子和目標(biāo)句子
串聯(lián)的輸入到
中隱變量的高斯分布參數(shù)
搂蜓,標(biāo)記這個(gè)
的分布為
。這里講的串聯(lián)輸入指的是什么呢辽装?讀過(guò)自然語(yǔ)言生成工具箱 - VAE-LSTM應(yīng)該比較清楚扛点,其實(shí)就是
作為L(zhǎng)STM
的輸入雕沉,
作為L(zhǎng)STM
的輸入特幔,
最終的隱狀態(tài)作為
的初始隱狀態(tài)奢人,利用
的最終隱狀態(tài),得到
殷勘。
但是,在預(yù)測(cè)時(shí)昔搂,我們沒(méi)有平行語(yǔ)料玲销,即只有沒(méi)有
,這就會(huì)造成上述VAE無(wú)意義的在搜索空間中搜索的問(wèn)題(因?yàn)闆](méi)有了目標(biāo)指導(dǎo)的信息)摘符。作者提出贤斜,另一路數(shù)據(jù)流,單獨(dú)把
輸入到
逛裤,并且得到
瘩绒,標(biāo)記這個(gè)
的分布為q(z|s^o)$(論文的文字描述部分應(yīng)該是有typo)。
解碼器部分仍然是由兩個(gè)LSTM組成带族,同樣分成兩股數(shù)據(jù)里锁荔,第一股是把原始句子和
作為輸入,串聯(lián)的輸入到兩個(gè)LSTM中蝙砌。這里講的串聯(lián)輸入也和自然語(yǔ)言生成工具箱 - VAE-LSTM中的一樣阳堕,
輸入到LSTM
中跋理,把生成的最終隱狀態(tài)當(dāng)做LSTM
的初始隱狀態(tài),把生成的詞的詞向量拼接上
作為L(zhǎng)STM每一步的輸入(第一個(gè)詞用特殊標(biāo)記BOS代替)恬总,得到生成的句子
前普,生成的概率函數(shù)如下圖所示。
第二股同理把原始句子和
作為輸入壹堰,串聯(lián)的輸入到兩個(gè)LSTM中拭卿,訓(xùn)練時(shí)利用
作為監(jiān)督信息,計(jì)算重構(gòu)損失
贱纠,兩個(gè)損失函數(shù)如下圖所示记劈。
由于采用了VAE的框架,因此需要通過(guò)優(yōu)化ELBO來(lái)進(jìn)行VAE模型的變分學(xué)習(xí)并巍,優(yōu)化的損失函數(shù)如下圖所示目木。其中,共同訓(xùn)練編碼器和解碼器的損失中懊渡,表示
是從該分布中采樣的結(jié)果刽射。
作者認(rèn)為,由于使用了兩個(gè)編碼器和解碼過(guò)程(以及對(duì)應(yīng)兩股損失的梯度回傳)剃执,彌補(bǔ)了訓(xùn)練時(shí)有目標(biāo)句子誓禁,測(cè)試時(shí)沒(méi)有的差距,能夠幫助減緩上述存在的搜索空間的問(wèn)題肾档,有助于生成多樣化且真實(shí)的釋義摹恰。
用來(lái)判斷生成句子是否真實(shí)(是否符合原語(yǔ)料的分布的判別器)可以是一個(gè)簡(jiǎn)單的LSTM,這里的判別任務(wù)和原來(lái)GAN框架下的判別任務(wù)是一致的怒见,都是區(qū)別一個(gè)樣本是生成的還是原有的(真實(shí)的)俗慈。判別器的損失函數(shù)如下圖所示,同樣表示
是從該分布中采樣的結(jié)果遣耍。
值得注意的是闺阱,作者給出了兩個(gè)訓(xùn)練的tricks。1)由于監(jiān)督的反向傳播很難訓(xùn)練序列生成網(wǎng)絡(luò)舵变,因此作者利用[3]中提出的policy gradient的方法訓(xùn)練解碼器(生成器)和編碼器酣溃,并把判別器的判別輸出當(dāng)做reward;2)GAN的訓(xùn)練是比較困難的纪隙,之前的方法會(huì)采用預(yù)訓(xùn)練的方式赊豌,作者利用超參數(shù)的提升,在
的過(guò)程中逐漸增大
對(duì)損失的影響(也就是判別器的影響)來(lái)有簡(jiǎn)單到復(fù)雜的訓(xùn)練模型绵咱,穩(wěn)定訓(xùn)練過(guò)程碘饼。同樣的思路也應(yīng)用到超參
來(lái)平衡目標(biāo)句子的影響,逐漸過(guò)渡到測(cè)試狀態(tài)。
代碼實(shí)現(xiàn)
文章的偽代碼如下圖所示派昧。
心得體會(huì)
服從的分布
由于文章在生成器部分分成了兩股數(shù)據(jù)流黔姜,生成了兩個(gè),分別服從分布
和
(論文的文字描述部分應(yīng)該是有typo)蒂萎。因此秆吵,在計(jì)算損失的時(shí)候,需要注意生成的
來(lái)自哪個(gè)分布五慈。其中纳寂,公式7中的
來(lái)自于平行語(yǔ)料生成的
,而公式8的
來(lái)自原始句子單獨(dú)生成的
泻拦。另外毙芜,判別器的損失函數(shù)中,
也來(lái)自于原始句子單獨(dú)生成的
争拐。
關(guān)于對(duì)撞結(jié)構(gòu)腋粥,文中舉的例子可能更貼切一點(diǎn)。一個(gè)人長(zhǎng)得好看和脾氣好沒(méi)有什么關(guān)系(相互獨(dú)立架曹,不要跟我聊什么相由心生:p)隘冲。但是兩者共同決定一個(gè)人是否受歡迎,如果這個(gè)人被確認(rèn)是受歡迎的绑雄,那么他要么長(zhǎng)得好展辞,要么脾氣好(不考慮其他的)。這個(gè)例子万牺,比流行程度和物品特質(zhì)這個(gè)例子更好理解罗珍。
文章引用
[1] Samy Bengio, Oriol Vinyals, Navdeep Jaitly, and Noam Shazeer. 2015. Scheduled sampling for sequence prediction with recurrent neural networks. In Advances in Neural Information Processing Systems, pages 1171–1179.
[2] Ferenc Huszar. 2015. How (not) to train your generative model: Scheduled sampling, likelihood, adversary? stat, 1050:16.
[3] Lantao Yu, Weinan Zhang, Jun Wang, and Yong Yu. 2017. Seqgan: Sequence generative adversarial nets with policy gradient. In Thirty-First AAAI Conference on Artificial Intelligence.