©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: 用于问题生成和段落检索的全新领域自适应方法相关推荐

  1. keras bi-lstm_LSTM用于文本生成的应用介绍-使用Keras和启用GPU的Kaggle Kernels

    keras bi-lstm by Megan Risdal 梅根·里斯达尔(Megan Risdal) LSTM用于文本生成的应用介绍-使用Keras和启用GPU的Kaggle Kernels (An ...

  2. 用于稠密检索的无监督领域适应方法—Generative Pseudo Labeling (GPL)

    ©作者 | 刘璐 学校 | 北京邮电大学 研究方向 | 问题生成与QA 论文标题: GPL: Generative Pseudo Labeling for Unsupervised Domain Ad ...

  3. 【论文】开放域段落检索的句子感知对比学习

    Sentence-aware Contrastive Learning for Open-Domain Passage Retrieval 论文链接:https://arxiv.org/pdf/211 ...

  4. 【DL】第 7 章 :用于音乐生成的Transformers和 MuseGAN

    除了视觉艺术和创意写作一样,音乐创作是我们认为人类独有的另一种核心创造力行为. 为了让机器创作出悦耳的音乐,它必须克服我们在上一章中看到的与文本相关的许多技术挑战.特别是,我们的模型必须能够学习并重新 ...

  5. 6 个用于颜色生成的 JavaScript 工具

    没有颜色的世界会怎样?黑白配一点点灰色,也许吧.相当平淡. 颜色会刺激大脑--它们会影响你的思维方式和做出的决定.一种颜色或一组颜色可以构成身份的一部分.想想与 Google 相关的红色.黄色.绿色和 ...

  6. 今日头条李磊等最新论文:用于文本生成的核化贝叶斯Softmax

    译者 | Raku 出品 | AI科技大本营(ID:rgznai100) 摘要 用于文本生成的神经模型需要在解码阶段具有适当词嵌入的softmax层,大多数现有方法采用每个单词单点嵌入的方式,但是一个 ...

  7. 用于分子生成的数据高效性图语法学习

    近年来分子生成问题收到了很多关注.但是现有的方法都是基于深度神经网络,需要在很大的数据集上训练.在实践中,由于劳动密集型实验和数据收集,特定类别化学数据集的规模通常是有限的(例如,几十个样本).这对深 ...

  8. boost::spirit模块实现一个类似于 XML 的小型解析器,Karma 用于打印生成的 AST

    boost::spirit模块实现一个类似于 XML 的小型解析器,Karma 用于打印生成的 AST 实现功能 C++实现代码 实现功能 boost::spirit模块实现一个类似于 XML 的小型 ...

  9. java自定义表单_JSP实现用于自动生成表单标签html代码的自定义表单标签

    本文实例讲述了JSP实现用于自动生成表单标签HTML代码的自定义表单标签.分享给大家供大家参考.具体如下: 这个是自己写的一个简单的JSP表单标签,用于自动生成checkBox,select,radi ...

最新文章

  1. NGUI的技能冷却实现
  2. 因为一条SQL,程序员差点被祭天......
  3. 电子书下载:Pro Drupal 7 for Windows Developers
  4. 在阿里云的Ubuntu ECS instance 使用Apt-get安装git
  5. 通过mvn dependency:tree 查看依赖树,解决依赖jar冲突问题
  6. 台达s1变频器参数表_各大品牌变频器万能密码汇总
  7. linux输入法_超强两笔输入法 入门简文
  8. 知名设计师晒iPad mini 6渲染图:取消Home键 依旧不支持120Hz刷新率
  9. Python基础----集合
  10. Flink SQL实时数仓开源UI平台
  11. NRF52840 DFU APP使用noinit ram方法
  12. electron-vue 打包桌面应用程序并封装
  13. 经济学基础之名义利率与实际利率以及他们同复利公式的运用
  14. html按钮动态效果,8款超酷而实用的CSS3按钮动画
  15. 如何使用Python的第三方库you-get下载视频
  16. 印度软件外包发展简记
  17. [Neck] 空间金字塔池化【池化策略】(Space Pyramid Pool, SPP)模块和路径聚合网络【增强】(Path Aggregation Network, PANet)的结构
  18. 【LaTeX 教程】01. LaTeX 简介与安装
  19. 如何把采集到的数据存入mysql_数据采集教程_数据发布_如何发布到数据库MySQL_后羿采集器...
  20. 以图搜图 相似图片搜索的原理(一)

热门文章

  1. milp的matlab的案例代码_Matlab神经网络30个案例第1案例代码
  2. VS Code Pettier设置换行最大宽度
  3. 人月神话贯彻执行_人月神话阅读笔记01
  4. python 日期 间隔_Python datetime time 等时间 日期 之间的计算和相互转化
  5. [转帖]虚拟内存探究 -- 第二篇:Python 字节
  6. mojoportal学习——文章翻译之多行横排菜单
  7. python单例模式数据库连接池_Python实现单例模式的四种方式
  8. python加载数据集,读取h5数据集python的一部分
  9. excel根据一列内容查找排序另一列_利用泰坦尼克生存数据讲述Excel数据分析的基本操作...
  10. 三维数组设置索引_10-Unity入门学习之C#基础9「数组」