论文名称:Consistency Regularization for Cross-Lingual Fine-Tuning

论文作者:郑博,董力,黄绍晗,王文辉,迟泽闻,Saksham Singhal,车万翔,刘挺,宋夏,韦福如

原创作者:郑博

论文链接:https://arxiv.org/abs/2106.08226

代码链接:https://github.com/bozheng-hit/xTune

出处:哈工大SCIR

1 简介

1.1 研究背景

预训练跨语言模型(Pre-Trained Cross-Lingual Language Model)是通过在大规模多语言语料上进行预训练得到,其展现了在不同语言间优秀的迁移能力。跨语言微调(Cross-Lingual Fine-Tuning)指通过在一种语言的任务标注数据上微调预训练跨语言语言模型,使得该任务的监督信号可以泛化到其他目标语言上。这种泛化能力减少了特定场景下所需人工标注数据的花费,尤其是对于标注成本高昂的低资源语言而言。

1.2 研究动机

前人的一些工作已经证明了在跨语言微调阶段引入数据增广(Data Augmentation)是一种可以有效提升跨语言迁移能力的方法。例如,[1]将源语言训练数据翻译到其他目标语言,[2]通过使用语码转换(Code-Switch)策略,随机替换源语言句子中的词到目标语言,这两种方法都是将增广数据当做额外的训练数据使用,并且取得了一定的效果提升。然而,这些工作并没有考虑到原训练样本与以其生成的增广样本之间的内在联系。直观地说,对于不改变语义的增广策略,原始样本的预测结果应该与其生成的增广样本相似,如在分类任务中,一个英语句子的预测分布和它的翻译应保持一致。

1.3 本文贡献

本文贡献总结如下:

  • 提出跨语言微调方法xTune,基于两种一致性正则来更好的利用数据增广提升跨语言微调性能。

  • 针对跨语言微调尝试四种不同类型的数据增广方法,分别为子词采样(Subword Sampling)、高斯噪声(Gaussian Noise)、语码转换(Code-Switch)以及机器翻译(Machine Translation)。

  • 针对三种不同跨语言自然语言理解任务,分别给出应用xTune的方案,即如何根据任务特性选择两种一致性正则方法中所使用的数据增广策略。

  • 通过大量实验表明xTune可以显著地提升跨语言微调的性能。

2 方法

2.1 xTune:基于一致性正则的跨语言微调方法

零样本跨语言微调是跨语言微调中最基本的设定,指在源语言任务标注数据上微调预训练跨语言模型,然后直接在其他目标语言上进行评测。具体地说,给定源语言(通常为英语)训练数据集






,以及预测任务特定概率分布的模型









,跨语言微调的损失函数可以被定义为:

公式中,







表示样本




的真实标签,









是任务相关的损失函数。

除了仅在源语言训练数据上微调之外,近期工作也表明了使用增广数据对提升目标语言性能有帮助,如将翻译样本加入训练集以增强跨语言迁移能力。使









为一种跨语言数据增广策略(如语码转换),为增广后的训练语料,那么其微调的损失函数为


















,




。注意,对于细粒度任务,某些增广策略得到的数据无法直接用于微调训练。例如,在词性标注中,由于缺乏显式对齐,源语言样本的标签不能映射到翻译样本。

2.1.1 样本一致性正则(Example Consistency Regularization)

为了鼓励任一样本与其等同语义的增广样本产生一致的预测分布,本文首先引入样本一致性正则,定义如下:

其中












为对称KL散度(Symmertrical Kullback-Leibler Divergence),因此正则鼓励两个预测分布
























相互一致。
















操作用于截断回传梯度,这项操作也在[3] [4]中被使用。在实验部分会有消融实验表明该操作可以提升最终微调效果。

2.1.2 模型一致性正则(Model Consistency Regularization)

上一小节中的样本一致性正则在样本级别约束模型训练,本文进一步提出模型一致性正则在语料级别约束模型训练。模型一致性正则分为两个阶段执行:首先,第一阶段在语料






上微调得到模型参数









在第二阶段,我们保持模型参数









不变,模型一致性正则的损失函数定义如下:

上式中











是增广过的训练语料,







为KL散度。对于











中的每一个样本




,模型一致性正则鼓励预测分布
























一致,该正则项加强了两个模型学习到的分布之间的语料级一致性。

2.1.3 xTune跨语言微调方法

图1 xTune的两阶段微调模型框架,虚线框内模型从第一阶段拷贝到第二阶段,并且在第二阶段微调过程中不更新。

如图1所示,本文结合上述两个正则方法得到两阶段跨语言微调方法xTune。首先,在第一阶段使用样本一致性正则











微调模型:

将得到的模型参数









用于第二阶段中的模型一致性正则











,并保持









不变。最终的损失函数如下:





















为两个正则化方法对应的权重。注意数据增广策略
















、以及











可以不同或相同,本文将其视为在实验阶段可调整的超参数。

2.2 数据增广方法

为了研究不同数据增广方法对跨语言迁移能力的影响,本文一共尝试使用四种不同的数据增广方法(如何为xTune中两个一致性正则选择数据增广方法请参考原文附录):

  • 子词采样:本文所使用的预训练模型XLM-R采用SentencePiece中的unigram language model进行子词切分操作,本文通过其自带的动态子词采样算法,将生成的多个子词序列作为增广数据。

  • 高斯噪声:通过将高斯噪声加在模型的Embedding层的输出上作为额外的增广数据。

  • 语码转换:我们在双语词典中随机选取源语言原文中的词,并将其替换为目标语词,从而获得语码转换数据。直观地看,这种类型的数据增强明确地帮助预训练跨语言模型通过替换的锚点对齐多语言向量空间。

  • 机器翻译:将源语言数据翻译到目标语言作为增广数据。然而对于细粒度的任务来说,翻译数据的真实标签通常难以获取,比如序列标注任务中无法得到翻译数据的标签,这也导致了不能直接将这些数据当做额外的训练数据使用。在这种情况下,本文提出的模型一致性正则不仅仅可以作为正则使用,而且可以激活在这些未标注数据上的半监督学习(Semi-Supervised Training)。

图2 本文中使用的四种数据增广方法

2.3 如何将xTune应用到不同下游任务中

本节将给出如何应用xTune到下游任务中,以分类,片段抽取以及序列标注为例。由于模型一致性正则的使用不受数据增广策略的影响(因为模型预测的概率分布总是可以对齐),本节主要针对样本一致性正则给出方案。

2.3.1 分类(Classification)

对于分类任务,模型对于每一个样本应根据标签种类







输出一个概率分布



















。由于不同数据增广策略的不影响模型输出概率分布的对齐(即两个分布中的概率值可以一一对应),所以分类任务中对于本文中的四种数据增广策略都可以直接应用样本一致性正则。

2.3.2 片段抽取(Span Extraction)

对于片段抽取任务,模型对于每一样本应根据切分文本后的子词序列长度







输出两个概率分布 ,分别代表答案片段的开始和结束位置的概率。由于高斯噪声不影响切分序列的结果,所以不影响样本一致性正则的使用。而子词采样以及语码转换会改变















,所以我们控制改变切分方式的词的比例,仅在未修改位置使用样本一致性正则。我们不使用机器翻译作为该任务中样本一致性正则的数据增广策略,因为对于片段抽取任务,原文本和翻译文本的概率分布不能对齐。

2.3.3 序列标注(Sequence Labeling)

由于预训练语言模型生成的表示是子词级别的,对于序列标注任务,模型在每个词切分后的第一个子词位置预测该词标签。因此模型对于每一个样本应输出

























类别的概率分布。与片段抽取任务不同,子词采样、高斯噪声以及语码转换均不会改变












,所以这三种数据增广方式不影响样本一致性正则的使用。但对于机器翻译而言,同样没有办法对齐原句子和翻译句子的输出分布,所以对于序列标注,我们也不使用机器翻译作为样本一致性正则中的数据增广策略。

3 实验

3.1 实验设置

3.1.1 数据集

本文使用XTREME benchmark[5]中的三种跨语言理解任务,包括两个分类任务数据集:XNLI和PAWS-X,三个片段抽取任务数据集:XQuAD、MLQA和TyDiQA-GoldP,两个序列标注任务数据集:NER(panx)以及POS(udpos),数据集的统计信息如表1所示。

表1 XTREME benchmark中所使用七个数据的统计信息

3.1.2 微调设置

本文考虑跨语言理解任务中的两个典型设置[6]:

(1)Cross-lingual transfer:模型在英语数据上微调,其他目标语言机器翻译数据不可用,直接在不同目标语言上进行测试。

(2)Translate-train-all:可以采用机器翻译作为数据增广策略,模型在英语及其他语言机器翻译上进行微调。由于XTREME官方并没有提供POS和NER的翻译数据,本文使用谷歌翻译得到这两个数据集的翻译文本。

3.2 实验结果

表2 XTREME benchmark上的测试结果

表2给出了XTREME benchmark上的测试结果。在cross-lingual transfer设置下,xTune在全部七个数据集的表现全部超过了之前工作中的结果(X-STILTs对于TyDiQA-GoldP使用了额外的SQuAD v1.1训练数据,其他的方法并没有)。与









基线相比,xTune在七个数据集上有平均4.9个点的提升。对于translate-train-all设置,xTune在六个数据上取得了目前最好的结果。与FILTER相比,xTune平均有2.1个百分点的提升,并且在预测时与FILTER不同,xTune不需要使用目标语言样本的英文翻译。

表3 XTREME benchmark上的消融实验结果

表3中的结果给出两种正则化方法分别如何影响模型效果。对于cross-lingual transfer设置,xTune相比本文实现的









基线模型平均提升了2.8个点。而去掉样本一致性或模型一致性正则分别降低了0.4和1.0个点的平均效果。而在translate-train-all设置下,本文提出的模型一致性正则允许使用POS和NER中目标语言翻译的未标注数据。为了在translate-train-all设置下做公平的比较,在仅使用样本一致性正则微调模型时,我们对原始英文训练集用其他语言翻译进行增广,否则我们在第一阶段仅使用原始英文训练集,如图1所示。对于分类任务,与xTune相比,当仅使用样本一致性正则时效果降低相对较少,因为样本一致性正则可以直接应用于任何语言的翻译对之间。而对于三个问答数据集,我们在样本一致性正则中使用子词采样方法,这样做的原因是翻译对之间的输出分布不能被对齐,所以效果降低比较明显。仅使用模型一致性正则会导致平均效果降低1.1个点。以上结果说明本文提出的两个一致性正则方法是互补的。除此之外,去掉













操作会导致平均结果有0.5个点的下降。

表4 XNLI数据集上每种语言的测试结果

表4给出了XNLI数据集上每种语言的结果。在cross-lingual transfer设置下,xTune对两种正则均使用语码转换作为数据增广策略。语码转换使用MUSE中的双语词典,由于MUSE不提供斯瓦西里语(sw)和乌尔都语(ur)词典,我们使用除了这两种语言之外的12种目标语言到英语的双语词典。结果表明我们的方法在所有语言上都相比基线有提升,甚至在两种没有双语词典的语言上,这表明即使没有该语言的机器翻译或双语词典,我们的方法仍可以增强到低资源语言的泛化能力。对于translate-train-all设置,我们对两种正则均使用机器翻译作为数据增广策略,我们在









基线的基础上平均提升了2.2个百分点,并且相比之前最好系统FILTER中的结果也有0.9个百分点的提升。

3.3 实验分析

表5 不同数据增广策略在三种下游任务上的比较实验结果,Data Aug.指将增广数据当做额外训练数据进行微调

将增广数据用于一致性正则是比用作额外训练数据更好的方案。 如表5所示,与将增广数据用作额外训练数据相比,我们两种一致性正则化方法在所有四种数据增广策略下均能提高模型的性能。我们观察到将增广数据用作额外训练数据可以提高像XNLI这样的粗粒度任务的整体性能,而本文提出的一致性正则化放可以进一步改善结果。然而,直接在有噪声的增广数据上进行微调甚至会导致MLQA和POS等细粒度任务的性能下降。相比之下,我们提出的两种一致性正则化方法在很大程度上提高了性能(例如,对于代码转换数据增广下的MLQA,直接微调相比基线值降低了1.2点,而用作样本一致性正则相比基线值提升了2.6点)。

表6 XNLI上微调过后的模型在跨语言检索数据集上的结果

xTune也可以提升跨语言检索任务的效果。 本文在XNLI数据集上基于不同的设置微调了模型,然后在两个跨语言检索数据集上比较了所生成表示的性能。和前人工作一致,我们使用









第八层的隐层平均值作为句子表示。如表6所示,从将翻译数据用作额外训练数据的translate-train-all基线模型,到使用样本一致性正则的模型,跨语言检索的性能有着显著的提升。这表明通过限制模型翻译对的任务特定的输出分布一致同样鼓励了模型生成语言不变的表示。xTune相比只使用样本一致性正则只有微小的提升,这说明在翻译对间使用样本一致性正则是提升跨语言检索任务性能的关键因素。

图3 XNLI开发集中的四种语言的100个示例的t-SNE可视化。在XNLI上基于不同设置微调模型,并且使用[CLS]的隐层表示可视化。不同标签的样例用不同颜色区分,不同语言的样例用不同标记形状区分,红线连接英语样例及其他语言翻译的表示。

xTune改进了模型对于不同标签的决策边界以及生成语言不变表示的能力。 如图3所示,我们展示了在三种不同设置下来自XNLI开发集的示例的t-SNE可视化。我们观察到用xTune微调的模型显著改善了不同标签的决策边界。此外,对于一个英语示例及其在其他语言中的翻译,与两个基线模型相比,使用xTune进行微调的模型生成了更相似的表示。这个观察结果也与表6中的跨语言检索结果一致。

4 总结

本文提出了一个跨语言微调框架xTune来更好的利用跨语言增广数据,通过两个一致性正则来鼓励模型对任一样本及其同等语义增广样本产生一致的预测输出。本文探索了四种类型的跨语言数据增广策略。实验结果表明,与直接在增广数据上进行微调相比,两种一致性正则分别显著提高了下游任务的性能。同时,模型一致性正则可以在未标记的目标语言翻译上进行半监督训练。xTune结合了两种正则化方法,并且在XTREME benchmark上大幅提升了性能。

5 参考文献

[1] Jasdeep Singh, Bryan McCann, Nitish Shirish Keskar, Caiming Xiong, and Richard Socher. 2019. XLDA: cross-lingual data augmentation for natural language inference and question answering. CoRR, abs/1905.11471.

[2] Libo Qin, Minheng Ni, Yue Zhang, and Wanxiang Che. CoSDA-ML: Multi-lingual code-switching data augmentation for zero-shot cross-lingual NLP. IJCAI 2020.

[3] Haoming Jiang, Pengcheng He, Weizhu Chen, Xiaodong Liu, Jianfeng Gao, and Tuo Zhao. SMART: Robust and efficient fine-tuning for pretrained natural language models through principled regularized optimization. ACL 2020.

[4] Xiaodong Liu, Hao Cheng, Pengcheng He, Weizhu Chen, Yu Wang, Hoifung Poon, and Jianfeng Gao. 2020. Adversarial training for large neural language models. CoRR, abs/2004.08994.

[5] Junjie Hu, Sebastian Ruder, Aditya Siddhant, Graham Neubig, Orhan Firat, and Melvin Johnson. XTREME: A massively multilingual multitask benchmark for evaluating cross-lingual generalisation. ICML 2020.

[6] Alexis Conneau, Kartikay Khandelwal, Naman Goyal, Vishrav Chaudhary, Guillaume Wenzek, Francisco Guzman, Edouard Grave, Myle Ott, Luke Zettle- ´ moyer, and Veselin Stoyanov. Unsupervised cross-lingual representation learning at scale. ACL 2020.

本期责任编辑:冯骁骋

本期编辑:彭 湃

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

点击上面卡片,关注我呀,每天推送AI技术干货~

整理不易,还望给个在看!

【ACL 2021】基于一致性正则的跨语言微调方法相关推荐

  1. 论文浅尝 - ACL2022 | 基于多语言语义解耦表示的跨语言迁移方法实现多语言阅读理解...

    论文作者:吴林娟,天津大学,研究方向为自然语言理解 论文链接:http://arxiv.org/abs/2204.00996 代码地址:https://github.com/wulinjuan/SSD ...

  2. 直播 | ACL 2021论文解读:低资源语言场景下的跨语言文本摘要

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  3. ACL 2021|CHASE: 首个跨领域多轮Text2SQL中文数据集

    ©PaperWeekly 原创 · 作者 | 徐叶琛 单位 | 字节跳动 研究方向 | NLP语义理解.问答系统 自然语言处理语义解析子任务 Text2SQL 旨在将用户的自然语言转换为 SQL 序列 ...

  4. ACL 2021 | 基于依存句法驱动注意力图卷积神经网络的关系抽取

    ©作者 | 陈桂敏 来源 | QTrade AI研究中心 QTrade 的 AI研究中心是一支将近 30 人的团队,主要研究方向包括:预训练模型.信息抽取.对话机器人.内容推荐等.本文介绍的是一篇信息 ...

  5. ACL 2021 | 基于词依存信息类型映射记忆神经网络的关系抽取

    ©作者 | 陈桂敏 来源 | QTrade AI研究中心 QTrade AI 研究中心是一支将近 30 人的团队,主要研究方向包括:预训练模型.信息抽取.对话机器人.内容推荐等.本文介绍的是一篇信息抽 ...

  6. ACL 2021 | 基于全局字符关联机制联邦学习的中文分词

    作者 | 陈桂敏 来源 | QTrade AI研究中心 QTrade AI 研究中心是一支将近 30 人的团队,主要研究方向包括:预训练模型.信息抽取.对话机器人.内容推荐等.本文介绍的是一篇收录于 ...

  7. 论文浅尝 | 基于图卷积网络的跨语言图谱实体对齐

    论文笔记整理:谭亦鸣,东南大学博士生,研究兴趣:知识图谱问答 本文提出了一种基于图卷积网络的跨语言实体对齐方法,通过设计一种属性 embedding 用于 GCN 的训练,发现GCN能同时学习到特征 ...

  8. 两个分布的特征映射_跨语言分布表示学习方法概述

    分布表示(distributed representation)与深度神经网络(deep neural network)极大地推动了近几年自然语言处理研究的发展.我们知道,分布表示指的是对于一个客观描 ...

  9. 论文浅尝 - TACL2020 | 改进低资源跨语言实体链接的候选生成问题

    论文笔记整理:谭亦鸣,东南大学博士. 来源:TACL 2020 链接: https://arxiv.org/ftp/arxiv/papers/2003/2003.01343.pdf 1.背景介绍 跨语 ...

  10. 论文浅尝 | AMUSE: 基于 RDF 数据的多语言问答语义解析方法

    来源:ISWC 2017 链接:https://link.springer.com/content/pdf/10.1007%2F978-3-319-68288-4.pdf 本文主要关注基于RDF数据的 ...

最新文章

  1. 【Win32 API学习]打开可执行文件
  2. 【BZOJ1085】【SCOI2005】骑士精神 [A*搜索]
  3. 连接mysql的机制_安装成功后mysql 8.0不能连接navicat的解决方法
  4. mysql 暴力破解 root账号密码
  5. Web Service和Servlet的区别
  6. 开关电源PCB排版基本要点概述
  7. MATLAB学习笔记(十一)
  8. 非线性最小二乘通俗易懂解释
  9. Shiro 权限注解
  10. Java System.arraycopy()方法示例
  11. [实验]OSPF多区域互通---华为
  12. 浅谈软件项目验收(转)
  13. pdf怎么解除限制?如何解密?一步解决
  14. powerpoint ppt 点击放映后黑屏 解决办法
  15. 在sagemath中运行python文件
  16. uniapp-小程序与H5压缩图片上传
  17. Windows Git 上传 报错 error: bad signature 0x00000000 fatal: index file corrupt
  18. 2017届腾讯校园招聘笔试——最后一道编程题
  19. redis 缓存防止击穿
  20. 【晒出你的第83行代码】《阿里巴巴Java开发手册》主要作者孤尽晒出入职第一年的代码...

热门文章

  1. JavaWeb——Servlet开发1
  2. QT:QByteArray和QByteArray、char *(转)
  3. [读码时间] 自定义右键菜单
  4. android 异步加载图片缩略图
  5. ubuntu安装mysql添加密码
  6. Chap6:风险与监督[《区块链中文词典》维京甲子]
  7. [包计划] create-react-app
  8. 2017-10-19 NOIP模拟赛
  9. Linux 基础命令3 shell
  10. Mysql更新关联子查询报错