RNN、LSTM、Seq2Seq

时间序列表示

核心是加入历史信息去预测下一步骤

在NLP中,序列维度一般是这个样子:[b,seq_len,feature_len]
b个句子,每个句子seq_len个单词,每个单词feature_len个维度

NLP大部分是和时间相关的

步长,在计算机又叫记忆,比如预测一个点的值,是用多长的步长去预测它,要根据不同数据选择不同的步长

Embedding是词向量的分布式表示
在这里插入图片描述

梯度弥散和梯度爆炸

当解决短文本没有这个问题,解决长文本时,这个模型就有问题
在这里插入图片描述
在这里插入图片描述

RNN(循环神经网络)

在这里插入图片描述
xt@wxh是自身的影响,ht@wxh是历史信息的影响

在这里插入图片描述
在这里插入图片描述
只要Y4的输出信息,因为Y4记录了前面的历史信息,所以4个单词就变成只要1个单词

多层循环神经网络
在这里插入图片描述

堆叠RNN
在这里插入图片描述
信息越来越明确、清晰

双向RNN
在这里插入图片描述
反向进行也有可能让信息更加明确

LSTM

由RNN来的,在此基础上增加一些门控机制,门控用来选择存储哪些历史信息
在这里插入图片描述
在这里插入图片描述
ft决定遗忘哪些信息

在这里插入图片描述
it和Ct决定学习哪些新信息

在这里插入图片描述

Seq2Seq

编码解码模型
在这里插入图片描述

ELMo

用来预训练语言模型
相当于2个双向的LSTM
在这里插入图片描述

注意力机制:在Seq2Seq中注意到每个单词的重要程度

猜你喜欢

转载自blog.csdn.net/qq_40527560/article/details/131626765