NLP:预训练+转移学习

# pre-
目前神经网络在进行训练的时候基本都是基于后向传播(BP)算法,通过对网络模型参数进行随机初始化,然后通过BP算法利用例如SGD这样的优化算法去优化模型参数 。那么预训练的思想就是,该模型的参数不再是随机初始化,而是先有一个任务进行训练得到一套模型参数,然后用这套参数对模型进行初始化,再进行训练 。可以看成是第一层word 进行了预训练,此外在基于神经网络的迁移学习中也大量用到了这个思想 [来源]
#
迁移学习( ) 是把已训练好的模型(预训练模型)参数迁移到新的模型来帮助新模型训练 。考虑到大部分数据或任务都是存在相关性的,所以通过迁移学习我们可以将已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给新模型从而加快并优化模型的学习效率不用像大多数网络那样从零学习[来源]
#
以情感分析(属于监督学习)为例,探究一直以来是如何解决该NLP任务的?
Model
1??the model
(这些参数都是从头开始学习,模型需要从少量的标注数据集中学习语言的运作方式
2??allbyusing crossloss fromset
Why trainfrom(从头开始)?
How can welots ofdata?
Model
we canthe
(word ) usingthat takesofdata (self-) 衍生出的技术如 、Glove
1??ofwith awordspace, we start from aspace in which word embs.someprop.
2?? train all otherfrom (

预训练语言模型的开山之作,由的两位作者 M. Dai和Quoc V. Le于2015年发表的《Semi-》 。
本文主要使用无标签的数据(即普通的文本)和RNN进行了两种尝试,实际上是通过两种不同训练目标来预训练了LSTM 。第一种是训练模型去预测一句句子里下一个词是什么,这是一种典型的语言模型训练方法;第二种是训练模型成为一个自编码器(),用于将句子映射成向量后重建原来的句子 。
这两种无监督训练得到的参数可以作为接下来有监督学习的模型的起始点,他们发现这样做了以后,可以使后续模型更稳定,泛化得更好,并且经过更少的训练,就能在很多分类任务上得到很不错的结果 。
本文的核心倒不是模型架构本身,而是一种预训练的思路 。该思路就是,利用无标签数据先训练模型(非监督学习un-),由此得到的参数,作为下一阶段模型训练的初始化参数(监督学习) 。因此,本文取名半监督学习(semi-)[来源]
《forto》(2017)
这篇文章是在2017年ICLR会议上由 Brain团队、Peter J. Liu、Quoc V. Le共同发表的,与上面介绍的 2015年发表的 Semi-可谓一脉相承 。本文描述了一种通用的非监督预训练方法,提升了模型的准确性 。作者用两个语言模型的预训练权重分别初始化了模型的 与,然后再用监督数据对模型进行,这种做法在机器翻译和概要提取任务上大大超过了以前的纯监督模型,证明了预训练的过程直接提高了模型的泛化能力,再次提出了预训练的重要性和通用性 。这篇文章最大的贡献是证明了在大量无监督数据上预训练语言模型,并在少量有监督数据上这个思路对模型同样具有效性 [来源]
存在的问题:
1?? word embs. are , only oneper word typeof .
2?? the rest of the model (in our case, the RNN) isforfromgiven justdata
what if we use theof a NLMofword ?
Model
每个时刻 t 的隐藏状态里编码了当前与之前词汇的信息,离得越近的词汇在向量里占的比重更大,这些向量比起之前的 word embs更蕴含了上下文信息
将NLM中学习到的作为初始词向量应用到情感分析,即
为了更好的学习上下文,通常是 Left-to-Right 和 Right-to-Left 双向编码