背景
當前的跨語言學(xué)習(xí)主要有3種類型:
- unsupervised pre-training:訓(xùn)練一個統(tǒng)一編碼器處理不同語言锌唾,比如mBERT,Unicoder,XLM,將知識從一種語言遷移到另一種語言上的跨語言任務(wù)上取得很大成功;
- Supervised training:通過teacher-forcing或者對抗學(xué)習(xí)的方式,使得模型對不同語言的標簽數(shù)據(jù)不敏感;
- Translation:翻譯模型捆探。
其中,翻譯的方式在多語言的benchmarks站粟,比如XTREME和XGLUE上都達到SOTA徐许。
但是,翻譯實際上只是做數(shù)據(jù)增強卒蘸,將訓(xùn)練集擴充了一倍雌隅。因此,在做數(shù)據(jù)增強的微調(diào)時(zero-shot cross-lingual transfer tasks)缸沃,只輸入單語言恰起,而沒有用不同語種的跨語言對齊。而這趾牧,對多語種任務(wù)來說检盼,又是必不可少的。
因此:本文提出FILTER(Fusion in the Intermediate Layers of TransformER)翘单,將跨語言數(shù)據(jù)作為輸入吨枉,做XLM的微調(diào)蹦渣。模型首先在淺層(shallow layers)對輸入的原始語言及翻譯語言分別進行編碼,接著進行跨語言的融合貌亭,在中間層(intermediate layers)提取多語種知識柬唯,最后進行更進一步的特定語言編碼。在推理階段圃庭,模型基于目標語言的文本輸入和原語言的翻譯锄奢,來做預(yù)測。具體流程如下圖c剧腻。
特點:
- 以Transformer-XLM為backbone的網(wǎng)絡(luò)架構(gòu)拘央,使用的是HuggingFace's Transformers的pretrained XLM-R 來初始化FILTER。模型一共24书在,分3種layers灰伟,分別進行編碼,融合和深層編碼的操作儒旬,通過對layers的層數(shù)控制栏账,構(gòu)造上圖3種模型結(jié)構(gòu);
- 引入self-teaching loss減少原語言和翻譯語言的gap:FILTER在進行分類或翻譯任務(wù)時义矛,和原語言共享標簽。但這種共享盟萨,在做QA凉翻,NER或POS任務(wù)時,準度會降低捻激,甚至不可用制轰。為解決這類問題,F(xiàn)ILTER在進行翻譯訓(xùn)練時胞谭,基于自生成的soft pseudo-labels垃杖,添加KL-divergence self-teaching loss。
結(jié)果顯示丈屹,模型在XTREME和XGLUE這2種多語言的多任務(wù)benchmarks上调俘,都達到了SOTA。
常見跨語言模型
- cross-lingual zero-shot transfer
僅使用原語言旺垒,帶標簽的數(shù)據(jù)進行訓(xùn)練彩库,在目標語言做推理。
當前常見的跨語言預(yù)訓(xùn)練模型:mBERT, XLM, XLM-Roberta先蒋。 - translate-train/test
有2種方式:
2.1 將原語言的訓(xùn)練集骇钦,翻譯成目標語言,增強訓(xùn)練集竞漾;
2.2 在原語言上做訓(xùn)練眯搭,測試時窥翩,將目標語言翻譯回原語言,做推理鳞仙。
FILTER
輸入:language pairs
:輸入的源語言S對應(yīng)的詞嵌入矩陣
:輸入的目標語言T對應(yīng)的詞嵌入矩陣
T是S通過Microsoft Machine Translator翻譯得到的寇蚊,d為詞維度。
當任務(wù)類型為pairwise data繁扎,S是序列對的拼接幔荒,比如QA任務(wù),將上下文和問題進行合并梳玫。
模型
local transformer: m-layer Transformer-XLM
對輸入的2種語言分別編碼爹梁,得到序列對的局部表征(local representations)。
,
,cross-lingual fusion layers: k-layer Transformer-XLM
跨語言融合:對序列對的局部表征進行concatenation提澎,再進行融合姚垃。
,
分類任務(wù):用較小的k
QA任務(wù):用較大的kdeeper domain-specific transformer layers
融合后的特定語言編碼。
,
,
本文使用的是XLM-R盼忌,因此domain層的層數(shù)為:24-k-m积糯。
當m=24,k=0谦纱,則模型表示為上圖a看成;
當m=0,k=24跨嘉,則模型表示為上圖b川慌。task-specific linear layer
在3之后,接一個linear layer做概率估計祠乃。
Self-Teaching Loss
將原語言翻譯到目標語言后梦重,可能存在詞序甚至語義的變化,由此帶來噪聲亮瓷。因此琴拧,為減少源語言和翻譯語言的gap,借鑒蒸餾模型中的teacher-student框架嘱支,訓(xùn)練FILTER時蚓胸,加入self-teaching loss。
如上圖:
- 基于源語言的clean labels和目標語言的noisy label訓(xùn)練一個teacher FILTER除师;
- teacher FILTER生成pseudo soft-labels赢织;
- 噪聲主要來自翻譯的文本,只用soft-labels來訓(xùn)練student FILTER:
損失函數(shù)
注意:
- 進行NER或者POS時馍盟,目標語言沒有標簽于置,因此;
- 進行分類和QA任務(wù)時,測試了[0.1, 0.3, 0.5]八毯,分別使用了0.5和0.1.
實驗
訓(xùn)練集
XTREME搓侄, XGLUE:跨語言理解,任務(wù)類型和對應(yīng)數(shù)據(jù)集見下圖:
模型比較
XTREME的結(jié)果:
- 和SOTA的VECO模型相比话速,模型在4個任務(wù)上都取得更好的結(jié)果讶踪,平均得分77,高SOTA平均得分2.2個點泊交;
- 和XLM-R模型相比乳讥,77-68.2 =8.8,模型提升了8.8個點廓俭。
同理XGLUE云石,和Unicoder模型比較,模型都差不多提高了4個點研乒。
在XTREME的不同數(shù)據(jù)集上汹忠,采用不同的訓(xùn)練方式的結(jié)果:
- XLM-R的translate-train baseline,已經(jīng)在各個數(shù)據(jù)集上達到SOTA雹熬;
- 基于XLM-R的FILTER宽菜,效果又有提升,分別在分類和QA任務(wù)上竿报,提升了0.9和2.28铅乡;
- Self-Teaching可以更進一步提升模型效果。
消融實驗
Effect of different layers
前文提到烈菌,模型一共24層阵幸,用m和k調(diào)整不同類型transformers layers的層數(shù)。
而前面的實驗也顯示僧界,F(xiàn)ILTER在分類和QA上的效果很好侨嘀。同時臭挽,即便POS和NER任務(wù)捂襟,目標語言沒有對應(yīng)的標簽,模型仍然提升了2.9和1.3個點欢峰。論文認為葬荷,這是融合層的作用。
- local transformers越多(m)纽帖,POS和MLQA效果越好宠漩;
- 對PAWS-X,當k為10時懊直,m為0或者1效果更好扒吁,這意味著對分類任務(wù),m取惺夷摇雕崩;
- 當m為1時魁索,k從1到24, PAWS-X和POS數(shù)據(jù)集盼铁,準確率降低了2.5和16.5粗蔚;
- 當m為1時, k從1到20饶火,MLQA數(shù)據(jù)集鹏控,f1提升2.6。
Cross-lingual Transfer Gap
gap的計算:在英語語料的模型結(jié)果- 其他目標語言的模型平均結(jié)果
上圖顯示肤寝,F(xiàn)ILTER可以有效降低跨語言的gap当辐。