我是靠谱客的博主 粗暴服饰,最近开发中收集的这篇文章主要介绍【NAACL 2022】GPL:用于密集检索的无监督域自适应的生成伪标记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

重磅推荐专栏: 《Transformers自然语言处理系列教程》
手把手带你深入实践Transformers,轻松构建属于自己的NLP智能应用!

论文地址:https://arxiv.org/abs/2112.07577

《文本匹配——【EMNLP 2021】TSDAE》中的自适应预训练的一大缺点是计算开销高,因为必须首先在语料库上运行预训练,然后在标记的训练数据集上进行监督学习。标记的训练数据集可能非常大。

GPL(用于密集检索的无监督域自适应的生成伪标记)克服了上述问题:它可以应用于微调模型之上。因此,可以使用其中一种预训练模型并将其调整到特定领域:

在这里插入图片描述
训练的时间越长,你的模型就越好。在 V100-GPU 上训练模型大约 1 天。GPL 可以与自适应预训练相结合,从而进一步提升性能。
在这里插入图片描述
GPL 分三个阶段工作:
在这里插入图片描述

  • query 生成:对于我们域中的给定文本,我们首先使用 T5 模型为给定文本生成可能的query。例如,当你的文本是“Python is a high-level general-purpose programming language”时,模型可能会生成类似“What is Python”这样的query。中文T5 Doc2Query 预训练模型地址 :https://huggingface.co/doc2query/msmarco-chinese-mt5-base-v1

  • 负例挖掘:接下来,对于生成query “What is Python”,我们从语料库中挖掘负例passage,即与query 相似但用户认为不相关的 passage。这样的负例 passage 可能是“Java is a high-level, class-based, object-oriented programming language.”。. 我们使用密集检索进行这种挖掘,即我们使用现有的文本嵌入模型之一并检索给定query 的相关passage。

  • 伪标签:在负例挖掘步骤中,我们检索到与query 实际相关的passage(如 “What is Python” 的另一个定义)。为了克服这个问题,我们使用 Cross-Encoder 对所有(query、passage)对进行评分。

训练:一旦我们有了三元组 (generated query, positive passage, mined negative passage) 和对 (query, positive) 、 (query, negative) 的评分的Cross-Encoder,我们就可以开始使用MarginMSELoss训练文本嵌入模型:
在这里插入图片描述

伪标记步骤非常重要,与之前的方法 QGen(《文本匹配——【NeurIPS 2021】BEIR》) 相比,它提高了性能,QGen 将 passages 视为正(1)或负(0)。正如我们在下图中看到的,对于生成query (“what is futures conrtact”),负例挖掘步骤检索与生成query 部分或高度相关的passages。使用 MarginMSELoss 和Cross-Encoder,我们可以识别这些 passages 并教导文本嵌入模型这些段落也与给定查询相关。

在这里插入图片描述
下表概述了 GPL 与自适应预训练(MLM 和 TSDAE)的比较。如前所述,GPL 可以与自适应预训练相结合:
在这里插入图片描述

最后

以上就是粗暴服饰为你收集整理的【NAACL 2022】GPL:用于密集检索的无监督域自适应的生成伪标记的全部内容,希望文章能够帮你解决【NAACL 2022】GPL:用于密集检索的无监督域自适应的生成伪标记所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部