0
本文作者: 我在思考中 | 2021-11-08 15:54 |
近期,字節(jié)跳動(dòng)人工智能實(shí)驗(yàn)室在 EMNLP 2021 上發(fā)表了一篇關(guān)于在線更新機(jī)器翻譯系統(tǒng)的論文。
機(jī)器翻譯系統(tǒng)在線更新指的是使用單個(gè)翻譯樣本更新機(jī)器翻譯系統(tǒng)。工業(yè)應(yīng)用中對(duì)機(jī)器翻譯系統(tǒng)在線更新的需求主要來(lái)自于兩類場(chǎng)景:
在線修復(fù) bad case。機(jī)器翻譯系統(tǒng)不是完美無(wú)缺的,有時(shí)系統(tǒng)對(duì)某些輸入會(huì)生成錯(cuò)誤的譯文,這樣的輸入我們稱之為 bad case??焖傩迯?fù) bad case 是機(jī)器翻譯系統(tǒng)實(shí)際應(yīng)用中的硬需求。而使用 bad case 及其對(duì)應(yīng)的正確譯文更新機(jī)器翻譯系統(tǒng)為快速修復(fù) bad case 提供了一種巧妙的思路。
使用流式生成的翻譯數(shù)據(jù)增量更新機(jī)器翻譯系統(tǒng)。機(jī)器翻譯的訓(xùn)練數(shù)據(jù)不總是固定的,在一些場(chǎng)景中語(yǔ)言專家每天都會(huì)標(biāo)注出新的機(jī)器翻譯數(shù)據(jù)。使用這種流式生成的數(shù)據(jù)對(duì)機(jī)器翻譯系統(tǒng)做全量的更新是成本很高的,而借助在線更新機(jī)器翻譯系統(tǒng)的方法,對(duì)翻譯系統(tǒng)做增量的更新不僅可以提升翻譯性能,更新成本也大大降低。
當(dāng)前主流的機(jī)器翻譯系統(tǒng)都是基于神經(jīng)網(wǎng)絡(luò)搭建的,而參數(shù)眾多結(jié)構(gòu)復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型難以做到在線更新?;跇颖镜臋C(jī)器翻譯系統(tǒng)卻很容易做到在線更新。在基于樣本的機(jī)器翻譯系統(tǒng)中,通常存在一個(gè)大規(guī)模的翻譯語(yǔ)料庫(kù)。給定一條源語(yǔ)言句子,生成對(duì)應(yīng)翻譯結(jié)果的過(guò)程中,需要從翻譯語(yǔ)料庫(kù)中檢索出若干相似的翻譯樣本,并利用檢索到的樣本生成最終的譯文。更新基于樣本的機(jī)器翻譯系統(tǒng)只需要更新翻譯語(yǔ)料庫(kù)就可以了,無(wú)需更新機(jī)器翻譯模型的參數(shù)。
但是基于樣本的機(jī)器翻譯系統(tǒng)泛化性較差,在檢索不到相似樣本的情況下,很難生成高質(zhì)量的譯文。因此,最近一些工作將樣本檢索與神經(jīng)機(jī)器翻譯結(jié)合,在神經(jīng)機(jī)器翻譯模型解碼的過(guò)程中檢索相似的翻譯樣本輔助譯文生成。這種樣本檢索機(jī)制賦予了機(jī)器翻譯系統(tǒng)在線更新的能力。
在這個(gè)方向上,一個(gè)經(jīng)典的工作是發(fā)表在 ICLR 2021 上的 kNN-MT[2]。kNN-MT 為神經(jīng)機(jī)器翻譯引入了詞級(jí)別的樣本檢索機(jī)制,使得翻譯系統(tǒng)在無(wú)需額外訓(xùn)練的情況下,顯著提升多領(lǐng)域機(jī)器翻譯和領(lǐng)域適應(yīng)機(jī)器翻譯的能力,同時(shí)具有了在線更新的能力。
但是 kNN-MT 仍然存在一些問(wèn)題,使用固定的將神經(jīng)機(jī)器翻譯輸出和樣本檢索進(jìn)行組合的策略使得它難以適應(yīng)多變的輸入樣本。如圖1所示,帶有領(lǐng)域內(nèi)翻譯語(yǔ)料庫(kù)的 kNN-MT 領(lǐng)域內(nèi)的翻譯質(zhì)量取得了明顯提升,而通用領(lǐng)域翻譯質(zhì)量卻劇烈下滑。造成這種現(xiàn)象的原因是,kNN-MT 過(guò)度依賴了檢索到的樣本,在檢索到的樣本與測(cè)試樣本不相似時(shí),檢索到的樣本對(duì)于機(jī)器翻譯而言反而是噪聲,從而降低了翻譯質(zhì)量。
這篇工作主要針對(duì)該問(wèn)題[3],提出了一種動(dòng)態(tài)結(jié)合樣本檢索和神經(jīng)機(jī)器翻譯的方法 KSTER (Kernel-Smoothed Translation with Example Retrieval),使得翻譯系統(tǒng)在檢索到相似樣本的情況下能夠提升翻譯效果,在檢索不到相似樣本時(shí),也能保持原有的翻譯質(zhì)量,同時(shí)保持在線更新的能力。
圖1 帶有領(lǐng)域內(nèi)數(shù)據(jù)庫(kù)的kNN-MT,在領(lǐng)域內(nèi)數(shù)據(jù)和通用領(lǐng)域數(shù)據(jù)上的翻譯效果。
在這篇工作的模型結(jié)構(gòu)中,翻譯系統(tǒng)由兩個(gè)部分組成,分別是一個(gè)通用領(lǐng)域的神經(jīng)機(jī)器翻譯模型——采用經(jīng)典的 Transformer 結(jié)構(gòu)[1],和一個(gè)樣本檢索模塊——用于執(zhí)行相似樣本檢索、相似度計(jì)算和概率估計(jì)。自回歸的機(jī)器翻譯模型生成譯文是按相似的方式逐詞生成,因此只需考慮單步的解碼過(guò)程。在解碼生成譯文的每一步中,翻譯系統(tǒng)的兩個(gè)部分都會(huì)產(chǎn)生一個(gè)下一個(gè)詞對(duì)應(yīng)的概率分布。這兩個(gè)分布會(huì)根據(jù)一個(gè)混合系數(shù)進(jìn)行線性插值,估計(jì)出一個(gè)混合的概率分布。下一個(gè)詞將由這個(gè)混合的分布預(yù)測(cè)出。
為了在解碼過(guò)程中進(jìn)行樣本檢索,作者構(gòu)建了一些詞級(jí)別的翻譯數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)中存儲(chǔ)的是詞級(jí)別的翻譯樣本,每一個(gè)樣本是一個(gè)鍵值對(duì) 。這個(gè)鍵指的是目標(biāo)端語(yǔ)言的句子中一個(gè)詞出現(xiàn)的上下文的向量表示 ,值指的是對(duì)應(yīng)的目標(biāo)端語(yǔ)言的詞 。使用一個(gè)通用領(lǐng)域上訓(xùn)練好的 Transformer 模型,對(duì)每一條訓(xùn)練數(shù)據(jù)做強(qiáng)制解碼,即可計(jì)算出目標(biāo)語(yǔ)言每個(gè)詞的上下文相關(guān)向量表示,構(gòu)造出一組詞級(jí)別翻譯樣本以供檢索。
樣本檢索
在解碼的每一步中,NMT 模型會(huì)計(jì)算出一個(gè)基于模型的下一個(gè)詞分布 。另外,NMT 模型會(huì)計(jì)算當(dāng)前上下文的向量表示作為查詢 ,從翻譯數(shù)據(jù)庫(kù)中檢索Top- k 個(gè) L2 距離最小的樣本。
可學(xué)習(xí)的核函數(shù)
然后利用核密度估計(jì)根據(jù)檢索到的樣本估計(jì)出一個(gè)基于樣本的分布 ,其中核函數(shù)是一個(gè)具有可學(xué)習(xí)帶寬參數(shù)的高斯核或拉普拉斯核。帶寬參數(shù)基于當(dāng)前上下文和檢索到的樣本動(dòng)態(tài)估計(jì)得出,主要是為了調(diào)整 的銳度。當(dāng)檢索出的 k 個(gè)樣本只有幾個(gè)頭部樣本與當(dāng)前上下文相似時(shí),低帶寬的核密度估計(jì)會(huì)生成一個(gè)尖銳的分布,將絕大多數(shù)概率質(zhì)量分配給頭部樣本,忽略尾部樣本引入的噪聲。
圖3 核函數(shù)的帶寬參數(shù)越小,估計(jì)出的分布越尖銳。
基于模型的分布 將和基于樣本的分布 按一定權(quán)重 進(jìn)行線性插值,得到一個(gè)混合分布 ,并由混合分布預(yù)測(cè)出下一個(gè)詞?;旌蠙?quán)重 決定了翻譯系統(tǒng)預(yù)測(cè)下一個(gè)詞是更多地依賴 NMT 模型的輸出還是檢索到的樣本。如圖4 所示,在解碼的每一步中,混合權(quán)重都是不同的,根據(jù)當(dāng)前上下文和檢索到的樣本估計(jì)出。翻譯系統(tǒng)自適應(yīng)地決定更多地依賴哪個(gè)部分。
圖4 動(dòng)態(tài)的混合權(quán)重。Memory 表示基于樣本的分布權(quán)重 ,Translation 表示基于模型的分布權(quán)重 。
模型訓(xùn)練策略
在 KSTER 訓(xùn)練過(guò)程中,NMT模型參數(shù)是固定不變的,需要訓(xùn)練的部分只有一個(gè)帶寬參數(shù)估計(jì)器和一個(gè)混合權(quán)重估計(jì)器。作者使用交叉熵?fù)p失函數(shù)對(duì)翻譯系統(tǒng)整體進(jìn)行優(yōu)化,但只更新帶寬參數(shù)估計(jì)器和混合權(quán)重估計(jì)器的參數(shù)。
由于訓(xùn)練翻譯系統(tǒng)的數(shù)據(jù)與構(gòu)建翻譯數(shù)據(jù)庫(kù)的數(shù)據(jù)是相同的,在訓(xùn)練時(shí)總能檢索到 top 1 相似的翻譯樣本就是查詢自身。而測(cè)試數(shù)據(jù)通常在翻譯數(shù)據(jù)庫(kù)中沒(méi)有出現(xiàn)過(guò)。這種訓(xùn)練和測(cè)試的不一致性,導(dǎo)致翻譯系統(tǒng)容易過(guò)度依賴檢索到的樣本,產(chǎn)生過(guò)擬合的現(xiàn)象。為了緩解訓(xùn)練和測(cè)試的不一致性,作者在訓(xùn)練時(shí)檢索最相似的 k + 1 個(gè)樣本,并把第 1 相似的樣本丟棄,保留剩下的 k 個(gè)樣本用于后續(xù)的計(jì)算。這種訓(xùn)練策略被稱為檢索丟棄,在測(cè)試時(shí)并不使用這種策略。
這篇工作在機(jī)器翻譯領(lǐng)域適應(yīng)和多領(lǐng)域機(jī)器翻譯兩種任務(wù)上進(jìn)行了實(shí)驗(yàn),KSTER 相比 kNN-MT 在兩種任務(wù)上均有提升。
圖6 多領(lǐng)域機(jī)器翻譯任務(wù)上的實(shí)驗(yàn)結(jié)果
圖7 不同領(lǐng)域的核函數(shù)帶寬和混合權(quán)重分布
圖8 檢索不同數(shù)量樣本 k 時(shí),kNN-MT 和 KSTER 的翻譯效果
圖9 驗(yàn)證了檢索丟棄這種訓(xùn)練策略的必要性。在不使用檢索丟棄策略時(shí),KSTER模型產(chǎn)生了嚴(yán)重的過(guò)擬合。而使用檢索丟棄策略后,過(guò)擬合的現(xiàn)象得到明顯緩解。
圖9 檢索丟棄訓(xùn)練策略有助于緩解過(guò)擬合
作者基于 KSTER 開發(fā)了一個(gè)基于在線干預(yù)機(jī)器翻譯系統(tǒng),用于展示翻譯系統(tǒng)在線修復(fù)bad case的能力。圖10 - 14 展示了一些具體的樣例。
如 圖10 所示,由于訓(xùn)練數(shù)據(jù)中沒(méi)有出現(xiàn)過(guò)“字節(jié)跳動(dòng)”這種新興實(shí)體,以及“C位”這類新詞,翻譯系統(tǒng)對(duì)它們的翻譯效果是不好的。
圖10 Base 模型翻譯結(jié)果
圖11 KSTER 翻譯結(jié)果
圖12 向 KSTER 翻譯數(shù)據(jù)庫(kù)中添加以上樣本
圖13 添加樣本之后KSTER的翻譯結(jié)果
圖14 KSTER 在相關(guān)樣本上的翻譯結(jié)果
本文主要介紹了 KSTER,一種有效的機(jī)器翻譯系統(tǒng)在線更新方法。其在機(jī)器翻譯領(lǐng)域適應(yīng)和多領(lǐng)域機(jī)器翻譯上均表現(xiàn)出優(yōu)異的效果。同時(shí)展示了它的在線修復(fù) bad case的能力。
參考文獻(xiàn)
[1] Vaswani et al. "Attention is All You Need". Proceedings of the 31st International Conference on Neural Information Processing Systems.
[2] Khandelwal et al. "Nearest Neighbor Machine Translation". ICLR 2021: The Ninth International Conference on Learning Representations.
[3] Jiang et al. "Learning Kernel-Smoothed Machine Translation with Retrieved Examples". Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing.
雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。