当前位置:   article > 正文

[pytorch笔记] Seq2Seq,Attention,预训练语言模型_seq2seq和预训练模型对比

seq2seq和预训练模型对比

Seq2Seq

seq2seq属于encoder-decoder结构的一种,常见的encoder-decoder结构,基本思想就是利用两个RNN,一个RNN作为encoder,另一个RNN作为decoder。encoder负责将输入序列压缩成指定长度的向量,这个向量就可以看成是这个序列的语义,这个过程称为编码,而decoder则负责根据语义向量生成指定的序列,这个过程也称为解码
在这里插入图片描述

Attention

为了解决这一由长序列到定长向量转化而造成的信息损失的瓶颈,Attention注意力机制被引入了。Attention机制跟人类翻译文章时候的思路有些类似,即将注意力关注于我们翻译部分对应的上下文。同样的,Attention模型中,当我们翻译当前词语时,我们会寻找源语句中相对应的几个词语,并结合之前的已经翻译的部分作出相应的翻译。核心逻辑就是从关注全部到关注重点
attention
关键的操作是计算encoder与decoder state之间的关联性的权重,得到Attention分布,从而对于当前输出位置得到比较重要的输入位置的权重,在预测输出时相应的会占较大的比重。

预训练语言模型

ELMo
在EMLo中,他们使用的是一个双向的LSTM语言模型,由一个前向和一个后向语言模型构成,目标函数就是取这两个方向语言模型的最大似然。
ELMoBERT
BERT是使用Transformer的编码器来作为语言模型,在语言模型预训练的时候,提出了两个新的目标任务(即遮挡语言模型MLM和预测下一个句子的任务)。BERT使用的是Transformer编码器,由于self-attention机制,所以模型上下层直接全部互相连接的。而ELMo使用的是双向LSTM,虽然是双向的,但是也只是在两个单向的LSTM的最高层进行简单的拼接。
BERT Token Embeddings是词向量,第一个单词是CLS标志,可以用于之后的分类任务。
Segment Embeddings用来区别两种句子,因为预训练不光做LM还要做以两个句子为输入的分类任务。
Position Embeddings是位置编码。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/965949
推荐阅读
相关标签
  

闽ICP备14008679号