NLP迁移学习——迁移学习的概念与方法( 三 )


? 然后最大池化每个特征图,拼接在一起,生成了一个12维的向量 。(论文是2048维)
? 之后又加了两层 , 是为了解决神经网络训练时的衰退问题提出来的 。借鉴了LSTM的思想,类似cell,可以让输入直接传到下一层,有两个门 gate(T) 和carry gate(1-T) 。H和T都是非线性变换 。
? 经过两层的非线性变换之后,维度还是2048维,论文中使用了线性映射对其降维,最终每个单词的维度是 512维 。
经过这一步的处理,每一个单词都会生成一个上下文无关(-)的词向量,并且由于卷积核有类似于n-gram的作用,不同的单词也会产生关系,比如“work”和“works”有相同的部分,char-CNN可以捕捉 。
ii)使用双向语言模型生成上下文相关(-)的词向量
? 输入是上一步生成的句子各个单词的-词向量
? 双层的Bi-LSTM,每一层都是双向的LSTM,每一层都会生成词向量 。黑绿黄代表三层的词向量 。
? ELMo还用到了残差连接,和 一样是为了解决神经网络训练深度不能太深的问题 。
经过学习之后,就得到了各层次的word 表示,底层的word 会学到语法信息,上层的word 会学习到语义信息 。
现在ELMo已经学到了单词在各层的表示,一般情况下会根据具体的任务学习一个线性组合,把各层的word 组合使用 。最简单的使用方法可以只用最上面的一层 。一个L层的ELMo其实有2L+1个表示,其中包含输入层(也就是char-CNN的输出向量),2L个前后向LSTM表示,即:
对于某一个具体任务,对这些计算一个线性加权和
ELMo模型优缺点
优点:
缺点:
速度较慢,对每个token编码都要通过LM计算得出 。
2)基于微调的迁移学习(ULM-Fit、 GPT、BERT)
基于微调的迁移学习方法主要借鉴于CV,就是在预训练好的模型上加些针对任务的层,再对后几层进行精调 。ULM-Fit、 GPT和BERT都属于基于微调的迁移学习方法 。下面将分别作出详细介绍:
ULM-Fit模型
是一种有效的NLP迁移学习方法,核心思想是通过精调预训练的语言模型完成其他NLP任务 。论文 中所用的语言模型参考了 et al.2017的AWD-LSTM模型,即没有或的三层LSTM模型 。的过程分为三步:
Step 1:- LM pre-train
i)在-103上进行语言模型的预训练;
ii)预训练的语料要求:large &of ;
iii)预训练对小数据集十分有效,之后仅有少量样本就可以使模型泛化 。
Step 2: task LM fine-
Step 3: taskfine-
ULM-Fit模型优缺点
优点:
对比其他迁移学习方法(ELMo)更适合以下任务:
? 非英语语言,标签训练数据很少
? 只有部分有标签数据的任务
? 没有state-of-the-art模型的新NLP任务
缺点:
对于分类和序列标注任务比较容易迁移,对于复杂任务(问答等)需要新的精调方法 。
GPT模型
GPT是一类可迁移到多种NLP任务的,基于的语言模型 。它的基本思想同相同,都是尽量再不改变模型结构的情况下将预训练的语言模型应用到各种任务 。不同的是, 主张用结构,而中使用的是基于RNN的语言模型 。
GPT模型的训练过程分为两步:
GPT模型优缺点
优点:
? 循环神经网络所捕捉到的信息较少,而可以捕捉到更长范围的信息 。
? 计算速度比循环神经网络更快,易于并行化 。
? 的效果比ELMo和LSTM网络更好
缺点:
对于某些类型的任务需要对输入数据的结构作调整 。
BERT模型
BERT的全称是from ,即双向的,因为是不能获取要预测的信息的 。模型的主要创新点都在pre-train方法上,即用了 LM(MLM)和Next两种方法分别捕捉词语和句子级别的表示 。