返回介绍

数学基础

统计学习

深度学习

工具

Scala

二十一、MASS [2019]

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

  1. 预训练和微调被广泛使用,当目标任务的训练数据资源较少或为零而预训练有大量的数据时。例如,在计算机视觉中,模型通常在大规模的 ImageNet 数据集上进行预训练,然后在下游任务(如目标检测任务、图像分割任务)上进行微调。最近,ELMoOpenAI GPT、以及 BERT 等预训练方法在自然语言处理中引起了很多关注,并在多种语言理解任务中取得了 SOTA 的准确性,如情感分类、自然语言推理、命名实体识别、以及 SQuAD 问答,这些任务通常只有有限的监督数据。在上述预训练方法中,BERT 是最卓越的一种,它通过 masked language modelingnext sentence prediction ,在大型单语语料库上预训练 bidirectional encoder representation

    与语言理解不同,语言生成的目的是在某些输入的条件下生成自然语言句子,包括神经机器翻译 neural machine translation : NMT、文本摘要text summarization 、以及对话式响应生成 conversational response generation 等任务。语言生成任务通常对数据要求很高,许多任务在训练数据方面是低资源 low-resource 甚至是零资源 zero-source 的。在这些自然语言生成任务上直接应用 BERT-like 的预训练方法是不可行的,因为 BERT 是为语言理解设计的,其中这些任务通常只由一个 encoderdecoder 处理。因此,如何为语言生成任务(通常采用基于 encoder-decoder 的序列学习框架)设计预训练方法,具有很大的潜力和重要性。

    在论文 《MASS: Masked Sequence to Sequence Pre-training for Language Generation》 中,受 BERT 的启发,作者提出了一个新颖的预训练目标:MAsked Sequence to Sequence learning : MASS 用于语言生成。MASS 是基于 sequence to sequence 的学习框架:它的encoder将带有一个 masked fragment (几个连续的token )的一个句子作为输入,而它的decoder则根据 encoder representation 来预测这个 masked fragment 。与 BERT 或仅对 encoder/decoder 进行预训练的语言模型不同,MASS 经过精心设计,分两步对encoderdecoder进行联合预训练:

    • 通过预测 encoder sidemasked fragmentMASS 可以迫使encoder理解 unmasked token 的含义,从而在 decoder side 预测 masked token
    • 通过掩码 decoderinput tokens ,其中这些 masked input tokensencoder side 没有被掩码,MASS 可以迫使decoder 更多地依赖于 source representation (即,encoder representation)而不是 decoder sideprevious tokens ,从而用于 next token prediction 。这可以更好地促进encoderdecoder的联合训练。

    MASS 只需要预训练一个模型,然后在各种下游任务中进行微调。论文使用 transformer 作为基础的 sequence to sequence 模型,并且在 WMT 单语语料库上进行预训练,然后在三种不同的语言生成任务上进行微调,包括神经机器翻译、文本摘要、以及对话式响应生成。考虑到下游任务涵盖了像神经机器翻译这样的跨语言任务,论文在多种语言上预训练一个模型。论文为所有三个任务探索了 low-resource setting ,也考虑了无监督的神经机器翻译(这是一个纯粹的 zero-resource setting)。

    • 对于神经机器翻译,论文在 WMT14 English-FrenchWMT16 English-German 、以及 WMT16 English-Romanian 数据集上进行了实验。
    • 对于无监督的神经机器翻译,论文直接在单语数据上用 back-translation loss 微调预训练的模型,而不是像 《Phrase-based & neural unsupervised machine translation》 那样使用额外的降噪自编码器损失。
    • 对于低资源的神经机器翻译,论文在有限的双语数据上微调预训练的模型。
    • 对于其他两项任务,论文的实验如下:Gigaword 语料库用于抽象式文本摘要,Cornell Movie Dialog 语料库用于对话式响应生成。

    论文的方法在所有这些任务以及 zero-resource settinglow-resource setting 中都取得了改进,表明论文的方法是有效的,适用于广泛的序列生成任务。

    论文的贡献如下:

    • 论文提出了 MASS ,一种用于语言生成的 masked sequence to sequence 预训练方法。

      MASS 主要用于自然语言生成任务,而无法用于自然语言理解任务。

    • 论文将 MASS 应用于各种语言生成任务,包括神经机器翻译、文本摘要、以及对话式响应生成,并取得了显著的改进,证明了 MASS 的有效性。

      具体而言, MASS 在两种 language pair (即,English-French, English-German )的无监督神经机器翻译上取得了 SOTABLEU 分,并且在 English-FrenchFrench-English 上分别超过了之前的无监督神经机器翻译方法 4 分以上和 1 分以上,甚至超过了早期的 attention-based 的监督模型。

  2. 相关工作:在自然语言处理领域,在 sequence to sequence learning 和预训练方面有很多工作。

    • Sequence to Sequence Learningsequence to sequence learning 是人工智能领域的一项挑战性任务,涵盖了各种语言生成应用,如神经机器翻译、文本摘要、问答、以及对话式响应生成。

      近年来,由于深度学习的进步,sequence to sequence learning 引起了很多关注。然而,许多语言生成任务,如神经机器翻译,缺乏 paired data (即,监督数据),但有大量的unpaired data (即,无监督数据)。因此,在 unpaired data 上进行预训练,并用小规模的 paired data 进行微调,将有助于这些任务,这正是本工作的重点。

    • Pre-training for NLP task:预训练已被广泛用于 NLP 任务中,从而学习更好的 language representation 。以前的工作大多集中在自然语言理解任务上,可以分为 feature-based 方法和 fine-tuning 方法。

      • feature-based 方法主要是利用预训练为下游任务提供 language representationfeature ,其中包括 word-level representationsentence-level representation 、以及来自神经机器翻译模型和 ELMocontext sensitive feature
      • fine-tuning 方法主要是在语言建模目标上预训练模型,然后在具有监督数据的下游任务上微调模型。具体来说, 《Bert: Pre-training of deep bidirectional transformers for language understanding》 提出了基于 masked language modelingnext sentence predictionBERT ,并在 GLUE benchmarkSQuAD 中的多个语言理解任务中取得了 SOTA 准确性。

      也有一些工作采用针对语言生成的 encoder-decoder 模型进行预训练。

      • 《Semi-supervised sequence learning》《Unsupervised pretraining for sequence to sequence learning》利用语言模型或自编码器来预训练编码器和解码器。他们的方法虽然获得了 improvement ,但很有限,不像语言理解的预训练方法(如 BERT )那样通用和显著。
      • 《Exploiting source-side monolingual data in neural machine translation》 设计了一个用于预训练的句子重排任务 sentence reordering task ,但只针对 encoder-decoder 模型的编码器部分。
      • 《Transfer learning for low-resource neural machine translation》《Zero-resource translation with multi-lingualneural machine translation》similar rich-resource language pair 上预训练模型,在 target language pair 上对预训练模型进行微调,这依赖于 other language pair 的监督数据。
      • 最近,XLM 对编码器和解码器都预训练了 BERT-like 模型,并在无监督机器翻译上取得了 previous SOTA 的结果。然而,XLM 中的编码器和解码器是单独预训练的,而且 encoder-decoder 的注意力机制无法被预训练,这对于基于 sequence to sequence 的语言生成任务来说是次优的。

      与以往的工作不同,我们提出的 MASS 是经过精心设计的,只使用未标记的数据并同时对编码器和解码器进行联合预训练,可以应用于大多数语言生成任务。

21.1 模型

  1. 这里,我们首先介绍了 sequence to sequence learning 的基本框架,然后提出 MASSMAsked Sequence to Sequence 预训练)。然后,我们讨论了 MASS 与以前的预训练方法的区别,包括 masked language modeling (参考BERT)、以及 standard language modeling

21.1.1 Sequence to Sequence Learning

  1. 定义(X,Y)(X,Y)$ (X,Y)\in (\mathcal X, \mathcal Y) $ 为一个 sentence pair,其中:

    • X=(x1,x2,,xm)$ X=(x_1,x_2,\cdots,x_m) $ 为包含m$ m $ 个 tokensource sentence
    • Y=(y1,y2,,yn)$ Y=(y_1,y_2,\cdots,y_n) $ 为包含n$ n $ 个 tokentarget sentence
    • X$ \mathcal X $ 为 source domainY$ \mathcal Y $ 为 target domain

    一个 sequence to sequence 模型学习参数θ$ \theta $ 从而估计条件概率P(YX;θ)$ P(Y\mid X;\theta) $ ,并且通常使用对数似然 log likelihood 作为目标函数:

    (14)L(θ;(X,Y))=(X,Y)(X,Y)logP(YX;θ)

    这个条件概率P(YX;θ)$ P(Y\mid X;\theta) $ 可以根据链式法则进一步进行分解:

    (15)P(YX;θ)=t=1nP(ytY<t,X;θ)

    其中Y<t=(y1,y2,,yt1)$ Y_{\lt t}=(y_1,y_2,\cdots,y_{t-1}) $ 为 target sentenceY$ Y $ 的前面t1$ t-1 $ 的前缀。

  2. sequence to sequence learning 的一个主要方法是 encoder-decoder 框架。编码器读取 source sequence 并生成一组 representation ;解码器在给定一组 source representation 和前面已经处理的 target tokens 的条件下,估计每个 target token 的条件概率。注意力机制被进一步引入编码器和解码器之间,从而在预测当前 token 时寻找应该聚焦于哪个 source representation

21.1.2 Masked Sequence to Sequence Pre-training

  1. 我们在本节中介绍了一个新的无监督预测任务。给定一个 unpaired source sentenceXX$ X\in \mathcal X $ :

    • 我们记X¬u:v$ X^{\lnot u:v} $ 为X$ X $ 的一个修改版,其中从位置u$ u $ 到v$ v $ 之间的 fragment 都被掩码。0<u<v<m$ 0\lt u\lt v\lt m $ ,m$ m $ 是句子X$ X $ 的 token 数量。每个 masked token 替换为一个 special symbol[M]$ [\mathbb M] $ ,并且 masked sentence 的长度保持不变。

      我们记k=vu+1$ k = v-u+1 $ 为从位置u$ u $ 到v$ v $ 之间被掩码的 token 的数量。

    • 我们记Xu:v$ X^{u:v} $ 为从位置u$ u $ 到v$ v $ 之间的原始 fragment

    MASS 通过预测 sentence fragmentXu:v$ X^{u:v} $ 来预训练一个 sequence to sequence 模型,其中模型将 masked sentenceX¬u:v$ X^{\lnot u:v} $ 作为输入。

    我们也使用对数似然作为目标函数:

    (16)L(θ;X)=1|X|XXlogP(Xu:vX¬u:v;θ)=1|X|XXlogt=uvP(xtu:vX<tu:v,X¬u:v;θ)

    其中:

    • xtu:v$ x_t^{u:v} $ 为位置t$ t $ 的 token ,它在 sentence fragmentXu:v$ X^{u:v} $ 中。
    • X<tu:v$ X^{u:v}_{\lt t} $ 为 sentence fragmentXu:v$ X^{u:v} $ 中的位置t$ t $ 之前的 token 子序列(不包括位置t$ t $ )。
  2. 我们在下图中展示了一个例子,其中输入序列有 8tokenfragmentx3x4x5x6$ x_3x_4x_5x_6 $ 被掩码。请注意,模型只预测了被掩码的 fragmentx3x4x5x6$ x_3x_4x_5x_6 $ ,其中 decoder input 为:位置 0 ~ 2 和位置 6 ~ 7 的输入都是 special token[M]$ [\mathbb M] $ ,位置 3 ~ 5 的输入为x3x4x5$ x_3x_4x_5 $ ,位置编号从 0 开始 。

    虽然我们的方法适用于任何基于神经网络的 encoder-decoder 框架,但我们在实验中选择了 Transformer ,因为它在多个 sequence to sequence learning 任务中取得了 SOTA 的性能。

    在论文的实现中,作者将 decoder input 中的 masked token 移除,但是对所有的 token 保留它们的原始位置信息。即,下图中保留_X3X4X5$ \text{\_} X_3X_4X_5 $ ,它们的位置分别为 {2, 3, 4, 5} (位置编号从零开始计算)。

  3. 实际上,BERT 中的掩码语言建模 masked language modeling 、以及 GPT 中的标准语言建模 standard language modeling 可以被视为 MASS 的特殊情况。我们有一个重要的超参数k$ k $ ,它表示句子中 masked fragment 的长度。具有不同k$ k $ 值的 MASS 可以覆盖一些特殊的 case,这些特殊的 case 与先前的预训练方法相关,如下表所示。

    • k=1$ k=1 $ 时,source sentence 中的 masked fragment 只包含一个 token ,解码器预测这个 token 时没有任何其它 token 作为输入,而是以 unmasked source token 为条件,如下图 (a) 所示。这就成了 BERT 中使用的 masked language modeling

      有人可能会说,该模型结构与masked language modeling 有一点不同。然而,由于解码器的所有输入 token 都被掩码了,解码器本身就像一个非线性分类器,类似于 BERT 中使用的 softmax 矩阵。在这种情况下,条件概率是P(xuX¬u;θ)$ P\left(x^u\mid X^{\lnot u};\theta\right) $ ,其中u$ u $ 是 masked token 的位置,这正是 BERT 中使用的 masked language modeling 的公式。

    • k=m$ k=m $ 时,其中m$ m $ 是句子X$ X $ 中的 token 数量,encoder side的所有token 都被掩码,解码器需要在给定 previous tokens 的条件下预测所有 token ,如下图 (b) 所示。条件概率为P(X1:mX¬1:m;θ)$ P\left(X^{1:m}\mid X^{\lnot 1:m};\theta\right) $ ,它成为 GPT 中的standard language modeling ,以来自编码器的 null 信息为条件,因为encoder side的所有token 都被掩码了。

21.1.3 讨论

  1. MASS 是一种用于 language generation 的预训练方法。虽然它的特殊 case 与先前的方法有关,包括 GPT 中的 standard language modelingBERT 中的 masked language modeling ,但它与这些方法总体上是不同的:

    • standard language modeling 长期以来一直被用于预训练,最突出的是最近提出的 ELMoOpenAI GPTBERT 为自然语言理解引入了两个预训练任务(masked language modelingnext sentence prediction ),并使用一个编码器来为单句single sentence 和句子对 sentence pair 抽取 representation

      standard language modelingBERT 都可以只对编码器或解码器分别进行预训练。虽然在语言理解任务上取得了可喜的成果,但它们并不适合语言生成任务,其中语言生成任务通常利用 encoder-decoder 框架从而用于条件序列生成 conditional sequence generation

    • MASS 被设计为联合预训练编码器和解码器从而用于语言生成任务。

      • 首先,通过 sequence to sequence 框架来仅仅预测 masked tokenMASS 迫使编码器理解 unmasked token 的含义,同时也鼓励解码器从encoder side抽取有用的信息。
      • 第二,通过预测decoder side的连续 token ,解码器可以建立更好的语言建模能力,而不仅仅是预测离散的 token
      • 第三,通过进一步掩码解码器的 input token (这些 tokenencoder side没有被掩码),鼓励解码器从encoder side抽取更多有用的信息,而不是利用 decoder sideprevious token 的丰富信息。

21.2 实验

21.2.1 MASS 预训练

  1. 模型配置:我们选择 Transformer 作为基本模型结构,它由 6 层编码器和 6 层解码器组成,emebdding/hidden 维度为 1024feed-forward filter 维度为 4096

    对于神经机器翻译任务,我们在 source languagetarget language 的单语数据上对我们的模型进行预训练。我们分别对三种language pair 进行了实验: English-French, English-German, English-Romanian

    对于其他语言生成任务,包括文本摘要和对话式响应生成,我们分别只用英语单语数据对模型进行预训练。

    为了区分神经机器翻译任务中的 source languagetarget language ,我们为编码器和解码器的 input sentence 的每个 token 添加了一个 language embedding ,其中 language embedding 也是端到端学习的。

    mBART 是在 input sentence 的开头添加一个 <LID>special token ,如 <EN> 用于英语 。

    我们基于 XLM 的代码库来实现我们的方法。

  2. 数据集:我们使用了 WMT News Crawl 数据集的所有单语数据,其中涵盖了 2007 年至 2017 年的 190M 英语句子、62M 法语句子、270M 德语句子。

    我们还在预训练阶段加入了一种 low-resource language ,即罗马尼亚语 Romanian,以验证用低资源单语数据预训练的 MASS 的有效性。我们使用 News Crawl 数据集中所有可用的罗马尼亚语句子,并使用 WMT16 数据对其进行增强,从而得到 2.9M 罗马尼亚语句子。

    我们删除了长度超过 175 的句子。对于每个任务,我们在 source languagetarget language 之间用 BPE 联合学习了 60K 个子词单元 sub-word unit

    这里是跨语言的 BPE,而不是针对每个语言单独学习一个 BPE

  3. 预训练细节:我们通过 special symbol[M]$ [\mathbb M] $ 替换连续的token 来掩码 segment ,其中随机选择 masked segment 的起始位置u$ u $ 。遵从 BERT ,编码器中的 masked token 为:80% 的概率是[M]$ [\mathbb M] $ token10% 的概率是 random token10% 的概率是 original token 。我们将 fragment lengthk$ k $ 设为句子中 token 总数的大约 50% ,同时研究不同的k$ k $ 对模型效果的影响。

    为了减少内存和计算成本,我们删除了解码器中的 padding (即,masked token ),但保持 unmasked tokenpositional embedding 不变(例如,如果前两个 token 被掩码和删除,第三个 token 的位置仍然是 2 而不是 0 )。通过这种方式,我们可以获得类似的准确性,并减少解码器中 50% 的计算量。

    我们使用 Adam 优化器进行预训练,学习率为104$ 10^{-4} $ 。该模型在 8NVIDIA V100 GPU card 上进行训练,每个 mini-batch 包含 3000token 从而用于预训练。

    为了验证 MASS 的有效性,我们在三个语言生成任务上对预训练的模型进行了微调:神经机器翻译、文本摘要、对话式响应生成。我们在这些任务中探索了 low-resource setting ,其中我们只是利用少数训练数据用于微调从而模拟 low-resource 的场景。对于神经机器翻译,我们主要研究 zero-resource setting(无监督),因为近年来无监督的神经机器翻译已经成为一项具有挑战性的任务。

21.2.2 Fine-Tuning on NMT

  1. 这里,我们首先描述无监督神经机器翻译的实验,然后介绍低资源神经机器翻译的实验。

  2. 实验配置:对于无监督神经机器翻译,没有双语数据 bilingual data 来微调预训练的模型。因此,我们利用了预训练阶段的单语数据。与 《Unsupervised neural machine translation》《Unsupervised machine translation using monolingual corpora only》《Phrase-based & neural unsupervised machine translation》《Unsupervised pivot translation for distant languages》 不同的是,我们只是利用 back-translation 来生成 pseudo bilingual data 从而用于训练,而不使用降噪自编码器。在微调过程中,我们使用 Adam 优化器,初始学习率为104$ 10^{-4} $ ,每个 GPUbatch size 被设置为 2000token 。在评估过程中,我们用 multi-bleu.pl (来自 https://github.com/moses-smt/mosesdecoder/blob/master/scripts/generic/multi-bleu.perl)在 newstest2014 上评估 English-FrenchBLEU 分、在 newstest2016 上评估 English-GermanEnglish-RomanianBLEU 分。

  3. 无监督神经机器翻译的结果:我们的结果如下表所示。可以看到:

    • 在所有 6 个翻译方向上,我们的方法优于之前的所有结果,包括没有预训练的方法(Lample et al., 2018)和有预训练的方法(XLM)。

      XLM 是之前的 SOTA 方法,它在编码器和解码器中利用了 BERT-like 的预训练,该预训练涵盖了几种预训练方法:masked language model: MLMcausal language model: CLM 。我们的方法在 en-fr 上仍然比 XLM 高出 4.1 BLEU point

  4. 与其他预训练方法相比:我们还将 MASS 与之前的语言生成任务的预训练方法进行比较。

    • 第一个 baselineBERT+LM ,在BERT 中使用 masked language modeling 对编码器进行预训练,并使用 standard language modeling 对解码器进行预训练。
    • 第二个 baselineDAE ,它简单地使用去降噪自编码器 denoising auto-encoder 来预训练编码器和解码器。

    我们用 BERT+LMDAE 来预训练模型,并用 XLM 相同的微调策略对无监督翻译 pair 对进行微调(即 DAE loss + back-translation )。这些方法也采用 6 层的 Transformer

    如下表所示:

    • BERT+LM 取得了比 DAE 更高的 BLEU 分,而 MASS 在所有无监督翻译 pair 对的表现都超过了 BERT+LMDAE

    • 虽然 DAE 通常利用一些降噪方法,如随机 masking token 或互换相邻token ,但解码器仍然可以通过 encoder-decoder attention 轻松地学会拷贝 unmasked token

      另一方面,DAE 中的解码器将完整的句子作为输入,这足以像语言模型一样预测下 next token ,而不会被迫从编码器中提取额外的 useful representation

  5. Low-Resource NMT 实验:在低资源神经机器翻译的 setting 中,我们分别 WMT14 English-French, WMT16 English-German, WMT16 English-Romanian 的双语训练数据中抽取 10K, 100K, 1Mpaired sentence ,从而探索我们的方法在不同 low-resource 场景中的表现。

    我们使用在预训练阶段学到的相同的 BPE 代码来 tokenize 这些 training sentence pair 。我们用 Adam 优化器在 paired data 上对预训练模型进行了 20K 步的微调,学习率为104$ 10^{-4} $ 。我们根据验证集的准确性选择最佳模型。我们报告在无监督 setting 中使用的相同测试集上的 BLEU 分。

    如下图所示,MASS 优于 baseline 模型,其中 baseline 模型仅在双语数据上训练而没有在所有六个翻译方向进行任何预训练。这表明我们的方法在低资源场景下的有效性。

    即,baseline 模型是传统的监督学习,而 MASSpretraining + finetuning

    此外还可以看到:双语训练数据越少(即,资源越少),那么 MASS 相比 baseline 的提升就越大。

21.2.3 Fine-Tuning on Text Summarization

  1. 实验配置:文本摘要是对长篇文本文档创建简短而流畅的 summary ,这是一项典型的序列生成任务。我们用来自 Gigaword 语料库的不同规模(10K100K1M 、以及 3.8M )的训练数据在文本摘要任务上对预训练模型进行微调,其中 Gigaword 语料库由总共3.8M 篇英文的 article-title pair 组成。我们把 article 作为编码器的输入、把 title 作为解码器的输入从而用于微调。在评估过程中,我们报告了在 Gigaword 测试集上的 ROUGE-1ROUGE-2 、以及 ROUGE-LF1 得分。我们使用 beam size = 5beam search 从而用于推理。

  2. 结果:我们的结果如下图所示。我们将 MASS 与仅在 paired data 上训练而没有任何预训练的模型(即,baseline )进行比较。在不同规模的微调数据上,MASS 始终优于 baseline (在 10K 数据上获得超过 10 ROUGE point 的增益,在 100K 数据上获得超过 5 ROUGE point 的增益),这表明 MASS 在这个任务上在具有不同规模训练数据的低资源场景中是有效的。

  3. 与其他预训练方法相比较:我们进一步将 MASS 与前面描述的 BERT+LMDAE 的预训练方法进行比较,其中在文本摘要任务上使用了 3.8M 的数据。如下表所示,MASS 在三个 ROUGE 分数上一致地优于这两种预训练方法。

21.2.4 Fine-Tuning on Conversational Response Generation

  1. 实验配置:对话式响应生成为对话生成一个灵活的响应。我们在 Cornell Movie Dialog 语料库上进行了实验,该语料库包含 140Kconversation pair 。我们随机抽取 10K/20Kpair 作为验证集/测试集,剩余的数据用于训练。我们采用预训练阶段的相同优化超参数进行微调。我们遵从 《A neural conversational model》 的方法,报告困惑度 perplexity: PPL 的结果。

  2. 结果:我们将 MASSbaseline 进行比较,其中 baseline 在现有可用的 data pair 上训练得到。我们对两组训练数据规模进行实验:随机选择 10K 个训练 data pair 、所有的 110K 个训练 data pair ,并在下表中展示实验结果。在 10K110K 的训练数据上,MASSPPL 都比 baseline 更低。

  3. 与其他预训练方法相比较:我们还将 MASSBERT+LMDAE 的预训练方法在对话式响应生成任务上进行了比较。如 Table 5 所示,在 10K110K 的训练数据上,MASSPPL 都比这两种预训练方法更低。

21.2.5 MASS 的分析

  1. 不同k$ k $ 值的研究:masked fragment 的长度k$ k $ 是 MASS 的一个重要的超参数。如前所述,通过改变k$ k $ 值,可以覆盖 masked language modeling (参考 BERT )、以及standard language modeling 的特殊 case 。在这一节中,我们研究了不同k$ k $ 值的MASS 的性能,我们选择k$ k $ 占句子长度m$ m $ 的 10% ~ 90%,步长为 10% ,再加上k=1$ k=1 $ 和k=m$ k=m $ 。

    我们观察了 MASS 在预训练的表现,以及在几个语言生成任务中微调的表现,包括无监督的English-French 翻译、文本摘要、以及对话式响应生成。

    • 我们首先展示了在不同的k$ k $ 值,预训练模型在英语和法语上的 perplexity: PPL。我们选择 WMT En-Frnewstest2013 中的英语句子和法语句子作为验证集,并绘制 PPL 如下图所示(图 (a) 为英语、图 (b) 为法语)。

      可以看到:当k$ k $ 在句子长度m$ m $ 的 50%70% 之间时,预训练的模型达到了最佳的 validation PPL

    • 然后我们观察微调任务的表现。我们在 (c) 中显示了无监督 En-Fr 翻译的 validation BLEU 分数的曲线,在图 (d) 中显示了文本摘要的 validation ROUGE 分数,在图 (e) 中显示了对话式响应生成的 validation PPL

      可以看到,当k$ k $ 接近句子长度m$ m $ 的 50% 时,MASS 在这些下游任务上取得了最佳性能。

    因此,我们在实验中为 MASS 设定了k$ k $ 为m$ m $ 的 50%

    实际上,k$ k $ 等于m$ m $ 的 50% 是编码器和解码器之间的一个良好平衡。encoder sidedecoder side的有效 token 太少,会使模型偏向于更多地关注另一侧,这不适合语言生成任务。因为语言生成任务通常利用 encoder-decoder 框架在编码器中抽取 sentence representation ,以及在解码器中建模和生成句子。极端情况是k=1$ k = 1 $ (BERT 中的 masked language modeling)和k=m$ k = m $ (standard language modeling )。如下图所示,k=1$ k = 1 $ 和k=m$ k = m $ 都不能在下游的语言生成任务中取得良好的性能。

  2. MASS 的消融研究:在我们的 masked sequence to sequence 预训练中,我们有两个精心的设计:

    • 我们在 encoder side 掩码连续的 token ,从而在 decoder side 预测连续的 token ,这比仅仅预测离散的 token 可以建立更好的语言建模能力。
    • 我们掩码解码器的input token ,其中这些 tokenencoder side 没有被掩码,从而鼓励解码器从encoder side 抽取更多有用的信息,而不是利用 decoder sideprevious tokens 的丰富信息。

    在本节中,我们进行了两项消融研究,以验证 MASS 中两种设计的有效性:

    • 第一项研究是在 MASS 中随机掩码离散的 token 而不是连续的 token ,记做 Discrete
    • 第二项研究是将所有的 token 馈入解码器,而不是掩码解码器的 input token (其中这些 tokenencoder side 没有被掩码)记做 Feed

    我们将 MASS 与这两种消融方法在无监督的 English-French 上进行比较,如下表所示。可以看到,DiscreteFeed 的表现都比MASS 更差,证明了 MASS 的这两种设计的有效性。

    这里就一个例子,是不是说服力不强?可以在更多的数据集上进行评估。

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

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

发布评论

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