赞
踩
从文中的摘要中,文中给出了研究的目标缩减learning objective 和 evaluation metric之间的gap
现在已有的在摘要抽取上的方法是以sequence 2 sequence 为主的学习框架,在这个框架下,一般是采用极大似然估计作为损失函数更新模型参数(maximum likelihood estimation——MLE training)
MLE training存在的问题:MLE training is short for maximum likelihood estimation training. It is a standard training algorithm for abstract ive summarization models. It aims to learn a neural model that maximizes the probability of generating summaries that match the ground truth summaries given by human annotators². However, MLE training may have some limitations, such as exposure bias, mismatched evaluation metrics, and lack of diversity³. This is from web search results¹²³. (这里面的exposure问题,作者在论文中也强调了,在test 阶段,这个模型需要自回归形式产生输出,这意味着在之前步骤中犯下的错误会被累积。
这就导致train和test阶段产生了gap,这个gap被认为是exposure bias.)
然后,这篇文章是将这个问题建模为reference-free的评估问题。
模型结构图如下:
两阶段的模型:有一个generation model (生成candidate summary)和一个evaluation model (score 和select the best candidate)。
具体如下:
seq2seq模型会首先被训练生成候选candidate summary,使用的是MLE loss,也就是极大似然函数。produce multiple candidate summaries S1, · · · , Sn with a sampling strategy such as Beam Search
然后会使用evaluation model重排生成的candidates 使用对比学习。The high level idea is that a better candidate summary Si should obtain a higher quality score,这个score的计算是通过衡量generated candidates和documents之间的相似性来得到的,相似度的衡量是使用了sentences的first tokens的encoding来计算的。最终是选择具有最高分值的summary作为输出。
assign different scores r1, · · · , rn to the generated candidates solely based on the
similarity between the source document and the candidate Si, i.e., ri = h(Si, D).
那么,问题来了,这篇文章的对比学习体现在了哪?
文章指出,相比于之前的研究显示构建正负例的方式,这篇文章使用了rank loss,下面这个公式,h是学习到的embedding表示。
** 数据集上**,选择了CNNDM (新闻文章数据集)和 Xsum(摘要抽取数据集包含的是online article)
评估矩阵(evaluation metric),Rouge 、bertscore和moverscore
训练细节上,模型使用的是transformer结构,然后使用的beam search方法来generate summary。模型的优化器使用的是Adam。
模型的ablation study部分:
(1)实体级别的,模型在摘要中的实体方面的识别效果
(2)句子级别的,比较了论文中方法下生成的摘要和其他方法生成的摘要之间的优势。
(3)positional bias 的分析上
这篇文章是做的摘要生成任务,最关键的一点,我觉得还是论文定位的问题,论文能够发现现有的方法的不足,是一个点,然后针对这个点去做的改进。
在论文的对比学习的设置上,没有按照前人的那种方法,构建正负实例,然后计算constractive loss的方式。而是,在计算出sim的前提下,使用rank loss来对所有的candidates做排序。更直白一点,**之前的constrctive loss 更多是使用分数形式,而论文的rerank loss是使用的减法形式。**我觉得这一点也有些新意。
A key challenge of OOD detection is to learn discriminative semantic features. T
传统的方法是在判断sample是否被正确classification的时候,只区分了每个sample的类别,但是没有对sample之间的距离做正确的distinguish。
这篇文章提出了监督条件下的对比学习。还是使用的对比学习的目标,是最小化intra-class之间的距离,最大化不同的类别之间的距离。
还有一点是提出了数据增强的机制,augmentation mechanism。(文章提出的数据增强是在使用adversary attack mechanism来获得pseuso hard positive samples)
这篇文章的目标是什么?
we aim to pull intents belonging to the same class together while simultaneously pushing apart samples from different classes to further model discriminative semantic features
任务形式:这篇文章是在OOD detection任务中完成的相关的实验方法的探究,OOD是detect out-of-domain 或者unknown intents from user queries.
It aims to know when a user query falls outside their range of predefined supported intents to avoid performing wrong operations.
相关工作:
OOD任务可以分为两种,一种是supervise的 OOD detection (在数据集中有OOD的samples,一般建模为N+1的分类问题,最后一个1 表示的就是不在相应的类别中的那个),一种是unsupervised OOD detection(在数据集中没有OOD的samples,这种情况我感觉有些难度,unsupervised OOD detection first learns discriminative intent representations via in-domain (IND) data, then employs detecting algorithms, such as Maximum Softmax
Probability (MSP) (Hendrycks and Gimpel, 2017), Local Outlier Factor (LOF) (Lin and Xu, 2019), Gaussian Discriminant Analysis (GDA) (Xu et al.,2020) to compute the similarity of features between
OOD samples and IND samples。所以对于unsupervised OOD detection 的核心是:让IND找那个的examples的discrimination semantic feature更加紧密,从而区别OOD的samples).
文章的模型架构图如下图,两个损失函数,一个是cross entropy loss ,一个是对比学习损失函数。右图是可能实现的效果,在只有CE的情况下,只能做每个类别之间的区分,但是,不能获得更优质的语义表示,而加上对比学习后,可以让语义更接近的samples在语义空间中更聚拢。
(1)损失函数上
交叉熵损失函数 (original cross entropy loss):
original 交叉熵损失函数的改进版本 large margin cosine loss(LMCL):
对比学习的损失函数:
**在模型训练过程中,**首先在intent classifier上使用SCL,然后finetune模型使用CE或者LMCL损失函数。
(2)数据增强上
文章是打算使用对抗攻击产生一些pseudo positive samples来生成对比学习的多样化视角。
攻击是为了让损失函数的值变大,这里需要考虑的是交叉熵损失函数。
然后对抗攻击的类别上,选择是FGV,fast gradient value。
对抗训练来增强representation的表示,模型是直接在embedding上的加的对抗扰动。
(1)数据集
数据集采用的两个benchMark的OOD数据集,CLINC-Full and CLINC-Small,然后是使用的两个IND metrics ,一个是ACC,一个是F1值。
(2)模型的训练过程
在pre-train阶段首先使用SCL做的classifier的预训练。
然后是fine tune模型使用的CE和LMCL。
(3)Ablation study
1、IND feature distribution :**第一个实验:**将测试集中每个具有相同意图标签的样本归一化表示的方差作为群组内方差的平均值,然后报告所有群组内方差的最小/最大/平均/中间值。通过比较方差的变化情况,来判断
SCL损失函数的作用。
**第二个实验:**我们平均每个类别(class)中心到其最近的k个班级中心之间的点积距离(dot product),然后平均所有class的结果作为inter-class的距离。
2、IND的training data size
这是作者发现的规律: with the decrease of training data size, the relative improvements gradually increase.
3、IND的Adversarial Perturbation Norm
4、IND的parameter analysis
分析了batch size 和representation dimension的有效性。
5、可视化的角度上,发现有效性
After SCL is added, the distance between similar classes is significantly expanded, and the data in the same classes are more closely clustered.
一般考虑的话,对比学习和对抗训练是两个方向的研究内容,前者是做的模型不变性(在图像中一般就是颜色不变、遮挡不变性等等),不管在哪个任务中,对比学习的目标只有一个,NLP中哈,就是让similarity的objects在语义空间中更接近,让dissimilarity的objects在representation space中的距离更远。
而对抗训练是让模型更有鲁棒性,一般是在representation中加入扰动,然后让模型对这种扰动保持不变或者稳健。
这篇论文是将对比学习和对抗训练结合起来了。
虽然OOD任务也是一个分类任务,但是确实传统的分类方法,没有考虑语义空间的表示,而只是给了一种切平面或者高维空间下的切平面,实现了分类,没有考虑怎么得到更加的representation。
这篇文章是解决这一个问题,所以,我觉得这篇文章最佳的考虑是先抓住了矛盾点
然后,很好的用对比学习解决了这点。
然后,还考虑了对抗训练,来增强模型的稳健性。
需要解决的任务是:在对话任务中选择合适的话语接下去的一种任务形式。
任务形式:如何学习得到更适合下游任务的sentence embedding?
论文围绕这个问题,提出了一种更适合dialogue 任务的表示学习方法,主要是在sentence embedding上,怎么得到更佳的表示(Dialogue Sentence Embedding (DSE)——自监督对比学习方法,DSE从对话中学习,将同一对话中的连续话语作为正对进行对比学习。)。
在介绍relate works中,这位作者同样提到了现在的researchers在对比学习中,正负例的构建方法,正例多是人工标注的或者通过data 安然股mention 得到的,而负例是在mini-batch中sample得到的。。These positive pairs can be either human-annotated or obtained through various data augmentations, while negative pairs are often collected through negative sampling in the mini-batch.
不过,也有一些其他的方法,比如SimCSE ,是通过dropout方法构建的positive pairs,通过架构一个sentence通过encoder两次得到两个different embedding。TOD-BERT将一个话语和对话中所有先前话语的串联作为一个正数对。
1、论文中的正例构建方法
将同一对话中的连续语词作为对比学习的积极配对(positive pairs)。论文中为了验证这种方式构建的正例的有效性,将论文中正例构建的方法,与dropout、dialogue-NLI这些构建正例的方式做了对比,证实这种正例下的有效性
2、论文中的constractive training
论文中在进行对比训练时,是将一个utterance将和他相邻的utterance视为相似,将不相邻的utterance或者属于其他的dialogues的视为dissimilar的。
每个sentence的semantic representation是通过mean pooling方式得到的。
对比学习中使用的还是 hard negative sampling strategy ,是将samples close to the anchor的赋予了较大的权重,在对这个操作的解释上如下: hard negative are more likely to occure among those that are located close to the anchor in the representation space. 公式表示如下。可以看出,αij表示实例xj在所有2M-2个否定词中优化锚点xi的对比损失的相对重要性。
最终的损失函数是:
DSE的评测是在下游的5个对话任务中完成的,five downstream dialogue task
预训练语言模型:bert、roberta、distilbert
**supervised条件下的学习:**使用的是NLI dataset来构建的positive pair 和 hard negative pair
unsupervised 条件下的学习: 是将对话中连续对话作为positive pair。
训练过程: different random seeds to independently construct multiple (See Table 1) few-shot train and validation sets from the original training data and use the original test data for performance evaluation.
tasks: 两种类型的任务,语词级(utterance-level)和对话级 (dialogue level)。语篇级任务以单个对话语篇为输入,而对话级任务以对话历史为输入。根据这两种任务类型,又可以细分为如下任务:
(1) intent classification:这是一种语词级任务,目的是为了将utterances归类到预定义的类别下。
(2)OOD任务:是为了detect sample是否是OOD的,偏离了某个主题。
(3)Utterance-level Response Selection:旨在从输入用户查询的候选库中找到最合适的响应。
(4)Dialogue-Level Response Selection:是一个对话级的任务。与 "句子级响应选择 "的唯一区别是,该任务中的查询是对话历史(例如,来自不同说话者的多个对话句子的串联)。
(5)Dialogue Action Prediction:鉴于最近的对话历史,预测适当的系统行动
Ablation study
在这部分,作者从几个方面做了研究:
(1)positive pairs的数量或者长度改变带来的影响;we construct positive pairs as:
(u1 [SEP] u2, u3), (u2 [SEP] u3, u4),
这篇文章主要关注点还是在于如何学习到一个更适合对话系统的语义表示。然后在下游任务中测评这种表示学习的有效性
所以,我觉得,好像归根还是在用对话学习的机制结合对比学习的机制,实现更好的semantic representation。
研究问题出发点:缺乏labeled task data
解决思路:缓解这一问题的方法之一是在微调前对未标记的任务数据进行后置训练,通过考虑符号级或序列级相似性的对比学习,使预训练模型适应目标领域。
新的问题来了,怎么实现对比学习?
token-level 和 sequence-level的相似度测评可以使用masked sequence 来实现,基于这一点,提出了complementary random masking 方式来实现post-training。
大概例子如上,就是虽然是两个sequence,但是这两个sequence是不同的mask策略形成的,然后,这两个sequence之间是相似的。
1、这篇文章研究出发点考虑的问题是:怎么得到更佳的语义表示,尤其是在标注数据稀缺的情形下。
在之前的一些工作中,方式有:(1)improve fine-tune process,such as introducing regularization, re-initializing top layers ,and using debiased Adam optimizer;还有一个发现到的点是: fine-tuning with a small learning rate and more finetuning epochs can also improve the situation;(2)additional data can be explored
在相似度问题上,有token-level的相似度和sentence-level的相似度。
很有意思的一点是,作者从相似度角度重新解释了mask language model的机理。预先训练好的语言模型,可以被认为是标记级的对比学习,因为它使"[MASK]"标记与掩蔽前的原始标记之间的相似度最大化,而与其他标记的相似度最小化。
2、对比学习正负例构建策略
在CV领域,Chen等人(2020)将源于同一图像的增强(例如,通过1735次随机裁剪、颜色失真和高斯模糊)图像作为正数对,并将其他的图像作为负数对。
在NLP中,BERT中的MLM可以被看作是标记层面的对比学习,它将**"[MASK]"和其掩蔽前的原始标记作为正面的一对,其余的作为负面的。**对于序列层面,利用回译来增加序列,或者,使用一些简单的变形操作,如删除、重新排序和同义词替换。将两个跨度构建为正数对,如果它们重叠、包涵或相邻的话,则视为正例,否则,视为负例。
**核心目标:**通过后期训练提高预训练模型在下游任务中的表现,特别是在标签数据有限的场景中。需要注意的一点是,作者希望从token-level 和 sequence-level两个角度考虑得到更佳的语义表示。
补充一点,在token-level上,使用的是MLM模型,在sequence-level上,使用的是CL——对比学习
**方法模型:**是使用random masking strategy 来生成 pair masked sequences来支持sentence-level的对比学习。
我们将一对被遮蔽的序列解耦,用T 0和T 1表示,并给它们分配不同的遮蔽概率pm和pc。具体来说,我们得到的T 0具有较小的屏蔽概率pm,T 1具有较大的概率pc。此外,为了避免一个词被两个序列掩蔽,从而削弱它们的相关性,我们提出了互补随机掩蔽(CRM),以产生一对互补的掩蔽序列,它们保持互补关系。
给定一批T={T1,T2,…,TB}的输入序列,我们首先对每个序列Tb应用动态随机掩码(DRM),生成一个掩码序列T 0 b,然后应用CRM K次,在T 0 b和Tb的基础上生成T1b,T2b,…,TKb。
模型结构图如上所示
对于同一个sequence,可以产生多种masked sequence 。这些masked sequences之间是相似的,因此,可以使用CL(对比损失函数)来实现,而对于MLM本身的mask,可以通过MLM loss来完成mask的预测。
token level的mask的表示学习上:
在token level层次的similarity 测评上,是使用H0来计算的loss值:
SimCLR对比学习函数,公式如下:
论文中提出的SImSiam相似度测评函数如下:
MLM captures token-level similarity and LCL captures sequence-level similarity.
(1)实验任务: (1) single sentence tasks: CoLA and SST-2; (2) similarity and paraphrase
tasks: MRPC, QQP, and STS-B; (3) inference tasks: MNLI, QNLI, RTE, and WNLI.
(2)在few-shot实验任务上,根据最近的工作(Gunel等人,2021),我们分别从这些任务中随机选择20、100和1000个例子作为我们的训练集。对于每个任务中的每个子集,我们用替换法取样5次,得到每个任务的15个训练集。
这篇文章的研究出发点,我觉得有点奇怪。 为了研究小的扰动造成的语义影响,我们进行了一系列试点实验,并出人意料地发现,对抗性训练对模型检测这些语义变化毫无用处,甚至有害——我们观察到,虽然提高了PLM对对抗性攻击的鲁棒性,但在对比性例子上的表现却下降了。
论文中提出了Contrastive Learning with semantIc Negative Examples (CLINE) ,它在无监督的情况下构建语义上的负面例子,以提高在语义对抗性攻击下的稳健性。
论文的目标——constractive objective:CLINE的直觉是准确地预测当原始句子被修改时,语义是否发生了变化。在考虑对比学习时,是使用的[CLS]作为的句子的embedding表示。
对抗训练的目标是keep the label unchanged when input has small changes.
然而,由于自然语言的离散性,在许多情况下,小的扰动会引起句子语义的重大变化。
word-level adversarial attack model to construct adversarial examples
(2)实验数据集
IMDB——情感分析数据集,预测电影评论的情感是positive 还是 negative的。
SNLI——NLI dataset,是一个自然语言处理推理数据集,来判断两个句子之间的关系,是中立、矛盾还是蕴含。
(1)数据集的产生
CLINE,我们使用外部语义知识,即WordNet(Miller,1995),通过无监督地替换少数特定的表征来产生对抗性和对比性的例子。
通过 replaced token detection 和 constractive objective,我们的方法收集了具有可理解语义的相似句子和具有不同甚至相反语义的分散句子,同时提高了PLM的稳健性和语义敏感性。
在创建positive pairs 和 negative pairs,是使用的同义词典和反义词典实现的。
定义合适的positive 和 negative pairs . 我们将语义相同的句子视为正对,将语义相反的句子视为负对。一些方法会尝试使用数据增强(如同义词替换、回译等)以产生positive的实例
在创建负例上,使用的是反义词词典替换句子中的代表词,直观地说,当我们用反义词替换句子中的代表词时,句子的语义很容易与原句无关,甚至相反。我们从原始输入序列x ori中生成两个句子,这两个句子表达的语义基本不同,但几乎没有不同的词。
在模型训练时,有两个objective,
一个是使用MLM objective,通过预测MLM 位置的mask,重构sequence 序列;
一个是使用replaced token detection objective——RTD,我们为两个生成的序列采用了一个额外的分类器C,并通过进行双向分类与sigmoid输出层来检测哪些标记被替换。
还有一个是contrastive objective,采用[CLS]的嵌入作为对比性目标的句子表示。句子表征之间的度量被计算为[CLS]嵌入之间的点积
总的损失函数——training loss:
情感分析、推理、阅读理解任务中——sentiment analysis, reasoning and reading comprehension tasks.
(1)IMDB:情感分析数据集
(2)SNLI:NLI datasets
(3)PERSPECTRUM:预测一个相关的观点是否支持/反对给定的主张
(4)BoolQ: a dataset of reading comprehension instances with boolean (yes or no) answers
(5)AG: a sentencelevel classification with regard to four news topics: World, Sports, Business, and Science/Technology.
(6)MR:sentiment classification on positive and negative movie reviews.
这篇论文是在对比学习的思想,来尽可能的获得更佳的语义表示,进而可以在little perturbations的敏感。
无监督对比学习是指只使用未标注的数据来训练模型,例如SimCSE¹和DeCLUTR²。这种设置的优点是可以利用大量的文本数据来提高模型的泛化能力和语义理解能力。缺点是可能无法捕捉到特定任务或领域的信息。
有监督对比学习是指使用标注的数据来训练模型,例如Sentence-BERT³。这种设置的优点是可以针对特定任务或领域来优化模型的性能和效率。缺点是需要更多的人工标注成本和计算资源。
因此,在NLP相关的对比学习中,为了评估模型在不同场景下的表现,需要在无监督和有监督两种设置上做测试。
总的来看,研究的不足在于,bert这些PLM学习到的语义表示在语义空间中是折叠的,导致在计算similarity等时,得到的一种糟糕的效果。
这篇文章的研究出发点还是考虑到了本地获得的语义表示是不良的,导致了模型在STS任务中,呈现了糟糕了表现。(本地派生的句子表征是崩溃的,BERT衍生的本地句子表征在某种程度上是折叠的(Chen and He, 2020),这意味着几乎所有的句子都被映射到一个小区域,因此产生了高相似度。因此在语义文本相似性(STS)任务上产生了糟糕的表现。)
然后,这篇文章提出了a Contrastive Framework for Self-Supervised SEntence Representation Transfer。
使用对比学习——contrastive learning ** 微调bert。同时这篇文章也提出了数据增强策略**,data argumentation strategy.
核心思想:通过鼓励来自同一句子的两个增强的观点更接近,同时让来自其他句子的观点远离,我们重塑了BERT衍生的句子表示空间,并成功解决了崩溃问题
By encouraging two augmented views from the same sentence to be closer while keeping views from other sentences away, we reshape the BERT-derived sentence representation space and successfully solve the collapse issue
在对比学习的数据增强上,比如回译技术。
在其他使用对比学习模型的示例上,有CLUTR,采用SimCLR的架构,以对比性目标和遮蔽性语言模型目标共同训练模型。
在D(dataset)上对M(model)进行微调,使句子的表述与任务更相关,并适用于下游的任务。
模型的主要结构如下图所示:
(1)data argumentation module
在这里是使用token shuffle (shuffle the order of the tokens in the input
sequences——passing the shuffled position ids to the embedding layer while keeping the order of the
token ids unchanged.)、cut off 、dropout等策略做的数据增强。
(2) average pooling of the token embeddings at the last layer
(3) constractive loss layer
数据增强策略: token shuffle 、cut off 、dropout
在NLI supervision数据集上,为例,做的监督学习。
融入supervision signals的方法:
(1)joint training:Ljoint = Lce + αLcon
(2)Supervised training then unsupervised transfer (sup-unsup):first train the model
with Lce on NLI dataset, then use Lcon to finetune it on the target dataset.
(3)Joint training then unsupervised transfer (joint-unsup):first train the model with
the Ljoint on NLI dataset, then use Lcon to fine-tune it on the target dataset
(1) Bert embedding space 的analysis
(2)Effect of Data Augmentation Strategy ——None (i.e. doing nothing), Shuffle, Token Cutoff,Feature Cutoff, and Dropout (作者也通过实验分析,得到:Shuffle and Token Cutoff are the two most effective strategies; Feature Cutoff and Dropout also improve performance by roughly 4 points when compared with the None-None baseline)
(3) Performance under Few-shot Settings
(4)Influence of Batch Size
DiffCSE学习的句子嵌入对原始句子和编辑过的句子之间的差异很敏感,其中编辑过的句子是通过随机屏蔽掉原始句子,然后从被屏蔽的语言模型中取样得到的。
Gao 等人发现构建positive pairs,通过简单的dropout的方法优于以往的偏复杂的数据增强方法,比如Word deletion、replacement、或者基于同义词或者反义词词典替换的。
这篇文章是在7个STS任务和7个transfer任务上做的实验。
下图是整个的模型结构,左图是将sentence通过sentence encoder得到相应的semantic representation ,然后右图,是将mask的sentence,通过generator完成mask的predict,然后对predict之后的sentence做embedding,得到相应的semantic representation.
对这两种方式得到的representation做对比学习,constractive loss。
在右图中做的是replaced token detection loss。
模型的左图使用的是SimCSE,对应的模型的损失函数如下:
模型的右图是在做MLM
其中包含一个发生器和一个鉴别器。给定一个长度为T的句子,x = [x(1), x(2), …, x(T) ] ,我们首先在x上应用一个随机掩码m = [m(1), m(2), …, m(T) ] ,m(t)∈ [0, 1] ,得到x 0 = m-x。我们使用**另一个预训练的MLM作为生成器G,进行掩码语言建模,恢复x 0中的随机掩码,得到编辑后的句子x 00 = G(x 0 )。然后,我们使用判别器D来执行替换的标记检测(RTD)任务。**对于句子中的每个标记,模型需要预测它是否被替换。单个句子x的交叉熵损失为
模型最后的loss函数:
模型的训练过程:
训练我们的DiffCSE模型时,我们固定生成器G,只对句子编码器f和判别器D进行优化。训练结束后,我们放弃D,只用f(保持固定)来提取句子嵌入,以便在下游任务中评估
(1)Removing Contrastive Loss
在我们的模型中,对比性损失和RTD损失都是至关重要的,因为它们分别保持了什么应该是敏感的和什么应该是不敏感的。如果我们去掉RTD损失,该模型就变成了SimCSE模型;如果我们去掉对比性损失,STS-B的性能会明显下降30%,而转移任务的平均得分也会下降2%(见表3)。这个结果表明,在表示空间中,不敏感和敏感的属性一起存在是很重要的
(2)Next Sentence vs. Same Sentence
(3)Other Conditional Pretraining Tasks
(4)Augmentation Methods: Insert/Delete/Replace
插入的屏蔽标记的数量是句子长度的15%。任务是预测一个标记是插入的标记还是原始标记。对于删除,我们随机删除句子中15%的标记,任务是预测每个标记前面的标记是否被删除。
(5)Pooler Choice
we find that it is better to use a two-layer pooler with Batch Normalization
And observe that adding BatchNorm is beneficial for either DiffCSE or SimCSE to get better performance on STS-B and transfer tasks
(6)Size of the Generator
(7)Masking Ratio
a masking ratio of around 30% can give us the best performance
(8)Coefficient λ
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。