预训练语言模型综述

《Pre-trained Models for Natural Language Processing: A Survey》总结

序章

随着深度学习的发展,各种神经网络被广泛应用于解决自然语言处理(NLP)任务,如卷积神经网络(CNNs),递归神经网络(RNNs),基于图的神经网络(GNNs)和注意机制。相比于非神经网络NLP方法严重依赖于离散的手工特征,神经网络方法通常使用低维密集向量(分布式表示)隐式表示语言的语法或语义特征。这些表示在特定的NLP任务中得到学习。因此,神经网络方法使人们更容易开发各种NLP系统。尽管神经网络模型在NLP任务中取得了成功,由于大多数监督NLP任务的数据集非常小,与计算机视觉(CV)领域相比,其性能改进可能不太显著。而且深度神经网络通常具有大量的参数,使得它们在这些小的训练数据上过于拟合,在实际应用中不能很好地推广。所以早期NLP任务的模型构造相对简单(浅层神经网络)。
近年来,大量的研究表明,在大型语料库上的预训练模型(PTMs)可以学习通用语言表示,这有利于后续的NLP任务,避免从头开始训练新模型。第一代PTMs旨在学习好的单词嵌入。由于下游任务不再需要这些模型,因此它们对于计算效率来说影响较少,例如Skip-Gram和GloVe。尽管这些预训练的嵌入可以捕获单词的语义,但它们是上下文无关的,不能捕获上下文中的高级概念,如多义消歧、句法结构、语义信息、语义信息、语义角色,回指等。第二代PTMs专注于学习上下文单词嵌入,如CoVe 、ELMo、OpenAI GPT和BERT。这些学习过的编码器仍然需要通过下游任务在上下文中表示单词。此外,还提出了不同的预训练任务,以学习不同目的的PTMs。
论文的结构:
1.全面审查:论文对NLP的PTMs进行了全面的回顾,包括背景知识、模型架构、训练前任务、各种扩展、自适应方法和应用。
2.新分类法:我们提出了一个用于NLP的PTMs分类法,它从四个不同的角度对现有PTMs进行分类:1.表示类型,2.模型架构,3.预训练任务类型,4.特定场景类型的扩展。
3.资源:我们收集了大量关于PTMs的资源,包括PTMs的开源实现、可视化工具、语料库和纸质清单。
4.未来的方向:我们讨论并分析了现有PTMs的局限性。此外,我们还提出了未来可能的研究方向。

1.背景知识

1.1.语言表示学习

对于自然语言,一个好的表达应该捕捉隐藏在文本数据中的隐含的语言规则和常识,如词汇意义、句法结构、语义角色,甚至语用学。
分布式表示的核心思想是用低维实值向量描述文本的意义。而向量的每一个维度都没有对应的意义,而整体则代表一个具体的概念。词的嵌入有两种:非上下文嵌入和上下文嵌入。它们之间的区别在于单词的嵌入是否根据其出现的上下文而动态变化。
非上下文嵌入:表示语言的第一步是将离散的语言符号映射到分布式嵌入空间中。这种嵌入有两个主要限制。第一个问题是嵌入是静态的。不管上下文如何,单词的嵌入总是一样的。因此,这些非语境嵌入无法模拟多义词。第二个问题是词汇量不足的问题。
语境嵌入:要解决多义词问题和词的语境依赖性,需要区分不同语境中词的语义。预训练语言模型综述_第1张图片

1.2.神经网络上下文编码器

大多数神经网络上下文编码器可分为三类:卷积模型、序列模型和基于图的模型。
1.卷积模型:卷积模型将单词嵌入到输入句子中,并通过卷积操作聚合来自其邻居的局部信息来捕获单词的含义。卷积模型通常易于训练,能够捕获局部上下文信息。
2.序列模型序列模型通常按顺序捕获单词的上下文表示,如LSTMs和GRUs。在实际应用中,双向LSTMs或GRUs用于从词的两边收集信息,但其性能往往受到长期依赖问题的影响。
3.基于图的模型:不同于上述模型,基于图的模型以单词为节点,学习单词之间具有预定义语言结构的上下文表示,如句法结构或语义关系。
预训练语言模型综述_第2张图片
4.Transformer:它采用了完全连接的自关注架构以及其他有用的设计,如位置嵌入、层规范化和剩余连接。
分析:卷积模型和序贯模型都学习具有局部偏误的词的上下文表示,难以捕捉词与词之间的长期交互作用。相比之下,Transformer可以直接对序列中的每两个单词之间的依赖关系进行建模,这更强大,更适合对语言进行建模。然而,由于Transformer结构重,模型偏差小,通常需要一个大的训练语料库,并且容易在小的或中等大小的数据集上过度拟合。

1.3为什么要进行预训练?

随着深度学习的发展,模型参数的数目迅速增加。需要更大的数据集来充分训练模型参数并防止过度拟合。然而,对于大多数NLP任务来说,构建大规模的标记数据集是一个巨大的挑战,因为注释成本非常昂贵,特别是对于语法和语义相关的任务。相比之下,大规模的未标记语料库相对容易构建。为了利用巨大的未标记文本数据,我们可以首先从中学习一个好的表示,然后将这些表示用于其他任务。
前期培训的优势可以概括为以下几点:
1.在庞大的文本语料库上进行预训练,可以学习通用的语言表示,有助于后续任务的完成。
2.预训练可以提供更好的模型初始化,这通常会导致更好的泛化性能,并加快目标任务的收敛速度。
3.训练前可以看作是一种正则化,以避免对小数据的过度拟合。

1.4 NLP的PTMs简史

1.4.1.第一代PTMs:预先训练的单词嵌入
Mikolov等人提出了两种浅层次的体系结构:连续的单词包(CBOW)和跳字语法(SG)模型。尽管简单,他们仍然可以学习高质量的单词嵌入,以捕捉单词之间潜在的句法和语义相似性。Word2vec是这些模型中最流行的实现之一,它使经过预训练的词嵌入可用于NLP中的不同任务。此外,GloVe也是一个广泛使用的获取预训练单词嵌入的模型,它是通过从一个大型语料库中计算出的全局单词-单词-单词协同出现统计来获得的。
尽管经过预训练的单词嵌入在NLP任务中已经被证明是有效的,但是它们是上下文无关的,并且大多是由浅层模型训练的。当用于下游任务时,整个模型的其余部分仍然需要从头学习。在同一时期,许多研究者还试图学习段落、句子或文档的嵌入,如段落向量、 Skip-thought向量 、Context2Vec 。与现代的后继模型不同,这些句子嵌入模型试图将输入的句子编码成一个固定维度的向量表示,而不是每个标记的上下文表示。
1.4.2.第二代PTMs:预先训练的上下文编码器
由于大多数NLP任务都超出了词的层次,因此在句子层次或更高层次上对神经编码器进行预训练是很自然的。神经编码器的输出向量也被称为上下文单词嵌入,因为它们根据上下文来表示单词语义。

参考论文:
《A neural probabilistic language model.》–NNLM
《Natural language processing (almost) from scratch》
《Distributed representations of words and phrases and their compositionality》
《GloVe: Global vectors for word representation》
《Distributed representations of sentences and documents》
《Skip-thought vectors》
《Context2Vec: Learning generic context embedding with bidirectional LSTM》
《Deep contextualized word representations》–ELMO
《Improving language understanding by generative pre-training》–GPT
《BERT: pre-training of deep bidirectional transformers for language understanding》

2.PTMs概述

PTMs之间的主要区别在于上下文编码器的使用、预训练任务和目的。在本节中,我们将重点介绍预培训任务,并给出PTMs的分类。

2.1.预训练任务

预训练任务对学习语言的普遍表征至关重要。通常,这些预训练任务应该具有挑战性,并有大量的训练数据。在本节中,我们将预训练任务归纳为三类:监督学习、非监督学习和自我监督学习。
监督学习(SL)是学习一个函数,该函数基于由输入输出对组成的训练数据将输入映射到输出。
无监督学习(UL)是从未标记的数据中发现一些内在的知识,如聚类、密度、潜在表示等。
自监督学习(SSL)是有监督学习和无监督学习的结合。SSL的学习模式与监督学习完全相同,但训练数据的标签是自动生成的。SSL的关键思想是以某种形式预测来自其他部分的输入的任何部分。
2.1.1 Language Modeling (LM)
NLP中最常见的无监督任务是概率语言建模(LM),它是一个经典的概率密度估计问题。虽然LM是一个普遍的概念,但在实践中,LM常常特别指自回归LM或单向LM。
参考论文:
《Cloze-driven pretraining of self-attention networks》
2.1.2 Masked Language Modeling (MLM)
参考论文:
MLM:
《BERT: pre-training of deep bidirectional transformers for language understanding》
Sequence-to-Sequence MLM (Seq2Seq MLM):
《MASS: masked sequence to sequence pre-training for language generation》
《Exploring the limits of transfer learning with a unified text-to-text transformer》
Enhanced Masked Language Modeling (E-MLM):
《RoBERTa: A robustly optimized BERT pretraining approach》
UniLM:
《Unified language model pre-training for natural language understanding and generation》
《UniLMv2: Pseudo-masked language models for unified language model pre-training》
《Cross-lingual language model pretraining》

2.1.3 Permuted Language Modeling (PLM)
尽管MLM任务在岗前培训中得到了广泛的应用,但杨等声称,当模型应用于下游任务时,MLM预训练中使用的一些特殊标记,如[MASK]不存在,这导致了预训练和微调之间的差距。为了克服这个问题,置换语言建模(PLM)是替代MLM的一个预训练目标.简言之,PLM是一个关于输入序列随机排列的语言建模任务。置换是从所有可能的置换中随机抽取的。然后选择置换序列中的部分标记作为目标,并根据剩余标记和目标的自然位置训练模型来预测这些目标。注意,这种排列不影响序列的自然位置,只定义目标预测的顺序。
参考论文:
《XLNet: Generalized autoregressive pretraining for language understanding》
2.1.4 Denoising Autoencoder (DAE)
去噪自动编码器(DAE)接受部分损坏的输入,旨在恢复原始的未失真输入。对于语言,一个序列到序列的模型,比如标准的Transformer,被用来重建原始文本。有几种方法可以破坏文本:(1)标记屏蔽:从输入中随机抽取标记,并用[MASK]元素替换它们。(2) 目标删除:从输入中随机删除目标位置。与目标掩蔽不同,该模型需要确定丢失输入的位置。(3) 文本填充:与SpanBERT一样,对多个文本跨距进行采样,并用单个[MASK]标记替换。每个跨距长度由泊松分布(λ=3)得出。模型需要预测一个跨度中缺少多少记号。(4) 句子排列:根据句号将文档分成句子,并按随机顺序洗牌这些句子。(5) 文档旋转:随机均匀地选择一个标记,并旋转文档,使其以该标记开头。模型需要确定文档的实际起始位置。

待续>>

你可能感兴趣的:(预训练语言模型综述)