Fork me on GitHub

AIQ - | NLP 领域的 ImageNet 时代:词嵌入已死,语言模型当立

选自the Gradient,作者:Sebastian Ruder,机器之心编译。

计算机视觉领域常使用在 ImageNet 上预训练的模型,它们可以进一步用于目标检测、语义分割等不同的 CV 任务。而在自然语言处理领域中,我们通常只会使用预训练词嵌入向量编码词汇间的关系,因此也就没有一个能用于整体模型的预训练方法。Sebastian Ruder 表示语言模型有作为整体预训练模型的潜质,它能由浅到深抽取语言的各种特征,并用于机器翻译、问答系统和自动摘要等广泛的 NLP 任务。Ruder 同样展示了用语言模型做预训练模型的效果,并表示 NLP 领域中的「ImageNet」终要到来。

自然语言处理(NLP)领域正在发生巨变。

长期以来,词向量一直是自然语言处理的核心表征技术。然而,其统治地位正在被一系列令人振奋的新挑战所动摇,如:ELMo、ULMFiT 及 OpenAI transformer。这些方法因证明预训练的语言模型可以在一大批 NLP 任务中达到当前最优水平而吸引了很多目光。这些方法预示着一个分水岭:它们在 NLP 中拥有的影响,可能和预训练的 ImageNet 模型在计算机视觉中的作用一样广泛。

由浅入深的预训练

预训练的词向量给 NLP 带来了很大的提高。2013 年提出的语言建模近似——word2vec 凭借其效率和易用性在硬件速度慢得多且深度学习模型没有得到广泛支持的时代得到采用。此后,进行 NLP 项目的标准方式基本保持不变:通过 word2vec 和 GloVe 等算法对大量未标记数据进行预处理的词嵌入被用于初始化神经网络的第一层,其它层随后在特定任务的数据上进行训练。在大多数训练数据有限的任务中,这种方法帮助提高了两到三个百分点。尽管这些预训练的词嵌入颇具影响力,但它们也有局限:它们仅包含模型第一层的先验知识——网络的其余部分还需要从头开始训练。

word2vec 捕捉到的关系。(来源:TensorFlow tutorial)

word2vec 及其它相关方法是为了实现效率而牺牲表达性的浅层方法。使用词嵌入就像利用仅编码图像边缘信息的预训练表征初始化计算机视觉模型:它们在许多任务中都能发挥作用,但是却无法捕捉到可能发挥更大作用的高层次信息。利用词向量初始化的模型需要从头开始学习,不仅是学习消除歧义,还要学习从词组成的句子中提取意义。这是语言理解的核心,需要建模语义组合、一词多义、首语重复、长期依赖、一致性、否定等许多复杂的语言现象。因此,用这些浅层表示初始化的 NLP 模型仍然需要大量的示例才能获得良好的性能也就不足为奇了。

ULMFiT、ELMo 和 OpenAI transformer 最新进展的核心是一个关键的范式转变:从仅仅初始化模型的第一层到用分层表示对整个模型进行预处理。如果学习词向量就像仅学习图像的边,那么这些方法就像学习特征的完整层次,从边到形状,再到高级语义概念。

有趣的是,预训练整个模型以获得初级和高级特征在计算机视觉社区中已经采用好几年了。大多数情况下,预训练模型都是在 ImageNet 大型数据集上学习分类图像而训练出来的。ULMFiT、ELMo 和 OpenAI transformer 已经为 NLP 社区带来了自然语言中的「ImageNet」,这种任务能允许模型学习语言的高级细微差别。这就类似于 ImageNet 允许预训练 CV 模型以学习普遍意义的图像特征。在本文后面的部分中,我们将语言建模与 ImageNet 计算机视觉建模做类比,并展示为什么这种方法看起来会如此有前景。

ImageNet

ImageNet 大规模视觉识别挑战赛。(来源:Xavier Giro-o-Nieto)

ImageNet 对机器学习研究具有重要影响。该数据集最初发布于 2009 年,并迅速演变为 ImageNet 大规模视觉识别挑战赛(ILSVRC)。2012 年,Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 提交的深度神经网络超过第二名 41 %,表明深度学习是一种可行的机器学习策略,该深度神经网络可以说是引发了机器学习研究中深度学习的爆发。

ImageNet 的成功凸显了在深度学习时代,数据至少和算法一样重要。ImageNet 数据集不仅使 2012 年非常重要的深度学习能力展示成为可能,而且在迁移学习中也取得了同样重要的突破:研究人员很快意识到,在 ImageNet 现有模型中学习的权重可用于完全初始化其它数据集的模型,并显著提高性能。这种「微调」方法允许在每个类别只有一个正面示例的情况下实现良好性能(Donahue et al., 2014)。

在 ILSVRC-2012 上训练的特征泛化到 SUN-397 数据集上。(来源:Donahue et al., 2014)

在目标识别、语义分割、人体姿态估计和视频识别等任务上,预处理的 ImageNet 模型已用来实现最优水平。与此同时,它们还使得 CV 得以应用于训练示例数量少、注释成本高的领域。在 CV 中,在 ImageNet 上通过预处理进行迁移学习实际上非常有效,以至于现在不使用它会被认为是蛮干(Mahajan et al., 2018)。

ImageNet 中有什么?

为了确定用于语言处理的 ImageNet 可能是什么样子,我们首先要确定什么使 ImageNet 有利于迁移学习。以往的研究只揭示了这个问题的一部分:减少每个类的示例数或类别数只会导致性能下降,而细粒度类和更多数据并非总意味着更好的结果。

与其直接查看数据,更谨慎的做法是探究在数据上训练的模型学到了什么。众所周知,在 ImageNet 上训练的深层神经网络的特征迁移顺序为从第一层到最后一层、从一般任务到特定任务:较低层学习建模低级特征,如边缘,而较高层学习建模高级概念,如图案和整个部分或对象,如下图所示。重要的是,关于物体边缘、结构和视觉组成的知识与许多 CV 任务相关,这就揭示了为什么这些层会被迁移。因此,类似 ImageNet 的数据集的一个关键属性是鼓励模型学习可以泛化到问题域中新任务的特征。

在 ImageNet 上训练的 GoogLeNet 中不同层特征捕获的信息可视化。(来源:Distill)

除此之外,很难对 ImageNet 上迁移做得如此出色的原因作出进一步的概括。例如,ImageNet 数据集的另一个优点可能是数据的质量。ImageNet 的创建者尽力确保注释的可靠性和一致性。然而,远程监管的工作是一个对比,这表明大量弱标记数据通常是足够的。事实上,Facebook 的研究人员最近显示,他们可以通过预测数十亿个社交媒体图像上的 hashtags 到 ImageNet 上最新的准确性来预先训练模型。

没有任何更具体的见解,但我们有两个关键的需求:

  1. 像 ImageNet 一样的数据集要足够大,即大约有数百万个训练示例。
  2. 它应该代表学科的问题空间。

用于语言任务的 ImageNet

相比于 CV,NLP 的模型通常浅得多。因此对特征的分析大部分聚焦于第一个嵌入层,很少有人研究迁移学习的高层性质。我们考虑规模足够大的数据集。在当前的 NLP 形势下,有以下几个常见任务,它们都有可能用于 NLP 的预训练模型。

阅读理解是回答关于一个段落自然语言问题的任务。该任务最流行的数据集是 Stanford Question Answering Dataset (SQuAD),其中包含了超过 10 万个问答对,并通过突出显示段落中的几个单词来让模型回答一个问题,如下图所示:


本文地址:https://www.6aiq.com/article/1531146324337
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出