我是靠谱客的博主 开心人生,最近开发中收集的这篇文章主要介绍Back-Training: 用于问题生成和段落检索的全新领域自适应方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

©PaperWeekly 原创 · 作者 | Maple小七

学校 | 北京邮电大学硕士生

研究方向 | 自然语言处理

本文提出了一种新的领域自适应方法:back-training,传统的 self-training 生成的训练数据的输入是真实的,而输出是生成的,back-training 生成的训练数据的输入是生成的,而输出是真实的,作者通过实验证明了相比于 self-training,back-training 生成的训练数据可以在目标域上训练出性能更好的模型。

论文标题:

Back-Training excels Self-Training at Unsupervised Domain Adaptation of Question Generation and Passage Retrieval

论文链接:

https://arxiv.org/abs/2104.08801

代码链接:

https://github.com/McGill-NLP/MLQuestions

引言

构建高质量的垂直领域问答模型往往需要大量的人工标注数据,然而垂直领域的问答对的标注成本通常是非常高的,常常需要标注人员具有一定的领域知识,因此如何借助迁移学习(Transfer Learning)或领域自适应(Domain adaption)的方法来减少甚至消除人工标注成本,在目标域上训练出泛化能力更好的模型,是一个受到了广泛关注的问题。

一种最常用的领域自适应方法是 self-training,其基本思路很简单,就是先在标注数据丰富的源域(source domain)上训练可以为目标域(target domain)生成标注数据的模型,然后用该模型为目标域生成训练数据(synthetic data),最后在这些生成的训练数据上训练我们想要的模型。为了提升生成数据的质量,通常还会加上一致性检查(consistency check)和迭代优化(iterative refinement)的训练技巧。

Back-training

然而迁移学习的效果往往差强人意,self-training 生成的数据并不一定能够在目标域上训练出足够优秀的模型,本文提出了一种新的领域自适应方法:back-training,该方法的思想和机器翻译中的 back-translation 很相似。

相比于 self-training,back-training 对目标域的无监督数据是有要求的,具体来说,假设我们希望在目标域上训练出一个问题生成模型 ,那么 self-training 只要求目标域数据包含段落(paragraphs) 就行了,而 back-training 要求目标域数据不仅要有段落 ,还要有问题 ,但段落和问题并不需要对齐。

这样的假设在实际应用中是很常见的,在一些垂直领域上,段落和问题都相对容易获得,但对齐的段落和问题却很难获得,如果想要人工标注对齐的话,通常需要很强的领域知识。

本文重点关注问题生成(question generation)和段落检索(passage retrieval) 任务,设源域数据集为 ,目标域数据集为 ,注意 是没有对齐的,任务目标是学习出可以在目标域上表现良好的问题生成(QG)模型和段落检索(IR)模型的参数

以问题生成任务为例,self-training 和 back-training 的训练过程分别是:

  • self-training:首先在源域上训练一个问题生成模型 ,然后用该模型为目标域的段落 生成问题 ,最后用生成的 来微调 得到最终的问题生成模型

  • back-training:首先在源域上训练一个段落检索模型 ,然后用该模型为目标域的问题 检索段落 ,最后用生成的 来微调 得到最终的问题生成模型

我们可以发现 self-training 生成的数据为 ,而 back-training 生成的数据为 ,也就是说 self-training 生成的输入是真实的,但输出是有噪声的,而 back-training 生成的输入是有噪声的,但输出是真实的。直观来看,输出的真实性比输入的真实性更为重要,因为输出直接影响着后续的评估指标。

下面的训练流程更清晰地展现了 self-training 和 back-training 的差异。

实验

接下来,作者通过一个具体的任务来验证了 back-training 相比于 self-training 的优越性。

3.1 数据集

源域数据集采用的是通用领域的 NaturalQuestions 数据集,目标域数据集采用的是作者自制的 MLQuestions 数据集,该数据集包含 35000 条采自 Google Search 的机器学习领域的问题和 50000 个采自 Wikipedia 的机器学习领域的段落,数据采集过程可参考原文。

从下表我们可以看出,这两个数据集的分布是相当不同的,因此想用无监督的方法在目标域上训练 QG 或 IR 模型是具有一定的挑战性的。

3.2 模型

问题生成模型 采用 BART,段落检索模型 采用 DPR,这两个模型不用作过多介绍。

3.3 结果

3.3.1 Transfer from Source to Target Domain without Adaptation

如果直接将在 NaturalQuestions 数据集(IID)上训练的模型用到 MLQuestions 数据集(OOD)上,对应的评估指标通常会掉一大半。

3.3.2 No-adaptation vs self-training vs back-training

下表展示了三种不同的训练策略给出的模型表现,可以发现 back-training 比起 self-training 有明显的性能提升。

3.3.3 Qualitative analysis of self-training and back-training

下图展示了训练过程中模型从源域迁移至目标域时,在生成数据集和测试数据集上生成问题的困惑度变化曲线,对于 back-training,模型在生成数据集和测试数据集上的困惑度是成正比的,即 back-training 生成的数据和目标域的真实分布更加接近,而 self-training 虽然在生成数据集上取得了较低的困惑度,但在测试数据集上的困惑度反而变高了,这说明 self-training 生成的数据集和真实分布不一样,生成数据的分布更偏向于源域,因此产生了过拟合。

下图展示了 self-training 和 back-training 生成数据的置信度分布,可以发现 back-training 生成的数据具有低均值,高方差的特点,这表明生成的数据更富有多样性,而 self-training 生成的数据则缺少多样性。

3.3.4 Consistency filters for Self-Training and Back-Training

在 self-training 中,人们通常会设置一个判别模型来过滤掉低置信度的生成样本。作者尝试了两种过滤策略:

  • Self-Consistency:生成模型和判别模型是同一个模型,即过滤掉生成置信度较低的样本;

  • Cross-Consistency:生成模型和判别模型不同,比如用额外的 QA 模型来判断 QG 模型生成的 QA 对是否一致,该策略其实就是两年前谷歌提出的 roundtrip consistency。

由于问题生成和段落检索是对偶任务,因此这两种过滤策略其实可以结合起来,再加上常用的 bootstrap 迭代优化,就形成了下图所示的训练流程:

3.3.5 Are consistency filters useful?

加入一致性过滤能带来一定的效果提升,但目前实验结果还不完整。

3.3.6 Is iterative refinement useful?

迭代优化的训练过程对 back-training 是有用的,但是对self-training的作用不明显。

3.3.7 Human Evaluation Results

作者也采用了人工评估的方式来评估不同训练方法的效果,如下表所示,back-training 在各个评估维度上都有所改进。

3.3.8 Analysis of Question Types

源域和目标域的问题类别分布是不一样的,从下图我们可以发现模型生成了很多 Description 类的问题,较少地生成了 Explanation 和 Preference 类问题,这和 NaturalQuestions 数据集和 MLQuestions 数据集的分布差异是强相关的。

结论

back-training 利用到了问题生成任务和段落检索任务之间的对偶性质,这样的对偶任务其实并不少见,比如图像问题生成(Visual Question Generation)和图像检索(Image Retrieval)也适用于 back-training,直观上来说,back-training 相比于 self-training 引入了更多的信息,因此效果远比 self-training 好,不过这些结论依旧缺乏更严谨的理论分析。

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

???? 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

???? 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

△长按添加PaperWeekly小编

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

最后

以上就是开心人生为你收集整理的Back-Training: 用于问题生成和段落检索的全新领域自适应方法的全部内容,希望文章能够帮你解决Back-Training: 用于问题生成和段落检索的全新领域自适应方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部