admin 管理员组文章数量: 887007
对RNN及其变种的梳理
目录
1.RNN
1.1 输入为N,输出为N
1.2输入为1,输出为N
1.3 输入为N,输出为1
1.4 输入为M,输出为N
1.5 双向RNN(BiRNN)
2.LSTM
2.1 LSTM
2.2 Bi-LSTM
2.3.Multi-Layers-LSTM
2.4.Grid LSTM
2.5.Graph LSTM
2.6.Stacked LSTM
3.GRU
3.1 GRU
3.2 Bi-GRU
4.QRNN(Quasi-Recurrent Neural Networks)
5.SRU
6.Seq2Seq(将1.4的Seq2Seq单拎出来)
参考文章:
1.RNN
1.1 输入为N,输出为N
1.2输入为1,输出为N
1.3 输入为N,输出为1
1.4 输入为M,输出为N
即Seq2Seq模型(也叫Encoder-Decoder),这部分放在最后重点讲一下
1.5 双向RNN(BiRNN)
()
2.LSTM
2.1 LSTM
1997年首次提出
2.2 Bi-LSTM
图片暂无,可以理解为Bi-RNN改为双向共4个隐藏向量
2.3.Multi-Layers-LSTM
2.4.Grid LSTM
2.5.Graph LSTM
2.6.Stacked LSTM
Stacked Long Short-Term Memory Networks (machinelearningmastery)
3.GRU
3.1 GRU
2014年首次提出,效果和LSTM很像但简便
3.2 Bi-GRU
4.QRNN(Quasi-Recurrent Neural Networks)
5.SRU
速度as far as CNN
论文在这里,大佬的回答在这里
6.Seq2Seq(将1.4的Seq2Seq单拎出来)
共有这三种结构
6.1 编码器Encoder
三种结构的编码器是一样的
6.2 解码器Decoder
第一种:c作为初始隐藏向量,无输入,有输出
第二种:额外提供隐藏向量,c作为输入,有输出
第三种:额外提供隐藏向量,c和前一步的输出作为输入,有输出
6.3 Attention
Seq2Seq的Encoder总是将源句子的所有信息编码到一个固定长度的上下文向量 c 中,然后在 Decoder 解码的过程中向量 c 都是不变的,这会有很多的麻烦。所以引入注意力机制Attention。
注意力机制,是一种将模型的注意力放在当前翻译单词上的一种机制,比如翻译,会和人一样将注意力放在正在处理的单词。使用了 Attention 后,Decoder 的输入就不是固定的上下文向量 c 了,而是会根据当前翻译的信息,计算当前的 c。如c1,c2,c3....
Attention 需要保留 Encoder 每一个神经元的隐藏层向量 h,然后 Decoder 的第 t 个神经元要根据上一个神经元的隐藏层向量 h't-1 计算出当前状态与 Encoder 每一个神经元的相关性 et。et 是一个 N 维的向量 (Encoder 神经元个数为 N),若 et 的第 i 维越大,则说明当前节点与 Encoder 第 i 个神经元的相关性越大。
接着et归一化后,再
得到c1,c2,c3........
参考文章:
RNN, LSTM, GRU, SRU, Multi-Dimensional LSTM, Grid LSTM, Graph LSTM系列解读_爆米花好美啊的博客-CSDN博客_graph lstm
Seq2Seq 模型详解 - 简书 (jianshu)
大概是全了
本文标签: 对RNN及其变种的梳理
版权声明:本文标题:对RNN及其变种的梳理 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732360607h1535106.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论