0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SimANS:简单有效的困惑负样本采样方法

深度学习自然语言处理 来源:RUC AI Box 2023-03-03 10:56 次阅读

本文介绍了本小组发表于EMNLP2022 Industry Track的论文SimANS,其设计了一简单有效的通用困惑负样本采样方法,在5个数据集上提升了SOTA的稠密检索模型的效果。

论文下载地址:https://arxiv.org/pdf/2210.11773.pdf

论文开源代码:https://github.com/microsoft/SimXNS

前言

在各类检索任务中,为训练好一个高质量的检索模型,往往需要从大量的候选样本集合中采样高质量的负例,配合正例一起进行训练。已有的负采样方法往往采用随机采样策略(Random Sampling)或直接基于该检索模型自身选择Top-K负例(Top-K Hard Negative Sampling),前者易得到过于简单的样例,无法为模型训练提供足够信息;后者很可能采样得到假负例(False Negative),反而干扰模型训练。本文针对稠密检索场景,通过一系列基于负例梯度的实验对随机采样和Top-K采样两种方式导致的问题进行分析,发现前一种负例产生的梯度均值较小、后一种负例产生的梯度方差较大,这两者都不利于检索模型训练。此外,以上实验还发现,在所有负例候选中,与Query的语义相似度接近于正例的负例可以同时具有较大的梯度均值和较小的梯度方差,是更加高质量的困惑负样本。因此我们设计了一个简单的困惑负样本采样方法SimANS,在4个篇章和文档检索数据集,以及Bing真实数据集上均成功提升了SOTA模型的效果,且该方法已经应用于Bing搜索系统。

一、研究背景与动机

1、稠密检索

给出用户的查询Query,检索任务关注于从大量的候选文档集中检索最相关的Top-K文档。随着近年来文本表示方法的发展,稠密检索任务开始成为该任务的主流方法,其通常采用一双塔模型架构,分别将查询Query和候选Document转换成低维的稠密表示,然后基于Query和Document稠密表示的点积来预测两者的语义相关性,并依此进行候选文档的排序。这一计算方式支持ANN等方法加速,故可以推广到千万级别文档的查询。

近年来,由于预训练语言模型的出现,已有的稠密检索方法往往采用预训练语言模型作为Query和Document的Encoder,然后将其编码后生成的[CLS]表示作为其稠密表示。

2、负采样方法

为训练该稠密检索模型,已有方法通常基于一对比学习训练目标,即拉近语义一致的Query和Document的表示(Positive),并推远语义无关的Document(Negative)。由于在大量的候选文档集中,大量的文档都是语义无关的,故需要采用一合适的负采样方法,从中选择高质量的负例来进行训练,依此减少需要的负样本数量。

2.1.随机负采样

该类方法直接基于一均匀分布从所有的候选Document中随机抽取Document作为负例,这一过程中由于无法保证采样得到的负例的质量,故经常会采样得到过于简单的负例,其不仅无法给模型带来有用信息,还可能导致模型过拟合,进而无法区分某些较难的负例样本。

2.2.Top-K负采样

该类方法往往基于一稠密检索模型对所有候选Document与Query计算匹配分数,然后直接选择其中Top-K的候选Document作为负例。该方法虽然可以保证采样得到的负例是模型未能较好区分的较难负例,但是其很可能将潜在的正例也误判为负例,即假负例(False Negative)。如果训练模型去将该部分假负例与正例区分开来,反而会导致模型无法准确衡量Query-Document的语义相似度。

二、先导实验

1、理论分析不同负例训练时对梯度的影响

以稠密检索常用的BCE loss为例,正例与采样的负例在计算完语义相似度分数后,均会被softmax归一化,之后计算得到的梯度如下所示:

上式中是经过softmax归一化后的语义相似度分数。对于随机采样方法,由于其采样得到的负例往往过于简单,其会导致该分数接近于零,,进而导致其生成的梯度均值也接近于零,,这样过于小的梯度均值会导致模型不易于收敛。对于Top-K采样方法,由于其很容易采样得到语义与正例一致的假负例,其会导致正负样本的右项值相似,但是左项符号相反,这样会导致计算得到的梯度方差很大,同样导致模型训练不稳定。

2、实验验证不同负例的梯度与语义相似度关系

我们基于SOTA的稠密检索模型AR2,在MS-MARCO数据集上,首先计算候选Document与Query的语义相似度分数,然后将这些Document进行排序,并计算其梯度的均值与方差。如下图所示,我们可以看到实验结论与以上分析一致,排名靠前的Top-K负例产生的梯度均值和方差均很大;而排名靠后的负例产生的均值和方差均很小,两者不能很好的平衡大均值和小方差这两个很重要的负例性质。作为对比的是,与正例语义相似度接近的负例往往能够同时取得较大的梯度均值和较小的梯度方差,有利于模型训练。我们将其命名为困惑样本(既不过于难又不过于容易区分),并关注于对其进行采样。

7bed60ce-b91e-11ed-bfe3-dac502259ad0.png

三、SimANS:简单的困惑样本采样方法

基于上述实验,我们考虑对与正例语义相似度接近的困惑负例样本进行采样。故设计的采样方法应该具有以下特点:(1)与Query无关的Document应被赋予较低的相关分数,因其可提供的信息量不足;(2)与Query很可能相关的Document应被赋予较低的相关分数,因其可能是假负例;(3)与正例语义相似度接近的Document应该被赋予较高的相关分数,因其既需要被学习,同时是假负例的概率相对较低。

7c0827e2-b91e-11ed-bfe3-dac502259ad0.png

困惑样本采样分布

通过以上分析可得,在该采样分布中,随着Query与候选Document相关分数和与正例的相关分数的差值的缩小,该候选Document被采样作为负例的概率应该逐渐增大,故可将该差值作为输入,配合任意一单调递减函数即可实现(如)。故可设计采样分布如下所示:

其中为控制该分布密度的超参数,为控制该分布极值点的超参数,是一随机采样的正例样本,是Top-K的负例。通过调节K的大小,我们可以控制该采样分布的计算开销。以下为该采样方法具体实现的伪代码:

7c17d3fe-b91e-11ed-bfe3-dac502259ad0.png

四、实验结果

1、主实验

我们在4个公开的文档检索数据集上进行实验,分别是Natural Question(NQ)、Trivia QA(TQ)、MS-MARCO Passage Ranking(MS-Pas)和MS-MARCO Document Ranking(MS-Doc)数据集;同时还在Bing真实工业数据集上进行实验,实验结果如下表所示。通过对比可以清晰地看出我们的方法可以提升SOTA的AR2模型的效果,进一步领先其他模型。

7c4138fc-b91e-11ed-bfe3-dac502259ad0.png

7c5b1506-b91e-11ed-bfe3-dac502259ad0.png

2、该负采样方法的通用性

我们还在RocketQA和ANCE这两个经典的稠密检索模型上实现了我们提出的SimANS方法,来提升这些模型的性能。可以看出,在采用该方法之后,以上两个模型的的表现都超过了原始模型,证明了我们提出的方法的通用性。

7c70fa74-b91e-11ed-bfe3-dac502259ad0.png

3、负采样分布的可视化

在实验的最后,我们将SimANS得到的采样分布制作成图,可以看到我们的采样分布函数确实能够惩罚过于难和过于简单的负例,并保证与正例的语义相似度接近的负例的采样概率较大。实现了我们的设计初衷。

7c87cb32-b91e-11ed-bfe3-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 参数
    +关注

    关注

    11

    文章

    1747

    浏览量

    32015
  • 语言模型
    +关注

    关注

    0

    文章

    497

    浏览量

    10236
  • 数据集
    +关注

    关注

    4

    文章

    1200

    浏览量

    24613

原文标题:EMNLP2022 | SimANS:简单有效的困惑负样本采样方法

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    机器学习的5种采样方法介绍

    一种广泛采用的处理高度不平衡数据集的技术称为重采样。它包括从多数类(欠采样)中删除样本或向少数类(过采样)中添加更多示例。
    发表于 05-17 09:53 5645次阅读

    PCB接地设计宝典4:采样时钟考量和混合信号接地的困惑根源

    的噪声源来自rms采样时钟抖动tj。通过简单示例可知,如果tj = 50 ps (rms),f = 100 kHz,则SNR = 90 dB,相当于约15位的动态范围。应注意,以上示例中的tj 实际上
    发表于 11-20 10:58

    怎么使用UART向PC发送数字样本

    你好,我正在研究我们的语音信号,并使用UART向PC发送这些数字样本,并使用超终端在PC中进行采集。问题是我丢失了很多样品。对于16000个BPS采样率,我只收集每秒1600个样本。我没有使用DMA
    发表于 04-28 10:28

    一种先分割后分类的两阶段同步端到端缺陷检测方法

    作者:SFXiang首发:AI算法修炼营本文是一种端到端的先分割后分类的表面缺陷检测方法。主要的创新点在于如何将两类任务更好地进行同步学习,本文首先平衡分割损失和分类损失,然后对样本采样
    发表于 07-24 11:01

    有什么简单可行的方法可以实现压输出呢

    BUCK电路的接法是怎样的?有什么简单可行的方法可以实现压输出呢?
    发表于 11-03 07:16

    测量功率二极管的反向恢复时间简单有效方法

    测量功率二极管的反向恢复时间简单有效方法 在互联网上很少看到测量二极管的反向恢复时间(trr and Irr)简单有效
    发表于 11-11 09:48 101次下载

    什么是采样频率?什么叫采样频率

    什么是采样频率?什么叫采样频率 采样频率:即取样频率,指每秒钟取得声音样本的次数.它的采样频率越高,声音的
    发表于 05-04 19:42 2.1w次阅读
    什么是<b class='flag-5'>采样</b>频率?什么叫<b class='flag-5'>采样</b>频率

    入侵检测样本数据优化方法

    ,分析了算法的时间复杂度。实验结果表明,该方法有效减少数据信息损失,具有迭代次数少、收敛速度快等优点,可有效提高入侵检测样本数据的优化效率。
    发表于 02-26 10:29 0次下载

    经典的采样方法有哪些?

    可以看到蒙特卡洛法其实就是按一定的概率分布中获取大量样本,用于计算函数在样本的概率分布上的期望。其中最关键的一个步骤就是如何按照指定的概率分布 p 进行样本采样,抛硬币这个 case
    的头像 发表于 07-09 09:43 1.4w次阅读
    经典的<b class='flag-5'>采样</b><b class='flag-5'>方法</b>有哪些?

    基于构造性覆盖算法的过采样技术CMOTE

    如何提高对少数类样本的识别能力是不平衡数据分类中的一个研究热点。合成少数类过采样技术( SMOTE)是解决此类问题的代表性方法之一。近年来,不少研究者对 SMOTE做出了一些改进,较好地提高了该
    发表于 04-12 16:09 5次下载
    基于构造性覆盖算法的过<b class='flag-5'>采样</b>技术CMOTE

    一种从患者血液样本有效分离异质性CTCs的简单、广谱的方法

    针对上述挑战,中国科学院苏州纳米所裴仁军研究团队利用单宁酸(TA)功能化磁性纳米颗粒(MNPs),建立了一种从患者血液样本有效分离异质性CTCs的简单、广谱的方法
    的头像 发表于 06-11 09:19 2045次阅读
    一种从患者血液<b class='flag-5'>样本</b>中<b class='flag-5'>有效</b>分离异质性CTCs的<b class='flag-5'>简单</b>、广谱的<b class='flag-5'>方法</b>

    基于有效样本的类别不平衡损失

    导读 使用每个类的有效样本数量来重新为每个类的Loss分配权重,效果优于RetinaNet中的Focal Loss。 本文综述了康奈尔大学、康奈尔科技、谷歌Brain和Alphabet公司的基于有效
    的头像 发表于 08-16 11:14 1883次阅读
    基于<b class='flag-5'>有效</b><b class='flag-5'>样本</b>的类别不平衡损失

    融合零样本学习和小样本学习的弱监督学习方法综述

    融合零样本学习和小样本学习的弱监督学习方法综述 来源:《系统工程与电子技术》,作者潘崇煜等 摘 要: 深度学习模型严重依赖于大量人工标注的数据,使得其在数据缺乏的特殊领域内应用严重受限。面对数据缺乏
    发表于 02-09 11:22 2192次阅读
    融合零<b class='flag-5'>样本</b>学习和小<b class='flag-5'>样本</b>学习的弱监督学习<b class='flag-5'>方法</b>综述

    双塔模型扩量样本方法比较

    双塔模型在训练时是对一个batch内样本训练。一个batch内每个样本 (user和item对)为正样本,该user与batch内其它item为
    的头像 发表于 07-08 10:57 1131次阅读

    基于有效样本数的类平衡损失

    本文综述了康奈尔大学、康奈尔科技、谷歌Brain和Alphabet公司的基于有效样本数的类平衡损失(CB损失)。
    的头像 发表于 08-25 09:41 1166次阅读