FILTER: An Enhanced Fusion Method for Cross-lingual Language Understanding

FILTER

https://arxiv.org/pdf/2009.05166.pdf

背景

当前的跨语言学习主要有3种类型:

  1. unsupervised pre-training:训练一个统一编码器处理不同语言,比如mBERT,Unicoder,XLM,将知识从一种语言迁移到另一种语言上的跨语言任务上取得很大成功;
  2. Supervised training:通过teacher-forcing或者对抗学习的方式,使得模型对不同语言的标签数据不敏感;
  3. Translation:翻译模型。
    其中,翻译的方式在多语言的benchmarks,比如XTREME和XGLUE上都达到SOTA。
    但是,翻译实际上只是做数据增强,将训练集扩充了一倍。因此,在做数据增强的微调时(zero-shot cross-lingual transfer tasks),只输入单语言,而没有用不同语种的跨语言对齐。而这,对多语种任务来说,又是必不可少的。

因此:本文提出FILTER(Fusion in the Intermediate Layers of TransformER),将跨语言数据作为输入,做XLM的微调。模型首先在浅层(shallow layers)对输入的原始语言及翻译语言分别进行编码,接着进行跨语言的融合,在中间层(intermediate layers)提取多语种知识,最后进行更进一步的特定语言编码。在推理阶段,模型基于目标语言的文本输入和原语言的翻译,来做预测。具体流程如下图c。

模型结构比较

特点

  1. Transformer-XLM为backbone的网络架构,使用的是HuggingFace's Transformers的pretrained XLM-R 来初始化FILTER。模型一共24,分3种layers,分别进行编码,融合和深层编码的操作,通过对layers的层数控制,构造上图3种模型结构;
  2. 引入self-teaching loss减少原语言和翻译语言的gap:FILTER在进行分类或翻译任务时,和原语言共享标签。但这种共享,在做QA,NER或POS任务时,准度会降低,甚至不可用。为解决这类问题,FILTER在进行翻译训练时,基于自生成的soft pseudo-labels,添加KL-divergence self-teaching loss

结果显示,模型在XTREME和XGLUE这2种多语言的多任务benchmarks上,都达到了SOTA。

常见跨语言模型

  1. cross-lingual zero-shot transfer
    仅使用原语言,带标签的数据进行训练,在目标语言做推理。
    当前常见的跨语言预训练模型:mBERT, XLM, XLM-Roberta。
  2. translate-train/test
    有2种方式:
    2.1 将原语言的训练集,翻译成目标语言,增强训练集;
    2.2 在原语言上做训练,测试时,将目标语言翻译回原语言,做推理。

FILTER

输入:language pairs
S\in R^{d \times l_s}:输入的源语言S对应的词嵌入矩阵
T \in R^{d \times l_t}:输入的目标语言T对应的词嵌入矩阵
T是S通过Microsoft Machine Translator翻译得到的,d为词维度。
当任务类型为pairwise data,S是序列对的拼接,比如QA任务,将上下文和问题进行合并。

模型

  1. local transformer: m-layer Transformer-XLM
    对输入的2种语言分别编码,得到序列对的局部表征(local representations)。
    H_l^s = Transformer-XLM_{local}(S), H_l^s \in R^{d\times l_s}
    H_l^t = Transformer-XLM_{local}(T), H_l^t \in R^{d\times l_t}

  2. cross-lingual fusion layers: k-layer Transformer-XLM
    跨语言融合:对序列对的局部表征进行concatenation,再进行融合。
    [H_f^s;H_f^t] = Transformer-XLM_{fuse}([H_l^s;H_l^t]),[H_f^s;H_f^t] \in R^{d \times(l_s + l_t)}
    分类任务:用较小的k
    QA任务:用较大的k

  3. deeper domain-specific transformer layers
    融合后的特定语言编码。
    H_d^s = Transformer-XLM_{domain}(H_f^s), H_d^s \in R^{d\times l_s}
    H_d^t = Transformer-XLM_{domain}(H_f^t), H_d^t \in R^{d\times l_t}
    本文使用的是XLM-R,因此domain层的层数为:24-k-m。
    当m=24,k=0,则模型表示为上图a;
    当m=0,k=24,则模型表示为上图b。

  4. task-specific linear layer
    在3之后,接一个linear layer做概率估计。
    p^s, p^t = FILTER(S,T)
    L^s = Loss_{task}(p^s, l^t)
    L^t = Loss_{task}(p^t, l^s)

Self-Teaching Loss

将原语言翻译到目标语言后,可能存在词序甚至语义的变化,由此带来噪声。因此,为减少源语言和翻译语言的gap,借鉴蒸馏模型中的teacher-student框架,训练FILTER时,加入self-teaching loss。

FILTER 训练过程

如上图:

  1. 基于源语言的clean labels和目标语言的noisy label训练一个teacher FILTER;
  2. teacher FILTER生成pseudo soft-labels;
  3. 噪声主要来自翻译的文本,只用soft-labels来训练student FILTER:
    p_{tea}^s, p_{tea}^t = FILTER_{tea}(S,T)
    p_{stu}^s, p_{stu}^t = FILTER_{stu}(S,T)
    L^{kl} = Loss_{KL}(p_{tea}^t, p_{stu}^t)

损失函数

L^{final} = L^s + \lambda L^t + (1-\lambda)L^{kl}
注意:

  1. 进行NER或者POS时,目标语言没有标签,因此\lambda = 0
  2. 进行分类和QA任务时,测试了[0.1, 0.3, 0.5],分别使用了0.5和0.1.

实验

训练集

XTREME, XGLUE:跨语言理解,任务类型和对应数据集见下图:


训练数据集

模型比较

模型结果

XTREME的结果

  1. 和SOTA的VECO模型相比,模型在4个任务上都取得更好的结果,平均得分77,高SOTA平均得分2.2个点;
  2. 和XLM-R模型相比,77-68.2 =8.8,模型提升了8.8个点。

同理XGLUE,和Unicoder模型比较,模型都差不多提高了4个点。

实验结果比较
不同语种准确率比较

在XTREME的不同数据集上,采用不同的训练方式的结果

  1. XLM-R的translate-train baseline,已经在各个数据集上达到SOTA;
  2. 基于XLM-R的FILTER,效果又有提升,分别在分类和QA任务上,提升了0.9和2.28;
  3. Self-Teaching可以更进一步提升模型效果。

消融实验

Effect of different layers

前文提到,模型一共24层,用m和k调整不同类型transformers layers的层数。
而前面的实验也显示,FILTER在分类和QA上的效果很好。同时,即便POS和NER任务,目标语言没有对应的标签,模型仍然提升了2.9和1.3个点。论文认为,这是融合层的作用。


m和k的选择
  1. local transformers越多(m),POS和MLQA效果越好;
  2. 对PAWS-X,当k为10时,m为0或者1效果更好,这意味着对分类任务,m取小;
  3. 当m为1时,k从1到24, PAWS-X和POS数据集,准确率降低了2.5和16.5;
  4. 当m为1时, k从1到20,MLQA数据集,f1提升2.6。

Cross-lingual Transfer Gap

跨语言transfer gap

gap的计算:在英语语料的模型结果- 其他目标语言的模型平均结果
上图显示,FILTER可以有效降低跨语言的gap。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容