首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ULMFiT面向文本分类的通用语言模型微调

面向文本分类的通用语言模型微调

Universal Language Model Fine-tuning for Text Classification

原文:https://arxiv.org/abs/1801.06146

作者:Jeremy Howard & Sebastian Ruder

翻译:Tony

阅读时长:约8.5K字,预计20分钟

摘要

归纳迁移学习(Inductive Transfer Learning)对计算机视觉(Compute Vision,CV)产生了巨大影响,但对自然语言处理(Natural Language Processing,NLP)一直没有突破性进展,现有的NLP方法,仍然需要根据特定任务进行修改,并且从零开始训练。我们提出了通用语言模型微调(Universal Language Model Fine-tuning for Text Classification,ULMFiT),这是一种有效的迁移学习方法,可以适用于任何NLP任务,另外,我们引入了语言模型微调的关键技术。我们的方法在6个文本分类任务上显著优于现有的最先进方法,在大部分数据集上将错误率降低了18-24%。此外,ULMFiT仅用100个标记样本训练出来的性能,可以媲美从零开始训练(Training From Scratch)使用100倍以上数据训练出来的性能。我们开源了预训练模型和源代码。

1 引言

归纳迁移学习对CV产生了巨大影响。实用的CV模型(包括目标检测、分类、分割)很少从零开始训练,相反,它们是基于预训练模型微调而来,而这些预训练模型则是基于ImageNet、MS-COCO、或其他数据集训练出来的(Sharif Razavian等人,2014;Long等人,2015a;He等人,2016;Huang等人,2017)。

文本分类是NLP任务的一类,实际应用有:垃圾邮件、欺诈、机器人检测(Jindal和Liu,2007;Ngai等人,2011;Chu等人,2012),应急响应(Caragea等人,2011),以及商业文档分类,例如法律查询(Roitblat等人,2010)。

虽然深度学习模型已经在许多NLP任务中达到了最先进水平,但是这些模型是从零开始训练,需要大数据集,且需要花费很长时间才能收敛。NLP研究工作主要集中在直推迁移学习(Transductive Transfer Learning)(Blitzer等人,2007)。对于归纳迁移学习,有一个简单迁移技术,它仅针对模型的第一层,叫预训练词嵌入微调(Mikolov等人,2013),在实践中产生了很大影响,大多数最先进的模型中都有用到它。那些连接其它任务嵌入和不同层输入的最新方法(Peters等人,2017;McCann等人,2017;Peters等人,2018),仍然从零开始训练主要任务模型,并且把词嵌入当做固定参数,限制了其用处。

考虑到预训练带来的好处 (Erhan等人, 2010),我们应该能够比随机初始化模型剩余参数方法做得更好。然而,归纳迁移学习微调在NLP领域尚未成功 (Mou等人, 2016)。Dai和Le(2015)首先提出了语言模型微调,但是需要上百万个领域内文档才能得到好的性能,这严重限制了其实用性。

我们发现,阻碍LM被更广泛采用的原因,不是LM微调想法,而是我们缺少如何有效地训练它们的知识。语言模型在小数据集上出现过拟合,并且当微调一个分类器时,会遭受严重的遗忘。跟CV相比,NLP模型通常比较浅,因此需要不同的微调方法。

我们提出一种新方法,即ULMFiT,它解决这些问题,并且使任何NLP任务都能进行鲁棒地归纳迁移学习,类似于微调ImageNet模型:一个拥有相同超参的3层LSTM架构,除了修改dropout超参,没有其它修改,这在6个广泛研究的文本分类任务上,优于高度工程化的模型和迁移学习方法。在IMDB数据集上,如果使用100个标记样本,ULMFiT取得的性能,可以媲美,使用10倍以上数据,从零开始训练取得的性能,如果使用50k个未标记数据,则是100倍以上数据。

我们的贡献如下:

1)提出了ULMFiT,类似CV迁移学习,该模型适用于任何NLP任务;

2)提出了有区分微调、斜三角学习率和逐渐解冻的新颖技术,以保留先前的知识,避免微调过程中的灾难性遗忘;

3)在6个具有代表性的文本分类数据集上,我们的表现明显优于最新水平,在大多数数据集上将错误减少了18-24%;

4)我们的方法非常有效地进行样本迁移学习,且进行了广泛的对照分析(ablation analysis);

5)开源了预训练模型和源代码,以便被更广泛采用。

2 相关工作

CV迁移学习可观察到,CV深度神经网络的特征跟层数有关系,第一层是一般特征,随着层数增加,其特征跟特定任务越来越相关,直到最后一层(Yosinski等人,2014)。因此,大部分CV工作聚焦在迁移模型第一层(Long等人,2015b)。Sharif Razavian等人(2014)通过使用ImageNet模型特征作为简单分类器的输入,取得了最先进的结果。近年来,这种方法已经被预训练模型微调替代,预训练模型微调要么微调最后一层 (Donahue等人, 2014) ,要么微调最后几层,同时冻结其他层(Long等人,2015a)。

超列(Hypercolumns)在NLP中,直到最近才有一些超越迁移词嵌入的方法才被提出来。目前盛行的方法是预训练嵌入,它通过其他任务来捕获额外上下文,然后,将不同级别的嵌入用作特征,跟词嵌入或中间层的输入连接在一起。这种方法在CV中被称为超列(Hariharan等人,2015),被Peters等人(2017)、Peters等人 (2018)、 Wieting和Gimpel (2017)、Conneau等人(2017)、以及McCann等人(2017)使用,他们分别使用语言模型,意译,蕴含,机器翻译来预训练模型。具体来说,Peters等人(2018)需要工程化的定制架构,我们在一些列任务上,使用相同的基本架构,取得了最优性能。在CV中,超列几乎已经被端到端微调所取代(Long等人,2015a)。

多任务学习(Multi-Task Learning,MTL)一个相关方向是多任务学习(Caruana,1993)。这种方法是由Rei(2017)和Liu等人(2018)提出来的,他们在模型中增加了一个语言模型目标,这些模型和主任务模型一起训练。MTL要求每次从零开始训练这些任务,这使得效率很低,并且通常需要仔细权衡特定任务目标函数。

微调(Fine-tuning)微调已经成功用在相似任务迁移中,例如,QA(Min等人,2017)、远程监督情感分析(Severyn和Moschitti,2015)、MT域(sennrich等人,2015)等,但已证明,不相关任务间迁移是失败的。Dai和Li(2015)也对语言模型进行了微调,但在10k个标记样本上过拟合,需要数以百万计的领域内文档才能取得好的性能。相比之下,ULMFiT利用通用领域预训练和新颖的微调技术来防止过拟合,仅需要100个标记样本,在小数据集上也能够获得最先进的性能。

3 通用语言模型微调

我们对NLP中最通用的归纳迁移学习设置很感兴趣(Pan和Yang,2010):给定一个静态源任务Ts和任意目标任务Tt,且Ts=Tt,我们想要提高Tt的性能。语言模型可以被视作理想的NLP源任务,与ImageNet相对应:它能够为下游任务捕获语言相关的很多部分,例如长期依赖(Linzen等人,2016)、层次关系(Gulordava等人,2018)、情感(Radford等人,2017)。与MT(McCann等人,2017)和蕴含(Conneau等人,2017)等任务相比,它为大多数领域和语言提供了近乎无限数量的数据。此外,预训练语言模型可以很容易地适应目标任务的特性,而且,我们的实验证明,这显著提高了性能(见第5节)。此外,语言建模已经是现有任务(如机器翻译和对话建模)的关键组成部分。从形式上讲,语言建模引入了一个假设空间H,它对许多其他NLP任务都有用(Vapnik和Kotz,1982;Baxter,2000)。

我们提出了通用语言模型微调ULMFiT,它在大型通用领域语料库上预训练语言模型,并使用新技术对目标任务进行微调。该方法在实践标准意义上是通用的:

1)它在不同的文档大小、数量和标记类型的任务上工作;

2)它采用一个单一架构和训练流程;

3)它不需要自定义特征工程或预处理;

4)不需要额外的领域文档或标记。

在我们的实验中,我们使用了最先进的语言模型AWD-LSTM(Merity等人,2017a),这是一个常规的LSTM(不需要attention, short-cut connections,或其他复杂的additions)和各种调谐的dropout超参。与CV类似,我们期望在未来使用更高性能的语言模型可以提高下游任务的性能。

ULMFiT由以下步骤组成,如图1所示:

a)通用领域LM预训练;

b)目标任务LM微调;

c)目标任务分类器微调。

我们将在下面的章节中讨论这些步骤。

3.1 通用领域语言模型训练

类似ImageNet语料库,语言语料库应该很大,能够捕获语言的通用属性。我们在Wikitext-103(Merity等人,2017b)上预训练语言模型,Wikitext-103由28595篇经过预处理的维基百科文章和1.03亿个单词组成。预训练对小数据集任务最有利,即使只有100个标记样本也能实现泛化。我们将更多样化的预训练语料库的探索工作留给未来,希望他们能提高性能。虽然现阶段是最昂贵的,但它只是需要执行一次,可以提高下游模型的性能和收敛性。

3.2 目标任务语言模型微调

无论用于预训练的通用领域数据是如何多样化,目标任务的数据都可能来自不同的分布,因此,我们需要根据目标任务的数据对LM进行微调。给定一个经过预训练的通用领域LM,该阶段的收敛速度更快,因为它只需要适应目标数据的特性,即使在一个小数据集上,我们也能训练一个健壮的LM。为了微调LM,我们提出了区分微调(discriminative fine-tuning)和斜三角学习率(slanted triangular learning rates),我们将在下面介绍。

区分微调由于不同层捕获不同类型信息(Yosinski等,2014),因此,应该对不同层进行不同程度的微调。为此,我们提出了一种新的微调方法,即区分微调。

不同于对模型的所有层使用相同的学习速率,区分微调允许我们用不同的学习速率来调整每个层。对于上下文,时间步骤t时,模型参数θ的常规随机梯度下降(SGD)更新方式如下(Ruder,2016):

θt = θt−1 − η · ∇θ*J(θ) 式(1)

式中,η为学习率,∇θ*J(θ) 为模型目标函数的梯度。对于区分微调,我们将参数θ分为,其中,θl为第l层模型的参数,L是模型的总层数。同样地,我们得到,其中,ηl为第l层的学习速率。

区分微调的SGD更新如下:

θl,t=θl,t−1−ηl·∇θl*J(θ)式(2)

我们发现,首先仅对最后一层用学习率ηL进行微调,继而用学习率ηl−1=ηl/2.6对较低层进行微调,工作性能良好。

斜三角学习率为了使模型的参数适应特定任务的特征,我们希望模型在训练开始时快速收敛到参数空间的适当区域,然后对其参数进行优化。在整个训练过程中使用相同的学习率或衰减学习率并不是实现这种行为的最佳方法,相反,我们提出了斜三角学习率,它首先线性增加学习率,然后根据下面的更新计划线性衰减,如图2所示:

其中,T是训练迭代次数,cut_frac是我们增加LR的迭代比例,cut是我们从增加LR到减少LR的切换迭代,p是我们已增加LR或将要减少LR的迭代比例,ratio指出基于最大LR ηmax的最小LR有多小,ηt是第t次迭代的LR。我们通常设置cut_frac = 0.1, ratio = 32, ηmax = 0.01。

STLR修改了三角学习率,它使用一个短增加和长衰减周期,这是我们发现能提高性能的关键。在第5节中,我们将与余弦退火(aggressive cosine annealing)比较,它是一个类似的方法,在CV中取得了最优性能(Loshchilov和Hutter,2017年)。

3.3 目标任务分类器微调

最后,为了微调分类器,我们用两个额外的线性块来扩充预训练语言模型。根据CV分类器的标准实践,每个块使用批归一化法(batch normalization)(Ioffe和Szegedy,2015)和丢弃法(dropout),中间层使用ReLU激活函数,最后一层使用softmax激活函数,在目标类上输出概率分布。要注意,这些特定任务分类器层中的参数是唯一需要从零开始学习的参数。第一个线性层将最后一个隐藏层池化状态作为输入。

连接池化(Concat pooling) 文本分类任务中的信号通常包含在少数几个单词中,这些词可能出现在文档的任何位置。由于输入文档可能包含数百个单词,如果只考虑模型的最后一个隐藏状态,信息可能会丢失。出于这个原因,我们将文档最后一个时间步骤hT处的隐藏状态与GPU内存中所能容纳的尽可能多的时间步骤中的隐藏状态H = 的最大池表示和平均池表示相连接:

hc = [hT , maxpool(H), meanpool(H)] 式(4),其中[]是连接。

目标分类器微调是传递学习方法中最关键的部分,过度激进的微调将导致灾难性的遗忘,从而消除通过语言建模获取的信息的好处,过于谨慎的微调将导致缓慢的收敛,并导致过度拟合。除了区分微调和斜三角学习率外,我们还提出了逐渐解冻的分类器微调方法。

逐渐解冻(Gradual unfreezing)不要一次性对所有层进行微调,因为这可能会导致灾难性遗忘,我们建议从最后一层开始逐步解冻模型,因为它包含的通用知识最少(Yosinski等人,2014):我们先解冻最后一层,在一个epoch内微调所有已解冻层,然后解冻下一个较低的冻结层,在一个epoch内微调所有已解冻层,一直重复,直到微调所有层,直到最后一次迭代收敛为止。这类似于"链解冻"(Felbo等人,2017),只是我们在"解冻"层集合中一次添加一个层,而不是一次只训练一个层。

虽然区分微调、斜三角学习率和逐步解冻各自有益,但是我们将在第5节中指出,通过组合这些方法,我们的方法能够在不同的数据集中很好地执行。

时序反向传播(BPTT for Text Classification,BPT3C)语言模型通过时序反向传播进行训练,以实现大输入序列的梯度传播。为了实现对大型文档的分类器进行微调,我们提出了文本分类的BPTT(BPT3C):我们把文档分成固定长度为b的批次。在每一批的开始,用前一批的最终状态初始化模型;我们跟踪平均池和最大池的隐藏状态;梯度被反向传播到隐藏状态有助于最终预测的批次。在实践中,我们使用可变长度的反向传播序列(Merity等人,2017a)。

双向语言模型(Bidirectional language model)与现有工作类似(Peters等人,2017、2018),我们不局限于单向语言模型微调。在我们的所有实验中,我们都预先设定了一个前向和反向的LM。我们使用BPT3C独立地为每个LM微调分类器,并对分类器预测进行平均。

4 实验

虽然我们的方法同样适用于序列标记任务,但我们在这项工作中主要关注文本分类任务,因为其有重要的实际应用。

4.1实验装置

数据集和任务我们在六个广泛研究的数据集上评估我们的方法,这些数据集具有不同的文档数量和不同的文档长度,这些数据集被最先进的文本分类和迁移学习方法(Johnson和Zhang,2017;McCann等人,2017)作为三个常见文本分类任务的实例:情感分析、问题分类和主题分类。我们在表1中显示了每个数据集和任务的统计信息。

情感分析对于情感分析,我们基于二元电影评论IMDB数据集(Maas等人,2011)和二元及五类版本Yelp点评数据集(Zhang等人,2015)评估我们的方法。

问题分类我们使用六类版本的小型TREC数据集(Voorhees和Tice,1999),该数据集包含了开放领域且基于事实的问题,划分成广义语义范畴。

主题分类对于主题分类,我们对大型AG新闻和DBpedia数据集进行了评估(Zhang等人, 2015)。

预处理我们使用与早期工作相同的预处理(Johnson和Zhang,2017;McCann等人,2017)。此外,为了让语言模型捕获可能与分类相关的方面,我们为大写单词、延伸和重复添加了特殊的标记。

超参数我们对一个模型感兴趣,该模型能够在不同的任务集上可靠地执行。为此,如果没有另外提到,我们在任务之间使用相同的超参数集,我们在IMDB验证集上调优该超参数集。我们使用AWD-LSTM语言模型(Merity等人,2017a),嵌入大小为400,3层,每层1150个隐藏激活,BPTT批量大小为70。我们将0.4的丢弃率应用于层,0.3的丢弃率应用于RNN层,0.4的丢弃率应用于输入嵌入层,0.05的丢弃率应用于嵌入层,0.5的权重丢弃率应用于隐藏矩阵的RNN。分类器有一个大小为50的隐藏层。我们使用带有β1=0.7和β2=0.99的Adam,而不是默认的β1=0.9,类似于(Dozat和Manning,2017)。我们使用64的批量大小、0.004和0.01的基本学习率分别对LM和分类器进行微调,并对每个任务的验证集上的epoch数进行微调。否则,我们采用与(Merity等人,2017a)相同的做法。

基线和比较模型对于IMDB和TREC-6数据集,我们将其与COVE进行比较(McCann等人,2017),后者是NLP最先进的迁移学习方法。对AG、Yelp和DBpedia数据集,我们将其与Johnson和Zhang(2017)最先进的文本分类方法进行比较。

4.2 结果

为了一致性,我们将所有结果报告为错误率(越低越好)。我们在IMDB和TREC-6数据集的得出测试错误率,见表2,该测试集被McCann等人(2017)使用过。我们的方法优于CoVe(一种基于超列的最先进的迁移学习方法),在两个数据集上都是最优的。

在IMDB上,我们将CoVe和最新技术的误差分别显著降低了43.9%和22%。这是有希望的,因为现有的最先进技术需要复杂的体系结构(Peters等人,2018)、多种形式的关注(McCann等人,2017)和复杂的嵌入方案(Johnson和Zhang,2016),而我们的方法则采用常规的dropout的LSTM。我们注意到,Dai和Le(2015)的语言模型微调方法在IMDB上的只取得7.64错误率,而我们取得了4.6的错误率,这说明了使用我们的微调技术在类似ImageNet大型语料库上迁移知识的好处。IMDB尤其反映了真实世界的数据集:其文档通常有几段长,类似于电子邮件(例如用于法律查询)、在线评论(例如用于社区管理);情感分析类似于许多商业应用程序,例如产品响应跟踪和支持电子邮件路由。

在TREC-6上,由于500个样本测试集的规模较小,我们的改进与最先进方法的改进类似,在统计上并不显著。然而,TREC-6的竞争表现表明,我们的模型在不同大小的数据集上表现良好,可以处理从TREC-6中的单句到IMDB中的几个段落的样本。尽管我们训练的数据比麦卡恩等人(2017)使用的7百万数据少两个数量级,我们的方法在两个数据集上都优于他们的方法。

我们在表3中显示了较大的AG、DBpedia、Yelp-Bi和Yelp完整数据集的测试错误率。我们的方法再次显著优于最先进技术。在AG上,我们观察到与最先进技术相比,同样显著的错误减少了23.7%。在DBpedia、Yelp-bi和Yelp-full上,我们分别将错误降低了4.8%、18.2%和2.0%。

5 分析

为了评估每个贡献的影响,我们进行了一系列的分析和对照实验。我们在三个语料库IMDB、TREC-6和AG上进行实验,这些语料库代表不同的任务、类型和大小。对于所有的实验,我们分离出10%的训练集作为验证集,并用单向LM报告这个验证集的错误率。我们对分类器进行了50个epoch微调,并对除ULMFiT之外的所有方法进行了早期停止训练。

低射学习(Low-shot learning)迁移学习的一个主要好处是,能够在少量标记数据上训练一个任务模型。我们在两个设置中对不同数量的标记样本进行ULMFiT评估:只有标记样本用于LM微调("监督");所有任务数据都可用,可以用于LM微调("半监督")。我们将ULMFiT与从零开始训练的方法进行比较,这些对于基于超列的方法是有必要的。我们分离出训练数据的平衡部分,保持验证集不变,并使用与以前相同的超参数。我们将结果显示在图3中。在IMDB和AG上,仅有100个标记样本的ULMFiT得到的性能,可以媲美,分别10倍和20倍以上的数据从零开始训练的性能,这清楚地展示了通用领域LM预训练的好处。如果我们允许ULMFiT也使用未标记的样本(IMDB为50k,AG为100k),在100个标记的样本中,我们的方法取得的性能,可以媲美,在AG和IMDB上的50倍和100倍以上数据从零开始训练的性能。在TREC-6上,ULMFiT从零开始训练后显著提高;由于样本越来越短,受监督和半受监督的ULMFiT获得了类似的结果。

预训练影响基于WikiText-103数据集(Merity等人,2017b),我们比较了在有无预训练情况下ULMFiT的错误率,见表4。预训练对于中小型数据集最有用,而中小型数据集在商业应用中最常见,即使对于大型数据集,预训练也会提高性能。

LM质量影响为了衡量选择合适的LM的重要性,我们将具有相同超参数的Vanilla LM与基于dropout的AWD-LSTM LM进行了比较,见表5。使用我们的微调技术,即使是常规的LM,在较大的数据集上也能达到令人惊讶的良好性能。在较小的TREC-6上,一个没有dropout的Vanilla LM会有过拟合的风险,这会降低性能。

LM微调的影响我们比较了无微调方法、全模型微调方法(Erhan等人,2010)(Full)、全模型微调且区分微调(Discr)方法,全模型微调且区分微调和斜三角学习率(Stlr)方法,见表6。微调LM对较大的数据集最有利。Discr和Stlr提高了所有三个数据集的性能,并且对于较小的TREC-6是必需的,因为常规的微调并不有益。

分类器微调影响我们比较了从零开始训练方法、全模型微调(Full)方法、仅微调最后一层(Last)(Donahue等人,2014)、"链解冻"(Felbo等人,2017)、以及逐渐解冻方法。此外,我们还进一步评估了区分微调(Discr)和斜三角学习率(Stlr)的重要性。我们将后者与另一种积极的余弦衰减计划(Cos)进行了比较(Loshchilov和Hutter,2017)。我们使用学习率ηL=0.01表示Discr,最后一层和所有其他层的学习率分别为0.001和0.0001表示"链解冻"(Felbo等人,2017),否则学习率为0.001。我们将结果显示在表7中。对分类器进行微调可以显著改善从头开始的训练,特别是在小型TREC-6上。最后一种是CV中的标准微调方法,严重欠拟合,无法将训练误差降低到0。"链解冻"在较小的数据集上实现了竞争性能,但在大型AG上表现显著。Freez提供与Full类似的性能。Discr持续提升Full和Freez的性能,但大型AG除外。余弦衰减在大数据上与斜三角学习率竞争,但在小数据集上表现不佳。最后,全ULMFiT分类器微调在IMDB和TREC-6上达到了最佳性能,在AG上达到了竞争性能。重要的是,ULMFiT是唯一一种全面表现出卓越性能的方法,因此是唯一通用的方法。

分类器微调行为虽然我们的结果表明,我们如何微调分类器会产生显著的差异,但目前在NLP中,对归纳迁移的微调仍在探索中,因为人们认为这主要是无益的(Mou等人,2016)。为了更好地理解我们模型的微调行为,我们比较了ULMFiT分类器微调和训练期间的Full的验证错误率,如图4所示。在所有数据集上,对完整模型进行微调会在训练早期导致最低的错误,例如,在IMDB上的第一个时代之后。然后,随着模型开始过度拟合,错误会增加,并且通过预训练获取的知识会丢失。相比之下,ULMFiT更为稳定,并且不存在这样的灾难性遗忘;直到晚期,性能仍然保持相似或改善,这表明学习率计划的积极作用。

双向性影响以训练第二个模型为代价,将前向和后向LM分类器的预测结合起来,可以提高大约0.5-0.7的性能。在IMDB上,我们将测试误差从单个模型的5.30降低到双向模型的4.58。

6 讨论和未来方向

虽然我们已经证明,ULMFiT可以在广泛使用的文本分类任务上实现最先进的性能,但我们相信,与现有的迁移学习方法相比,语言模型微调在以下设置中尤其有用(Conneau等人,2017;McCann等人,2017;Peters等人,2018):

a)非英语语言的NLP,受监督的预训练任务的训练数据不足;

b)不存在最先进架构的新NLP任务;

c)标记数据量有限的任务(以及一些未标记数据量)。

鉴于NLP迁移学习和微调尚在探索之中,许多未来的方向是可能的。一个可能的方向是改进语言模型的预训练和微调,使其更具可扩展性:对于ImageNet,预测较少的类只会导致较小的性能下降(Huh等人,2016),而最近的研究表明,源和目标任务标记集之间的一致性很重要(Mahajan等人,2018),重点是预测词的子集,例如最频繁的词,这可能会在加快训练速度的同时,保留大部分性能。语言建模还可以以多任务学习的方式(Caruana,1993)增加额外的任务,或增加额外的监督,例如语法敏感依赖(Linzen等人,2016),以创建一个更通用或更适合某些下游任务的模型,理想情况下以弱监督的方式保持其通用属性。

另一个方向是将该方法应用于新的任务和模型。虽然序列标记的扩展是向前推进的,但其他具有更复杂交互作用的任务,例如蕴含或者问答,可能需要新颖的方法来进行预处理和微调。最后,虽然我们已经提供了一系列的分析和衰减,但是需要更多的研究来更好地理解预训练语言模型捕获的知识、在微调过程中这是如何变化的,以及不同任务需要什么信息。

7 结论

我们提出了一种有效且样本有效的迁移学习方法ULMFiT,可以应用于任何NLP任务。我们还提出了几种新颖的微调技术,这些技术结合在一起可以防止灾难性的遗忘,并能够在不同的任务范围内进行强健地学习。我们的方法在六个具有代表性的文本分类任务上显著优于现有的迁移学习技术。我们希望我们的研究成果能促进NLP迁移学习取得新进展。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190120A0YSYF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券