近年来,在深度学习和大数据的支撑下,自然语言处理技术迅猛发展。而预训练语言模型把自然语言处理带入了一个新的阶段,也得到了工业界的广泛关注。通过大数据预训练加小数据微调,自然语言处理任务的解决,无须再依赖大量的人工调参。借助预训练语言模型,自然语言处理模型进入了可以大规模复制的工业化时代。
预训练属于迁移学习的范畴。现有的神经网络在进行训练时,一般基于后向传播(Back Propagation,BP)算法,先对网络中的参数进行随机初始化,再利用随机梯度下降(Stochastic Gradient Descent,SGD)等优化算法不断优化模型参数。而预训练的思想是,模型参数不再是随机初始化的,而是通过一些任务进行预先训练,得到一套模型参数,然后用这套参数对模型进行初始化,再进行训练。
在图片分类任务中,常用的深度学习模型是卷积神经网络(Convolutional Neural Network,CNN)。对于由多个层级结构组成的CNN来说,不同层学到的图像特征是不一样的,越浅的层学到的特征越通用,越深的层学到的特征和具体任务的关联性越强。在大规模图片数据上预先获取“通用特征”,会对下游任务有非常大的帮助。
自然语言表示学习,就是将人类的语言表示成更易于计算机理解的方式。尤其是在深度神经网络技术兴起之后,如何在网络的输入层使用更好的自然语言表示,成了值得关注的问题。举例来说,每个人的名字就是我们作为自然人的一个“表示”,名字可以是若干个汉字,也可以是英文或法文单词。当然,也可以通过一些方法表示成由0和1组成的字符串,或者转换为一定长度的向量,让计算机更容易处理。
预训练语言模型在近两年得到了蓬勃发展,复旦大学的邱锡鹏教授在Pretrained models for natural language processing: A survey这篇综述论文中整理了一张预训练语言模型分类体系图。依据四种不同的分类标准,对主流预训练语言模型进行了分类整理。第一个标准是语言表示是否上下文相关。
正如前文提到的,早期的预训练语言模型(如word2vec、GloVe)都是上下文无关的,而ELMo之后的大多数预训练语言模型都是上下文相关的。