PairSupCon:用于句子表示的成对监督对比学习 《Pairwise Supervised Contrastive Learning of Sentence Representations》

oders的数据增强方法【自然语言处理】【向量表示】PairSupCon:用于句子表示的成对监督对比学习

一、简介

学习高质量的句子嵌入是nlp 短语文字排序 nlp句子_自然语言处理中的基础任务。目标是在表示空间中将相似句子映射在相近的位置,将不相似的句子映射至较远的位置。近期的研究通过在nlp 短语文字排序 nlp句子_对比学习_02数据集上训练取得了成功,该数据集上的任务是将句子对分类为三种类别中的一种:entailmentcontradiction或者neutral

尽管结果还不错,但先前的工作都有一个缺点:构成contradiction对的句子可能并需要属于不同的语义类别。因此,通过优化模型来区分entailmentcontradiction,对于模型编码高级类别概念是不足够的。此外,标准的siamese(triplet)损失函数仅能从独立的句子对nlp 短语文字排序 nlp句子_对比学习_03中学习,其需要大量的训练样本来实现有竞争力的效果。siamese损失函数有时能够将模型带入糟糕的局部最优解,其在高级语义概念编码上的效果会退化。

在本文中,受到自监督对比学习的启发,并提出了联合优化具有实例判别nlp 短语文字排序 nlp句子_nlp 短语文字排序_04的成对语义推理目标函数。作者将该方法称为nlp 短语文字排序 nlp句子_nlp 短语文字排序_05。正如最近的一些研究工作所提及的,instance discrimination learning能够在没有任何明确指导的情况下将相似实例在表示空间中分组在附近。nlp 短语文字排序 nlp句子_对比学习_06利用这种隐含的分组作用,将同一类别的表示集合在一起,同时增强模型的语义entailmentcontradiction推理能力。

虽然先前的工作主要专注在语义相似度的两两评估上。在本文中,作者认为将高级语义概念编码至向量表示中也是一种重要的评估方面。先前在语义文本相似度任务nlp 短语文字排序 nlp句子_nlp 短语文字排序_07上表现最好的模型会导致类别语义结构嵌入的退化。另一方面,更好的捕获高层次的语义概念能够反过来促进在低级别语义entailmentcontradiction推理的效果。这个假设与人类从上至下进行分类相一致。nlp 短语文字排序 nlp句子_对比学习_06在8个短文本聚类任务中实现了平均10%-13%的改善,并且在nlp 短语文字排序 nlp句子_nlp 短语文字排序_07任务上实现了5%-6%的改善。

二、方法

遵循nlp 短语文字排序 nlp句子_自然语言处理_10,采用nlp 短语文字排序 nlp句子_自然语言处理_11nlp 短语文字排序 nlp句子_自然语言处理_12作为训练数据,并且为了方便将合并的数据称为nlp 短语文字排序 nlp句子_对比学习_02nlp 短语文字排序 nlp句子_对比学习_02数据由标注的句子对组成,并且每个样本的形式为:nlp 短语文字排序 nlp句子_nlp 短语文字排序_15。每个nlp 短语文字排序 nlp句子_nlp 短语文字排序_16句子都是从现有的文本源中选择的,并且每个nlp 短语文字排序 nlp句子_nlp 短语文字排序_16都会个各种人工标注的nlp 短语文字排序 nlp句子_向量表示_18句子组成一对。每个nlp 短语文字排序 nlp句子_机器学习_19都表示nlp 短语文字排序 nlp句子_向量表示_18的类型以及分类关联的nlp 短语文字排序 nlp句子_nlp 短语文字排序_16nlp 短语文字排序 nlp句子_向量表示_18句子对的语义关系为三个类型:nlp 短语文字排序 nlp句子_对比学习_23nlp 短语文字排序 nlp句子_向量表示_24nlp 短语文字排序 nlp句子_机器学习_25

先前的工作会在nlp 短语文字排序 nlp句子_对比学习_02上独立优化siamese loss或者triplet loss。作者的目标是利用判别学习中的隐式分组效应来更好的捕获数据的高级类别语义结构,同时促进在低级别语义文本entailmentcontradiction推荐目标的更好收敛。

1. 实例判别(nlp 短语文字排序 nlp句子_自然语言处理_27)

作者利用nlp 短语文字排序 nlp句子_对比学习_02的正样本对nlp 短语文字排序 nlp句子_nlp 短语文字排序_29来优化实例级判别目标函数,其尝试将每个正样本对与其他的句子拉远。令nlp 短语文字排序 nlp句子_nlp 短语文字排序_30表示随机采样的minibatch,其中nlp 短语文字排序 nlp句子_向量表示_31表示entailment或者contradiction。对于正样本对nlp 短语文字排序 nlp句子_向量表示_32中的premise句子nlp 短语文字排序 nlp句子_nlp 短语文字排序_33,这里的目标是将hypothesis句子nlp 短语文字排序 nlp句子_nlp 短语文字排序_34与同一个batch nlp 短语文字排序 nlp句子_自然语言处理_35中的nlp 短语文字排序 nlp句子_自然语言处理_36个句子分开。具体来说,令nlp 短语文字排序 nlp句子_自然语言处理_37表示nlp 短语文字排序 nlp句子_自然语言处理_35中的样本对应的索引,最小化下面的损失函数:
nlp 短语文字排序 nlp句子_机器学习_39
在上面的等式中,nlp 短语文字排序 nlp句子_nlp 短语文字排序_40表示实体判断头的输出,nlp 短语文字排序 nlp句子_自然语言处理_41表示温度参数,nlp 短语文字排序 nlp句子_自然语言处理_42cosine相似的,即nlp 短语文字排序 nlp句子_自然语言处理_43。等式(1)能够被解释了用于分类nlp 短语文字排序 nlp句子_对比学习_44nlp 短语文字排序 nlp句子_对比学习_45的分类损失函数的softmax

类似地,对于hypothesis句子nlp 短语文字排序 nlp句子_机器学习_46,这里尝试从nlp 短语文字排序 nlp句子_自然语言处理_35中所有其他句子中判别premise句子nlp 短语文字排序 nlp句子_nlp 短语文字排序_33。因此,定义对应的损失函数nlp 短语文字排序 nlp句子_向量表示_49为等式(1)中交换实例nlp 短语文字排序 nlp句子_机器学习_46nlp 短语文字排序 nlp句子_nlp 短语文字排序_33的角色。总的来说,最终的损失函数为平均nlp 短语文字排序 nlp句子_自然语言处理_35中的所有正样本。
nlp 短语文字排序 nlp句子_nlp 短语文字排序_53
这里,nlp 短语文字排序 nlp句子_对比学习_54表示指示函数,nlp 短语文字排序 nlp句子_向量表示_55nlp 短语文字排序 nlp句子_自然语言处理_35中的正样本数量。优化上面的损失函数不但有助于将类别语义信息隐含编码至向量表示中,也能够更好的促进成对语义推理能力。

2. 难负样本学习

等式(1)可以被重写为
nlp 短语文字排序 nlp句子_nlp 短语文字排序_57
其可以被看作是对标准triplet loss的扩展,通过将minibatch内的nlp 短语文字排序 nlp句子_自然语言处理_36个样本作为负样本。然而,负样本是从训练数据中均匀采样的,其忽视了这些样本包含的信息量。理想情况下,应该将那些来自不同语义组但是映射接近的难负样本分开。虽然在nlp 短语文字排序 nlp句子_对比学习_02中没有类别级的监督,但是可以通过下面的方法近似负样本的重要度。
nlp 短语文字排序 nlp句子_机器学习_60
这里,nlp 短语文字排序 nlp句子_机器学习_61,其能够被解释为针对nlp 短语文字排序 nlp句子_对比学习_44nlp 短语文字排序 nlp句子_自然语言处理_63在所有nlp 短语文字排序 nlp句子_机器学习_64个负样本的相对重要度。该重要度是基于假设:难负样本是那些在表示空间上与nlp 短语文字排序 nlp句子_对比学习_44更接近的样本。

3. Entailment and Contradiction Reasoning

实例判别损失函数主要是用于将正样本对从其他样本对中分离出来,但并没有明确的强制来判别contradictionentailment。为了这个目的,联合优化成对entailmentcontradiction推理目标函数。这里采用基于softmax的交叉熵损失函数来形成成对分类目标函数。令nlp 短语文字排序 nlp句子_nlp 短语文字排序_66代表句子nlp 短语文字排序 nlp句子_nlp 短语文字排序_33的向量表示,对于每个标注的句子对nlp 短语文字排序 nlp句子_对比学习_68,最小化下面的损失函数

nlp 短语文字排序 nlp句子_机器学习_69
这里nlp 短语文字排序 nlp句子_机器学习_70表示线性分类头,nlp 短语文字排序 nlp句子_nlp 短语文字排序_71是交叉熵损失函数。不同于先前的工作,本工作将neural样本对从原始训练集中移除,并专注在语义entailmentcontradiction的二分类问题上。这样做的动机是:neural可以通过实例判别损失函数来捕获。因此,这里移除了neural样本对来nlp 短语文字排序 nlp句子_对比学习_06的两种损失函数的复杂性,并改善学习效率。

  • 总的损失函数
    nlp 短语文字排序 nlp句子_nlp 短语文字排序_73
    其中,nlp 短语文字排序 nlp句子_nlp 短语文字排序_74nlp 短语文字排序 nlp句子_向量表示_75,nlp 短语文字排序 nlp句子_nlp 短语文字排序_76由等式(4)和等式(3)定义。在等式(5)中,nlp 短语文字排序 nlp句子_对比学习_77是一个平衡超参。

三、实验

nlp 短语文字排序 nlp句子_自然语言处理_78

nlp 短语文字排序 nlp句子_机器学习_79