预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记

原文链接:https://arxiv.org/pdf/2003.08271.pdf

此文为邱锡鹏大佬发布在arXiv上的预训练综述,主要写了预训练模型(PTM)的历史,任务分类,PTM的扩展,将PTM转换到下游任务的方式,PTM的资源与应用。

以下为OneNote笔记的copy。

1 导言

  • 非神经NLP方法通常严重依赖于离散的手工特征,而神经方法通常使用低维和密集的向量(也称为分布式表示)来隐式表示语言的句法或语义特征。
  • 尽管神经模型在NLP任务中取得了成功,但与计算机视觉(CV)领域相比,性能改进可能没有那么显著。主要原因是目前大多数受监督的自然语言处理任务的数据集都相当小(机器翻译除外)。深度神经网络通常具有大量的参数,这使得它们在这些小的训练数据上过于拟合,在实际应用中不能很好地推广。因此,许多自然语言处理任务的早期神经模型相对较浅,通常只有1个∼3个神经层
  • 本次调查的贡献可以概括如下:
    1. 全面综述了面向NLP的PTM,包括背景知识、模型架构、预培训任务、各种扩展、适应方法和应用。
    2. 新的分类方法:提出了一种面向自然语言处理的PTM分类方法,它从4个不同的角度对现有的PTM进行分类:1)表示类型,2)模型体系结构,3)预训练任务类型,4)特定场景类型的扩展。
    3. 资源丰富。我们收集了丰富的PTM资源,包括PTM的开源实现、可视化工具、语料库和论文列表。
    4. 未来的发展方向。讨论和分析了现有PTM的局限性。此外,我们还提出了未来可能的研究方向。
  • 调查的其余部分组织如下。
    • 第2节概述了PTM的背景、概念和常用符号。
    • 第3节简要介绍了临时技术转让的概况,并阐明了临时技术转让的分类。
    • 第4节提供了PTM的扩展。
    • 第5节讨论了如何将PTM的知识转移到下游任务。
    • 第6节给出了关于PTM的相关资源。
    • 第7节介绍了跨各种NLP任务的应用程序集合。
    • 第8节讨论了当前的挑战,并提出了未来的方向。
    • 第9部分对论文进行了总结。

2 背景

2.1 语言表征学习

  • 一个好的表示应该表达通用的先验,这些先验不是特定于任务的,但可能对学习机解决人工智能任务有用。在语言方面,一个好的表示应该捕捉隐藏在文本数据中的隐含语言规则和常识知识,如词汇意义、句法结构、语义角色,甚至语用学
  • 分布式表示的核心思想是用低维实值向量来描述文本的意义。向量的每个维度都没有对应的意义,而整体代表一个具体的概念。
  • 单词嵌入分类
    • 预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记_第1张图片
    • 非上下文嵌入
      • 将离散的语言符号映射到分布式嵌入空间
      • 将在词汇表V中的词x,使用查找表∈×||映射到∈
      • 这些嵌入将与其他模型参数一起在任务数据上进行训练
      • 两个限制
        • 嵌入是静态的,无法对多义词进行建模
        • OOV问题
    • 上下文嵌入
      • t的上下文表示取决于整个文本:,,· · ·,=1,2,· · ·,,其中(⋅)是神经编码器
      • 为 上下文嵌入 或 动态嵌入

2.2 神经上下文嵌入

2.2.1 序列模型

  • 卷积模型、递归模型(LSTMs、GRUs、biLSTMs,经常受到长程依赖问题的影响)
    • 预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记_第2张图片

2.2.2 非序列模型

  • 通常采用词的树结构或者图结构,比如Recursive NN、 TreeLSTM、GCN
  • 虽然语言感知的图结构可以提供有用的归纳偏向,但如何构建一个好的图结构也是一个具有挑战性的问题。此外,该结构在很大程度上依赖于专家知识或外部NLP工具,如依存关系解析器
  • 全连接自注意力模型(Transformer)
    • 预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记_第3张图片

2.2.3 分析

  • 序列模型学习单词的上下文表示时存在位置偏差,很难捕捉单词之间的远程交互。然而,序列模型通常很容易训练,并且对于各种NLP任务都能得到很好的结果。
  • 相反,作为一种实例化的全连接自我注意模型,Transformer可以直接对序列中每两个词之间的依存关系进行建模,功能更强大,更适合于对语言的长范围依存关系进行建模。然而,由于它的结构较重,模型偏差较小,通常需要较大的训练语料库,并且很容易在小的或中等大小的数据集上过度拟合

2.3 为什么使用与训练

  • 随着深度学习的发展,模型参数的数量迅速增加。需要更的数据集来完全训练模型参数并防止过拟合。然而,对于大多数NLP任务来说,构建大规模的标注数据集是一个巨大的挑战,因为标注成本极其昂贵,尤其是对于语法和语义相关的任务
  • 相比之下,大规模的未标注语料库相对容易构建。为了利用巨大的未标记文本数据,我们可以首先从它们中学习良好的表示形式,然后将这些表示形式用于其他任务。最近的研究表明,在从大型未注释语料库的PTM中提取的表征的帮助下,许多NLP任务的性能都有显著提高
  • 预训练的优势
    1. 在庞大的文本语料库上进行预训练可以学习通用的语言表示,并有助于后续任务
    2. 预训练提供了更好的模型初始化,这通常会导致更好的泛化性能,并加快对目标任务的收敛
    3. 预训练可以看作是一种正则化,以避免对小数据的过度拟合

2.4 NLP预训练模型简史

  • 在自然语言处理中,大型语料库上的PTM也被证明有利于下游的自然语言处理任务,从浅层单词嵌入到深层神经模型

2.4.1 第一代的PTM:预训练词嵌入

  • 在神经网络语言模型(NNLM)的开创性工作中引入了“现代”词嵌入
  • Collobert:pairwise ranking task,他们的工作是首次尝试从未标记数据中获得对其他任务有用的通用词嵌入
  • Mikolov:Bag-of-Words(CBOW) and Skip-Gram (SG) models。没有必要从神经网络中构建好的词嵌入
  • Word2vec是这些模型中最流行的实现之一,它使预训练的单词嵌入可用于NLP中的不同任务
  • GloVe也是一种广泛使用的模型,用于获得预先训练的词嵌入,该模型是通过来自大型语料库的全局词-词共现统计来计算的。
  • 类似的有paragraph vector、 Skip-thought vectors 、 Context2Vec

2.4.2 第二代PTM:预训练上下文编码器

  • Dai和Le为NLP提出了第一个成功的PTM实例。他们使用语言模型(LM)或序列自动编码器来初始化LSTM,并发现预训练可以提高LSTM在许多文本分类任务中的训练和泛化能力。
  • Liu等人与LM预先训练了一个共享的LSTM编码器,并在多任务学习(MTL)框架下对其进行了微调。
  •  Ramachandran等人发现,通过无监督的预训练,Seq2Seq模型可以显著改进。
  • 除了用LM预先训练上下文编码器外,McCann等人利用机器翻译(MT)从注意序列到序列模型预先训练深度LSTM编码器。由预先训练的编码器输出的上下文向量(CoVe)可以提高各种常见NLP任务的性能。
  • Peters等人用双向语言模型(BiLM)预先训练了2层LSTM编码器,该模型由前向LM和后向LM组成。由预训练的BiLM,ELMO(Embedding From Language Models)输出的上下文表示被证明在广泛的NLP任务中带来了很大的改进。
  • Akbik等人通过用字符级LM预先训练的上下文字符串嵌入捕获了单词含义。然而,这两个PTM通常被用作特征提取器来产生上下文单词嵌入,这些上下文单词嵌入被馈送到下游任务的主模型中。
  • ULMFiT(Universal language Model Fine-Tuning,通用语言模型精细调整)[38]尝试针对文本分类(TC)对预先训练的LM进行微调,并在六个广泛使用的TC数据集上取得了最先进的结果。ULMFiT包括3个阶段:1)对通用域数据进行LM预训练;2)对目标数据进行LM微调;3)对目标任务进行微调。ULMFiT还研究了一些有效的微调策略,discriminative fine-tuning, slanted triangular learning rates, and gradual unfreezing.
  • 最近,非常深入的PTM已经显示出它们在学习通用语言表示方面的强大能力:例如OpenAI GPT(Generative Pre-training)和BERT(Bidirectional Encoder Representation from Transformer)。除了LM,还提出了越来越多的自监督任务(见3.1节),以使PTM能够从大规模文本语料库中获取更多的知识。
  • 自ULMFiT和BERT以来,微调已成为调整PTM以适应下游任务的主流方法。

3 PTM综述

  • PTM之间的主要区别是上下文编码器的使用,预训练任务和目的。

3.1 预训练任务

  • 分类,UL与SSL的区别:UL为没有人工标注数据集的学习,SSL目的是从数据集中学习常识(general knowledge),而不是典型的无监督目标,如密度估计
    1. 监督学习(SL,supervised learning)是学习基于由输入-输出对组成的训练数据将输入映射到输出的函数
    2. 无监督学习(UL,unsupervised learning)是从未标记的数据中发现一些内在知识,如聚类、密度、潜在表示等
    3. 自我监督学习(SSL,slef-supervised learning)是监督学习和非监督学习的混合体。SSL的学习模式与有监督学习完全相同,但训练数据的标签是自动生成的。SSL的关键思想是以某种形式预测来自其他部分的输入的任何部分。例如,掩蔽语言模型(MLM)是一项自我监督的任务,它试图在给定其余单词的情况下预测句子中的掩蔽单词。
  • 不同任务的损失函数
    • 预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记_第4张图片

3.1.1 语言模型(LM)

  • 自然语言处理中最常见的无监督任务是概率语言建模,这是一个经典的概率密度估计问题
  • LM通常特别指自回归LM或单向LM
  • 给定一个文本序列1:T=[1,2,…,],联合概率:
    • 1:==1(|0:−1),0是表示序列开始的特殊标记
    • 0:−1=((0:−1)), g为预测层
    • 使用最大似然估计(MLE,maximum likelihood estimation)在大量语料库中进行训练
  • 单向LM的缺点是每个token的表示仅编码向左的上下文令牌及其自身--->BiLM包含 a forward left-to-right LM and a backward right-to-left LM

3.1.2 掩码语言模型(MLM, Masked Language Modeling)

  • MLM首先从输入句子中掩蔽出一些标记,然后训练模型根据其余标记预测被掩蔽的标记
    • 这种预训练方法将在预训练阶段和微调阶段之间产生不匹配,因为掩码token在微调阶段期间不出现
  • Seq2Seq MLM
    • 通常在分类问题中使用
      • 将被屏蔽的序列馈送到神经编码器,其输出向量被进一步馈送到Softmax分类器以预测被屏蔽的token
      • 使用编解码器的MLM体系结构,其中编码器被馈送掩码序列,解码器以自回归的方式顺序地产生掩码token
    • 使用领域:问题解答、摘要和机器翻译
  • Enhanced Masked Language Modeling (E-MLM)
    • 不同的E-MLM版本来改进BERT:RoBERTa使用动态的掩码
    • UniLM将掩码预测任务扩展到三种类型的语言建模任务:单向、双向和序列到序列预测。
    • XLM在并行双语句子对的连接上执行MLM,称为翻译语言建模(TLM)
    • SpanBERT用随机连词掩蔽与跨度边界目标(SBO)替换MLM,将结构信息整合到预训练中,这要求系统根据跨度边界预测掩蔽跨度
    • StructBERT介绍了泛阶恢复任务,以进一步整合语言结构

3.1.3 Permuted Language Modeling (PLM) 置换语言模型

  • Yang等人声称,当模型应用于下游任务时,MLM预训练中使用的一些特殊标志,如[MASK],会缺失,导致预训练和微调之间存在差距
  • PLM是关于输入序列的随机排列的语言建模任务。从所有可能的排列中随机抽样一个排列。然后选择置换序列中的一些标志作为目标,并根据其余标志和目标的自然位置对模型进行训练以预测这些目标。

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

  • 采用部分损坏的输入,旨在恢复原始的未失真输入。使用seq2seq(Transformer)
  • 损坏文本的方式:Token Masking、token deletion、text infilling、sentence permutation、document rotation

3.1.5 Contrastive Learning (CTL) 对比学习

  • learning by comparison
  • 对比学习假设一些观察到的文本对比随机抽样的文本在语义上更相似。学习文本对(,)的得分函数s(,)以最小化目标函数
      • (,+)是相似文本对,(,−)是不相似文本对
    • 编码器通过两种方式学习,
      • ,=
      • ,=(⨁)
  • Collobert等人提出了两两排序任务来区分真假短语。该模型需要预测一个合法短语的得分高于通过将其中心词替换为随机词而获得的不正确短语的得分。Mnih和Kavukcuoglu用噪声对比估计(NCE)有效地训练了单词嵌入,NCE训练了一个二分类器来区分真假样本。在众所周知的word2vec嵌入中也使用了nce的思想
  • 最近提出来的一些CTL任务
    • Deep InfoMax (DIM)最初是针对图像提出的,它通过最大化图像表示和图像的局部区域之间的互信息来提高表示的质量
      • DIM在语言表征学习中的应用。序列表达式的全局表示被定义为由上下文编码器()输出的第一个token的隐藏状态(假设是句子符号的特殊开始)。
      • DIM的目的是为:(:)分配一个比(:)(:)更高的分数,其中:表示从从i到j开始的n-gram,:表示在位置i到j掩蔽的句子,而:表示从语料库中随机抽样的负n元语法
    • Replaced Token Detection (RTD)
      • NCENoise contrastive estimation相同,但在给定其周围上下文的情况下预测token是否被替换
      • 带负抽样的CBOW(CBOW-NS)[11]可以看作是RTD的一个简单版本,其中负样本是从具有简单建议分布(

Simple proposal distribution)的词汇表中随机抽取的

  • ELECTRA通过使用生成器替换序列的一些标记来改进RTD。生成器G和鉴别器D的训练分两个阶段进行:(1)只训练具有MLM任务的生成器1个步骤;(2)用生成器的权重初始化鉴别器的权重。然后用一项辨别任务训练鉴别器2步,使其保持冰冻状态。这里的判别性任务表示判断输入令牌是否已被G替换。生成器在预训练之后会被抛弃,只有鉴别器会在下游任务上进行微调
  • RTD也是不匹配问题的替代解决方案:网络在训练前看到[MSAK],但在下游任务中进行微调时看不到
  • WKLM在实体级别而不是令牌级别替换单词。具体来说,WKLM用相同类型的其他实体的名称替换实体提及,并训练模型以区分实体是否已被替换
  • Next Sentence Prediction (NSP)
    • NSP对模型进行训练,以区分训练语料中的两个输入句子是否为连续段
    • 它能够教会模型理解两个输入句子之间的关系,从而有利于对这些信息敏感的下游任务,如问答和自然语言推理。
    • 然而,NSP任务的必要性受到后续工作的质疑:Yang等人发现NSP任务的影响不可靠,而Joshi等人发现没有NSP损失的单句训练优于有NSP损失的句子对训练。此外,Liu等人对NSP任务进行了进一步的分析,结果表明,当使用单个文档中的文本块进行训练时,删除NSP丢失匹配项或稍微提高下游任务的性能
  • Sentence Order Prediction (SOP)
    • ALBERT将NSP损失替换为句子顺序预测(SOP)损失
    • NSP将主题预测和连贯性预测融合在一个任务中。因此,该模型可以仅依靠更简单的任务,即主题预测来进行预测。与NSP不同,SOP使用同一文档中的两个连续段作为正例,使用相同的两个连续段作为反例,但顺序互换。因此,ALBERT在各种下游任务上始终优于BERT
    • StructBERT和BERTje也将SOP作为他们的自监督学习任务
  • Others:除了上述任务外,还有许多其他辅助性的预训练任务,用于整合事实知识、改进跨语言任务、多模式应用或其他特定任务

3.2 PTM的分类

  • 四个不同的角度
    1. 表示类型:根据下游任务使用的表示,我们可以将PTM分为非上下文模型和上下文模型
    2. 架构:PTM使用的主要模型,包括LSTM、Transformer编码器、Transformer解码器和全Transformer架构。编码器与解码器的不同之处在于,解码部分使用带三角形矩阵的掩蔽自我注意,以防止token进入其未来(右)位置。
    3. 预训练任务类型:PTM使用的培训前任务类型
    4. 扩展:为各种场景设计的PTM,包括知识丰富的PTM、多语言或特定语言的PTM、多模型PTM、特定领域的PTM和压缩的PTM
  • 预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记_第5张图片

  • 预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记_第6张图片

3.3 模型分析

  • 由于PTM的巨大成功,了解它们捕获了哪些知识,以及如何从这些知识中归纳出知识是非常重要的。有大量文献分析存储在预先训练的非上下文和上下文嵌入中的语言知识和世界知识

3.3.1 非上下文嵌入

  • Mikolov等人发现,通过神经网络语言模型学习的单词表示能够捕捉语言中的语言规则,单词之间的关系可以通过关系特定的向量偏移来表征。
  • 进一步的类比实验[11]证明,skip-gram模型生成的词向量可以同时捕捉句法关系和语义关系
    • 如vec(“China”)−vec(“Beijing”)≈vec(“Japan”)−vec(“Tokyo”)。
  • 此外,他们还发现词向量的构成性,如vec(“德国”)+vec(“首都”)与vec(“柏林”)相近。
  • 受这些工作的启发,Rubinstein等人发现,分布词表征擅长预测分类属性(例如,狗是一种动物),但无法学习属性(attributive properties)(例如,天鹅是白色的)。
  • 类似地,Gupta等人表明word2vec嵌入隐式编码实体的引用属性。分布式词向量与简单的监督模型一起,可以学习以合理的准确度预测实体的数值和二进制属性。

3.3.2 上下文嵌入

  • 大量研究探索并归纳了语境嵌入中不同类型的知识。一般来说,有两种类型的知识:语言知识和世界知识
  • 语言知识
    • Tenney et al.,Liu et al.发现BERT在许多句法任务上表现良好,如词性标注和成分标注。然而,与简单的句法任务相比,BERT在语义和细粒度句法任务方面做得不够好
    • Tenney等人分析了Bert层在不同任务中的作用,发现Bert解决任务的顺序与NLP pipelines中的类似。
    • 主谓一致]和语义角色的知识也被证实存在于BERT中。
    • Hewitt和Manning,Jawahar等人,Kim等人提出了几种从Bert中提取依存关系树和选区树的方法,证明了Bert对语法结构的编码能力。
    • Reif等人探索了Bert内部表征的几何学,发现了一些证据:1)语言特征似乎在语义和句法子空间中被表征;2)注意矩阵包含语法表征;3)Bert在非常精细的水平上区分词义。
  • 世界知识
    • 除了语言知识,PTM还可以存储训练数据中呈现的世界知识。探索世界知识的一种直接方法是用“填空”完形填空语句来查询伯特,例如,“但丁出生在[MASK]”。
    • Petroni等人通过从几个知识源手动创建单标记完形语句(查询)来构建LAMA(语言模型分析)任务。他们的实验表明,BERT包含了与传统信息提取方法相媲美的世界知识。
    • 由于LAMA查询生成过程的简单性, Jiang等人[130]认为LAMA只是度量了语言模型所知内容的下界,并提出了更先进的方法来生成更高效的查询。尽管LAMA有令人惊讶的发现,但它也受到了后续工作的质疑
    • 类似地,几项研究从BERT中归纳出下游任务的关系知识和常识知识

4 PTM的扩展

4.1 Knowledge-Enriched PTM

  • PTM通常从通用的大规模文本语料库中学习通用语言表示,但缺乏特定领域的知识
  • 通过实体嵌入的方式注入知识图的结构信息
    • 自BERT以来,一些辅助的预训练任务旨在将外部知识纳入深度PTM。LIBERT(linguistically-informed BERT)通过额外的语言约束任务整合了语言知识。
    • Ke等人整合了每个词的情感极性,将MLM扩展到标签感知MLM(LA-MLM)。因此,他们提出的模型SentiLR在几个句子和体层面的情感分类任务上实现了最先进的性能。
    • Levine等人提出了SenseBERT,它经过预训练,不仅可以预测WordNet中的掩码标记,还可以预测它们的超感觉(supersence)
    • Ernie(清华)将在知识图上预训练的实体嵌入与文本中对应的实体提及相结合,以增强文本表示
    • 类似地,KnowBERT联合训练BERT和实体链接模型,以端到端的方式合并实体表示。
    • Wang等人提出了KEPLER,它联合优化了知识嵌入和语言建模目标
  • 相反,直接从文本中获得
    • K-BERT显式地将从KG中提取的相关三元组注入到句子中,以获得BERT的扩展树形输入
    • CoLAKE将知识上下文和语言上下文集成到一个统一的图中,然后使用MLM对其进行预训练,以获得知识和语言的语境化表示
    • 熊等人采用了实体替换识别,以鼓励模型更多地意识到事实知识
  • 这些方法大多是在注入知识时更新PTM的参数,当注入多种知识时可能会出现灾难性的遗忘
    • K-Adapter通过针对不同的预训练任务独立训练不同的适配器来注入多种知识,从而允许持续的知识灌输
  • 另一方面,人们可以将外部知识合并到预先训练的模型中,而不需要从头开始重新训练它们
    • K-BERT允许在对下游任务进行微调期间注入事实知识
    • Guan et al.使用常识知识库ConceptNet和ATOMIC来增强GPT-2的故事生成能力
    • Yang等人提出了一个知识-文本融合模型来获取机器阅读理解中相关的语言知识和事实知识
  • 此外,Logan IV等人和Hayashi等人还提出了一种新的方法。扩展语言模型分别为知识图语言模型(knowledge graph language model,KGLM)和潜在关系语言模型(latent relation language model,LRLM),两者都允许以知识图为条件进行预测。这些新颖的KG条件语言模型显示了预训练的潜力。

4.2 多语种和特定语言的PTM

4.2.1 多语种PTM

  • Cross-Lingual Language Understanding (XLU)
    • 早期的大多数工作都集中在学习多语种单词嵌入,即在单个语义空间中表示来自多语言的文本。然而,这些方法通常需要语言之间的(弱)对齐
    • Multilingual BERT(MBERT)是由MLM预训练的,使用来自前104种语言的共享词汇和维基百科文本的权重。每个训练样本都是单语文档,没有专门设计的跨语言目标,也没有任何跨语言数据。即便如此,mBERT的跨语言泛化性能也出人意料地好
    • K等人指出,语言之间的词汇重叠对跨语言的成功起着微不足道的作用
    • XLM通过加入一个跨语言任务-翻译语言建模(TLM)来改进mBERT,该任务对平行双语句子对的串联执行MLM
    • Unicoder进一步提出了三个新的跨语言预训练任务,包括跨语言单词恢复、跨语言释义分类和跨语言掩蔽语言模型(XMLM)
    • XLM RoBERTa(XLM-R)是一种缩放的多语言编码器,预训练了显著增加的训练数据量,2.5TB包含了100种不同语言的CommonScrawl数据。XLM RoBERTa的预训练任务仅限于单语MLM。XLM-R在多个跨语言基准(包括XNLI,MLQA和NER)上实现了最先进的结果。
  • Cross-Lingual Language Generation (XLG)
    • 与用于多语言分类的PTM不同,用于多语言生成的PTM通常需要对编码器和解码器进行联合预训练,而不是只关注编码器
    • MASS用单语言的Seq2Seq MLM对多语言的Seq2Seq模型进行了预训练,并在无监督NMT上取得了显著的改进。
    • XNLG对跨语言自然语言生成进行了两阶段的预训练。
      • 第一阶段用单语MLM和跨语言MLM(XMLM)任务预训练编码器。
      • 第二阶段通过使用单语DAE和跨语言自动编码(XAE)任务预训练解码器,同时保持编码器不变。
      • 实验表明,XNLG在跨语言问题生成和跨语言摘要摘要方面具有较好的性能。
    • MBART是BART的多语言扩展,它与Seq2Seq去噪自动编码器(DAE)任务一起在25种语言的大规模单语语料库上对编码器和解码器进行了预训练。实验表明,mBART在各种机器翻译(MT)任务中都有显著的性能提升

4.2.2 特定语言的PTM

  • 最近的研究表明,接受单一语言训练的PTM的成绩明显优于多语言训练的结果
  • 对于没有明确词边界的中文,建立更大粒度和多粒度词表示的建模已经取得了很大的成功
  • Kuratov和Arkhipov使用迁移学习技术将多语言的PTM改造成俄语的单语PTM
  • 此外,还发布了一些用于不同语言的单语PTM,例如法语的Camembert和Flaubert,芬兰语的FinBERT,荷兰语的Bertje和Robbert,阿拉伯语的AraBERT

4.3 多模式的PTM

  • 一些研究集中在获得跨模式版本的PTM。这些模型中的绝大多数都是为一般的视觉和语言特征编码而设计的。这些模型是在一些巨大的跨模态数据语料库上进行预训练的,比如带有口语的视频或带有字幕的图像,结合了扩展的预训练任务,以充分利用多模态特征。通常,基于视觉的MLM、掩蔽视觉特征建模和视觉-语言匹配等任务被广泛用于多模态预训练,如VideoBERT、VisualBERT、ViLBERT

4.3.1 Video-Text PTM

  • VideoBERT和CBT是联合的视频和文本模型。为了获得用于预训练的视觉和语言符号序列,视频分别通过基于CNN的编码器和现成的语音识别技术进行预处理。一个Transformer编码器在处理后的数据上接受训练,以学习下游任务(如视频字幕)的视觉语言表示。
  • UniViLM建议引入生成任务,以进一步预先训练在下游任务中使用的解码器

4.3.2 Image-Text PTM

  • 除了视频语言预训练的方法之外,还有一些作品在图像-文本对上引入了PTM,旨在适应下游任务,如视觉问答(VQA)和视觉共享推理(VCR)
  • 几个提出的模型独立地采用两个单独的编码器来进行图像和文本表示,例如ViLBERT和LXMERT。
  • 而其他方法如VisualBERT,B2T2,VLBERT,Unicoder VL和UNITER提出了单流统一Transformer。虽然这些模型体系结构不同,但在这些方法中引入了类似的预训练任务,例如MLM和图像文本匹配。为了更好地利用视觉元素,在由预训练的变压器编码之前,通过应用RoI或边界框检索技术将图像转换为区域序列

4.3.3 Audio-Text PTM

  • SpeechBERT试图建立一个端到端的语音问答(SQA)模型,使用单个Transformer编码器对音频和文本进行编码,并使用MLM对语音和文本语料库进行预训练,并对问答进行微调

4.4 Domain-Specific and Task-Specific PTM

  • 一些研究提出了在专业语料库上训练的PTM,例如用于生物医学文本的BioBERT,用于科学文本的SciBERT,用于临床文本的ClinicalBERT
  • 除了预先训练特定于领域的PTM之外,一些工作试图使可用的预先训练的模型适合于目标应用,例如生物医学实体标准化、专利分类、进展笔记分类和关键字提取
  • 一些面向任务的预训练任务,如用于情感分析的情感标签感知MLMin SentiLR,用于文本摘要的间隙句子生成(GSG),以及用于不流利检测的噪声词检测

4.5 模型压缩 Model Compression

  • 由于PTM通常由至少数亿个参数组成,因此很难将它们部署在现实应用程序和资源受限设备的在线服务上。模型压缩是减小模型尺寸和提高计算效率的潜在方法。
  • 五种方法: 4.5.1 ~ 4.5.5
  • 预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记_第7张图片

4.5.1 模型剪枝(Model Pruning),去除不太重要的参数

  • Gordon等人探索了修剪的时机(例如,在训练前的修剪,在下游微调之后)和修剪制度(pruning regimes)
  • Michel等人和VOita等人试图修剪Transformer块中的所有(entire)自我注意头

4.5.2 加权量化(Quantization),用更少的位来表示参数

  • 沈等人和Zafrir等人的工作完全集中在这一领域。请注意,量化通常需要兼容的硬件

4.5.3 参数在相似模型单元之间共享(Parameter Sharing)

  • 另一种减少参数数量的众所周知的方法是参数共享,它广泛用于CNN、RNN和Transformer
  • Albert使用跨层参数共享和因子分解嵌入参数化来减少PTM的参数。虽然参数数量大大减少,但Albert算法的训练和推理时间甚至比标准的BERT算法还要。一般来说,参数共享并不能提高推理阶段的计算效率

4.5.4 知识蒸馏(Knowledge Distillation,KD),训练较小的学生模型( a smaller student model ),从原始模型的中间输出中学习

  • 一个被称为学生模型的小模型被训练来复制一个被称为教师模型的大模型的行为,在这里,教师模型可以是由许多模型组成的整体,并且通常经过良好的预训练
  • 知识蒸馏可以分为三类
    1. 从软目标概率蒸馏 Distillation from soft target probabilities
      • Bucilua等人。结果表明,使学生近似于教师模型,可以实现知识在教师与学生之间的传递。一种常用的方法是对教师模型的逻辑进行近似。DistilBERT将蒸馏损失超过教师软目标概率的学生模型训练为:
        • −=⋅() 
        • , 分别是教师模型和学生估计的概率
      • 从软目标概率中提取也可以用于特定于任务的模型,例如信息检索和序列标记
      • 软目标概率的提炼将教师模型看作一个黑盒,只关注其输出。
    2. 从其他知识蒸馏 Distillation from other knowledge
      • 对教师模型进行分解,提取更多的知识,可以对学生模型进行改进
      • TinyBERT通过嵌入输出,隐藏状态和自我注意分布执行层间蒸馏。
      • MobileBERT执行具有软目标概率,隐藏状态和自我注意分布的层间蒸馏。
      • MiniLM从教师模型中提炼自我注意分布和自我注意价值关系
    3. 蒸馏到其他结构
      • 此外,其他模型通过多种方法提取知识。Sun等人引入了一种“耐心”的师生机制,Liu等人利用KD改进了预先训练的多任务深度神经网络

4.5.5 模块替换(Module Replacing),用更紧凑的替代品替换原始PTM的模块 

  • 用更紧凑的替代品替换原有的PTM中的大模块
  • Xu等人在著名的思维实验“提修斯之船”(Ship Of Teseus)的启发下提出了“提修斯压缩”(Teseus Compression),即用参数较少的模块逐步替换源模型中的模块。与KD不同的是,Teseus压缩只需要一个特定于任务的损失函数。压缩模型BERT-of-Teseus在保持源模型98%以上性能的同时,速度提高了1.94倍

4.5.6 提前退出 Early Exit

  • 模型在出站时提前退出,而不是遍历整个模型。要执行的层数取决于输入
  • 提前退出的思想最早应用于计算机视觉领域,如BranchyNet和Short-Deep Network。随着深度预训练语言模型的出现,最近采用提前退出来加速基于Transformer的模型。
  • 作为先前的工作,通用Transformer使用自适应计算时间(ACT)机制来实现输入自适应计算。Elbayad等人提出了用于机器翻译的深度自适应转换器,该转换器学习预测特定序列或令牌需要多少个解码层。刘等人没有研究需要多少计算量,提出了两种分别基于互信息(MI)和重构损失的估计方法,将适当的计算直接分配给每个样本。
  • 最近,DeeBERT,RightTool,FastBERT,Elbert,PABEE被提出以减少用于自然语言理解任务的转换器编码器的计算量。他们的方法通常包括两个步骤:(A)训练注入的出坡道(off-ramps,也称为内部分类器)和(B)设计退出策略以决定是否退出
  • 典型地,训练目标是所有off-ramps处的交叉熵损失的加权和:
    • −==1⋅
      • M为off-ramps的个数
    • FastBERT采用了自蒸馏损失,用最终分类器产生的软目标训练每个出口。
    • Liao等人通过同时考虑过去和未来的信息来改进目标。特别地,输出坡道被训练成聚集过去层的隐藏状态,并且也近似于未来层的隐藏状态。
    • Sun等人从集成学习和互信息的角度提出了一种新的训练目标,通过该目标将出口匝道训练为一个集成。他们提出的目标不仅优化了每个出口匝道的精度,而且还优化了出口匝道的多样性。
  • 在推理过程中,需要一个退出策略来决定是提前退出还是继续下一层。DeeBERT,FastBERT,Liao等采用预测分布的熵作为判别准则。类似地,RightTool使用最大Softmax分数来决定是否退出。PABEE开发了一种基于耐心的策略,允许样本在连续层的预测不变时退出。此外,Sun等人采用了一种基于投票的策略,让所有过去的出口进行投票,以决定是否退出。此外,Li等提出了一种基于窗口不确定性的退出准则,以实现序列标注任务的token级提前退出(TokEE)

5 Adapting PTM to Downstream Tasks

5.1 迁移学习 Transfer Learning

  • 将源任务(或域)中的知识应用于目标任务(或域)
  • NLP的迁移学习有多种类型,如领域适应、跨语言学习、多任务学习等。使PTM适应下游任务是一种顺序迁移学习任务,其中任务是按顺序学习的,目标任务有标记的数据
  • 预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记_第8张图片

5.2 如何迁移

5.2.1选择合适的预培训任务、模型架构和语料库

  • 不同的PTM在相同的任务中有不同的效果
    1. 目前,语言模型是最流行的预训练任务,可以更有效地解决广泛的自然语言处理问题。然而,不同的训练任务有其不同的偏向,对不同的任务产生不同的效果。例如,NSP任务使PTM理解两个句子之间的关系。因此,PTM可以使诸如问答(QA)和自然语言推理(NLI)等下游任务受益
    2. PTM的体系结构对于下游任务也很重要。例如,尽管Bert帮助完成了大多数自然语言理解任务,但它很难生成语言
    3. 下游任务的数据分布应近似于PTM。目前,有大量现成的PTM,它们同样可以方便地用于各种特定于领域或特定于语言的下游任务。

5.2.2 选择合适的层

  • 给定一个预先训练好的深度模型,不同的层应该捕获不同类型的信息,如词性标记、解析、长期依赖、语义角色、共指关系。对于基于RNN的模型,Belinkov等人和Melamud等人显示了在多层LSTM编码器中从不同层学习的表示有利于不同的任务(例如,预测POS标签和理解词义)。对于基于转换器的PTM,Tenney等人发现BERT代表了传统NLP管道的步骤:基本语法信息在网络中出现得更早,而高层语义信息出现在更高层。
  • 三种选择表示的方法:
    1. 只有嵌入层。一种方法是只选择预先训练好的静态嵌入,而模型的其余部分仍然需要为新的目标任务从头开始训练。它们无法捕获可能更有用的更高级别的信息。单词嵌入只对获取单词的语义有用,但我们还需要理解更高层次的概念,如词义(word sense)
    2. 顶层。最简单有效的方法是将顶层的表示形式提供给特定于任务的模型,表示第l层,⋅表示目标任务的特定于任务的模型
    3. 所有层。一种更灵活的方式是自动选择软版本中最好的层,如Elmo
      • r==1 ,为softmax标准化之后的系数,是一个标量,用于对预先训练的模型输出的向量进行缩放,混合表示被提供给特定于任务的模型()

5.2.3 调还是不调 To tune or not to tune?

  • 目前,有两种常见的模型传递方式
    1. 特征提取(feature extraction,冻结预训练参数)
      • 将预先训练好的模型视为现成的特征提取器。此外,显示内部图层非常重要,因为它们通常对最具可传输性的表示进行编码
      • 特征提取方法需要更复杂的特定于任务的体系结构
    2. 微调(fine-tuning,解冻并微调预训练参数)
      • 对于许多不同的下游任务,微调方法通常比特征提取方法更具通用性和方便性
    • 预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记_第9张图片

5.3 微调策略

  • 自ULMFit和BERT以来,微调已成为PTM的主要调节方式
  • 然而,微调过程通常是脆弱的:即使具有相同的超参数值,不同的随机种子也可能导致本质上不同的结果
  • 微调策略
    • 两阶段微调
      • 在预训练和微调之间引入了一个中间阶段
      • 在第一阶段,PTM被转换成由中间任务或语料库微调的模型
      • 在第二阶段,将传输的模型微调到目标任务
      • Sun等人表明,在相关领域语料库上进行“进一步的预训练”可以进一步提高BERT的能力,并在八个广泛研究的文本分类数据集上取得了最先进的性能。
      • Pang等人和Garg等人引入了与目标任务相关的中间监督任务,这给Bert、GPT和Elmo带来了很大的改进
      • 李等人也使用了两阶段转移来预测故事的结局(the story ending prediction)。TransBERT(Transferable BERT)不仅可以从大规模的无标记数据中转移一般的语言知识,而且可以从各种语义相关的监督任务中转移特定类型的知识
    • 多任务微调:刘等人在多任务学习框架下对BERT进行了微调,这表明多任务学习和预训练是互补的技术
    • 通过额外的适配模块进行微调
      • 微调的主要缺点是参数效率低下:每个下游任务都有自己的微调参数。
      • 因此,更好的解决方案是在原始参数固定的情况下将一些精细可调自适应模块注入PTM。
      • Stickland和Murray配备了一个单共享BERT模型,其中包含小的附加任务特定适应模块,投影注意层(PALs)。与PALs共享的BERT在GLUE基准上分别匹配微调模型,参数大约少7倍
      • 同样,Houlsby等通过添加适配器模块修改了预训练BERT的体系结构。适配器模块产生紧凑和可扩展的模型;他们每个任务只添加几个可训练的参数,并且可以添加新任务而无需重新访问以前的任务。原始网络的参数保持固定,产生高度的参数共享。
    • 其他
      • 受到广泛使用的集成模型成功的激励,Xu等人通过自集成和自蒸馏两种有效机制改进了BERT的微调,这两种机制可以在不利用外部资源或显著降低训练效率的情况下提高BERT在下游任务中的性能。他们在一个单一的训练过程中整合了合奏和蒸馏。教师模型是通过对先前时间步长中的几个学生模型进行参数平均而得到的集合模型。
      • 与同时微调所有层不同,逐步解冻(gradual unfreezing)也是从顶层开始逐渐解冻PTM层的有效方法。Chronopoulou等人提出了一种更简单的解冻方法,顺序解冻,它首先只微调随机初始化的任务专用层,然后解冻PTM的隐藏层,最后解冻嵌入层
      • Li和Eisner使用变分信息瓶颈压缩ELMO嵌入,同时只保留有助于目标任务的信息

5.3.1 基于提示的微调 Prompt-based Tuning

  • 缩小预训练和微调之间的差距可以进一步提高PTM在下游任务中的性能。另一种方法是通过设计适当的提示将下游任务重新表述为MLM任务。基于提示的方法在少 few-shot setting, zero-set setting甚至是fully-supervised setting中显示出强大的功能
  • 目前基于提示的方法根据提示是离散的还是连续的,可以分为两大分支。
    • Discrete prompts 离散提示是要插入到输入文本中的一系列单词,它有助于PTM更好地对下游任务进行建模。
      • Sun等人通过将基于方面的情感分析(ABSA)任务转换为句子对分类任务来构造助句,但其模型参数仍需微调。
      • GPT-3提出了将原始输入与任务描述和几个示例连接起来的上下文中学习。这样,GPT-3可以在不调整参数的情况下获得具有竞争力的性能。
      • Petroni等人发现,在适当的人工提示下,Bert可以在不经过训练的情况下很好地执行实体预测任务(LAMA)。
      • 除了LAMA,Schick和Schüutze还提出了PET,它为各种文本分类和蕴涵任务设计了离散提示。
      • 然而,手动设计的提示可能不是最优的,因此,开发了许多方法来自动生成提示。LPAQA使用两种方法,即基于挖掘的生成和基于释义的生成,来找到表示特定关系的最优模式。AutoPrompt使用渐变引导搜索来查找最佳提示。LM-BFF采用T5自动生成提示。
    • Continuous prompts 代替寻找最优的具体提示,另一种选择是在连续空间中直接优化提示,即提示向量不一定是PTM的词型嵌入
      • 优化的连续提示与单词类型嵌入串联,然后将其馈送到PTM。
      • Qin和Eisner和钟等人发现,优化后的连续提示在关系任务上的表现优于具体提示(包括手动提示、挖掘式提示(LPAQA)和梯度搜索提示(AutoPrompt))。
      • WARP在保持PTM参数不变的情况下,在输入序列之前、之间和之后插入可训练的连续提示标记,从而在GLUE基准测试中获得相当高的性能。
      • 前缀调整插入连续提示作为GPT-2输入的前缀,以生成表格到文本,并插入BART以进行摘要。前缀调整作为一种参数高效的调整技术,在全监督设置下取得了与之相当的性能,在少镜头设置下的性能优于模型微调。
      • 此外,P-Tuning表明,在持续提示的情况下,GPT在自然语言理解(NLU)任务上也可以获得与类似大小的BERT相当甚至更好的性能。
      • 最近,Lester等人表明,即时调整随着规模的扩大而变得更具竞争力。当PTM超过数十亿个参数时,模型微调和即时调整之间的差距可以缩小,这使得基于提示的调整成为一种非常有前途的大规模PTM高效服务的方法。

6 PTM的资源

  • 预训练综述 Pre-trained Models for Natural Language Processing: A Survey 阅读笔记_第10张图片

7 应用

7.1 综合评价基准

  •  General Language Understanding Evaluation (GLUE)
    • 9个自然语言理解任务的集合,包括单句分类任务(Cola和SST-2)、成对文本分类任务(MNLI、RTE、WNLI、QQP和MRPC)、文本相似度任务(STSB)和相关排序任务(QNLI)
    • GLUE基准测试是为评估模型的健壮性和通用性而精心设计的
    • GLUE不提供测试集的标签,但设置了评估服务器
  • 然而,由于近年来的进展极大地削弱了GLUE基准的空间,因此提出了一种名为SuperGLUE的新基准。与胶水相比,SuperGLUE具有更多挑战性任务和更多样化的任务格式(例如共指关系解析和问答)。
  •  GLUE Benchmark
  •  SuperGLUE Benchmark

7.2 问答 Question Answering

  • 问答(QA),或更狭义的概念机器阅读理解(MRC),是自然语言处理领域的一个重要应用。从容易到难,有三种类型的问答任务:单轮抽取式问答(班组)、多轮生成式问答(CoQA)、多跳问答(HotpotQA)
  • BERT创造性地将抽取的问答任务转换为预测答案的起始跨度和结束跨度的跨度预测任务。在那之后,PTM作为预测跨度的编码器已经成为一个有竞争力的基线。对于抽取式问答,Zhang等人提出了一种回溯阅读器体系结构,并用PTM(例如Albert)对编码器进行了初始化。对于多轮生成性QA,Ju等人提出了“PTM+对抗性训练+理据标注+知识提炼”的模式。对于多跳QA,Tu等提出了一种可解释的“选择、回答和解释”(SAE)系统,PTM在选择模块中充当编码器。
  • 通常,所提出的QA模型中的编码器参数通过PTM进行初始化,其他参数随机初始化。
  • State of art models
    • The Stanford Question Answering Dataset
    • CoQA: A Conversational Question Answering Challenge
    • HotpotQA Homepage

7.3 情感分析 Sentiment Analysis

  • 通过在SST-2上进行简单的微调,BERT的性能超过了以前最先进的模型,SST-2是一种广泛用于情感分析(SA)的数据集。Bataa和Wu将BERT与迁移学习技术相结合,实现了日语SA的最新水平
  • 尽管它们在简单的情感分类上取得了成功,但直接将BERT应用于基于方面的情感分析(ABSA),这是一项细粒度的SA任务,表现出的改善并不显著。为了更好地利用Bert的强大表示,Sun等人通过将ABSA从单句分类任务转换为句子对分类任务来构造助句。Xu等人提议进行后训练,使BERT从其源域和任务适应到ABSA域和任务。此外,Rietzler等人通过分析具有ABSA性能的跨域后训练的行为。Karimi等人表明,通过对抗性训练,训练后的BERT的表现可以进一步提高。Song等人添加了一个额外的池模块,该模块可以实现为LSTM或注意机制,以利用ABSA的BERT中间层。此外,Li等人共同学习了端到端ABSA的特征检测和情感分类。SentiLR从SentiWordNet获取词性标签和先验情感极性,并采用标签感知的MLM来利用引入的语言知识来捕捉句子级情感标签和词级情感转移之间的关系。SentiLR在几个句子级和体面级情感分类任务上实现了最先进的性能。
  • 对于情感传递,吴等人在的基础上提出了“掩饰和填充”的概念。在掩蔽步骤中,模型通过掩蔽情感标记来将情感从内容中分离出来。在填充步骤中,它使用Bert和嵌入的目标情感来填充遮罩位置。

7.4 命名实体识别 Named Entity Recognition

  • 命名实体识别(NER)在信息抽取中起着重要的作用,在许多NLP下游任务中扮演着重要的角色。在深度学习中,大多数NER方法都是在序列标注框架下进行的。将句子中的实体信息转化为标签序列,一个标签对应一个词。该模型用于预测每个词的标签。由于ELMo和BERT已经在NLP中展示了他们的力量,所以关于NER的预训练模型有很多工作要做
  • Akbik等人使用预训练的字符级语言模型为NER产生词级嵌入。TagLM和Elmo使用预训练的语言模型的最后一层输出和每一层输出的加权和作为单词嵌入的一部分。Liu等人使用分层剪枝和密集连接来加速Elmo对NER的推理。Devlin等人使用第一个BPE的BPE的BERT表示来预测没有CRF的每个单词的标签。Pires等人通过多语种BERT实现了零命中率。Tsai利用知识蒸馏在单CPU上运行了一台小型BERT for NER。此外,BERT还用于特定领域的NER,如生物医学等。

7.5 机器翻译 Machine Translation

  • 几乎所有的神经机器翻译(NMT)模型都共享编解码器框架,该框架先由编码器将输入token编码为隐藏表示,然后再解码来自解码器的目标语言输出token。Ramachandran等人发现,通过用两种语言模型的预训练的权重来初始化编码器和解码器,可以显著改进编码器-解码器模型。EDUNV等人使用ELMO在NMT模型中设置单词嵌入层。这项工作展示了在英语-土耳其语和英语-德语自然机器翻译模型上,通过使用预先训练的语言模型进行源词嵌入初始化的性能改进。
  • 考虑到BERT在其他NLP任务中的出色性能,研究如何将BERT融入NMT模型是很自然的。Conneau和Lample试图通过多语言预训练的BERT模型来初始化整个编码器和解码器,并表明在无监督机器翻译和英语-罗马尼亚监督机器翻译上可以取得显著的改进。同样,Clinchant等人设计了一系列不同的实验,以检验在NMT模型的编码器部分使用BERT的最佳策略。通过使用误码率作为编码器的初始化,取得了一定的改进。此外,他们还发现,这些模型可以在域外数据集上获得更好的性能。Imamura和Sumita提出了一种用于NMT的两阶段BERT微调方法。在第一阶段,编码器通过预先训练的BERT模型进行初始化,并且只在训练集上训练解码器。在第二阶段,整个NMT模型在训练集上进行联合微调。实验表明,该方法可以超过直接对整个模型进行微调的单级微调方法。除此之外,Zhu等人建议使用预先训练的BERT作为额外的记忆,以便于NMT模型的建立。具体地说,它们首先通过预先训练的BERT对输入令牌进行编码,并使用最后一层的输出作为额外的存储器。然后,NMT模型可以通过在编码器和解码器的每一层中增加一个注意模块来访问存储器。他们在有监督、半监督和无监督机器翻译方面都有明显的改善
  • MASS(MASK Sequence-to-Sequence Pre-Training)不是仅对编码器进行预训练,而是利用Seq2Seq MLM联合对编码器和解码器进行预训练。在实验中,该方法在无监督机器翻译和英语-罗马尼亚监督机器翻译上都可以超过Conneau和Lample提出的Bert式的预训练。与MASS不同的是,mBART是BART的多语言扩展,它在25种语言的大规模单语语料库上联合Seq2Seq去噪自动编码器(DAE)任务对编码器和解码器进行预训练。实验表明,mBART在句子级和文档级都能显著提高有监督机器翻译和无监督机器翻译的效率。

7.6 摘要 Summarization

  • 摘要近年来引起了自然语言学界的广泛关注,其目的是生成一篇较短的语篇,以保留较长语篇的最大意义。自从PTM的广泛使用以来,这项任务已经有了很大的改善。Zhong等人引入了可转移知识(如BERT)进行总结,并超越了以往的模型。Zhang等人试图预先训练一个预测句子而不是单词的文档级模型,然后将其应用于摘要等下游任务。更详细地说,Zhang等人设计了一项用于预训练的差距句子生成(GSG)任务,其目标包括从输入生成摘要类文本。此外,Liu和Lapata在中提出了BERTSUM。BERTSUM包括一个新的文档级编码器,以及一个用于摘要摘要和抽象摘要的通用框架。在编码器框架中,BERTSUM通过插入多个[CLS]标记来学习句子表示,从而扩展了BERT。为了提取摘要,BERTSUM堆叠了几个句子间转换器层。对于抽象摘要,BERTSUM提出了一种使用新的微调时间表的两阶段微调方法。Zhong等人提出了一种新的摘要级框架MA TCHSUM,并将摘要摘要概念化为语义文本匹配问题。他们提出了一种Siamese-Bert体系结构来计算源文档和候选摘要之间的相似度,并在CNN/DailyMail(Rouge-1中为44.41)上获得了最先进的结果,只使用了BERT的基本版本。

7.7 对抗性攻防 Adversarial Attacks and Defenses

  • 深度神经模型容易受到对抗性示例的影响,这些示例可能会误导模型以产生特定的错误预测,而原始输入会产生无法察觉的扰动。在CV中,对抗性攻击和防御已被广泛研究。然而,由于语言的离散性,文本仍然具有挑战性。为文本生成对抗性样本需要具备以下特质:(1)人类无法察觉,但会误导神经模型;(2) 流利的语法和语义与原始输入一致。Jin等人成功地用对抗性的例子攻击了微调的BERT的文本分类和文本含义。Wallace等定义了通用对抗性触发器,当与任何输入连接时,可以诱导模型产生特定目的预测。一些触发因素甚至可能导致GPT-2模型产生种族主义文本。Sun等人表明BERT在拼写错误方面不健全。
  • PTMS还具有生成对抗性样本的巨大潜力。Li等人提出了BERT-Attack,一种基于BERT的高质量、高效率的攻击者。他们在下游任务上让Bert与另一个微调的Bert对抗,并成功地误导了目标模型进行错误的预测,在成功率和扰乱百分比上都超过了最先进的攻击策略,而生成的敌意样本流畅且语义保持不变。
  • 此外,PTM的对抗性防御也很有前景,这提高了PTM的健壮性,使其对敌意攻击具有免疫力。
  • 对抗性训练旨在通过最小化嵌入空间中标签保持扰动的最大风险来提高泛化能力。最近的工作表明,对抗性的预训练或微调可以提高自然语言处理中PTMS的泛化能力和鲁棒性。

8 未来方向

  1. PTM的上限 Upper Bound of PTMs
    • 目前,PTMS尚未达到其上限。目前的大多数PTMS可以通过更多的培训步骤和更大的语料库来进一步改进。通过增加模型的深度,可以进一步提高NLP中的技术水平,例如 Megatron-LM(83亿个参数,72个Transformer层,hidden size3072个和32个attention head)和Turing-NLG(170亿个参数,78个Transformer层,hidden size4256个和28个attention head)。
    • 通用型PTM一直是我们学习语言内在普遍知识(甚至是世界知识)的追求。然而,这样的PTM通常需要更深的体系结构、更大的语料库和具有挑战性的培训前任务,这进一步导致了更高的培训成本。然而,训练庞大的模型也是一个具有挑战性的问题,需要更复杂高效的训练技术,如分布式训练、混合精度、梯度累积等。因此,一个更实用的方向是利用现有的硬件和软件设计更高效的模型体系结构、自我监督的预训练任务、优化器和训练技巧。ELECTRA是朝这个方向发展的一个很好的解决方案
  2. PTM的体系结构 Architecture of PTMs
    • Transformer已被证明是一种有效的预训练体系结构。然而,Transformer的主要局限性在于其计算复杂度与输入长度呈二次曲线关系。由于GPU内存的限制,目前的PTM大多不能处理超过512个token的序列。突破这一限制需要改进Transformer的体系结构。虽然许多工作都在努力提高Transformer的效率,但仍有很大的改进空间。
    • 此外,为PTM寻找更有效的替代非Transformer体系结构对于捕获更长范围的上下文信息非常重要。深层体系结构的设计是具有挑战性的,我们可以向一些自动化方法寻求帮助,例如神经体系结构搜索(NAS)
  3. 面向任务的预训练和模型压缩  Task-oriented Pre-training and Model Compression
    • 在实际应用中,不同的下游任务对PTM的能力要求不同。PTM与下游任务的不同主要表现在两个方面:模型体系结构和数据分布。较大的差异可能导致PTM的益处微不足道。例如,文本生成通常需要特定的任务来预训练编码器和解码器,而文本匹配需要为句子对设计的预训练任务。
    • 此外,虽然更大的PTM通常可以带来更好的性能,但一个实际问题是如何在小容量设备和低延迟应用等特殊场景中利用这些巨大的PTM。因此,我们可以仔细设计具体的模型体系结构和下游任务的预训练任务,或者从现有的PTM中提取部分特定于任务的知识。与从头开始训练面向任务的PTM不同,我们可以通过使用模型压缩等技术来教他们现有的通用PTM。尽管在CV中对CNN的模型压缩进行了广泛的研究,但是针对NLP的PTM的压缩才刚刚开始。Transformer的全连接结构也使模型压缩更具挑战性
  4. 微调下的知识迁移 Knowledge Transfer Beyond Fine-tuning
    • 目前,微调是PTMS知识向下游任务传递的主要方式,但其参数效率较低:每个下游任务都有自己的微调参数。一种改进的解决方案是固定PTM的原始参数,并为特定任务添加小的可微调适配模块。因此,我们可以使用共享的PTM来服务多个下游任务。实际上,使用PTM作为外部知识,从PTM中挖掘知识可以更灵活,例如特征提取、知识提炼、数据扩充。预计会有更有效的方法。
  5. PTM的可解释性和可靠性 Interpretability and Reliability of PTMs
    • 尽管PTMS的表现令人印象深刻,但其深层的非线性结构使得决策过程高度不透明。
    • 最近,可解释人工智能(XAI)成为一般AI社区的一个热点。与用于图像的CNN不同,由于类似Transformer的架构和语言的复杂性,解释PTM更加困难。
    • 我们已经做出了广泛的努力(见第3.3节)来分析包括在PTM中的语言和世界知识,这有助于我们在一定程度上透明地理解这些PMT。然而,模型分析的很多工作依赖于注意机制,注意对可解释性的有效性仍然存在争议。此外,PTM也容易受到敌意攻击(见第7.7节)。随着PTM在生产系统中的广泛应用,PTM的可靠性也成为一个备受关注的问题。针对PTM的敌意攻击研究通过充分暴露其脆弱性,帮助我们了解它们的能力。PTM的对抗性防御也是很有前途的,它提高了PTM的健壮性,使其对敌意攻击具有免疫力。总的来说,作为许多自然语言处理应用中的关键组件,PTM的可解释性和可靠性在许多方面还有待进一步探索,这有助于我们理解PTM的工作原理,并为更好地使用和进一步改进提供指导

9 结论

  • 在本次调查中,我们对面向NLP的PTM进行了全面的概述,包括背景知识、模型架构、预培训任务、各种扩展、适应方法、相关资源和应用。在现有PTM的基础上,我们从四个不同的角度提出了一种新的PTM分类方法。我们还提出了几个未来可能的PTM研究方向

你可能感兴趣的:(阅读笔记,自然语言处理,人工智能,深度学习)