• 文本匹配——【NAACL 2022】GPL


    论文地址: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 可以与自适应预训练相结合:
    在这里插入图片描述

  • 相关阅读:
    VSCode激活conda虚拟环境遇到的问题处理方法
    谷歌云的利润增长才刚刚开始
    Springboot中RestTemplate的用法
    Vue中的SSR 服务端渲染技术概述
    Dobot机械臂的Python Demo
    微信定时发圈,让你轻松管理朋友圈!
    Ant Design Pro删除国际化时错误的解决
    GAN 生成对抗神经网络
    ajax与python flask之间的表单数据传输
    消防应急照明和疏散指示系统在城市隧道中的应用
  • 原文地址:https://blog.csdn.net/u011239443/article/details/125101215