新智元报道
来源:google
编辑:张佳
【新智元导读】近日,在美国明尼苏达州明尼阿波利斯的NAACL2019上,Sebastian Ruder, Matthew Peters, Swabha Swayamdipta和Thomas Wolf分享了一个长达238页PPT关于“NLP中的迁移学习”的教程,今天拿来和大家分享。
经典的监督机器学习范式是基于对使用单个数据集的任务的单个预测模型的孤立学习。这种方法需要大量的训练示例,并且对于定义明确、范围狭窄的任务效果最好。迁移学习指的是一组方法,这些方法通过利用来自其他域或任务的数据来训练具有更好泛化特性的模型来扩展此方法。
近两年来,自然语言处理(NLP)领域出现了几种转移学习方法和体系结构,这些方法和体系结构大大提高了NLP任务的先进性。
这些改进,加上这些方法的广泛可用性和易集成性,使人们想起了导致计算机视觉中预训练字嵌入和ImageNet预训练成功的因素,并表明这些方法很可能成为NLP中的一种常用工具以及一个重要的研究方向。
我们将概述NLP中的现代迁移学习方法,如何对模型进行预培训,它们所学习的表示捕获哪些信息,并回顾有关如何在下游NLP任务中集成和适应这些模型的示例和案例研究。
什么是迁移学习?
(a)传统机器学习的学习过程:
任务1:学习系统
任务2:学习系统
任务3:学习系统
(b)迁移学习的学习过程:
源任务:知识
目标任务:学习系统
为什么是NLP迁移学习?
- 许多NLP任务都有共同的语言知识(例如语言表示、结构相似性)
- 任务可以互相通知,例如语法和语义
- 注释数据很少,尽可能多地利用监督
- 从经验上讲,迁移学习已经在SOTA形成了许多被监督的NLP任务(例如分类、信息提取、问答等)
为什么是NLP迁移学习?(凭经验)
在命名实体识别(NER)CONLL-2003(英语)上随着时间推移的表现
NLP中迁移学习的类型
本教程到底讲什么?
本教程讲的是什么,不讲的是什么:
- 目标:提供NLP中迁移方法的广泛概述,重点介绍截至目前(2019年年中)最成功的经验方法。
- 提供实用的、实际操作的建议→在教程结束时,每个人都有能力将最新进展应用到文本分类任务中。
- 不讲的是什么:全面的(不可能在一个教程中涵盖所有相关的论文!)
- (Bender Rule: 本教程主要是针对用英语完成的工作,其他语言的可扩展性取决于监督是否可用。)
框架:
1、介绍
2、预训练
3、代表中有什么?
4、适应
5、下游
6、开放问题
顺序迁移学习
了解一个任务/数据集,然后迁移到另一个任务/数据集
预训练:
word2vec
GloVe
skip-thought
InferSent
ELMo
ULMFiT
GPT
BERT
适应:
分类
序列标记
问答
预培训任务和数据集
未标记数据和自我监督:
- 易于收集的大型语料库:维基百科、新闻、网络爬虫、社交媒体等。
- 训练利用了分布假设:“你应该知道它所保存的一个词”(Firth,1957),通常形式化为训练某种语言模型的变体。
- 注重高效算法利用丰富的数据
监督预培训:
- 在视觉上非常常见,由于缺乏大的监控数据集,在NLP中较少见。
- 机器翻译
- 句子表达的NLI
- 从一个问答数据集到另一个问答数据集的任务特定传输
目标任务和数据集
目标任务通常是受监控的,跨越一系列常见的NLP任务:
- 句子或文档分类(如情感)
- 句子对分类(如NLI、释义)
- 字级(例如序列标记、提取性问答)
- 结构化预测(如解析)
- 生成(例如对话、总结)
具体示例——词向量
单词嵌入方法(例如word2vec)每个单词学习一个向量
主题:从单词到语境中的单词
主题:从单词到语境中的单词
词向量 句子/doc向量 语境中词向量
主题:LM预训练
- 许多成功的预培训方法都是基于语言建模的
- 非正式地,LM学习p(文本)或p(文本/其他文本)
- 不需要人工注释
- 许多语言有足够的文本来学习大容量模型
- 多才多艺,能学习句子和词的表达,具有多种客观功能
主题:由浅入深
1层 24层
主题:预培训与目标任务
预培训和目标任务的选择是耦合的
- 句子/文档表示法对单词级预测无效
- 词向量可以跨上下文汇集,但通常比其他方法更好。
- 在语境词向量中,双向语境很重要
一般来说:
- 类似的预培训和目标任务→最佳结果
PPT地址:
https://techxplore.com/news/2019-05-framework-deep-neural-networks.html
GitHub:
https://github.com/huggingface/naacl_transfer_learning_tutorial