此文是本人对一篇文章(张俊林——知乎——从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史)的整理笔记。文章重要原因如下:
- 作者对Embedding研究很透彻。
- 文章对NLP预处理的历史脉络做了很好的梳理。
文章结论:BERT模型效果爆炸,但创新一般(真自信)。
下面按照历史沿革分为 个部分做记录:
一、预训练——从CV讲到NLP
二、WE考古史
三、从Word Embedding到ELMo
四、从Word Embedding到GPT
五、BERT诞生
一、预训练——从CV讲到NLP
底层神经元学到的是线段等特征,跟具体任务无关;
任何任务都喜欢用ImageNet作预训练:
通用性好——量大、类多、领域无关
那么NLP领域有预训练技术吗?
——早期的预训练技术:Word Embedding!
二、WE考古史
思维:语言模型 -- NNLM -- 副产品WE -- 两个方法 --下游任务使用 -- frozen和fine-turning -- 缺点
语言模型讲起,这张图在《数学之美》里见过。
NNLM(神经网络语言模型),它生于2003年,火于2013年:
图中,每一个单词乘以矩阵Q,得到各自的C(Wi),再去计算……
其实副产品Q就是WE的映射表!
2013年最火的语言模型WE工具:①Word2Vec 和 ②Glove
word2ve两种训练方法:
①CBOW(预测句子中被抠掉的词),记住CBOW。
②skip-gram(一个词预测上下文)
效果:研究者发现一个单词表达成为word Embedding后,很容易找到语义相近的其他词汇!
但,WE对下游任务的提升只有1~2个点,那么缺点在哪里?
多义词 bank
三、从Word Embedding到ELMo
动态模型 ELMO(Embedding from Language Models)
原文:Deep contextualized word representation
三层WE,越往上语义越丰富。
ps:如果此图看不懂,可从seq2seq开始了解,传送门《Seq2Seq 模型详解》
训练好后ELMo如何使用?
每个Embedding分配一个可学习权重,按权重累加预训练,称为“Feature-based Pre-Training”!
四、从Word Embedding到GPT
GPT Generative Pre-Training
也采用两阶段过程:语言模型训练+fine-turning解决下游任务
前者:特征提取器由RNN换成了Transformer,单向语言模型(吃亏)
后者:下游任务要向GPT网络看齐
注意力机制讲解
可视化介绍Transformer
哈佛NLP研究组的
五、BERT诞生
预训练阶段采用了类似ELMO的双向语言模型,语言模型规模更大
如果ELMO采取Transformer作为特征提取器,那么估计Bert的反响不会很火爆;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。