论文阅读 | Pre-trained Models for Natural Language Processing: A Survey

参考:机器之心

论文:Pre-trained Models for Natural Language Processing: A Survey

  • 首先简要介绍了语言表示学习及相关研究进展;

  • 其次从四个方面对现有 PTM (Pre-trained Model) 进行系统分类(Contextual、Architectures、Task Types、Extensions);

  • 再次描述了如何将 PTM 的知识应用于下游任务;

  • 最后展望了未来 PTM 的一些潜在发展方向。

第一代 PTM 旨在学习词嵌入。由于下游的任务不再需要这些模型的帮助,因此为了计算效率,它们通常采用浅层模型,如 Skip-Gram 和 GloVe。尽管这些经过预训练的嵌入向量也可以捕捉单词的语义,但它们却不受上下文限制,只是简单地学习「共现词频」。这样的方法明显无法理解更高层次的文本概念,如句法结构、语义角色、指代等等。

第二代 PTM 专注于学习上下文的词嵌入,如 CoVe、ELMo、OpenAI GPT 以及 BERT。它们会学习更合理的词表征,这些表征囊括了词的上下文信息,可以用于问答系统、机器翻译等后续任务。另一层面,这些模型还提出了各种语言任务来训练 PTM,以便支持更广泛的应用,因此它们也可以称为预训练语言模型。

如上图所示,之前 NLP 任务一般会预训练 e 这些不包含上下文信息的词嵌入,我们会针对不同的任务确定不同的上下文信息编码方式,以构建特定的隐藏向量 h,从而进一步完成特定任务。
但对于预训练语言模型来说,我们的输入也是 e 这些嵌入向量,不同之处在于我们会在大规模语料库上预训练 Contextual Encoder,并期待它在各种情况下都能获得足够好的 h,从而直接完成各种 NLP 任务。换而言之,最近的一些 PTM 将预训练编码的信息,提高了一个层级。

各种预训练方法的主要区别在于文本编码器、预训练任务和目标的不同

现有的预训练方法分为四部分:

  • 预训练方法(PTM)使用的词表征类型;
  • 预训练方法使用的主干网络;
  • PTM 使用的 预训练任务类型;
  • 为特定场景与输入类型所设计的 PTM。

图 3 详细地展示了各种 PTM 的所属类别:

细节对比:

预训练任务

预训练任务的目的在于,迫使模型学习自然语言的各种结构与意义,这才有可能将通用语言知识嵌入到模型内。

NLP 中最常见的无监督任务是概率语言建模(language modeling),它是一个经典的概率密度估值问题。实际上,作为一种一般性概念,语言建模通常特指自回归或单向语言建模。传统语言建模用下面一个公式就能说清楚,即每次给定前面所有词下预测下一个词

Wilson L. Taylor 等人在论文《「cloze procedure」: A new tool for measuring readability》的文献中首次提出了掩码语言建模(masked language modeling,MLM)概念,他们称之为完形填空(Cloze)任务。接着,Jacob Devlin 等人在 BERT 中将 MLM 视为新型预训练任务,以克服标准单向语言建模的缺陷。
因此,笼统地讲,MLM 首次从输入序列中遮掩一些 token,然后训练模型来通过其余的 token 预测 masked 的 token。
尽管 MLM 在预训练中得到了广泛应用,Zhilin Yang 等在论文《XLNet: Generalized autoregressive pretraining for language understanding》中表示,当模型应用于下游任务时,[MASK] 等在 MLM 预训练中使用的一些特殊 token 并不存在,这导致预训练和微调之间出现差距。
为了克服这一问题,Zhilin Yang 在这篇论文中提出以排列语言建模(Permuted Language Modeling,PLM)来取代 MLM。简单地说,PLM 是一种在输入序列随机排列上的语言建模任务。给定一个序列,然后从所有可能的排列中随机抽样一个排列。接着将排列序列中的一些 token 选定为目标,同时训练模型以根据其余 token 和目标的正常位置(natural position)来预测这些目标。
去噪自编码器(denoising autoencoder,DAE)接受部分损坏的输入,并以恢复这些未失真的原始输入为目标。这类任务会使用标准 Transformer 等模型来重建原始文本,它与 MLM 的不同之处在于,DAE 会给输入额外加一些噪声
Nikunj Saunshi 等人论文《A theoretical analysis of contrastive unsupervised representation learning》中的对比学习(contrastive learning,CTL)假设,一些观察到的文本对在语义上比随机取样的文本更为接近。CTL 背后的原理是「在对比中学习」。相较于语言建模,CTL 的计算复杂度更低,因而在预训练中是理想的替代训练标准。
CTL 一般可以分为以下三种类型:

  • 替换 token 检测(Replaced Token Detection,RTD)与 NCE 相同,但前者会根据上下文语境来预测是否替换 token。
  • NSP 训练模型以区分两个输入句子是否为训练语料库中的连续片段
  • SOP 使用同一文档中的两个连续片段作为正样本,而相同的两个连续片段互换顺序作为负样本

预训练扩展

清华大学提出了 ERNIE,它会结合知识图谱中的多信息实体,并将其作为外部知识改善语言表征。

猜你喜欢

转载自www.cnblogs.com/shona/p/12546820.html
今日推荐