弱监督微调预训练语言模型:

对比正则化自训练方法

月雨思妙座11脚注: 1    蒋浩明 任拓 赵超 张

佐治亚理工学院,亚特兰大,佐治亚州,美国

{yueyu,simiaozuo,jianhm,wren44,tourzhao,chaozhang}@gatech.edu
平等贡献。
抽象的

微调的预训练语言模型(LM)在许多自然语言处理(NLP)任务中取得了巨大的成功,但它们在微调阶段仍然需要过多的标记数据。 我们研究仅使用弱监督、不使用任何标记数据来微调预训练 LM 的问题。 这个问题具有挑战性,因为 LM 的高容量使得它们容易过度拟合弱监督生成的噪声标签。 为了解决这个问题,我们开发了一个对比自训练框架 COSINE,以在弱监督的情况下微调 LM。 在对比正则化和基于置信度的重新加权的支持下,我们的框架逐渐改进模型拟合,同时有效抑制误差传播。 对序列、标记和句子对分类任务的实验表明,我们的模型大幅优于最强基线,并通过完全监督的微调方法实现了有竞争力的性能。 我们的实现可在 https://github.com/yueyu1030/COSINE 上获取。

1简介

语言模型(LM)预训练和微调在各种自然语言处理任务中实现了最先进的性能Peters等人(2018); Devlin 等人 (2019);刘等人 (2019); Raffel 等人 (2019) 这种方法将特定于任务的层堆叠在预先训练的语言模型之上, 例如、BERT Devlin 等人 (2019),然后使用特定于任务的数据微调模型。 在微调过程中,预训练语言模型中的语义和句法知识会针对目标任务进行调整。 尽管取得了成功,但微调 LM 的一个瓶颈是对标记数据的需求。 当标记数据稀缺时,微调模型往往会出现性能下降的情况,而且大量参数会导致严重的过拟合Xie et al (2019)

为了缓解标签稀缺瓶颈,我们仅在弱监督的情况下对预训练的语言模型进行微调。 虽然收集大量干净的标记数据对于许多 NLP 任务来说成本很高,但从各种弱监督源获取弱标记数据通常很便宜,例如语义规则 Awasthi 等人 (2020) 例如,在情感分析中,我们可以使用规则'terrible'Negative(关键字规则)和'*不推荐*'Negative(模式规则)生成大量弱标签。

在弱监督的情况下微调语言模型并非易事。 标签噪音过大, 例如在监管薄弱的情况下,错误标签、标签覆盖范围有限是常见现象,也是不可避免的。 尽管现有的微调方法Xu等人(2020);朱等人 (2020); Jiang等人(2020)提高了LM的泛化能力,它们不是为噪声数据设计的,并且仍然容易对噪声过拟合。 此外,现有的解决标签噪声的工作存在缺陷,并且不是为微调 LM 而设计的。 例如,Ratner 等人 (2020); Varma 和 Ré (2018) 使用概率模型聚合多个弱监督来进行去噪,但它们以上下文无关的方式生成弱标签,而不使用 LM 来编码训练样本Aina 等人 (2019) 其他作品Luo等人(2017); Wang 等人 (2019b) 专注于噪声转换,而没有明确进行实例级去噪,并且他们需要干净的训练样本。 尽管最近的一些研究Awasthi 等人 (2020); Ren等人(2020)设计了标记函数引导的神经模块来对每个样本进行去噪,它们需要弱监督的先验知识,这在实际实践中通常是不可行的。

自我训练Rosenberg 等人 (2005); Lee (2013) 是微调弱监督语言模型的合适工具。 它通过为未标记数据生成伪标签来增强训练集,从而提高模型的泛化能力。 这解决了监管薄弱、覆盖范围有限的问题。 然而,自训练的一大挑战是算法仍然会受到错误传播的影响——错误的伪标签会导致模型性能逐渐恶化。

我们提出了一种新算法 余弦111缩写对比对比SFine 自我训练ine-调整预先训练的语言模型。 仅在弱监督的情况下对预先训练的 LM 进行微调。 COSINE 利用弱标记和未标记数据,并通过对比自我训练抑制标签噪声。 弱监督学习用潜在的噪声标签丰富了数据,而我们的对比自我训练方案实现了去噪目的。 具体来说,对比自训练通过将具有相同伪标签的样本推近而将具有不同伪标签的样本拉开来规范特征空间。 这种正则化强制来自不同类别的样本的表示更加可区分,以便分类器可以做出更好的决策。 为了在对比自训练期间抑制标签噪声传播,我们提出了基于置信度的样本重新加权和正则化方法。 重新加权策略强调预测置信度高的样本,这些样本更有可能被正确分类,以减少错误预测的影响。 置信正则化鼓励模型预测的平滑性,这样任何预测都不会过度自信,从而减少错误伪标签的影响。

我们的模型很灵活,可以自然地扩展到半监督学习,其中可以使用一小组干净标签。 此外,由于我们不对弱标签的性质做出假设,因此 COSINE 可以处理各种类型的标签噪声,包括有偏差的标签和随机损坏的标签。 有偏见的标签通常是由语义规则生成的,而损坏的标签通常是通过众包生成的。

我们的主要贡献是:(1)对比正则化自训练框架,仅在弱监督的情况下对预训练的 LM 进行微调。 (2) 基于置信度的重新加权和正则化技术,减少错误传播并防止过度自信的预测。 (3)使用7个公共基准对6个NLP分类任务进行大量实验,验证了COSINE的有效性。 我们强调,与某些数据集上的完全监督模型相比,我们的模型实现了具有竞争力的性能, 例如,在 Yelp 数据集上,我们获得 97.2% (完全监督)与 96.0%(我们的)准确性比较。

Refer to caption
图1: 余弦框架余弦. 我们首先通过早期停止对弱标记数据上的预训练语言模型进行微调。 然后,我们进行对比正则化自训练,以提高模型泛化能力并减少标签噪声。 在自训练过程中,我们计算预测的置信度并用高置信度样本更新模型以减少错误传播。

2 背景

在本节中,我们介绍弱监督和我们的问题表述。

监管薄弱。 我们不使用人工注释的数据,而是从弱监督源获取标签,包括关键字和语义规则222弱监督的示例参见附录A. 从弱监督源,每个输入样本 x? 被赋予标签 y?{},其中 ? 对于被赋予多个标签的样本, 例如,由多个规则匹配,我们通过多数投票来确定它们的标签。

问题表述。 我们关注自然语言处理中的弱监督分类问题。 我们考虑三种类型的任务:序列分类、标记分类和句子对分类。 这些任务在 NLP 中具有广泛的应用范围,表1中可以找到一些示例。

形式上,弱监督分类问题定义如下:给定弱标记样本?l={(xi,yi)}i=1L 和未标记的样本 ?u={xj}j=1U 这里?=?l?u表示所有样本,?={1,2,,C}

Formulation Example Task Input Output
Sequence Classification
Sentiment Analysis, Topic Classification,
Question Classification
[𝒙1,,𝒙N] y
Token Classification
Slot Filling, Part-of-speech Tagging,
Event Detection
[x1,,xN] [y1,,yN]
Sentence Pair Classification
Word Sense Disambiguation, Textual Entailment,
Reading Comprehension
[𝒙1,𝒙2] y
表格1: 不同任务的比较。 对于序列分类,输入是句子序列,我们输出标量标签。 对于标记分类,输入是一系列标记,我们为每个标记输出一个标量标签。 对于句子对分类,输入是一对句子,我们输出一个标量标签。

3方法

我们的分类器f=gBERT由两部分组成:BERT是预训练的语言模型,输出输入样本的隐藏表示,g 在本文中,我们使用RoBERTa Liu et al (2019)作为BERT的实现。

COSINE的框架如图1所示。 首先,COSINE 使用弱标签初始化 LM。 在此步骤中,预训练的 LM 的语义和句法知识将转移到我们的模型中。 然后,它使用对比自训练来抑制标签噪声传播并继续训练。

3.1概述

COSINE的训练过程如下。

使用弱标签数据进行初始化。 我们微调 f(;θ) 弱标记数据 ?l

minθ1|𝒳l|(xi,yi)𝒳lCE(f(xi;θ),yi), (1)

其中 CE(,)是交叉熵损失。 我们采用提前停止Dodge et al (2020)来防止模型过度拟合标签噪声。 然而,早期停止会导致拟合不足,我们通过对比自我训练来解决这个问题。

使用所有数据进行对比自我训练。 对比自训练的目标是利用所有数据(包括标记和未标记)进行微调,并减少错误标记数据的错误传播。 我们为未标记的数据生成伪标签并将其合并到训练集中。 为了减少错误传播,我们引入了对比表示学习(3.2 节)和基于置信度的样本重新加权和正则化(3.3 节)。 我们迭代地更新伪标签(用 ?~ 表示)和模型。 算法1总结了这些过程。

使用当前的 θ 更新 y~ 要为每个样本 x? 生成伪标签,一种直接的方法是使用硬标签李 (2013)

y~hard=argmaxj𝒴[f(x;θ)]j. (2)

请注意 f(x;θ)C 是概率向量,[f(x;θ)]j 然而,这些硬伪标签只保留每个样本最可能的类别,并导致标签错误的传播。 例如,如果样本被错误地分类到错误的类,则分配 0/1 标签会使模型更新变得复杂(等式 4),因为模型会拟合错误的标签。 为了缓解这个问题,对于批次中的每个样本x,我们生成软伪标签333有关硬与软的更多讨论在第 2 节中。 4.5 谢等人(20162019);孟等人 (2020);梁等 (2020) ?~C 基于当前模型为

𝒚~j=[f(x;θ)]j2/fjj𝒴[f(x;θ)]j2/fj, (3)

其中 fj=x[f(x;θ)]j2j 非二进制软伪标签保证,即使我们的预测不准确,传播到模型更新步骤的误差也将小于使用硬伪标签。

使用当前的 y~ 更新 θ 我们通过最小化来更新模型参数θ

(θ;𝒚~)=c(θ;𝒚~)+1(θ;𝒚~)+λ2(θ), (4)

其中 c 是分类损失(第 3.3 节),1(θ;?~) 是对比正则化器(第 3.2

输入: 训练样本?;弱标记样本?l?;预训练LM f(;θ)
// 使用弱标记数据微调 LM。
对于t=1,2,,T10>,1>⋯2>,3>T5>16>4> 做7>
       ?l 中采样小批量
       通过等式更新θ 1 使用 AdamW。
// 对所有数据进行对比自我训练。
对于t=1,2,,T20>,1>⋯2>,3>T5>26>4> 做7>
       通过等式更新伪标签 ?~ 3 对于所有 x?
       对于k=1,2,,T30>,1>⋯2>,3>T5>36>4> 做7>
             ? 中采样小批量
             通过等式选择高置信度样本?9
             通过公式计算c 10, 1 通过等式: 6
             使用 AdamW 更新 θ
      
输出: 微调模型 f(;θ)
算法1 COSINE的训练流程。

3.2 样本对的对比学习

我们的对比自训练方法的关键要素是学习表示,鼓励同一类中的数据具有相似的表示,并将不同类中的数据分开。 具体来说,我们首先从 ? 中选择高置信度样本(第 3.3 节)? 然后对于每对 xi,xj?,我们将它们的相似度定义为

Wij={1, if argmaxk𝒴[𝒚~i]k=argmaxk𝒴[𝒚~j]k0, otherwise , (5)

其中?~i,?~jxi 对于每个 x?,我们计算其表示 ?=BERT(x)d,然后我们定义对比正则化器为

1(θ;𝒚~)=(xi,xj)𝒞×𝒞(𝒗i,𝒗j,Wij), (6)

在哪里

=Wijdij2+(1Wij)[max(0,γdij)]2. (7)

这里,(,,) 是对比损失 Chopra 等人 (20054>); Taigman 等人 (20145>)3>,dij444我们使用缩放欧氏距离dij=1d?i?j222>我3>1> −4>?6>j7>5>0>‖8>8>默认为 29>20>7>2>。 有关 Wijd1>i3>4>j5>2>在附录E ?i?j 之间,并且γ

Refer to caption
图2: 对比学习的例证。 黑色实线表示相似的样本对,红色虚线表示不相似的样本对。

对于同一类的样本, IE。 Wij=1,等式。 6 通过这种方式,正则化器强制相似的样本接近,同时使不同的样本保持至少 γ 的距离。 2说明了对比表示。 我们可以看到,我们的方法产生了清晰的类间边界和较小的类内距离,这简化了分类任务。

3.3 基于置信度的样本重新加权和正则化

虽然对比表示可以产生更好的决策边界,但它们需要具有高质量伪标签的样本。 在本节中,我们介绍重新加权和正则化方法来抑制错误传播并改善伪标签质量。

样本重新加权。 在分类任务中,预测置信度高的样本比置信度低的样本更有可能被正确分类。 因此,我们通过基于置信度的样本重新加权方案进一步减少标签噪声传播。 对于每个带有软伪标签 ?~ 的样本 x,我们分配 x 权重 ω(x)

ω=1H(𝒚~)log(C),H(𝒚~)=i=1C𝒚~ilog𝒚~i, (8)

其中0H(?~)log(C)?~ 请注意,如果预测置信度较低,则 H(?~)会很大,样本权重ω(x) 我们使用预定义的阈值ξ从每个批次中选择高置信度样本?,如下所示

𝒞={x|ω(x)ξ}. (9)

然后我们将损失函数定义为

c(θ,𝒚~)=1|𝒞|x𝒞ω(x)𝒟KL(𝒚~f(x;θ)), (10)

在哪里

𝒟KL(PQ)=kpklogpkqk (11)

是 Kullback-Leibler (KL) 散度。

置信度正则化 样本重新加权方法可在对比自训练过程中提升高置信度样本。 然而,这种策略依赖于错误标记的样本,其置信度较低,除非我们防止过度自信的预测,否则这可能不是真的。 为此,我们提出了一种基于置信度的正则化器,它鼓励预测的平滑性,定义为

2(θ)=1|𝒞|x𝒞𝒟KL(𝐮f(x;θ)), (12)

其中 ?KL 是 KL 散度,?i=1/C i=1,2,,C 该项构成了一种正则化,以防止过度自信的预测,并带来更好的泛化Pereyra 等人 (2017)

4实验

数据集和任务。 我们使用 7 个公共基准对 6 个 NLP 分类任务进行了实验: AGNews Zhang et al (2015) 是一个主题分类任务; IMDB Maas 等人 (2011)Yelp Meng 等人 (2018) t8>) 是情感分析任务; TREC Voorhees 和 Tice (19991>)0> 是一个问题分类任务; MIT-R2> Liu et al (20134>)3> 是一个 Slot Filling 任务; Chemprot5> Krallinger 等人 (20177>)6> 是一个关系分类任务; WiC8> Pilehvar 和 Camacho-Collados (20190>)9> 是一项词义消歧 (WSD) 任务。 数据集统计数据总结在表2中。 有关数据集和弱监督源的更多详细信息,请参见附录A555请注意,我们对我们的方法和所有基线使用相同的弱监督信号/规则,以进行公平比较。.

Dataset Task Class # Train # Dev # Test Cover Accuracy
AGNews Topic 4 96k 12k 12k 56.4 83.1
IMDB Sentiment 2 20k 2.5k 2.5k 87.5 74.5
Yelp Sentiment 2 30.4k 3.8k 3.8k 82.8 71.5
MIT-R Slot Filling 9 6.6k 1.0k 1.5k 13.5 80.7
TREC Question 6 4.8k 0.6k 0.6k 95.0 63.8
Chemprot Relation 10 12.6k 1.6k 1.6k 85.9 46.5
WiC WSD 2 5.4k 0.6k 1.4k 63.4 58.8
表2: 数据集统计。 这里的覆盖率(以%为单位)是训练集中弱监督源覆盖的实例的比例,准确度(以%为单位)是弱监督的精度。

基线。 我们将我们的模型与不同组的基线方法进行比较:

(i) 精确匹配(ExMatch):测试集直接由弱监督源标记。

(ii) 微调方法:第二组基线是 LM 的微调方法:

RoBERTa Liu 等人 (2019) 使用基于 RoBERTa 的模型和特定于任务的分类头。

自集成 (Xu等人,2020)使用自集成和蒸馏来提高性能。

FreeLB Zhu et al (2020) 采用对抗性训练来强制输出平滑。

Mixup Zhang 等人 (2018) 通过线性插值创建虚拟训练样本。

SMART Jiang et al (2020) 添加对抗性和平滑性约束来微调 LM 并实现状态-许多 NLP 任务的最先进的结果。

(iii) 弱监督模型:第三组基线是弱监督模型666除非另有说明,所有方法都使用 RoBERTa-base 作为主干。:

Snorkel Ratner 等人 (2020) 根据不同的标记函数的相关性聚合不同的标记函数。

WeSTClass Meng 等人 (2018) 使用生成的伪文档训练分类器,并使用自训练来对所有样本进行引导。

ImplyLoss Awasthi 等人 (2020) 共同训练基于规则的分类器和神经分类器以进行去噪。

去噪 Ren et al (2020)使用注意力网络来估计弱监督的可靠性,然后降低通过聚合弱标签来消除噪音。

UST Mukherjee 和 Awadallah (2020) 是最先进的自我训练,但限制有限标签。 它通过MC-dropout Gal and Ghahramani (2015)估计不确定性,然后选择不确定性较低的样本进行自训练。

评估指标。 我们使用测试集上的分类准确性作为除 MIT-R 之外的所有数据集的评估指标。 MIT-R 包含大量标记为“其他”的代币。 我们对此数据集使用其他类别的微 F1 分数。777Chemprot数据集也包含“Others”类型,但此类实例很少,因此我们仍然使用准确率作为指标。

辅助的。 我们使用 PyTorch 实现 COSINE888https://pytorch.org/,我们使用 RoBERTa-base 作为预训练的 LM。 数据集和弱监督详细信息参见附录A。基线设置位于附录B中。 培训详细信息和设置位于附录C中。关于提前停止的讨论在附录D中。距离度量和相似性度量的比较参见附录E

4.1 向弱标签学习

Method   AGNews  IMDB  Yelp  MIT-R  TREC  Chemprot  WiC (dev)
ExMatch 52.31 71.28 68.68 34.93 60.80 46.52 58.80
Fully-supervised Result
RoBERTa-CL Liu et al. (2019) 91.41 94.26 97.27 88.51 96.68 79.65 70.53
Baselines
RoBERTa-WL Liu et al. (2019) 82.25 72.60 74.89 70.95 62.25 44.80 59.36
Self-ensemble Xu et al. (2020) 85.72 86.72 80.08 72.88 66.18 44.62 62.71
FreeLB Zhu et al. (2020) 85.12 88.04 85.68 73.04 67.33 45.68 63.45
Mixup Zhang et al. (2018) 85.40 86.92 92.05 73.68 66.83 51.59 64.88
SMART Jiang et al. (2020) 86.12 86.98 88.58 73.66 68.17 48.26 63.55
Snorkel Ratner et al. (2020) 62.91 73.22 69.21 20.63 58.60 37.50 -​-​-
WeSTClass Meng et al. (2018) 82.78 77.40 76.86 -​-​- 37.31 -​-​- 48.59
ImplyLoss Awasthi et al. (2020) 68.50 63.85 76.29 74.30 80.20 53.48 54.48
Denoise Ren et al. (2020) 85.71 82.90 87.53 70.58 69.20 50.56 62.38
UST Mukherjee and Awadallah (2020) 86.28 84.56 90.53 74.41 65.52 52.14 63.48
Our COSINE Framework
Init 84.63 83.58 81.76 72.97 65.67 51.34 63.46
COSINE 87.52 90.54 95.97 76.61 82.59 54.36 67.71

:RoBERTa 使用干净标签进行训练。 :RoBERTa 使用弱标签进行训练。 :不公平比较。 :不适用。

表3: 各种数据集的分类准确度(以%为单位)。 我们报告三轮运行的平均值。

我们在表 3 中总结了弱监督学习结果。 在所有数据集中,COSINE 优于所有基线模型。 一个特殊情况是 WiC 数据集,我们使用 WordNet999https://wordnet.princeton.edu/ 生成弱标签。 然而,这使得 Snorkel 能够访问开发集中的一些标记数据,从而与其他方法竞争不公平。 我们将在第二部分讨论更多关于这个数据集的信息。 4.3

与使用弱标记数据直接微调预训练的 LM 相比,我们的模型采用了“早期停止”技术101010我们在附录D中讨论这项技术。 这样它就不会过度拟合标签噪声。 如图所示,“Init”确实实现了更好的性能,并且它为我们的框架提供了良好的初始化。 其他微调方法和弱监督模型要么无法利用预训练语言模型的力量, 例如,通气管,或依靠清洁标签, 例如,其他基线。 我们强调,尽管迄今为止最先进的方法 UST 在少数样本设置下实现了强大的性能,但他们的方法无法很好地估计噪声标签的置信度,从而导致性能较差。 我们的模型可以通过对比自训练逐渐纠正错误的伪标签并减轻错误传播。

值得注意的是,在某些数据集上, 例如、AGNews、IMDB、Yelp 和 WiC,我们的模型达到了与使用干净标签训练的模型 (RoBERTa-CL) 相同的性能水平。 这使得 COSINE 在只有弱监督的情况下具有吸引力。

Refer to caption
图3: TREC 上标签损坏的结果。 当损坏率小于40%时,性能接近完全监督方法。

4.2 针对标签噪声的鲁棒性

我们的模型对于过度的标签噪声具有鲁棒性。 我们通过随机地将每个标签更改为另一类来破坏一定比例的标签。 这是众包中的常见场景,我们假设人类注释者以相同的概率错误地标记每个样本。 3总结了TREC数据集上的实验结果。 与先进的微调和自训练方法相比(例如 智能和 UST)111111注意表3中的一些方法, 例如、ImplyLoss 和 Denoise 不适用于此设置,因为它们需要弱监督源,但此设置中不存在。,我们的模型始终优于基线。

Model Dev Test #Params
Human Baseline 80.0 -​-​-
BERT Devlin et al. (2019) -​-​- 69.6 335M
RoBERTa (Liu et al., 2019) 70.5 69.9 356M
T5 (Raffel et al., 2019) -​-​- 76.9 11,000M
Semi-Supervised Learning
SenseBERT (Levine et al., 2020) -​-​- 72.1 370M
RoBERTa-WL (Liu et al., 2019) 72.3 70.2 125M
w/ MT (Tarvainen and Valpola, 2017) 73.5 70.9 125M
w/ VAT (Miyato et al., 2018) 74.2 71.2 125M
w/ COSINE 76.0 73.2 125M
Transductive Learning
Snorkel (Ratner et al., 2020) 80.5 -​-​- 1M
RoBERTa-WL (Liu et al., 2019) 81.3 76.8 125M
w/ MT (Tarvainen and Valpola, 2017) 82.1 77.1 125M
w/ VAT (Miyato et al., 2018) 84.9 79.5 125M
w/ COSINE 89.5 85.3 125M
表 4: WiC 上的半监督学习。 VAT(虚拟对抗训练)和MT(Mean Teacher)都是半监督方法。 :可以访问弱标签。

4.3半监督学习

我们可以自然地将我们的模型扩展到半监督学习,其中部分数据可以使用干净的标签。 我们在 WiC 数据集上进行实验。 作为 SuperGLUE Wang 等人 (2019a) 基准测试的一部分,该数据集提出了一项具有挑战性的任务:模型需要确定不同句子中的相同单词是否具有相同的含义(意义)。

与之前训练集中的标签有噪声的任务不同,在这一部分中,我们利用 WiC 数据集提供的干净标签。 我们使用从词汇数据库获得的未标记句子对进一步增强 WiC 的原始训练数据(例如、WordNet、Wictionary)。 请注意,部分未标记数据可以通过规则匹配进行弱标记。 这本质上创建了一个半监督任务,其中我们有标记数据、弱标记数据和未标记数据。

由于 WiC 的弱标签是由 WordNet 生成的,并部分揭示了真实的标签信息,Snorkel (Ratner et al, 2020) 通过访问未标记的句子和验证和测试数据的弱标签。 为了与 Snorkel 进行公平比较,我们考虑转导式学习设置,通过将未标记的验证和测试数据及其弱标签集成到训练集中,我们可以访问相同的信息。 如表4所示,与Snorkel相比,采用转导学习的COSINE取得了更好的性能。 此外,与半监督基线相比(IE。 VAT 和 MT)以及使用额外资源的微调方法(IE。,SenseBERT),COSINE 在半监督和传导学习环境中都取得了更好的性能。

Refer to caption
Refer to caption
Refer to caption
Refer to caption
图4: MIT-R 上的分类性能。从左到右:ExMatch 的可视化、初始化步骤后的结果、对比自训练后的结果以及自训练期间的错误标签纠正。
图5: 不同超参数的影响。
Refer to caption (A)ξ 的效果。 Refer to caption (二)T1 的效果。 Refer to caption (C)T3 的效果。
Refer to caption
图5: 不同超参数的影响。
图6: 准确性与置信度得分。

4.4案例研究

Refer to caption
(A)嵌入不包含 1
Refer to caption
(二)嵌入 1
图7: t-SNE Maaten 和 Hinton (2008) TREC 上的可视化。 每种颜色代表不同的类别。
Refer to caption
(A)Agnews 上的结果。
Refer to caption
(二)MIT-R 上的结果。
图8: 准确度对比 带注释的标签数量。

错误传播缓解和错误标签纠正。 4直观地展示了这个过程。 在训练之前,语义规则会做出嘈杂的预测。 初始化步骤之后,模型预测的噪声更少,但偏差更大, 例如,许多样本被错误地标记为“Amenity”。 这些预测通过对比自我训练进一步完善。 最右图演示了错误标签校正 样本用圆的半径表示,分类正确性用颜色表示, IE。,蓝色表示正确,橙色表示错误。 从内环到外环指定初始化阶段和迭代1、2、3之后的分类精度。 我们可以看到许多错误的预测在三次迭代内得到了纠正。 说明一下:右边的黑色虚线表示对应的样本在第一次迭代后被正确分类,左边的虚线表示该样本在第二次迭代后被错误分类,但在第三次迭代后被纠正。 这些结果表明我们的模型可以通过对比自我训练来纠正错误的预测。

更好的数据表示。 我们在图 7 中可视化样本嵌入。 通过结合对比正则化器 1,我们的模型可以学习同一类中数据的更紧凑的表示, 例如,绿色班级,也拉长了班级间的距离, 例如,图 7(b) 中的紫色类比图 7(a) 中的其他类更容易分离。

Refer to caption
图9: 不同设置下 TREC 的学习曲线。 均值和方差通过 3 次运行进行计算。

标签效率。 8说明了监督模型超越COSINE所需的干净标签数量。 在这两个数据集上,监督模型需要大量的干净标签(Agnews 大约 750 个,MIT-R 大约 120 个)才能达到我们的性能水平,而我们的方法假设没有干净样本。

置信度越高表明准确性越高。 6展示了IMDB上的预测置信度和预测精度之间的关系。 我们可以看到,一般来说,预测置信度越高的样本,预测精度越高。 通过我们的样本重新加权方法,我们逐渐过滤掉低置信度样本并为其他样本分配更高的权重,这有效地减轻了错误传播。

4.5消融研究

余弦的组成部分余弦 我们检查各个组件的重要性,包括对比正则化器 1、置信正则化器 2,以及样本重新加权(SR)方法和软标签。 5 总结了结果,图 9 直观地展示了学习曲线。 我们注意到所有组件共同对模型性能做出贡献,删除任何组件都会损害分类准确性。 例如,样本重新加权是减少误差传播的有效工具,删除它会导致模型最终过度拟合标签噪声, 例如,图9中的红色底线说明分类准确率先上升后迅速下降。 另一方面,用硬伪标签(等式2)替换软伪标签(等式3)会导致性能下降 这是因为硬伪标签丢失了预测置信度信息。

Method AGNews IMDB Yelp MIT-R TREC
Init 84.63 83.58 81.76 72.97 66.50
COSINE 87.52 90.54 95.97 76.61 82.59
   w/o 1 86.04 88.32 94.64 74.11 78.28
   w/o 2 85.91 89.32 93.96 75.21 77.11
   w/o SR 86.72 87.10 93.08 74.29 79.77
   w/o 1/2 86.33 84.44 92.34 73.67 76.95
   w/o 1/2/SR 86.61 83.98 82.57 73.59 74.96
   w/o Soft Label 86.07 89.72 93.73 73.05 71.91
表 5: 不同成分的影响。 由于空间限制,我们仅显示 5 个代表性数据集的结果。

余弦的超参数余弦 在图6中,我们检查了不同超参数的影响,包括置信度阈值ξ(方程9)、停止时间初始化步骤中的T1,更新周期T3 从图5(a)可以看出,置信阈值设置太大会损害模型性能,这是因为过于保守的选择策略会导致训练数据数量不足。 停止时间 T1 对模型有巨大影响。 这是因为用弱标签微调 COSINE 的步骤过多会导致模型不可避免地过度拟合标签噪声,从而导致对比自训练过程无法纠正错误。 此外,随着伪标签更新周期T3的增加,模型性能先上升后下降。 这是因为,如果我们更新伪标签太频繁,对比自训练过程就无法完全抑制标签噪声,而如果更新太不频繁,伪标签就无法很好地捕获更新的信息。

5相关作品

微调预训练的语言模型。 为了提高模型在微调阶段的泛化能力,Peters 等人(2019)提出了几种方法;道奇等人 (2020);朱等人 (2020);江等人(2020);徐等人 (2020); Kong等人(2020);赵等人 (2020); Gunel 等人 (2021);张等人 (2021); Aghajanyan 等人 (20210>); Wang et al (20211>),然而,这些方法大多数都集中在完全监督的设置上,并且严重依赖大量的干净标签2>,而这些标签并不是始终可用。 为了解决这个问题,我们提出了一种对比自训练框架,该框架仅使用弱标签来微调预训练模型。 与现有的微调方法Xu等人(2020)相比;朱等人 (2020); Jiang等人(2020),我们的模型有效地降低了标签噪声,在弱监督的各种NLP任务上取得了更好的性能。

从弱监督中学习。 在弱监督学习中,训练数据通常充满噪声且不完整。 现有方法旨在通过例如聚合多个弱监督Ratner等人(2020)来对样本标签或标签函数进行去噪; Lison 等人 (2020); Ren 等人 (2020),使用干净样本 Awasthi 等人 (2020),并利用上下文信息 Mekala和尚(2020) 然而,他们中的大多数只能对特定任务使用特定类型的弱监督, 例如、文本分类关键词Meng et al (2020); Mekala 和 Shang (2020),他们需要弱监督源的先验知识Awasthi 等人 (2020); Lison 等人 (2020); Ren 等人 (2020),这在某种程度上限制了他们的应用范围。 我们的工作与它们正交,因为我们不直接对标记函数进行去噪。 相反,我们采用对比自训练来利用预训练语言模型的力量进行去噪,这是任务无关的并且适用于各种 NLP 任务,只需最少的额外工作。

6讨论

LM 适应不同领域。 在对来自不同领域的数据进行语言模型微调时,我们可以首先继续对域内文本数据进行预训练,以更好地适应Gururangan et al (2020) 对于一些罕见的领域,在一般领域上训练的 BERT 不是最佳的,我们可以使用在这些特定领域上预训练的 LM(例如 BioBERT Lee 等人 (2020)、SciBERT Beltagy 等人 (2019))来解决这个问题。

弱监督的可扩展性。 COSINE可以应用于具有大量类的任务。 这是因为规则可以自动生成,而无需手工制定。 例如,我们可以使用标签名称/描述作为弱监督信号Meng et al (2020) 这种信号很容易获得,不需要手工制定规则。 一旦提供了弱监督,我们就可以创建弱标签来进一步应用COSINE

灵活性。 COSINE 可以处理我们进行的实验之外的任务和弱监督源。 例如,除了语义规则之外,众包可以是生成伪标签的另一个弱监督源Wang et al (2013) 此外,我们只对几个代表性任务进行实验,但我们的框架也可以应用于其他任务,例如命名实体识别(标记分类)和阅读理解(句子对分类)。

7结论

在本文中,我们提出了一种对比正则化自训练框架COSINE,用于微调弱监督的预训练语言模型。 我们的框架可以学习更好的数据表示以简化分类任务,并且还可以通过基于置信度的重新加权和正则化有效地减少标签噪声传播。 我们对各种分类任务进行了实验,包括序列分类、标记分类和句子对分类,结果证明了我们模型的有效性。

更广泛的影响

COSINE 是一个通用框架,通过将神经网络与弱监督相结合来解决标签稀缺问题 弱监督提供了一种简单但灵活的语言来编码领域知识并捕获特征和标签之间的相关性。 当与未标记数据结合时,我们的框架可以在很大程度上解决训练 DNN 的标签稀缺瓶颈,使其能够以标签有效的方式应用于下游 NLP 分类任务。

COSINE 既不会向模型引入任何社会/道德偏见,也不会放大数据中的任何偏见。 在所有实验中,我们使用公开数据,并使用公共代码库构建算法。 我们不预见任何直接的社会后果或道德问题。

致谢

我们感谢匿名审稿人的反馈。 这项工作得到了国家科学基金会奖 III-2008334、亚马逊教师奖和谷歌教师奖的部分支持。

参考

附录A监管薄弱细节

COSINE在训练过程中不需要任何人工标注的例子,只需要关键词、语义规则等弱监督源。 根据现有著作Awasthi等人(2020)的一些研究; Zhou等人(2020),这种弱监督的获得成本低廉,而且比收集清洁标签效率更高。 通过这种方式,我们可以使用这些弱监督源获得比人工更多的标记示例。

我们将两种类型的语义规则用作弱监督:

  1. 关键字规则:HAS(x, L) C。如果x与列表L中的单词之一匹配,我们将其标记为C

  2. 模式规则:MATCH(x, R) C。如果x与正则表达式R匹配,我们将其标记为C

除了关键词规则和模式规则之外,我们还可以利用第三方工具来获取弱标签。 这些工具(例如 文本块121212https://textblob.readthedocs.io/en/dev/index.html。)可以在网上获得,并且可以很便宜地获得,但是它们的预测不够准确(当直接使用该工具来预测所有训练样本的标签时,在 Yelp 数据集上的准确率约为 60%)。

我们现在介绍每个数据集上的语义规则:

  1. AGNews、IMDB、Yelp:我们使用 Ren 等人 (2020) 中的规则。 有关规则的详细信息,请参阅原始论文。

  2. MIT-R,TREC:我们使用Awasthi等人(2020)中的规则。 有关规则的详细信息,请参阅原始论文。

  3. ChemProt:有 26 条规则。 我们在表6中展示了部分规则。

  4. WiC:WordNet中每个单词的每种含义都有例句。 对于 WiC 数据集中的每个句子及其对应的关键字,我们从 WordNet 中收集该单词的例句。 那么对于一对句子,如果它们的定义相同,则对应的弱标签为“True”,否则弱标签为“False”。

Rule Example
HAS (x, [amino acid,mutant, mutat, replace] ) part_of

A major part of this processing requires endoproteolytic cleavage at specific pairs of basic [CHEMICAL]amino acid[CHEMICAL] residues, an event necessary for the maturation of a variety of important biologically active proteins, such as insulin and [GENE]nerve growth factor[GENE].

HAS (x, [bind, interact, affinit] ) regulator

The interaction of [CHEMICAL]naloxone estrone azine[CHEMICAL] (N-EH) with various [GENE]opioid receptor[GENE] types was studied in vitro.

HAS (x, [activat, increas, induc, stimulat, upregulat] ) upregulator/activator

The results of this study suggest that [CHEMICAL]noradrenaline[CHEMICAL] predominantly, but not exclusively, mediates contraction of rat aorta through the activation of an [GENE]alphalD-adrenoceptor[GENE].

HAS (x, [downregulat, inhibit, reduc, decreas] ) downregulator/inhibitor

These results suggest that [CHEMICAL]prostacyclin[CHEMICAL] may play a role in downregulating [GENE]tissue factor[GENE] expression in monocytes, at least in part via elevation of intracellular levels of cyclic AMP.

HAS (x, [ agoni, tagoni]* ) agonist * (note the leading whitespace in both cases)

Alprenolol and BAAM also caused surmountable antagonism of [CHEMICAL]isoprenaline[CHEMICAL] responses, and this [GENE]beta 1-adrenoceptor[GENE] antagonism was slowly reversible.

HAS (x, [antagon] ) antagonist

It is concluded that [CHEMICAL]labetalol[CHEMICAL] and dilevalol are [GENE]beta 1-adrenoceptor[GENE] selective antagonists.

HAS (x, [modulat, allosteric] ) modulator

[CHEMICAL]Hydrogen sulfide[CHEMICAL] as an allosteric modulator of [GENE]ATP-sensitive potassium channels[GENE] in colonic inflammation.

HAS (x, [cofactor] ) cofactor

The activation appears to be due to an increase of [GENE]GAD[GENE] affinity for its cofactor, [CHEMICAL]pyridoxal phosphate[CHEMICAL] (PLP).

HAS (x, [substrate, catalyz, transport, produc, conver] ) substrate/product

Kinetic constants of the mutant [GENE]CrAT[GENE] showed modification in favor of longer [CHEMICAL]acyl-CoAs[CHEMICAL] as substrates.

HAS (x, [not] ) not

[CHEMICAL]Nicotine[CHEMICAL] does not account for the CSE stimulation of [GENE]VEGF[GENE] in HFL-1.

表 6: Chemprot 上的语义规则示例。

附录 B基线设置

我们基于他们的原始论文实现了 Self-ensemble、FreeLB、Mixup 和 UST。 对于其他基线,我们使用他们的官方版本:

WeSTClass Meng et al (2018):https:// /github.com/yumeng5/WeSTClass


RoBERTa 刘等人 (2019):https://github.com/huggingface/transformers.


SMART Jiang 等人 (2020):https://github.com/namisan/mt-dnn


浮潜Ratner等人(2020):https://www.snorkel.org/


ImplyLoss Awasthi 等人 (2020):https://github.com/awasthiabhijeet/Learning-From -规则


去噪Ren等人(2020):https://github.com/weakrules/Denoise-multi -弱源

附录 C实验设置详细信息

C.1 计算基础设施

系统:Ubuntu 18.04.3 LTS; Python 3.7;火炬 1.2。 CPU:Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz。 GPU:GeForce GTX TITAN X。

C.2 超参数

我们使用 AdamW Loshchilov 和 Hutter (2019) 作为优化器,学习率选自 1×105,2×105,3×105}0>31>×2>104>−6>57>5>3>}8>。 使用带有预热0.1的线性学习率衰减方案,训练时期数为5

超参数如表7所示。 我们使用网格搜索来找到每个任务的最佳设置。 具体来说,我们搜索T1102000,T2 所有结果均报告为三轮运行的平均值。

Hyper-parameter AGNews IMDB Yelp MIT-R TREC Chemprot WiC
Dropout Ratio  0.1
Maximum Tokens 128 256 512 64 64 400 256
Batch Size 32 16 16 64 16 24 32
Weight Decay 104
Learning Rate 105 105 105 105 105 105 105
T1 160 160 200 150 500 400 1700
T2 3000 2500 2500 1000 2500 1000 3000
T3 250 50 100 15 30 15 80
ξ 0.6 0.7 0.7 0.2 0.3 0.7 0.7
λ 0.1 0.05 0.05 0.1 0.05 0.05 0.05
表 7: 超参数配置。 请注意,我们只保留一定数量的代币。

C.3 参数数量

COSINE 和大多数基线(RoBERTa-WL / RoBERTa-CL / SMART / WeSTClass / Self-Ensemble / FreeLB / Mixup / UST)都是建立在 RoBERTa-base 模型上,具有约 125M 参数。 Snorkel 是一个只有几个参数的生成模型。 ImplyLoss和Denoise冻结了嵌入并且参数少于1M。 然而,这些模型在我们的实验中无法取得令人满意的性能。

Distance d Euclidean Cos
Similarity W Hard KL-based L2-based Hard KL-based L2-based
AGNews 87.52 86.44 86.72 87.34 86.98 86.55
MIT-R 76.61 76.68 76.49 76.55 76.76 76.58
表8: COSINE在不同设置下的表现。

附录D提前停止和提前停止

我们的模型在初始化阶段采用提前停止策略。 这里我们使用“早期停止”来区别“早期停止”,这是微调算法中的标准。 早期停止是指当评估分数下降时我们停止训练的技术。 提前停止是不言自明的,也就是说,我们甚至在评估分数开始下降之前,仅用几个步骤对预先训练的 LM 进行微调。 该技术可以有效防止模型过拟合。 例如,如图 5(b) 所示,在 IMDB 数据集上,我们的模型在使用弱标签进行 240 次初始化迭代后出现过拟合。 相比之下,在使用干净标签时,即使经过 400 次迭代微调,该模型仍能获得良好的性能。 这验证了提前停车的必要性。

附录E对比学习中距离测量的比较

对比正则化器 1(θ;?~) 与两个设计相关:样本距离度量 dij 在我们的实现中,我们使用缩放的欧几里得距离作为 dij 和等式。 5 作为 Wij131313为了加速对比学习,我们采用双随机采样近似来降低计算成本。 具体来说,每批 中的高置信度样本 ? 产生 ?(|?|2) 个样本对,我们对 |?|. 在这里我们讨论其他设计。

E.1 样本距离度量d

给定编码的矢量化表示 ?i?j 对于样本 i

缩放欧氏距离(Euclidean):我们计算 ?i?j 作为

dij=1d𝒗i𝒗j22. (13)

余弦距离 (Cos)141414我们使用 Cos 来区别我们的模型名称COSINE:除了缩放欧氏距离之外,余弦距离是另一种广泛使用的距离度量:

dij=1cos(𝒗i,𝒗j)=1𝒗i𝒗j𝒗i𝒗j. (14)

E.2 相似性度量示例W

给定软伪标签 ?~i?~j 样本 i 在所有情况下,Wij 缩放到范围 [0,1] (我们在方程 7

硬相似度:两个样本之间的硬相似度计算如下

Wij={1, if argmaxk𝒴[𝒚~i]k=argmaxk𝒴[𝒚~j]k,0, otherwise.  (15)

这被称为“硬”相似性,因为我们获得了一个二元标签, IE。,如果两个样本对应的硬伪标签相同,我们就说它们相似,否则我们就说它们不相似。

基于软KL的相似度:我们基于KL距离计算相似度,如下所示。

Wij=exp(β2(𝒟KL(𝒚~i𝒚~j)+𝒟KL(𝒚~j𝒚~i))), (16)

其中β是缩放因子,我们默认设置β=10

基于 L2 的软相似度:我们基于 L2 距离计算相似度,如下所示。

Wij=112𝒚~i𝒚~j22, (17)

不同dW下的E.3余弦

我们在表 8 中展示了 COSINE 在 Agnews 和 MIT-R 上不同选择 dW 的性能。 我们可以看到 COSINE 对于这些选择是稳健的。 在我们的实验中,我们默认使用缩放的欧氏距离和硬相似度。