【科研】自然语言处理,编码器和预训练模型学习

本文是一个学习笔记

2018年及之前NLP领域常采用的预训练模型典型做法

Word Embedding到Bert

在这里插入图片描述
假设如上图所示,我们有个NLP的下游任务,比如QA,就是问答问题,所谓问答问题,指的是给定一个问题X,给定另外一个句子Y,要判断句子Y是否是问题X的正确答案。问答问题假设设计的网络结构如上图所示,这里不展开讲了,懂得自然懂,不懂的也没关系,因为这点对于本文主旨来说不关键,关键是网络如何使用训练好的Word Embedding的。它的使用方法其实和前面讲的NNLM是一样的,句子中每个单词以Onehot形式作为输入,然后乘以学好的Word Embedding矩阵Q,就直接取出单词对应的Word Embedding了。这乍看上去好像是个查表操作,不像是预训练的做法是吧?其实不然,那个Word Embedding矩阵Q其实就是网络Onehot层到embedding层映射的网络参数矩阵。所以你看到了,使用Word Embedding等价于什么?等价于把Onehot层到embedding层的网络用预训练好的参数矩阵Q初始化了。这跟前面讲的图像领域的低层预训练过程其实是一样的,区别无非Word Embedding只能初始化第一层网络参数,再高层的参数就无能为力了。
下游NLP任务在使用Word Embedding的时候也类似图像有两种做法:一种是Frozen,就是Word Embedding那层网络参数固定不动;另外一种是Fine-Tuning,就是Word Embedding这层参数使用新的训练集合训练也需要跟着训练过程更新掉。

模型说明
传统Frozen利用方法,不能解决多义词现象
ELMO,2018双向语言模型,LSTM作为提取特征(编码器encoder),利用上下文动态调整预训练模型的参数,解决了多义词问题
GPT,2018双阶段,单向语言模型,transformer作为特征提取器(编码器encoder)
Bert,2018双阶段,双向语言模型,transformer作为特征提取器(编码器encoder)

在这里插入图片描述
当下及未来的发展总结:

  • 双阶段:第一阶段利用语言模型预训练,第二阶段针对下游任务进行精调或frozen直接使用 网络模型和参数。
  • 特征提取能力:CNN<RNN(LSTM)<transformer

自动编码器:encoder和decoder

在这里插入图片描述
AE,表示文本中的自动编码器(文本嵌入);GAE,表示图领域的自动编码器(图嵌入)。

简单的说,就是将高维稀疏高燥的输入向量,转变为,低维稠密高质量的向量,该过程称为编码encoder;衡量这个转变过程的效果通过将低维向量再解码成高维向量,看转变的效果,该过程为解码decoder。

关于编码器和transformer,看这篇文章;图解Transformer(完整版)https://blog.csdn.net/longxinchen_ml/article/details/86533005

2018年之后NLP领域常采用的预训练模型典型做法

基本都是基于transfomer的

参考资料


版权声明:本文为weixin_39798910原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。