NLP预训练发展小结一(Bert之前)
本篇博文简要记录在预训练模型Bert出现之前,NLP领域预训练模式的发展,主要围绕Word Embedding的提出与改进。
1. 预训练任务:语言模型
早期在NLP领域做预训练的主要任务为语言模型(这是一个自然语言处理的任务),语言模型即用于计算某句话的出现概率,也可以理解为输入一句话的前面几个单词,要求模型输出后面紧跟的单词应该是哪个。
2. NNLM
最早做语言模型任务的即神经网络语言模型(NNLM),源于Bengio在2003年发表的论文,但发表之后十余年并未引起同行们的足够重视;论文提出的NNLM模型除了能够完成语言模型的任务外,还在模型训练阶段产生了一个副产品————词向量。
3. Word2Vec
2013年Word Embedding工具Word2Vec(包括CBOW与Skip-gram两种方法)的提出,正式开启了学界对词向量的研究热潮;当然,此时的词向量是固定不变的,即一个词如“bank”只有一个一个词向量,尽管该词有多个含义,这种不随上下文变化的词向量正是早期词向量的缺陷之一。
4. ELMO
ELMO的出现主要是用于解决传统Word2Vec存在的一词多义问题,ELMO采用LSTM作为特诊提取器,运用双向方式做语言模型任务;可用于输入语句得到词向量。
5. GPT
GPT的与ELMO的差别主要在于其使用了Transformer架构作特征提取器,并使用单向方式做语言模型任务;并提出了Fine-tuning的使用方式,即不是简单将预训练模型用于获取词向量,而是将各类自然语言处理任务往GPT模型架构上靠拢。
作者: pythonfl
出处: http://www.cnblogs.com/pythonfl/
本文版权归作者和博客园共有,转载时请标明出处;如有疑问,欢迎联系fangleiecust@163.com;如发现文中内容侵犯到您的权利,请联系作者予以处理。