返回介绍

数学基础

统计学习

深度学习

工具

Scala

三十九、CLEAR [2020]

发布于 2023-07-17 23:38:25 字数 37191 浏览 0 评论 0 收藏 0

  1. 学习一个更好的 sentence representation model 一直是自然语言处理的一个基本问题。以 word embedding 的平均值作为 sentence representation (也称为均值池化)是早期常见的 baseline 。后来,预训练模型(如 BERT)提出在预训练中插入一个 special token (即 [CLS] token ),并将其embedding 作为 sentence representation 。由于 BERT 带来的巨大改进,人们似乎同意 CLS-token embeddingaveraging word embeddings 更好。然而,最近的一篇论文 SBERT 观察到,所有 output word vectors 的平均,要比 CLS-token embedding 的效果要好一点。SBERT 的结果表明,像 BERT 这样的模型在 token level 学习了更好的 representation 。一个自然的问题是如何更好地学习 sentence representation

    受计算机视觉中对比学习的成功启发,论文 《CLEAR: Contrastive Learning for Sentence Representation》有兴趣探索它是否也能帮助语言模型产生更好的 sentence representation 。对比学习的关键方法是在训练过程中对正样本进行增强。然而,文本的数据增强并不像图像的数据增强那样丰富。图像可以通过旋转、cropping 、调整大小、cutouting 等方式轻松增强。在 NLP 中,文献中研究的数据增强方式很少。主要原因是,句子中的每个单词都可能在表达整个意思时起到至关重要的作用。此外,单词的顺序也很重要。

    大多数现有的预训练语言模型都是在文本中加入不同类型的噪音,并试图在 word-level 上还原它们。sentence-level objective 很少被研究。

    • BERTword-level lossmasked language modeling: MLM )与sentence-level lossnext sentence prediction: NSP )相结合,并观察到 MLM+NSP 对一些下游任务是必不可少的。

    • RoBERTa 在预训练中放弃了 NSP 目标,但在各种下游任务中取得了更好的表现。

    • ALBERT 提出了一个用于 Sentence-Order Prediction: SOP 的自监督损失,用于建模句子之间的连贯性 inter-sentence coherence 。他们的工作表明,coherence prediction 是比主题预测topic predictionNSP 使用的方式)更好的选择。

    • DeCLUTR 是第一个将对比学习(Contrastive Learning: CL )与 MLM 结合起来进行预训练的工作。然而,它需要一个极长的输入文件,即 2048token ,这限制了模型在有限的数据上进行预训练。此外,DeCLUTRexisting pre-trained model 中进行训练,所以当它从头开始训练时,是否也能达到同样的性能仍是未知数。

    借鉴最近在pretrained language model 和对比学习方面的进展, 《CLEAR: Contrastive Learning for Sentence Representation》 提出了一个新的框架 CLEAR ,将 word-level MLM objectivesentence-level CL objective 结合起来对语言模型进行预训练:

    • MLM objective 使模型能够捕获 word-level hidden features

    • CL objective 则通过训练编码器以最小化同一句子的不同augmentationembedding 之间的距离,确保模型具有识别相似含义句子的能力。

    CLEAR 中,作者提出了一种新的 augmentation 设计,可用于在 sentence-level 预训练语言模型。

    论文贡献:

    • 提出并测试了四种基本的句子增强方法:random-words-deletionspans-deletionsynonym-substitutionreordering ,这填补了 NLP 中关于什么样的 augmentation 可以用于对比学习的巨大空白。

    • GLUESentEval 基准上,CLEAR 超过了几个强大的 baseline (包括 RoBERTaBERT )。例如,与 RoBERTa 模型相比,CLEAR8GLUE 任务上显示了+2.2% 的绝对改进,在 7SentEval 语义文本相似性任务上显示了 +5.7% 的绝对改进。

  2. 相关工作:

    • Sentence Representation

      • 将各种池化策略应用于 word embeddings 作为 sentence representation 是一个常见的 baseline

      • Skip-Thoughts 训练了一个 encoder-decoder 模型,该模型试图重建周围的句子。

      • Quick-Thoughts 训练一个仅有编码器的模型,能够从其他 contrastive sentences 中选择句子的正确上下文。

      • 后来,许多 pre-trained language models ,如 BERT 提出使用人工插入的 token[CLS] token )作为整个句子的representation ,并成为各种下游任务中的新的SOTA

      • 最近的一篇论文 SBERTaverage BERT embeddingsCLS-token embedding 进行了比较,并令人惊讶地发现,在BERT的最后一层计算所有输出向量的平均值要比 CLS-token embedding 的性能略好。

    • Large-scale Pre-trained Language Representation Model:深度 pre-trained language model 已经证明了它们在捕获隐式的语言特征方面的能力,即使是不同的模型架构、不同的预训练任务、以及不同的损失函数。其中两个早期工作是 GPTBERTGPT 使用了一个从左到右的 Transformer ,而 BERT 设计了一个双向的Transformer 。两者都在很多下游任务中创造了一个令人难以置信的新的 SOTA

      最近,人们在 pre-trained language model 领域发表了大量的研究工作。一些人将以前的模型扩展到序列到序列的结构,这加强了模型在语言生成上的能力。另一些人探索不同的预训练目标,以提高模型的性能或加速预训练。

    • Contrastive Learning:对比学习已经成为一个正在崛起的领域,因为它在各种计算机视觉任务和数据集中取得了巨大的成功。一些研究人员提出使图像的不同 augmentationrepresentation相互一致,并显示出积极的结果。这些工作的主要区别在于他们对图像增强的不同定义。

      NLP 领域的研究人员也开始致力于为文本寻找合适的增强。CERT 应用 back-translation 来创建原始句子的增强,而DeCLUTR 认为一个文档内的不同 span 相互之间是相似的。

      • 我们的模型与 CERT 的不同之处在于,我们采用了 encoder-only 的结构,这减少了 decoder 带来的噪音。

      • DeCLUTR 只测试一种 augmentation ,并且从 existing pre-trained model 中训练模型。与 DeCLUTR不 同的是,我们从头开始预训练所有的模型,这提供了一个与 existing pre-trained model 的直接比较。

39.1 模型

  1. 对比学习框架:借用 SimCLR ,我们提出了一个新的对比学习框架来学习 sentence representation ,命名为 CLEARCLEAR 有四个主要组件,如下图所示。

    • augmentation componentAUC()$ \text{AUC}(\cdot) $ :在原始句子上应用随机的augmentation 。对于每个原始句子s$ s $ ,我们产生两个随机的 augmentations~1=AUC(s,seed1)$ \tilde s_1 = \text{AUC}(s,\text{seed}_1) $ 和s~2=AUC(s,seed2)$ \tilde s_2 = \text{AUC}(s,\text{seed}_2) $ ,其中seed1$ \text{seed}_1 $ 和seed2$ \text{seed}_2 $ 是两个随机数种子。注意,为了单独测试每种 augmentation 的效果,我们采用相同的 augmentation 来生成s~1$ \tilde s_1 $ 和s~2$ \tilde s_2 $ 。测试mixing augmentation 的模型需要更多的计算资源,我们计划将其留给未来的工作。augmentation 集合A$ \mathcal A $ 将在后面内容介绍。

    • transformer-based encoderf()$ f(\cdot) $ :学习input augmented sentencerepresentationH1=f(s~1)$ \mathbf H_1 = f\left(\tilde s_1\right) $ 和H2=f(s~2)$ \mathbf H_2 = f\left(\tilde s_2\right) $ 。任何能够学习 sentence representation 的编码器都可以在这里。我们选择目前的 SOTA (即 transformer )来学习 sentence representation ,并使用 manually-inserted token (即 [CLS] ,如 BERTRoBERTa 中使用的) 的 representation 作为句子的向量。

    • nonlinear neural network projection headg()$ g(\cdot) $ :将 encoded augmentationH1$ \mathbf H_1 $ 和H2$ \mathbf H_2 $ 投影到新空间中的向量z1=g(H1),z2=g(H2)$ \mathbf{\vec z}_1= g(\mathbf H_1), \mathbf{\vec z}_2=g(\mathbf H_2) $ 。根据 SimCLR 的观察,添加一个非线性的 projection head 可以大大改善图像的 representation quality

    • contrastive learning loss function:为 contrastive prediction 定义的,即试图预测集合{s~}$ \left\{\tilde s\right\} $ 中的 positive augmentation pair(s~1,s~2)$ \left(\tilde s_1,\tilde s_2\right) $ 。我们通过对 mini-batch (假设 mini-batch 是一个大小为N$ N $ 的集合{s}$ \left\{ s\right\} $ )中的所有句子随机增强两次来构建集合{s~}$ \left\{\tilde s\right\} $ ,其大小为2N$ 2N $ 。来自同一原始句子的两个变体构成 positive pair ,而来自同一 mini-batch 的所有其他实例被视为它们的负样本。positive pair 的损失函数定义为:

      (7)l(i,j)=logexp(sim(zi,zj)/τ)k=12NI[ki]exp(sim(zi,zk)/τ)

      其中:Iki$ \mathbb I_{k\ne i} $ 为示性函数,仅当ki$ k\ne i $ 时取值为 1,否则取值为零;τ$ \tau $ 为温度参数;sim(u,v)$ \text{sim}\left(\mathbf{\vec u}, \mathbf{\vec v}\right) $ 为两个向量u$ \mathbf{\vec u} $ 和v$ \mathbf{\vec v} $ 的余弦相似度。

      总的 contrastive learning loss 定义为 mini-batch 中所有 positive pairs 的损失之和:

      (8)LCL=i=12Nj=12Nm(i,j)×l(i,j)

      其中:m(i,j)$ m(i,j) $ 为一个函数,当且仅当(i,j)$ (i,j) $ 构成 positive pair 时返回 1 ,否则返回 0

      对比学习的 sentence embedding 方法都遵从这样的损失函数,不同的方法的区别在于:如何构建 augumented sentence

  2. Combined Loss:类似 DeCLUTR,为了同时捕获 token-level 特征和 sentence-level 特征,我们联合使用 MLM objectiveCL objective 来得到总体损失:

    (9)Ltotal=LMLM+LCL

    其中:LMLM$ \mathcal L_\text{MLM} $ 是通过预测集合{s}$ \{s\} $ 中的 random-masked token 来计算的,如 BERTRoBERTa 所述。

    我们的预训练目标是最小化Ltotal$ \mathcal L_\text{total} $ 。

    是否可以用超参数α$ \alpha $ 来平衡这两种损失?如,Ltotal=LMLM+αLCL$ \mathcal L_\text{total} = \mathcal L_\text{MLM} +\alpha \mathcal L_\text{CL} $ 。

  3. Sentence Augmentation 的设计原理:数据增强对于学习图像的representation 至关重要。然而,在语言建模中,数据(句子)增强是否有利于representation learning 、以及什么样的数据增强可以适用于文本,仍然是一个未知数。为了回答这些问题,我们在实验中探索并测试了四种基本的 augmentation (如下图所示)及其组合。我们确实相信存在更多潜在的 augmentation ,我们计划将其留待将来探索。

    • deletion:这种数据增强基于这样的假设:在一个句子中删除一些内容不会对原来的语义产生太大影响。在某些情况下,删除一些单词导致句子的不同含义(例如,删除 not 这个词)。然而,我们相信包括适当的噪音可以使模型更加鲁棒。我们考虑两种不同的删除方式,即 word deletionspan deletion

      • word deletion :随机选择句子中的 token ,并用一个 special token [DEL] 替换它们,如下图 (a) 所示。这与 BERT 中的 token [MASK] 类似。

      • span deletion :在 span-level 上挑选和替换 deletion objective ,如下图 (b) 所示。。一般来说,span-deletionword-deletion 的一个特例,它更注重删除连续的单词。

      对于相同位置上出现的 word deletionspan deletion,默认很容易区分这两种 augmentation (根据是否存在连续的 token [DEL] )。为了避免模型容易地区分这两种 augmentation ,我们把连续的 token [DEL] 消除成一个 token [DEL]

    • reorderingBART 已经探索了从随机重排的句子中恢复原始句子。在我们的实现中,我们随机抽出几个 span pair ,并将它们 pairwise 地交换,以实现 reordering augmentation ,如下图 (c) 所示。。

    • substitution《Certified robustness toadversarial word substitutions 》 已证明 substitution 能有效提高模型的鲁棒性。遵从他们的工作中,我们对一些词进行采样,并用同义词替换它们来构建一个 augmentation 。同义词列表来自他们使用的 vocabulary 。在我们的预训练语料库中,大约有 40%token 在列表中至少有一个 similar-meaning token

39.2 实验

  1. 模型配置:

    • 编码器:Transformer12 层、12 head768 hidden size )。

    • 预训练 500Kstepbatch size = 8192,最大序列长度为 512token

    • 优化器:Adamβ1=0.9,β2=0.98,ϵ=106$ \beta_1=0.9, \beta_2= 0.98, \epsilon = 10^{-6} $ ,L2 权重衰减 0.01

    • 学习率:开始的 23k 步中,学习率被预热到 6e-4 的峰值,然后在剩下的时间里线性递减。

      线性递减的速度是多少?论文并未说明。

    • 在所有层和所有注意力中使用 dropout = 0.1

    • 所有的模型都在 256NVIDIA Tesla V100 32GB GPU 上进行了预训练。

  2. 预训练数据:BookCorpus + English Wikipedia 的联合数据集(也是用于预训练 BERT 的数据集)。关于数据集的更多统计数据和处理细节,可以参考 BERT 的原始论文。

  3. MLM 的超参数:

    • 为了计算 MLM loss ,我们随机掩码了输入文本s$ s $ 的 15%token ,并使用周围的 token 来预测它们。

    • 为了弥补 fine-tuningpre-training 之间的 gap ,对于 masked tokens ,我们还采用了 BERT 中的 10%-random-replacement10%-keep-unchanged 设置。

  4. CL 的超参数:

    • Word Deletion (del-word) 删除了 70%tokenSpan Deletion (del-span) 删除了 5span(每个 span 的长度为输入文本的 5% )。

    • Reordering (reorder):随机挑选 5span (每个 span 的长度为输入文本的 5% ),并 pairwise 地交换 span

    上述一些超参数在 WiKiText-103 数据集上稍作调优(训练了 100epochs ,在 GLUE dev 基准上进行评估)。 例如,我们发现70%deletion model{30%, 40%, 50%, 60%, 70%, 80%, 90%}deletion model 中表现最好。

    对于使用 mixed augmentation 的模型,如 MLM+2-CL-objective ,它们使用与单个模型相同的优化超参数。注意,符号MLM+subs+delspan 代表了一个结合了 MLM lossCL loss 的模型:

    • 对于 MLM ,它掩码了 15%token

    • 对于 CL ,它首先替换了 30%token ,然后删除了 5span 来生成 augmented sentence

    请注意,我们使用的超参数可能不是最优化的参数。然而,1-CL objective model 上的最优超参数在 2-CL objective model 上的表现是否一致还不得而知。此外,目前还不清楚 WiKiText-103 的最优超参数是否仍然是 BookCorpusEnglish Wikipedia 数据集上的最优参数。然而,由于预训练需要大量的计算资源,很难对每一个可能的超参数进行调优。我们将把这些问题留待将来探索。

  5. General Language Understanding Evaluation: GLUE ResultGLUE 是一个包含几种不同类型的 NLP 任务的基准:自然语言推理任务(MNLI, QNLI, RTE )、相似性任务(QQP, MRPC, STS )、情感分析任务(SST)、和语言接受性 linguistic acceptability 任务(CoLA)。它为 pretrained language model 提供了一个全面的评价。

    为了适应不同的下游任务的要求,我们遵循 RoBERTa 的超参数,为各种任务微调我们的模型。具体来说,我们增加了一个额外的全连接层,然后在不同的训练集上微调整个模型。

    我们包括的主要 baselineBERT_baseRoBERTa_baseBERT_base 的结果来自 huggingface 的重新实现。一个更公平的比较来自RoBERTa_base,因为我们为 MLM Loss 使用了具有相同超参数的 RoBERTa_base 。注意,我们的模型都是结合了两个损失的,将 MLM-only modelMLM+CL model 进行比较仍然是不公平的。为了回答这个问题,我们在消融实验中设置了另外两个 baseline 以进行更严格的比较:一个 baseline 结合了两个 MLM loss ,另一个 baseline 采用了 double batch size

    实验结果如下表所示,可以看到:

    • 我们提出的几个模型在 GLUE 上的表现超过了 baseline 。注意,不同的任务采用不同的评价矩阵,我们的两个最好的模型MLM+del-wordMLM+del-span+reorder 都将最佳基线 RoBERTa_base 的平均得分提高了 2.2%

    • 此外,一个更重要的观察是,每个任务的最佳性能都来自我们提出的模型。在 CoLARTE 上,我们的最佳模型分别比 baseline 高出 7.0%8.0%

    • 此外,我们还发现,不同的下游任务从不同的 augmentation 中受益。我们将在后续实验中进行更具体的分析。

    • 一个值得注意的是,我们没有在下表中显示 MLM+subs, MLM+reorder, MLM+subs+reorder 的结果。我们观察到,这三个模型的预训练要么迅速收敛,要么存在梯度爆炸问题,这说明这三个 augmentation 太容易区分了。

  6. 用于语义文本相似性任务的 SentEval ResultsSentEval 是一个流行的 benchmark ,用于评估通用的 sentence representation 。这个benchmark 的特点是,它不像 GLUE 那样进行微调。我们评估了我们提出的方法在 SentEval 上常见的语义文本相似性(Semantic Textual Similarity: STS )任务的性能。注意,之前 SentEval 排行榜上的一些模型(例如 SBERT )在特定的数据集上进行训练,例如 Stanford NLIMultiNLI,这使得我们很难直接比较。为了更容易直接比较,我们与 RoBERTa-base 进行比较。根据 SBERT ,在最后一层使用所有输出向量的平均值比使用 CLS-token output 更有效。我们为每个模型测试这两种池化策略(即,均值池化、CLS 池化)。

    结果如下表所示。可以看到:

    • 均值池化策略并没有显示出太大的优势。在许多情况下,对于我们提出的模型,CLS-pooling 比均值池化要好。其根本原因是,对比学习直接更新了 [CLS] tokenrepresentation

    • 此外,我们发现加入 CL loss 使模型在 STS 任务中表现特别好,以很大的幅度( +5.7% )击败了最佳 baseline。我们认为这是因为对比学习的预训练是为了找到相似的 sentence pair ,这与 STS 任务相一致。这可以解释为什么我们提出的模型在 STS 上有如此大的改进。

  7. 消融研究:我们提出的 CL-based model 优于MLM-based model ,剩下的一个问题是,我们提出的模型从哪里受益?它是来自于 CL loss ,还是来自于更大的batch size (因为要计算 CL loss ,我们需要在每个batch 中存储额外的信息)?为了回答这个问题,我们设置了两个额外的baseline

    • Double MLM RoBERTa-base 采用 MLM+MLM loss ,每个 MLM 都是针对同一个原始句子在不同mask 上进行的。

    • Double-batch RoBERTa-base 具有double-size batch 的单个 MLM loss

    由于计算资源的限制,我们在一个较小的预训练语料,即 WiKiText-103 数据集上进行消融研究。下表中列出的所有模型都在 64NVIDIA Tesla V100 32GB GPU 上预训练了 500epoch 。表中报告了我们提出的三个模型。可以看到:

    • 与原始的 RoBERTa-base 相比,变体的总体性能并没有显示出太大的差异,在 Double-batch RoBERTa-base 上的平均得分增加了 +0.4% ,这证实了以前的工作所提出的更大的 batch 有利于 representation training 的想法(参考 RoBERTa 原始论文)。

    • 然而,表现最好的 baseline 仍然没有我们提出的最佳模型好。这告诉我们,我们所提出的模型并不仅仅受益于较大的batchCL loss 也有帮助。

    MLM+MLM loss 的效果反而下降了,论文并未解释这一现象的原因。读者猜测是因为过拟合。MLM+MLM loss 相当于 BERT 预训练的更新次数翻倍,使得模型过拟合。

  8. 不同的 augmentation 学习不同的 feature:在下表中,我们发现一个有趣的现象:所提出的不同的模型在不同的任务中表现良好。

    • 其中一个例子是 MLM+subs+del-span 帮助该模型在处理相似性任务和转述任务时表现良好。在 QQPSTS 上,它取得了最高分;在 MRPC 上,它排名第二。我们推断,MLM+subs+del-span 在这类任务中表现出色,是因为同义词替换有助于将原始句子翻译成意义相近的句子,而删除不同的span 则可以看到更多种类的 similar sentences 。将它们结合起来可以增强模型处理许多 unseen sentence pair 的能力。

    • 我们还注意到,MLM+del-span 在推理任务(MNLI, QNLI, RTE )上取得了良好的表现。其根本原因是,通过 span 删除,模型已经被预训练得很好从而能够推断出其他类似的句子。识别 similar sentence pair 的能力有助于识别 contradiction 。因此,预训练任务和这个下游任务之间的差距缩小了。

    总的来说,我们观察到,不同的augmentation 学习了不同的 feature 。一些specific augmentation 在某些特定的下游任务中特别出色。设计 task-specific augmentation 或探索 meta-learning 以适应性地选择不同的 CL objective 是一个有前途的未来方向。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文