预训练语言模型综述(一)—— 预训练语言模型及其历史

本系列文章是笔者以邱锡鹏老师《Pre-trained Models for Natural Language Processing: A Survey》为主要参考材料所做的关于“预训练语言模型综述”的记录,所涉及之素材也包括其他相关综述与未被纳入此综述的工作,分享出来与大家交流讨论。此篇为系列第一篇,记录预训练语言模型及其历史。

第二、三篇跳转可阅:

预训练语言模型综述(二)—— 预训练任务及训练策略
预训练语言模型综述(三)—— 预训练语言模型的实际使用

补充知识

  1. 一个好的语言模型应该可以从语料中:

    (1)捕获语言的特征(linguistic features),包括但不限于
    语义特征(semantic features):词与句子的语义
    句法1特征(syntactic features):即句子的结构组织以及句子中词语次之间的依赖关系。
    (2)反映语言现象:
    一词多义(polysemy), 指代(anaphora), 语用学(pragmatics,现多指言外之意)等。

  1. 词的表示方法(Word Representations/Word Embeddings)
    把文本向量化通常是自然语言处理的第一步。词的向量表示有最简单的One-hot Representation,以及用低维度稠密向量表示的Distributed Representation2

NLP方法/模型发展简史

1. 非神经网络方法

非神经网络方法通常依赖于离散的人工特征,应用起来也比较困难。

2. 早期神经网络模型

早期神经网络模型多使用RNN、CNN等神经网络,同时网络也较浅。主要原因是缺少针对各种NLP任务的大规模数据集,模型如果过深极易引起过拟合,在实际使用中难以确保泛化能力。

3. 第一代预训练语言模型

第一代预训练语言模型学习Non-contextual(static) word embeddings,即与上下文无关的、静态的词向量。第一代预训练语言模型的做法是把词汇表中的每一个词汇映射到一个lookup table中,训练过程就是得到这个lookup table的过程。得到这个lookup table后,把每个词的One-hot乘以lookup table就得到这个词的词向量了。

第一代预训练语言模型有两个明显的缺陷,一是无法处理一词多义等语言现象,因为它没有把词与词的上下文联系起来;二是OOV(Out of Vocabulary)问题,如果有些词没有在训练数据中出现过,那么通过lookup table中也无法得到它的词向量,为了解决OOV问题,我们可以把词进一步分割,变成字符等形式3,这样就可以一定程度上解决OOV问题了。

第一代预训练语言模型相对于第二代预训练语言模型还是比较浅的。两个经典结构是Continuous Bag-of-Words(CBOW)和Skip-Gram(SG),最典型的实现就是word2vec。还有一个经典结构是GloVe,也被广泛用于获取词向量。
推广开来,同时期还有不少工作研究句向量、段向量乃至篇章向量(如Skip-thought vectors,Paragraph vector,Context2Vec等)。将这些工作也归类为第一代预训练语言模型的原因是他们也是把输入映射为固定维度的向量表示。

4. 第二代预训练语言模型

第二代预训练语言模型学习contextual(dynamical) word embeddings,即与上下文相关的、动态的词向量。

第二代预训练语言模型的重要代表是ElMo(Embeddings from Language Models)、OpenAI GPT (Generative Pre-training) 和BERT(Bidirectional Encoder Representation from Transformer) 。

得益于更强的算力、深度模型的发展、NLP预训练任务的设计、大规模训练语料的利用、各种训练技巧的出现,第二代预训练语言模型蓬勃发展、越来越强大。

第一代与第二代预训练语言模型

5. 扩展的预训练语言模型

随着预训练语言模型的发展,研究人员已经不再满足于使用简单范式和简单语料训练预训练语言模型,由此催生了一系列扩展的预训练语言模型。其中包括:知识增强(Knowledge-Enriched)的预训练模型、多语言/跨语言(Multilingual)的预训练模型、针对特定语言(Language-Specific)的预训练模型、多模态(Multi-Modal,包括视频-文本、图像-文本、声音-文本等)的预训练模型、针对特定领域(Domain-Specific)的预训练模型、针对特定任务(Task-Specific)的预训练模型等。此外,还有一些预训练模型是在大型预训练模型上做出一些修改/压缩等操作所得的,包括修剪、量化、参数共享、蒸馏、模块替换等,这其中也涉及到如何应用预训练语言模型的问题,在讲到预训练模型的应用是还会进一步介绍。下图是邱老师综述中关于扩展的预训练模型及相关工作的归纳:

扩展的预训练语言模型

NLP深度神经网络的发展


当前,NLP任务通用的神经网络架构如图1所示(其实就是第二代预训练语言模型的架构)。
邱老师的文章把Neural Contextual Encoders分为了两类。
一类是Sequence Models,此类模型是按序列顺序来获取词的上下文(包括CNN模型和RNN模型(LSTM和GRU)),无法很好地处理长期依赖(Long-term dependency)。
另一类是Graph-based Models,此类模型按预定义的树形或图结构(如句法结构、语义联系)建立词与上下文的联系,但是如何建立好的此类结构是比较困难的。因此,全连接与自注意力在强大算力的加持下就提供了一个更为直接的方法:可以建立全连接图然后让模型学习两个词之间的联系。

Contextual Encoders NN Types References
Sequence Models CNN [1]Y. Kim, “Convolutional Neural Networks for Sentence Classification,” in Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), Doha, Qatar, Oct. 2014, pp. 1746–1751, doi: 10.3115/v1/D14-1181.
LSTM [1]A. M. Dai and Q. V. Le, “Semi-supervised Sequence Learning,” arXiv:1511.01432 [cs], Nov. 2015, Accessed: May 17, 2020. [Online]. Available: http://arxiv.org/abs/1511.01432.
[2]P. Liu, X. Qiu, and X. Huang, “Recurrent Neural Network for Text Classification with Multi-Task Learning,” p. 7.
GRU [1]R. Kadlec, M. Schmid, O. Bajgar, and J. Kleindienst, “Text Understanding with the Attention Sum Reader Network,” arXiv:1603.01547 [cs], Jun. 2016, Accessed: May 17, 2020. [Online]. Available: http://arxiv.org/abs/1603.01547.
[2]L. Li, M. Huang, Y. Liu, S. Qian, and X. He, “Contextual label sensitive gated network for biomedical event trigger extraction,” Journal of Biomedical Informatics, vol. 95, p. 103221, Jul. 2019, doi: 10.1016/j.jbi.2019.103221.
Graph-based Models Recursive NN [1]R. Socher et al., “Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank,” in Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, Seattle, Washington, USA, Oct. 2013, pp. 1631–1642, Accessed: May 17, 2020. [Online]. Available: https://www.aclweb.org/anthology/D13-1170.
TreeLSTM [1]K. S. Tai, R. Socher, and C. D. Manning, “Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks,” in Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), Beijing, China, Jul. 2015, pp. 1556–1566, doi: 10.3115/v1/P15-1150.
[2]X. Zhu, P. Sobhani, and H. Guo, “Long short-term memory over recursive structures,” in Proceedings of the 32nd International Conference on International Conference on Machine Learning - Volume 37, Lille, France, Jul. 2015, pp. 1604–1612, Accessed: May 16, 2020. [Online].
GCN [1]T. N. Kipf and M. Welling, “Semi-Supervised Classification with Graph Convolutional Networks,” arXiv:1609.02907 [cs, stat], Feb. 2017, Accessed: May 17, 2020. [Online]. Available: http://arxiv.org/abs/1609.02907.

[1] https://www.zhihu.com/question/31370551?sort=created
[2] Z. S. Harris, “Distributional Structure,” WORD, vol. 10, no. 2–3, pp. 146–162, Aug. 1954, doi: 10.1080/00437956.1954.11659520.


  1. 容易混淆的概念有语法与词法,词法是分析词与词的变形,即形态学(morphology);而语法是一个更完整的概念,包括音韵学(phonology)、形态学(morphology)与造句法(syntax)[1]。 ↩︎

  2. Distributed Representation与Distributional Representation容易混淆。通常认为,Distributed Representation是与Local Representation(One-hot Representation就属于Local Representation)相对的,用到低维稠密向量来表示词的语义,单独的维度是不表达什么含义的,只有整个向量表达出含义;而One-hot Representation则是高维稀疏向量来表示词的语义,只有一个维度表示含义。而Distributional Representation的理论基础则是Harris在1954年提出的分布假说(Distributional Hypothesis)[2],即上下文相似的词,其语义也相近。所以说凡是用到上下文的Representation都可以称为Distributional Representation,如传统的基于计数的词向量、Word2Vec以及contextualized word vector都属于Distributional Representation。 ↩︎

  3. 代表工作有CharCNN、FastText和Byte-Pair Encoding (BPE)等。 ↩︎

猜你喜欢

转载自blog.csdn.net/zbgjhy88/article/details/106131249