文献题目:Pre-trained Models for Natural Language Processing: A Survey
文献来源:复旦大学
原文链接:https://arxiv.org/pdf/2003.08271.pdf

NLP常见术语

  • lookup table:查找表,在NLP中代表一个券连接的权重矩阵 WW,输入是稀疏向量的情况下,可以直接查表相加替代矩阵相乘。
  • token:符号,包括单词和标点。
  • fine-tuning:微调,在已经训练好的语言模型的基础上,加入少量的特定任务参数重新训练。
  • wordnet:基于认知语言学的英语词典,它不是光把单词以字母顺序排列,而且按照单词的意义组成一个“单词的网络”。

Introduction

随深度学习的发展,神经网络被广泛应用于 NLP 任务中,如 CNN、RNN、GNN、GNN 和 attention 机制等,但由于现有的数据集对于大部分有监督 NLP 任务来说都很小,因此,早期的模型对 NLP 任务来说都很“浅”,往往只包含 1-3 层。

而预训练模型(Pre-trained Models, PTMs)的出现将NLP带入一个新的时代,大量工作表明,大型语料库上的预训练模型可以学习通用语言表示形式,避免解决下游 NLP 任务时从头开始训练新模型。

Background

2.1 语言表示学习

对于语言来说,一个好的表示应当捕获隐藏在文本数据中的语言规则,如词汇含义、句法结构、语义角色等。

分布式表示的核心思想是通过低维实值向量描述文本的含义。 向量的每个维度都没有相应的意义,而整体代表了一个具体的概念。词嵌入的方式有两种:非上下文嵌入和上下文嵌入,它们之间的区别在于单词的嵌入是否根据出现的上下文而动态变化。

论文笔记 - 预训练模型综述

图1 NLP 通用神经架构

非上下文嵌入

将离散的语言符号映射到分布式嵌入空间中,核心思想是通过查找表(lookup table)将词汇映射为一个向量。

主要限制:一方面单词的嵌入与上下文无关,无法区分建模多义词;另一方面 lookup table 存在词汇不足的问题。

上下文嵌入

为解决多义词和上下文无关的问题,通过对词的 token 加一层神经上下文编码器(Neural Contextual Encoder)获取词的上下文嵌入。

2.2 神经上下文编码器

论文笔记 - 预训练模型综述

图2 神经上下文编码器

图2所示为神经上下文编码器,由左至右依次为:卷积模型、序列模型、基于全连接图的模型。

卷积模型

将输入句子中的 embedings 卷积相邻的局部信息来捕获单词的含义。该模型易于训练,可以捕获本地上下文信息。

序列模型

通常按顺序来描述词的上下文表示,如 LSTM 和 GRU。实践中,双向 LSTM 或 GRU 用于从单词的两侧收集信息,但表现往往会受到长程依赖问题的影响。

基于图的模型

将单词作为节点,使用单词之间的预定义语言结构(例如语法结构或语义关系)来学习上下文表示。该结构在很大程度上取决于专家知识或外部NLP工具,例如依赖项解析器。

在实践中,更直接的方法是使用完全连接的图来建模每两个单词的关系,并让模型自己学习结构。通常,连接权重是通过自注意机制动态计算的,该机制会隐式指示单词之间的联系,例如Transformer。

分析

卷积模型和序列模型都很难解决词之间的长程依赖问题,Transformer 虽然能很好地描述词之间的依赖联系,却通常需要较大的训练语料库,且容易在中等规模的数据集上过拟合。

2.3 为什么要预训练

日常任务中,要完全训练模型参数并防止过拟合需要巨大的数据集,由此产生的标注成本极其昂贵。利用大规模未标记语料,可以从中学习良好的表示形式,然后用于其他任务,这就是预训练的目的。

预训练的优势:

  • 学习通用的语言表达形式,帮助完成下游任务
  • 带来更好的泛化性能,加快任务收敛速度
  • 可视为一种正则化,避免过度拟合小数据

Overview of PTMs

不同PTM之间的主要区别在于上下文编码器的用法、预训练任务和目的。

3.1 预训练任务

将预训练任务概括成三类:监督学习、无监督学习、自监督学习。

语言模型(Language Model,LM)

LM 是 NLP 中最常见的无监督任务,是概率密度估计问题,一般指自回归 LM (auto-regressive LM) 或者单向 LM (unidirectional LM)。具体训练过程是基于一个庞大的语料库,通过最大似然估计 (MLE) 训练计算一个句子出现的概率。

然而单向 LM 的缺点则是只能编码一个词左侧的文本和其自身,而更好的上下文应该编码左右两侧的文本。针对这一缺点,解决方案是双向 LM (BiLM),即一个从左到右和一个从右到左的模型的组合。

遮蔽语言模型(Masked Language Modeling,MLM)

首先从输入语句中用 [MASK] 遮蔽掉一些词,然后训练模型以预测被 MASK 的词。

由于 fine-tuning 阶段不包含被 MASK 的词,会导致预训练和微调过程不匹配的情况。因此 Bert 模型采用 80% [MASK] token、10% 随机 token、10% 原始 token 进行预测。

Seq2SeqMLM 是一种 MLM 变体,将 Seq2Seq (Encoder-decoder)应用到 MLM 上,有利于长序列任务,如 QA、翻译等,主要被用于 MASS 和 T5 两种模型中。

排列语言模型(Permuted Language Modeling,PLM)

针对 MLM 中使用 MASK 导致的预训练与微调过程的不一致,PLM 对给定输入进行随机排列,将排列中的某些作为训练的目标。需要注意的是,此排列不会影响序列的自然位置,而仅定义标记预测的顺序。

去噪自动编码器(Denoising Autoencoder,DAE)

采用部分损坏的输入,旨在恢复原始的未失真输入。破坏文本的方式有以下五种:

  • Token Masking:遮蔽 token,从输入中随机选取 token,将其替换为 [MASK] 元素(如上述 MLM 模型)。
  • Token Deletion:删除 token,从输入中随机删除 token,需要确定缺失输入的位置。
  • Text Infilling:文本填充,将文本跨度替换为单个 [MASK] 标记,每个跨度长度来自泊松分布(λ=3\lambda=3
  • Sentence Permutation:句子排列,基于句号分割文档。
  • Document Rotation:文档轮换,选择一个 token 并旋转文档,使文档从 token 开始,需要标示文档的实际开始位置。

对比学习(Contrastive Learning,CTL)

假设某些观测文本对比随机采样文本在语义上更相似,通过构建正样本和负样本并度量距离来实现学习。CTL 通常比 LM 具有更少的计算复杂度。

噪声对比估计(Noise-Contrastive Estimation,NCE)通过训练一个二元分类器来区分真实样本和假样本,训练词嵌入。NCE 的思想也被用在 word2vec 中。

Replaced Token Detection,RTD

RTD 与 NCE 基本相同,但在给定上下文的情况下,会预测是否替换了 token。

带有负采样的 CBOW(CBOW-NS)可以看作是 RTD 的简单版本,根据分布从词汇表中随机抽取负采样。

ELECTRA 基于 RTD 提出了一种新的 generator-discriminator 框架。首先用 MLM 任务训练 generator,再用 generator 的权重初始化 discriminator,再用判别任务(判别哪些 token 被 generator 替换过)训练 discriminator。最终在下游任务只需要对 discriminator 进行 fine-tuning。TRD 也是一种很好的解决 MLM 导致的不一致问题的方法。

WKLM 在实体级别替换单词,用同类型的其他实体名替换实体,并训练模型区分该实体是否被替换。

Next Sentence Prediction,NSP

NSP训练模型以区分两个输入句子是否是训练对象中的连续片段。具体来说,当选择预训练句子对时,50%的第二个句子是第一个句子的连续片段,50%的第二个句子是语料库中的随机句子,从而训练模型理解两个输入句子之间的关系。常用于 QA 问题和自然语言推理。

但是后续工作对 NSP 任务的必要性产生了质疑。

Sentence Order Prediction(SOP)
使用同一文档中的两个连续段作为肯定示例,使用顺序互换的该连续段作为否定示例。

运用了 SOP 的 ALBERT 在各种下游任务上始终优于 BERT,StructBERT 和 BERTje 也将 SOP 作为自监督学习任务。

3.2 PIMs 的分类

论文笔记 - 预训练模型综述

图3 具有代表性示例的 PTM 分类

论文笔记 - 预训练模型综述

表1 代表性 PTM 示例

图3显示了分类法以及一些相应的代表性 PTM,表1更详细地区分了一些代表性的 PTM。该分类法从表示类型、体系结构、预训练任务类型和扩展名四个角度对现有的 PTM 进行了分类。

3.3 PTMs 的扩展

引入知识的 PTMs

PTM 通常从通用的文本语料库中学习通用语言表示,缺少领域知识。近来,将外部知识整合到 PTM 被证明是有效的,外部知识包含语言、语义、常识、事实、领域特定知识。

自 BERT 以来,便设计了一些辅助的预训练任务,将外部知识整合到深层的 PTM 中。

LIBERT: 通过附加语言约束整合语言知识。

SentiLR: 通过集成每个单词的情感极性,将 MLM 拓展至 标签感知 MLM(Label-Aware MLM,LA-MLM),在多个情感分类任务达到 SOTA。

SenseBERT: 不仅能预测被 mask 的 token,还能预测 WordNet 中的 supersense。

ERINE (THU): 将知识图谱中预训练的实体嵌入与文本中相应的实体提及相结合,以增强文本表示。

KnowBERT: 以端到端的方式合并实体表示。

KEPLER: 将知识嵌入和语言模型对象联合。

K-BERT: 不同于以上几个模型通过实体嵌入引入知识图谱中的结构化信息,K-BERT 通过直接将知识图谱中相关三元组引入句子,获得一个 BERT 的拓展的树形输入。

K-Adapter: 针对不同预训练任务独立训练不同的适配器以引入多种知识,以解决上述模型在注入多种知识出现的遗忘问题。

多语言和特定语言的 PTMs

多模态 PTMs

这两个部分暂时用不到,没有过多关注

特定领域 PTMs

大多数公开的 PTMs 都是在类似 Wikipedia 的语料库进行训练的,这使它们的应用受限于特定的领域。最近,一些研究提出了对专业语料库进行训练的 PTMs,例如 BioBERT 用于生物医学文本、SciBERT 用于科学文本、ClinicalBERT用于临床文本。

3.4 压缩 PTMs

PTMs 通常包含数亿个参数,很难将其部署在现实应用程序中的在线服务和设备上。模型压缩是减小模型大小、提高计算效率的潜在方法。

压缩 PTMs 的方法:

  • 剪枝(pruning): 去除重要性较低的参数
  • 量化(weight quantization): 使用占位少的参数
  • 数据共享(parameter sharing) 相似模型单元间共享参数
  • 知识蒸馏(knowledge distillation): 从原始模型中学习输出一个小的 student 模型
  • 模块替换(module replacing): 用更紧凑的模块替代原始模块

使 PTMs 适应下游任务

4.1 迁移学习

迁移学习旨在使知识从原任务或领域适应目标任务或领域,将 PTMs 适应到下游任务是一种顺序迁移学习任务。

要将PTM的知识转移到下游NLP任务,我们需要考虑以下问题:

  1. 选择适当的预训练任务、模型结构和语料库
    预训练任务 - LM 是最流行的预训练任务,可以有效解决各种 NLP 问题;NSP 任务可受益于 QA 和 NLI。
    模型结构 - 例如 BERT 可以帮助大多数自然语言理解任务,但是很难生成语言。
    语料库 - 下游任务的数据分布应近似于 PTM。
  2. 选择合适的层数
    有三种选择表达的方式:
    embedding: 仅选择预训练的静态嵌入,其余部分仍然从头开始进行训练
    top layers: 将顶层的表示形式馈入任务特定模型
    all layers: 自动选择软版本中的最佳层
  3. 是否 fine-tuning
    两种常见的模型迁移方式:特征提取和 fine-tuning
    特征提取 的预训练参数是冻结的,往往需要特定任务的体系结构
    fine-tuning 的预训练的参数未被冻结或微调,该方法更为通用和便捷

表2展示了适应性 PTMs 的一些常见组合
论文笔记 - 预训练模型综述

表2 适应性 PTMs 的常见组合

4.2 fine-tuning

自 ULMFit 和 BERT 起,fine-tuning 已经成为 PTMs 主要的适配方法。列出了一些实用的 fine-tuning 策略:

  • 两阶段 fine-tuning 在预训练和微调之间引入一个中间阶段,第一阶段通过中间任务微调模型,第二阶段通过目标任务微调模型
  • 多任务 fine-tuning
  • 采用额外适配器的 fine-tuning fine-tuning 的主要缺点是参数效率低,在每一个下游任务上都有各自的细调参数,对此的解决方案是在固定原始参数时引入一些可以 fine-tuning 的适配器
  • 其他 从顶层开始逐步解冻、自集成(self-ensemble)、自蒸馏(self-distillation)

Application

综合评估基准

通用语言理解评估(GLUE)基准包含九种自然语言理解任务,包括单句分类任务(CoLA和SST-2)、成对文本分类任务(MNLI,RTE,WNLI,QQP和 MRPC)、文本相似性任务(STS-B)和相关排名任务(QNLI)。

随着 NLP 的进步,动态上削弱了 GLUE 基准的动态余量,因此提出了 SuperGLUE,可应对更具挑战性的任务和更多样化的任务格式,例如共指消解和 QA。

问答系统
由简至繁,QA 任务共有三种类型:单轮提取 QA(single-round extractive QA, SQuAD)、多轮生成 QA(multi-round generative QA, CoQA)和多跳 QA(multi-hop QA, HotPotQA)

BERT创造性地将提取的 QA 任务转换为可预测答案开始和结束范围的范围预测任务, PTM 作为用于预测跨度的编码器已成为竞争基准。

命名实体识别
命名实体识别(Named Entity Recognition, NER)也是知识提取的一个基础任务,在很多 NLP 任务上都有重要作用。TagLM 和 ELMo 利用预训练语言模型的最后一层的输入和各层的加权总和作为词嵌入的一部分。

情感分析

文本总结

机器翻译

对抗分析与防御

本文主要是对《Pre-trained Models for Natural Language Processing: A Survey》一文的翻译和笔记,刚开始接触该领域所学尚浅,如有错误欢迎指正。

相关文章: