AWSWPS

Defending Pre-trained Language Models from Adversarial Word Substitution Without Performance Sacrifice

摘要

预先训练的上下文语言模型(PrLMs)在下游自然语言理解任务中取得了强大的性能提高。然而,PrLMs仍然很容易被对抗性的替换词所愚弄,这是最具挑战性的文本对抗性攻击方法之一。本文提出了一个可以保护性能的框架,具有频率感知随机化的异常检测(ADFAR)。详细地,我们设计了一个辅助的异常检测分类器AD,并采用了一个多任务的学习程序,通过它,PrLMs能够识别对抗性的输入样本。然后,为了防御对抗性的替换词,对那些已识别的对抗性的输入样本应用了一个具有频率识别能力的随机化过程。实验结果表明,ADFAR在各种推理任务中的性能明显优于那些新提出的防御方法。值得注意的是,ADFAR并不会影响PrLMs的整体性能。

1. 简介

预先训练好的语言模型(PrLMs)被广泛采用为各种NLP系统的重要组成部分。然而,作为基于DNN的模型,PrLMs仍然很容易被文本对抗性样本所愚弄。PrLMs的这种脆弱性不断引起潜在的安全问题,因此研究防御技术来帮助PrLMs对抗文本对抗性样本是迫切必要的。

文本对抗性样本:词被替换为其他词,类似sql替换命令?

前人提出了不同类型的文本攻击方法,从字符级单词拼写错,单词级替代,短语级插入和删除,到句子级意译

由于自然语言的离散性,通过拼写更正和语法纠错,可以很容易地发现和恢复的攻击方法。然而,基于对抗性替换词的攻击方法可以产生高质量和有效的对抗性样本,这仍然很难被现有的方法检测到。

因此,对抗性词替代对预训练语言模型的鲁棒性提出了更大、更深刻的挑战。因此,本文致力于克服对抗性的词替换所带来的挑战。

为此,作者提出了一个保护性能的框架,具有频率感知随机化的异常检测(ADFAR),以帮助预训练语言模型在不牺牲性能的情况下防御对抗性单词替换。

在推理中引入随机化可以有效地防御对抗性攻击。此外(Mozes等人,2020)表明,通常的对抗样本是用较少出现的同义词代替单词,而预训练语言模型对频繁出现的词更健壮。因此,我们提出了一个具有频率感知能力的随机化过程来帮助PrLMs抵御对抗性的单词替换。

2. 相关工作

AWS

对抗性词替代(AWS)是攻击预训练语言模型等高级神经模型的最有效的方法之一。

在AWS中,攻击者故意用其同义词替换某些词,以误导对目标模型的预测。同时,高质量的对抗性样本应保持语法正确性和语义一致性。为了制作高效和高质量的对抗性样本,攻击者应该首先确定要被干扰的脆弱token,然后选择合适的同义词来替换它们。

当前AWS模型采用启发式算法定位句子中脆弱的token。为了说明,对于给定的样本和目标模型,攻击者迭代地mask token并检查模型的输出对最终输出日志具有显著影响的token被视为脆弱的。

防御aws

对于一般攻击方法,对抗性训练被广泛采用以减轻对抗性效应,但是表明该方法仍然容易受到AWS的攻击。这是因为AWS模型利用动态算法来攻击目标模型,而对抗性训练只涉及一个静态训练集

由于AWS启发式攻击方法在攻击模型时迭代地替换每个单词,直到它成功地改变了模型的输出,因此使用静态策略来防御这种动态过程通常是不同的

相反,动态策略,如随机化,可以更好地解决这个问题。人们还可以观察到,用它们更频繁的替代品替换单词可以更好地减轻对抗性的效果,并保持原始的性能。因此,设计了一种具有频率感知能力的随机化策略来干扰AWS策略。

3. 方法

3.1 频率感知随机化

图1显示了频率感知随机化的几个例子。

image-20210731200010035

算法1中显示了频率感知随机化的建议方法,包括三个步骤。

image-20210731200053235

该算法与与上述三个步骤基本一致,其中r是预定义的替代比率

  • 首先,选择频率较低的稀有词和大量随机词作为替代候选词。
  • 其次,我们选择意义最接近、出现频率最高的同义词,形成每个候选词的同义词集。
  • 第三,每个候选单词被其自己的同义词集中的随机同义词替换。

在余弦相似度的选择上,又加上一个频率的选择

为了量化两个单词之间的语义相似性,我们使用来自(Mrkˇ si c等,2016)的嵌入来表示单词,这是专门为同义词识别而设计的。

两个词的语义相似度通过嵌入的余弦相似度来评估。为了确定一个单词的频率,我们使用了一个由频率单词库提供的频率字典。

3.2 异常检测(AD)

将FAR过程应用于每个输入,仍然会降低正常样本的预测精度。为了克服这一问题,我们在PrLMs中添加了一个辅助异常检测头,并采用了多任务学习程序,使PrLMs能够对输入文本进行分类,同时区分敌对样本,而不引入额外的模型。在推断中,频率感知随机化只适用于被检测为对抗性的样本。这样非对抗性样本,很大程度上避免了精度的降低不会受到影响。
周等人。(2019)还详细阐述了使用扰动识别来阻止攻击的想法。然而,他们的方法在token级别检测异常,需要两个资源消耗的PrLM进行检测和校正,而我们的方法在句子级检测异常,不需要额外的模型。

3.3 ADFAR总体框架

在这一部分,我们阐述了训练和推理两个方面的ADFAR框架。

image-20210731202110909

3.3.1 训练

图2展示了训练中的ADFAR框架。

我们通过三个主要修改扩展了基线PrLMs:1)训练数据的构建,2)辅助异常检测器和3)训练目标,这将在本节中介绍。

训练数据设置

如图2所示,我们结合了对抗性训练和数据增强的想法来构建我们的随机增强的对抗性训练数据。首先,我们使用了一个AWS模型。基于原始训练集生成对抗性样本。根据常见的对抗训练设置,我们将对抗样本与原始样本相结合,形成一个对抗训练集(蓝色)。

其次,为了让PrLMs更好地处理的随机化样本,我们将频率感知随机化(FAR)方法应用于对抗训练集,生成随机化对抗样本。最后,将对抗训练集和随机对抗训练集相结合,形成随机增强对抗训练集。

辅助异常检测器(AAD)

除了原始文本分类器之外,我们还在PrLMs上添加了一个辅助异常检测器(AD)来区分对抗性样本。对于输入句子,PrLMs通过自我注意每个token的上下文信息,并生成一系列上下文嵌入 ${h_0,\dots,h_m}$。对于文本分类任务,使用 $h_0\in R_h$作为聚合序列表示。原始文本类字符并利用$h_0$通过一个逻辑回归来预测$X$被标记为类$y^c$的概率:
$$
\begin{aligned} y _ { c } & = \operatorname { Prob } \left( \hat { y } _ { c } \mid x \right) \ & = \operatorname { softmax } \left( W _ { c } \left( d \operatorname { ropout } \left( h _ { 0 } \right) \right) + b _ { c } \right) , \end{aligned}
$$

对于异常检测器,$X$被标记为类$\hat{y}_d$的概率(如果$X$是攻击样本,$\hat{y_d}=1$;如果$X$是正常样本,$\hat{y_d}=0$)通过使用softmax的逻辑回归进行预测:
$$
\begin{aligned} y _ { d } & = \operatorname { Prob } \left( \hat { y } _ { d } \mid x \right) \ & = \operatorname { softmax } \left( W _ { d } \left( d r o p o u t \left( h _ { 0 } \right) \right) + b _ { d } \right) , \end{aligned}
$$
如图2所示,原始文本分类器在随机化增强的对抗训练集上训练,而异常检测器只在对抗训练集上训练。

训练目标(Training Object)

我们采用了一个多任务学习框架,通过该框架训练PrLM对输入文本进行分类,同时区分对抗样本。我们以最小化交叉熵损失的形式设计了两个并行训练目标:

  • 用于文本分类的$\operatorname { loss} _ { c }$
  • 用于异常检测的$\operatorname { loss} _ { d }$​

$$
\begin{aligned} \operatorname { loss } _ { c } & = - \left[ y _ { c } * \log \left( \hat { y } _ { c } \right) + \left( 1 - y _ { c } \right) * \log \left( 1 - \hat { y } _ { c } \right) \right] \ \operatorname { loss } _ { d } & = - \left[ y _ { d } * \log \left( \hat { y _ { d } } \right) + \left( 1 - y _ { d } \right) * \log \left( 1 - \hat { y _ { d } } \right) \right] \ \operatorname { Loss } & = \operatorname { loss } _ { c } + \operatorname { los } s _ { d } \end{aligned}
$$

4. 总结

本文的主要提出了一种辅助模型免受对抗文本影响的框架ADFAR,针对的对抗文本噪声主要是“词替换”。该框架可以拆分成两部分理解,FAR代表频率感知随机化方法,通过将被词替换的文本的词随机抽取一些替换回高频词,用对抗性的方法来打败对抗,可理解为一种数据增强的方法。而AD为则是一个异常检测器,通过逻辑回归区分对抗性样本,如若低于阈值,则该样本存在对抗性,需被FAR处理后分类。其他则可进行直接分类。

DeCLUTR

无监督文本表示的深度对比学习

Deep Contrastive Learning for Unsupervised Textual Representations

摘要

句嵌入是许多自然语言处理系统的重要组成部分。与词嵌入一样,句嵌入通常是在大型文本语料库上学习的,然后转移到各种下游任务,如聚类和检索。与单词嵌入不同,学习句子嵌入的最高性能解决方案需要标记数据,这将它们的有用性限制在标记数据丰富的语言和领域。在本文中,我们提出了DeCLUTR:无监督文本表示的深度对比学习。受深度度量学习(DML)最新进展的启发,我们精心设计了一个不需要标记训练数据的学习通用句子嵌入的自监督目标。当用于扩展基于transformer的语言模型的预训练时,我们的方法缩小了通用句子编码器的无监督和有监督预训练之间的性能差距。重要的是,我们的实验表明,学习嵌入的质量与可训练参数的数量和未标记的训练数据的数量有关。我们的代码和预先训练的模型是公开可用的,可以很容易地适应新的领域或用于嵌入看不见的文本(训练集以外的数据)。

1. 介绍

由于许多自然语言处理(NLP)任务可用的标记训练数据数量有限,迁移学习已变得普遍(Ruder等人,2019)。一段时间以来,NLP中的迁移学习仅限于预训练的词嵌入(Mikolov et al., 2013;Pennington et al., 2014)。最近的研究表明,使用预训练的句子嵌入有很强的迁移任务表现。这些固定长度的向量,通常被称为“通用”句子嵌入,通常在大型语料库中学习,然后转移到各种下游任务,如聚类(如主题建模)和检索(如语义搜索)。

事实上,句子嵌已经成为一个焦点领域,许多方法是有监督的(Conneau等人,2017年)、半监督的(Subramanian等人,2018;Pang等人,2018;Cer等人,2018;Reimers和Gurevych等人,2019年)和无监督的(Le和Mikolov,2014;Jernite等人,2017;Kiros等人,2015;Hill等人,2016;Logeswaran和Lee,2018)。然而,性能最高的解决方案需要带标签的数据,这限制了它们对带标签数据丰富的语言和领域的有用性。因此,缩小无监督和有监督通用语句嵌入方法之间的性能差距是一个重要的目标。

基于Transformer的预训练语言模型已成为从未标记语料库中学习文本表示的主要方法(Radford等人,2018年;Devlin等人,2019年;Dai等人,2019年;Yang等人,2019年;Liu等人,2019年;Clark等人,2020年)。这一成功主要是由屏蔽语言建模(MLM)推动的。这种自我监督的token级目标要求模型从输入序列中预测一些随机屏蔽的token的身份。除了MLM,这些模型中的一些有通过自监督学习句子级嵌入的机制。在BERT (Devlin等人,2019)中,一个特殊的分类标记被预先添加到每个输入序列中,并且它的表示被用于二进制分类任务中,以预测在训练语料库中一个文本片段是否跟随另一个文本片段,表示为下一句预测(NSP)。然而,最近的工作对NSP的有效性提出了质疑(Conneau和Lample,2019;Y ou等人,1904年;Joshi等人,2020年)。在Roberta(Liu等人,2019年)中,作者证明了在预训练期间移除NSP会导致下游句子水平任务(包括语义文本相似性和自然语言推理)的表现不变,甚至略有提高。

在 ALBERT (Lan et al., 2020) 中,作者假设 NSP 将主题预测和连贯性预测混为一谈,并提出了一个句子顺序预测目标 (SOP),表明它可以更好地模拟句间连贯性。在初步评估中,我们发现这两个目标都没有产生良好的通用句子嵌入(参见附录 A)。因此,我们提出了一个简单但有效的自我监督的句子级目标,其灵感来自度量学习的最新进展。

度量学习是一种表示学习,旨在学习一个嵌入空间,其中相似数据的向量表示被紧密映射在一起,反之亦然(Lowe,1995;Mika 等,1999;Xing 等,2002)。在计算机视觉 (CV) 中,深度度量学习 (DML) 已广泛用于学习视觉表征(Wohlhart 和 Lepetit,2015;Wen 等,2016;Zhang 和 Saligrama,2016;Bucher 等,2016;Leal- Taix´ 等,2016;Tao 等,2016;Yuan 等,2020;He 等,2018;Grabner 等,2018;Yelamarthi 等,2018;Y u 等, 2018)。

一般来说,DML的处理方法如下:精心设计一个“借口”任务(通常是自我监督的,例如着色或修复),并用于训练深层神经网络以生成有用的特征表示。

这里,“有用”指的是一种易于适应其他下游任务的表示,这些任务在训练时是未知的。下游任务(例如对象识别)然后被用于评估所学习特征的质量(独立于产生它们的模型),通常通过使用这些特征作为输入在任务上训练线性分类器。到目前为止,最成功的方法是设计一个借口任务,使用基于配对的对比损失函数进行学习。****对于给定的锚数据点,对比损失试图使锚和一些正数据点(相似的)之间的距离小于锚和一些负数据点(不相似的数据点)之间的距离(Hadsell等人,2006年)。

性能最好的方法通过随机增强相同的图像(例如,使用裁剪、翻转和颜色扭曲)来生成锚正向对;锚负向对是随机选择的、不同图像的增强视图(Bachman等人,2019年;Tian等人,2020年;He等人,2020年;Chen等人,2020年)。事实上,Kong 等人,2020 年证明 MLM 和 NSP 目标也是对比学习的实例。受这种方法的启发,我们提出了一个自监督的对比目标,可用于预训练句子编码器。我们的目标是通过训练一个编码器来学习通用句子的嵌入,使同一文档中随机抽取的文本片段的嵌入距离最小。通过使用SentEval (Conneau and Kiela, 2018)来扩展基于转换器的语言模型的前训练,并获得最先进的结果,我们证明了我们的目标的有效性。SentEval是一个由28个任务组成的基准任务,旨在评估通用句子嵌入。

我们的主要贡献是:

  • 我们提出了一个自我监督的句子级目标,可以与传销一起用于预训练基于Transformer的语言模型,在没有任何标记数据的句子和段落的文本中引入通用嵌入(第5.1小节)。
  • 我们进行广泛的消融实验以确定哪些因素对学习高质量的嵌入是重要的(第5.2小节)。
  • 我们证明,学习嵌入的质量与模型和数据大小有关。因此,性能很可能通过收集更多的无标签文本或使用更大的编码器(分段5.3)来提高。
  • 我们开放我们的解决方案,并提供详细的指导,以训练它的新数据或嵌入看不见的文本。

2. 相关工作

以前关于通用句子嵌入的工作可以根据他们在预训练步骤中是否使用标记数据来大致分组,我们简单地将其分别称为监督或半监督和非监督。

监督或半监督

性能最高的通用句子编码器在人类标记的自然语言推理(NLI)数据集Stanford NLI(SNLI)(Bowman等人,2015年)和MultiNLI(Williams等人,2018年)上进行了预训练。

自然语言推理的任务是将一对句子(表示“假设”和“前提”)归入三种关系中的一种:蕴涵、矛盾或中性。NLI在训练通用句子编码器方面的有效性通过有监督的InferSent方法得到了证明(Conneau等人,2017年)。通用句子编码器(USE)(Cer等人,2018年)是半监督的,增加了一个无监督的、类似跳过思想的任务(Kiros等人。2015年,见第2节),在SNLI语料库上进行监督训练。最近出版的句子转换器(Reimers和Gurevych,2019年)方法使用标记的NLI数据集对预先训练的、基于转换器的语言模型进行微调,比如Bert(Devlin等人,2019年)。

Unsupervised

Skip-Think(Kiros等人,2015)和FastSent(Hill等人,2016)是流行的无监督技术,它们通过使用句子的编码来预测相邻句子中的单词来学习句子嵌入。然而,除了计算成本高之外,这种生成性目标迫使模型重构句子的表面形式,这可能捕获与句子含义无关的信息。quickthings(Logeswaran和Lee,2018)用简单的区别性目标解决了这些缺点;给定一个句子及其上下文(相邻句子),它通过训练一个分类器来区分上下文句子和非上下文句子来学习句子表示。

无监督方法的统一主题是,它们利用了“分布假设”,即一个词(以及引申为一个句子)的意义由它出现的词的上下文来表征。

我们的整体方法与句子Transformer最相似——我们扩展了基于Transformer的语言模型的预处理,以产生有用的句子嵌入——但我们提出的目标是自监督的。消除对标签数据的依赖使我们能够利用网络上大量的未标签文本,而不局限于标签数据丰富的语言或领域(例如英语维基百科)。

我们的目标与 QuickThoughts 最为相似; 一些区别包括:我们将采样放宽到最大段落长度(而不是自然句子)的文本段,我们对每个锚点(而不是严格的一个)采样一个或多个正段,并且我们允许这些段相邻、重叠或 包含(而不是严格相邻;参见图 1,B)。

image-20210729222007535

图1:自监督对比目标概述。

(A)对于$minibatch=N$的$d$的文档,我们为每个文档采样$A$个anchor。简单起见,我们举例说明$A=P=1$的情况,并表示anchor-positive为$\boldsymbol { s } _ { i } , \boldsymbol { s } _ { j }$。每个span都通过相同的编码器$f(\cdot)$和池化器$g(\cdot)$来产生对应的嵌入$\boldsymbol{e}_i=g(f(\boldsymbol{s_i})),\boldsymbol{e}_j=g(f(\boldsymbol{s_j}))$。编码器和pooler经过训练,通过对比预测任务最小化嵌入之间的距离,其中minibatch中的其他嵌入被视为负数(为了简单起见,这里省略了)。

(B)正样本可以和Anchor重叠,相邻或包含

(C)锚的长度和正数是从beta分布中随机抽样的,分别向较长的和较短的跨度倾斜。

3. 模型

3.1 Self-supervised对比损失

我们的方法通过对比损失来学习文本表示通过最大化从同一文档中附近采样的文本片段(在论文的其余部分称为“跨度”)之间的一致性来学习文本表示。如图1所示,该方法包括以下组件:

  • 数据加载步骤从大小为$N$的小批次的每个文档中随机抽样成对的 anchor-positive span。设 $A$是每个文档采样的anchor span个数。 我们表示一个anchor span和它对应的 $p\in {1…P}$ positive span作为$\boldsymbol{s}i$和$\boldsymbol{s}{i+pAN}$​。此程序旨在最大限度地抽样语义相似的anchor-positive对(参见第3.2节)。

  • 编码器 $f(\cdot )$将输入跨度中的每个token映射到嵌入。虽然我们的方法对编码器的选择没有限制,但我们选择$f( \cdot )$为基于Transformer的语言模型,因为这代表了文本编码器的最高水平。

  • 池化器$g( \cdot )$​​将编码 span ,$f(\boldsymbol{s}i)$​​和 $f(\boldsymbol{s}{i+pAN})$​​映射到固定长度嵌入$\boldsymbol{e}_i=g(f(\boldsymbol{s}_i))$​​及其对应的平均positive嵌入:
    $$
    \boldsymbol { e } _ { i + A N } = \frac { 1 } { P } \sum _ { p = 1 } ^ { P } g \left( f \left( \boldsymbol { s } _ { i + p A N } \right) \right)
    $$

  • 与Reimers和Gurevych 2019类似,我们发现选择$g(·)$作为token级嵌入的平均值(在论文的其余部分称为“mean pooling”)表现良好(见附录,表4)。我们将每个锚点嵌入与多个正嵌入的平均值配对。这一策略是由Saunshi等人在2019年提出的,他们证明了与使用每个锚的单一积极例子相比,理论和经验上的改进。

  • 为对比预测任务定义的对比损失函数。给定一组嵌入区间${\boldsymbol{e_k}}$,其中包含正样本$\boldsymbol{e}i$和$\boldsymbol{e}{i+AN}$,对比预测任务的目标是识别给定$\boldsymbol{e}i$的$\boldsymbol{e}{i+AN}$​ :
    $$
    \ell ( i , j ) = - \log \frac { \exp \left( \operatorname { sim } \left( \boldsymbol { e } _ { i } , \boldsymbol { e } _ { j } \right) / \tau \right) } { \sum _ { k = 1 } ^ { 2 A N } \mathbb { 1 } _ { [ i \neq k ] } \cdot \exp \left( \operatorname { sim } \left( \boldsymbol { e } _ { i } , \boldsymbol { e } _ { k } \right) / \tau \right) }
    $$
    其中,$\operatorname { sim } ( \boldsymbol { u } , \boldsymbol { v } ) = \boldsymbol { u } ^ { T } \boldsymbol { v } / | \boldsymbol { u } | _ { 2 } | \boldsymbol { v } | _ { 2 }$代表向量u和v余弦相似度,$\mathbb { 1 } _ { [ i \neq k ] } \in { 0,1 }$表示一个指示函数,如果$ i \neq k$则为1,$\tau > 0$​ 表示温度超参数。

在训练期间,我们从训练集中随机抽取$ N $个文档的小批量样本,并在来自 $ N $ 个文档的锚正对$\boldsymbol{e}i,\boldsymbol{e}{i+AN}$上定义预测任务,从而产生$2AN$数据点。

正如 (Sohn, 2016) 中提出的,我们将minibatch中的其他$2(AN-1)$个实例视为反例。损失函数采用以下形式:
$$
\mathcal { L } _ { \text {contrastive } } = \sum _ { i = 1 } ^ { A N } \ell ( i , i + A N ) + \ell ( i + A N , i )
$$
这是之前作品中使用的InfoNCE损失(Sohn, 2016;Wu et al., 2018;Oord et al., 2018),并在(Chen et al., 2020)中表示归一化温度尺度交叉熵损失或“NT-Xent”。

要通过一个训练好的模型来embed文本,我们只需要在模型中传递一批token化的文本。因此,我们的方法在测试时的计算成本是编码器$f( \cdot )$和池化器 $g(\cdot )$的成本,当在使用平均池化时可以忽略不计。

3.2 Span采样

我们从选择最小和最大的span长度开始;在本文中,$\ell _ { \min } = 32$,$\ell _ { \max } = 512$,这是许多预训练的Transformer的最大输入尺寸。接下来,文档$d$被标记化以产生$n$个token $\boldsymbol { x } ^ { d } =(x_1,x_2,\dots,x_n)$​。​为了从$\boldsymbol{x}^d$中随机抽样anchor span $\boldsymbol{s}i$,我们首先从$\beta$​分布中抽样其长度$\ell{anchor}$,然后随机抽样其起始位置$s_i^{start}$。
$$
\begin{aligned} \ell _ { \text {anchor } } & = \left\lfloor p _ { \text {anchor } } \times \left( \ell _ { \max } - \ell _ { \min } \right) + \ell _ { \min } \right\rfloor \ s _ { i } ^ { \text {start } } & \sim \left{ 0 , \ldots , n - \ell _ { \text {anchor } } \right} \ s _ { i } ^ { \text {end } } & = s _ { i } ^ { \text {start } } + \ell _ { \text {anchor } } \ \quad s _ { i } & = \boldsymbol { x } _ { s _ { i } ^ { d \text { start } } : s _ { i } ^ { \text {end } } } \end{aligned}
$$
然后,我们对$p \in { 1 \ldots P }$按照类似的过程采样对应的positive spans $\boldsymbol { s } _ { i + p A N }$:
$$
\begin{aligned} \ell _ { \text {positive } } & = \left\lfloor p _ { \text {positive } } \times \left( \ell _ { \max } - \ell _ { \min } \right) + \ell _ { \min } \right\rfloor \ s _ { i + p A N } ^ { \text {start } } & \sim \left{ s _ { i } ^ { \text {start } } - \ell _ { \text {positive } } , \ldots , s _ { i } ^ { \text {end } } \right} \ s _ { i + p A N } ^ { \text {end } } & = s _ { i + p A N } ^ { \text {start } } + \ell _ { \text {positive } } \ \boldsymbol { s } _ { i + p A N } & = \boldsymbol { x } _ { s _ { i + p A N } ^ { s \text { start } } } { : s _ { i + p A N } ^ { \text {end } } } \end{aligned}
$$
其中$p _ { \text {anchor } } \sim \operatorname { Beta } ( \alpha = 4 , \beta = 2 )$​​,这使得锚定采样向更大跨度倾斜,以及

$p _ { \text {positive } } \sim \operatorname { Beta } ( \alpha = 2 , \beta = 4 )$这使得正样本偏向较短的跨度(图1.c)。在实际中,我们限定来自同一文档的anchor span的采样,以便它们至少相隔$2* \ell_{max}$个token。在附录B中,我们展示了通过我们的方法抽样的文本的示例。我们在设计抽样程序时注意到几个经过深思熟虑的决定:

  • 从 $\ell_{min}=32$和$\ell_{max}=512$分布处裁剪的采样宽度长度鼓励模型为 句子级到段落级长度的文本产生良好的嵌入。在测试时,我们希望我们的模型能够嵌入最长到段落长度的文本
  • 我们发现,anchor span的采样长度比positive span更长,可以提供下游任务的性能(我们没有发现性能对特定的α和β选择敏感)。这样做的理由有两个。首先,它使该模型能够学习全局到局部视图预测(Hjelm等人,2019年;Bachman等人,2019年;Chen等人,2020年)(在图1,B中称为“包含视图”)。第二,当$P>1$​时,它通过减少重复语篇的数量来鼓励positive span的多样性。
  • anchor附件的positive采样利用了分布式假设,并增加了采样的有效(既语义相似性) anchor-positive对的机会。
  • 通过对每个文档中的多个anchor进行采样,每个anchor-positive将与简单负样本(从Minibatch中其他文档采样的anchorpositives)和hard负样本(从同一文档中采用的anchorpositive)。

总之,采样程序产生三种类型的正样本:

  • anchor部分重叠的正样本
  • anchor相邻的正样本
  • anchor包含的正样本(图1,B)

以及两种类型的负样本:

  • easy:从与anchor不同的文档中采样
  • hard:从与ancho相同的文档中采样

因此,我们随机生成的训练集和对比损失隐含地定义了一系列预测任务,可用于训练模型,独立于任何特定的编码器架构。

3.3 继续mlm预训练

我们使用我们的目标函数来扩展基于Transformer语言模型的预训练模型,因为这代表NLP中最先进的编码器。我们按照(Devlin et al., 2019)中所述在minibatch中的每个anchor span上采用MLM目标函数,并在反向传播之前对来自$MLM$和对比损失函数的损失求和。
$$
\mathcal { L } = \mathcal { L } _ { \text {contrastive } } + \mathcal { L } _ { \mathrm { MLM } }
$$
这类似于现有的预训练策略,其中 MLM 损失与句子级损失配对,例如 NSP(Devlin 等人,2019)或 SOP(Lan 等人,2020 年)。为了使计算要求可行,我们不会从头开始训练,而是继续训练一个已经用 MLM 目标进行预训练的模型。

具体来说,我们在实验中同时使用 RoBERTa-base (Liu et al., 2019) 和 DistilRoBERTa (Sanh et al., 2019)(RoBERTa-base 的蒸馏版本)。在本文的其余部分,我们将我们的方法称为 DeCLUTR-small(扩展 DistilRoBERTa 预训练时)和 DeCLUTR-base(扩展 RoBERTa-base 预训练时)。

5. 结果

在 5.1 小节中,我们将模型的性能与相关基线进行了比较。在剩下的部分中,我们探索哪些组件有助于学习嵌入的质量。

5.1 与基线的比较

下游任务的性能

image-20210731163100770

加粗的是最好性能。

5.2 采样程序的消融实验

我们消除了采样过程的几个组成部分,包括每个文档 $A$ 采样的锚点数量、每个锚点 $P$ 采样的正样本数量以及这些正样本的采样策略(图 2)。

image-20210731163437346

每个文档采样的锚跨度数 (a)、每个锚点采样的正跨度数 (b) 和采样策略 (c) 的影响。从 SentEval 的验证集中报告平均下游任务分数。表格通过超参数网格进行计算,并绘制为分布图。

网格由anchor的数量$A={1,2}$,正样本的数量$P={1,2,4}$,温度超参数:$\tau = \left{ 5 \times 10 ^ { - 3 } , 1 \times 10 ^ { - 2 } , 5 \times 10 ^ { - 2 } \right}$和学习率$\alpha = \left{ 5 \times 10 ^ { - 5 } , 1 \times 10 ^ { - 4 } \right}$的数量来排列。P = 4被省略,因为这些实验不适合图形处理器内存。

我们注意到当$A=2$时,与$A=1$相比,模型在两倍的span数和两部的有效批量($2AN$,其中$N$是小批次中的文档数)上训练。为了控制这一点,所有$A=1$的实验都针对两个epoch($A=2$时epochs的两倍)和两倍的小批量(2N)进行训练。(数据量保持一样)因此,两组实验都在相同跨度数和相同的有效批次大小($4N$)上进行训练,唯一的区别就是每个文档的anchor样本数量($A$)。

我们发现,对每个文档的多个锚点进行采样对学习嵌入的质量有很大的积极影响。我们假设这是因为当A > 1时,对比目标的难度增加了。回想一下,minibatch是由随机文档组成的,从文档中取样的每个锚-正对与minibatch中的所有其他锚-正对进行对比。当$A>1$时,anchor-positive对将与来自同一文档的其他anchor-positive进行对比,增加了对比难度,从而导致更好的表征。

我们还发现,一个正样本采样策略,允许positive邻接和被包含,优于允许只采用二者之一的策略,这表明视图获取的信息是互补的。最后,我们注意到每个anchor(P > 1)取样多个positive对性能的影响很小。

这与(Sanshi等人,2019年)相反,他发现当给定的anchor具有多个positive平均时,理论和经验上都有所改善。

5.3 训练目标,训练集大小和模型容量

为了确定培训目标、训练集大小和模型容量的重要性,我们训练了两个大小的模型,训练集的10%到100%(1个完整的epoch)(图3)。

image-20210731170521500

用MLM目标和对比目标对模型进行预处理,比单独用任何一个目标进行训练都提高了性能。随着训练集规模的增加,将MLM纳入对比目标会带来单调的改善。我们假设,包括MLM损失作为一种正则化形式,防止预训练模型(其本身是用MLM损失训练的)的权重偏离太大,这种现象被称为“灾难性遗忘”(McCloskey和Cohen,1989;拉特克利夫,1990年)。

这些结果表明,通过我们的方法学习到的嵌入质量根据模型容量和训练集大小来衡量;因为训练方法是完全自我监督的,所以缩放训练集只需要收集更多未标记的文本。

6. 讨论和总结

本文提出了一个学习通用句子嵌入的自监督目标。我们的目标不需要标记的训练数据,适用于任何文本编码器。我们通过评估SentEval基准上的学习嵌入来证明我们目标的有效性,该基准包含总共28个任务,旨在评估句子表示的可迁移性和语言属性。当用于扩展基于Transformer的语言模型的预处理时,我们的自我监督目标缩小了与现有方法的性能差距,现有方法需要人工标记的训练数据。实验表明,通过增加模型和训练集的大小,可以进一步提高学习嵌入的质量。总之,这些结果证明了用精心设计的学习通用句子嵌入的自我监督目标代替手工标记数据的有效性和可行性。我们公开发布我们的模型和代码,希望它能扩展到新的领域和非英语语言。

ChineseBert

摘要

最近的汉语预处理模型忽略了汉语特有的两个重要方面:字形和拼音,它们为语言理解提供了重要的句法和语义信息。在这项工作中,我们提出了汉语拼音方案,该方案将汉字的字形和拼音信息结合到语言模型预处理中。

glyph嵌入是基于汉字的不同字体获得的,能够从视觉特征中捕捉字符语义,拼音嵌入表征了汉字的发音,处理了汉语中高度普遍的异音现象(同一个字有不同的发音,不同的意思)。在大规模未标记的中文语料库上进行预处理后,所提出的中文Bert模型比具有更少训练步骤的基线模型具有显著的性能提升。该模型在广泛的中文自然语言处理任务上取得了新的SOTA性能,包括机器阅读理解、自然语言推理、文本分类、句子对匹配,以及命名实体识别和分词方面的竞争性能。

阅读更多

Learning Character-level Compositionality with Visual Features

摘要

在不同的书写系统中,字符的组合性在字符层面上也有影响:一个字符的意义是由它的各个部分的总和派生出来的。在本文中,其通过基于字符的视觉特征创建字符嵌入,为字符创建图像,并通过卷积神经网络生成视觉字符特征来模拟这种效果。

阅读更多

Using Chinese radical parts for sentiment analysis and domain-dependent seed set extraction

摘要

虽然在英语情感分析和资源方面取得了很大进展,但由于汉语的性质,英语研究不能直接用于汉语。以往的研究建议采用语法、语素等语言信息来辅助中文文本的情感分析。然而,基于语素的方法在识别种子方面存在问题。此外,这些方法没有利用汉字中包含大量语义信息的部首。一个汉字是由一个或多个字组成的,每个字都有它的部首。我们可以通过分析字中部首的意义来解读字的局部意义。因此,我们不仅把部首信息作为一个字的语义根,而且把一个词中字与字之间的部首部分作为进行情感分析的合适的语言单位。

在本研究中,我们以部首作为情感分析的特征单元,进行了一系列的实验。我们利用词性工具的切分结果作为汉语中一个有意义的语言单位(词),通过各种情感分析方法对单特征词(单字)和频繁出现的两个词(点状互信息搭配的双词)进行了分析。结果表明,部首特征可以比单词特征更好地工作,并且消耗更少的计算内存和时间。此外,还对种子的提取进行了扩展研究,结果表明,50个种子胚根特征表现良好。本研究还进行了跨语料库的比较,结果表明,使用50个提取的部首特征作为领域相关关键字比使用其他情感分析策略效果更好。本研究证实部首信息可以作为情感分析的特征单元,领域相关部首可以在不同语料库中重复使用。

阅读更多

Radical-Based Hierarchical Embeddings for Chinese Sentiment Analysis at Sentence Level

基于部首的句子级汉语情感分析层次化嵌入

摘要

中文情感分析中的文本表示通常在单词或字符级别工作。在本文中,我们证明了部首级处理可以极大地提高情感分类性能。特别地,我们提出了两种基于中文部首的层次嵌入。嵌入不仅包含部首和字符级别的语义,还包含情感信息。在对嵌入的评估中,我们在四个不同的数据集上进行句子级的中文情感分析。实验结果验证了我们的假设,即词根级语义和情感可以有助于句子级情感分类,并证明了我们的嵌入优于经典文本特征和流行的单词和字符嵌入。

阅读更多

phonetic-enriched

摘要

汉语发音系统提供了两个区别于其他语言的特征:深层音位拼写和语调变化。在本文中,我们假设这两个重要的属性可以在中文情感分析中发挥重要作用。特别是,我们提出了两个有效的特征来编码语音信息,并因此将其与文本信息融合。基于这一假设,我们提出了情感分析的消歧语调(DISA),这是一个基于强化学习原理开发的网络。DISA消除了每个汉字(拼音)的歧义,因此学会了精确的语音表达。我们还将语音特征与文本和视觉特征相结合,以进一步提高性能。在五个不同的中文情感分析数据集上的实验结果表明,语音特征的包含显著且一致地提高了文本和视觉表示的性能,并且超过了最先进的中文字符级表示。

阅读更多

VCWE

Abstract

汉语是一种象形文字,汉字的形状蕴含着丰富的句法和语义信息。在本文中,我们提出了一个通过三个层次的组合来学习汉语单词嵌入的模型:(1)利用卷积神经网络从字符视觉形状中提取字符内部成分;(2)基于自注意的递归神经网络将字符表示转化为词嵌入;(3)直接从语境信息中捕捉非位置性的Skip-Gram框架。评估表明,我们的模型在四个任务上表现出色:单词相似性、情感分析、命名实体识别和词性标注。

源码:https://github.com/HSLCY/VCWE

阅读更多

论文翻译-Beyond Self-attention_External Attention using Two Linear Layers for Visual Tasks

摘要

Attention机制,尤其是self-attention,在视觉任务的深度特征表征中起着越来越重要的作用。

self-attention通过使用所有位置的成对相似性计算特征的加权和来更新每个位置的特征,以捕捉单个样本内的长期相关性。然而,self-attention具有$n^2$复杂度,忽略了不同样本之间的潜在相关性。

本文提出了一种新的Attention机制,称为外部注意力机制,它基于两个外部的、小的、可学习的和共享的记忆单元,只需使用两个级联线性层和两个归一化层就可以很容易地实现,它可以方便地取代现有流行体系结构中的self-attention。

外部注意力机制具有线性复杂度,隐含地考虑所有样本之间的相关性。关于图像分类,语义分割,图像生成,点云分类和点云分割任务的广泛实验表明,我们的方法为self-attention和其一些变体提供了可比或卓越的性能,具有较低的计算和存储成本。

阅读更多

Glyce-用于汉字表示的字形向量

摘要

显而易见,像中文这样的标识语言的自然语言处理任务应该受益于这些语言中字形信息的使用。然而,由于字形中缺乏丰富的象形证据,标准计算机视觉模型对字符数据的泛化能力较弱,如何有效地利用字形信息仍有待探索。

在这篇文章中,我们通过提出汉字表示的字形向量Glyce来解决这个问题。

我们有三大创新:(1)利用中国历史文字(如青铜器文字、篆书、繁体字等)丰富文字中的象形证据;(2)我们设计了适合汉字图像处理的CNN结构(称为天田字格-CNN);(3)在多任务学习环境中,我们使用图像分类作为辅助任务,以提高模型的泛化能力。

我们表明,在广泛的中文自然语言处理任务中,基于字形的模型能够一致地优于基于单词/字符ID的模型。我们能够为各种中文自然语言处理任务设置最新的结果,包括标注(NER,CWS,POS),句子对分类,单句分类任务,依存句法分析,以及语义角色标注。例如,该模型在OntoNotes数据集NER上的F1得分为80.6,在BERT上的F1得分为+1.5;在复旦语料库上的文本分类准确率几乎达到99.8%。

阅读更多