NLP范畴中的迁移学习现状

图灵汇官网

内容简介

本文探讨了迁移学习在自然语言处理(NLP)领域的应用和发展。迁移学习是指从源任务中提取知识,并将其应用于目标任务的过程。近年来,基于预训练的语言模型的迁移学习方法在NLP领域取得了显著进展,尤其是在解决各类任务时展现出卓越的能力。然而,迁移学习并非新事物,在命名实体识别(NER)等任务的历史发展中,它已经发挥了重要作用。

迁移学习概述

在过去的一段时间里,基于预训练语言模型的迁移学习在NLP中得到了广泛应用。这些模型在多种任务中取得了优异成绩。迁移学习可以分为三个主要维度:源任务与目标任务是否相同、源域和目标域的性质以及学习任务的顺序。序列迁移学习是其中最有效的形式之一,通过在大规模文本语料库上进行预训练,再通过标注数据进行微调,从而适应具体任务。

主要研究课题

单词表征

随着时间的发展,单词表征越来越依赖于上下文信息。早期的方法如word2vec仅对每个单词学习单独的表征,而现代方法则考虑上下文信息,使得每个单词可以根据不同上下文学习不同的表征。

语言模型预训练

许多成功的预训练方法都基于语言建模(LM)。语言建模的优点在于它不需要人工标注数据,并且可以从大量文本中学习到良好的模型。此外,LM是多功能的,可以用于学习句子和单词的表征。

模型复杂度

在过去几年中,NLP领域最先进的模型变得越来越复杂。两年前,大多数任务的最佳模型都是2-3层的深度BiLSTM,而在机器翻译领域,最优模型则是16层。如今,最先进的模型如BERT-Large和GPT-2则由24个Transformer模块构成,最新的模型甚至更深。

预训练与目标任务的关系

预训练与目标任务的选择密切相关。例如,句子级别的表达在单词级别预测中没有意义,而基于短语的预训练对于短语级别的预测至关重要。为了实现最佳的目标功能,选择相似的预训练任务是有利的。

预训练方法

语言模型的有效性

预训练语言模型的成功原因之一是语言建模任务的难度。模型需要学习语法、语义和某些常识,而大量的数据和计算能力可以使模型取得好的学习效果。此外,语言建模比翻译或自动编码等其他预训练任务更有效。

样本效率

预训练的一个重要优点是减少了对标注数据的需求。在实际应用中,与非预训练模型相比,迁移学习模型通常只需要很少的样本数量即可达到相似的效果。

扩大数据规模

预训练模型可以通过增加模型参数和预训练数据量来改进。尽管随着数据量的增长,回报率开始下降,但当前的功能曲线并不表示我们已经达到了极限。未来可能会在更多数据基础上训练更大的模型。

跨语言预训练

预训练可以帮助跨越不同语言间的鸿沟。通过训练不同语言的单词嵌入,可以学习如何使它们之间更好地匹配。此外,通过共享子词词汇表并训练多语言模型,可以更好地利用不同语言的数据。

表征中的信息

研究表明,表征可以用于预测某些语言现象,如翻译或句法层面的匹配。通过语法预训练,可以获得更好的效果,即使没有明确地编码语法,表征也可以学习到一些语法概念。

适应目标任务

为了使预训练模型适应目标任务,可以采取不同的方法,包括架构调整、优化策略以及获取更多学习信号。例如,可以保持预训练模型不变,仅在其上添加线性层,或者对模型进行调整以适应新的任务。

优化策略

在优化模型时,可以选择更新哪些权重,以及如何更新它们。例如,可以选择不更新预训练权重,仅作为特征提取,或者更新预训练权重进行微调。此外,还可以通过降低学习率、逐步更新等方式避免覆盖有用信息。

权衡与实践思考

一般来说,需要从头训练的参数越多,训练速度越慢。特征提取需要更多参数,因此训练速度较慢。但当模型需要适应多个任务时,特征提取更为节省空间。适配器方法可以通过为每个任务添加少量参数来达到平衡。

获取更多学习信号

目标任务通常缺乏资源。可以通过结合多种学习信号来提高迁移学习的效果。例如,可以在相关任务上进行更多微调,或者通过多任务微调来提高样本效率。

下游应用

预训练大型模型在计算和环境影响方面成本较高。建议使用开源模型,如果需要训练自己的模型,则应与社区分享预训练模型。

有待解决的问题及未来方向

预训练语言模型在某些方面仍存在不足,如细粒度语言任务、层次句法推理和常识理解。未来的研究可以探索新的预训练任务和方法,以克服这些限制。

通过以上改写,文章的核心内容得到了保留,同时语言风格和结构进行了调整,以符合改写要求。

本文来源: 图灵汇 文章作者: 丁若轩