本文共 1616 字,大约阅读时间需要 5 分钟。
最近,在美国明尼苏达州明尼阿波利斯的 NAACL 2019 上,Sebastian Ruder、Matthew Peters、Swabha Swayamdipta 和 Thomas Wolf 共享了一个 238 页关于“NLP 中的迁移学习”的教程。本文将简要介绍迁移学习的概念及其在现代 NLP 中的应用。
迁移学习是一种机器学习方法,通过利用源任务的知识训练目标任务的模型,从而提高模型的泛化能力。传统的监督学习方法通常局限于单一任务的孤立学习,而迁移学习则能够跨越多个任务和领域。近年来,迁移学习在 NLP 中得到了广泛应用,显著提升了多个任务的性能。
语言知识的共享性
许多 NLP 任务共享相同的语言表示和结构。例如,语法和语义是相互关联的,且语言本质上具有高度的结构化特性。任务间的关联性
许多任务可以相互关联。例如,句法(Syntax)和语义(Semantics)之间存在密切关系,而句法的改进又能促进语义模型的优化。少量注释数据的挑战
在许多 NLP 任务中,数据成本较高,注释数据便于获取的任务较少。迁移学习能够最大限度地利用现有 Annotation minimal supervision.迁移学习的成功应用
迁移学习已成为许多 NLP任务的标准方法,例如句子分类(如情感分析)、信息抽取、问答系统的迁移等。迁移学习可以大致分为以下几种类型:
任务特定的迁移
例如,从语法任务迁移到语义任务,或从一个问答数据集迁移到另一个问答数据集。语言的迁移
例如,从一种语言(如英语)迁移到另一种语言(如中文),或者从标准文本迁移到非标准文本。层次的迁移
例如,从小模型迁移到大模型,或从单词级任务迁移到句子级任务。预训练通常需要大量的自然语言数据,且预训练任务可以分为两类:
未标记数据与自我监督学习
利用大规模的非标记数据(如维基百科、新闻、社交媒体等)进行预训练。这些数据通常通过分布假设来训练语言模型。监督预训练
例如,机器翻译任务、句子对的分类(如语义语义对对比 NLI)、句子表达分析等。这些任务可以通过监督学习方法获得高质量的预训练模型。迁移后的目标任务通常是受监督的 NLP 任务,常见的包括:
句子分类
例如情感分析和领域分类。句子对分类
例如语义匹配和语义对比。结构化预测
例如句法分析和语义解析。生成任务
例如对话生成和文本摘要。问答任务
例如多轮对话和开放-domain阅读理解。预训练和目标任务的选择往往是密切相关的。例如,预训练任务的表示方法需要与目标任务的需求相匹配。例如,词嵌入方法通常更适合词级预测任务,而句子或文档表示方法则不适合单词级任务。
一般来说,预训练任务与目标任务的相似性通常能带来更好的结果。
在迁移学习中,单词嵌入方法(如 word2vec、GloVe、skip-thought、InferSent、ELMo 等)是预训练的重要任务。这些方法通过学习单词向量来捕获语义信息,并能够在目标任务中进行有效的迁移。
许多成功的预训练方法都是基于语言模型(LM)的。语言模型通过预训练学习如何预测下一个文本片段的概率。这种方法可以在不需要注释的情况下,高效地利用大规模文本数据。同时,LM预训练的结果往往能够捕捉到语言的多种功能,包括表达、语义、上下文理解等。
迁移学习已经成为现代 NLP 研究和应用的重要方法之一。通过预训练和目标任务的耦合,NLP 模型能够跨越任务和领域,取得更好的泛化性能。未来,随着预训练模型的不断成熟和任务创新的增加,迁移学习在 NLP 中的应用将更加广泛和深入。
如果对本次分享感兴趣,可以在"数智物语"公号后台回复"迁移学习"关键词,了解更多相关内容。
转载地址:http://osqpz.baihongyu.com/