Seq2Seq Attention模型

首先强调一下图文来源,真正的完全图解Seq2Seq Attention模型。本人目前用到此模型,发现该知乎作者的文章写得通俗易懂,于是整理作为自己的笔记。如果小伙伴对模型中各种隐层状态感到不解,请看我之前的一篇博文,RNN、LSTM神经网络输入输出究竟是怎样的?

Start

seq2seq 是一个Encoder–Decoder 结构的网络,它的输入是一个序列,输出也是一个序列, Encoder 中将一个可变长度的信号序列变为固定长度的向量表达,Decoder 将这个固定长度的向量变成可变长度的目标的信号序列。–简书

大框架如下:
在这里插入图片描述

详细图解及公式
(1)
在这里插入图片描述
注意:此处encoder中的LSTM默认只有一层隐藏层。
在这里插入图片描述
红框中的就是output,即每个时刻最后一层隐藏层的状态,可以理解为融合了上下文信息的word embedding。黄框中的是最后一个时刻的全部(当前为一层)隐藏层的状态,可以传入到其他LSTM中。不理解的去看here里的最后一张图。

(2)
在这里插入图片描述
NB:decoder最开始的输入为句首的标志、原始context vector(为0)、以及从encoder最后一个hidden state: h8。
在这里插入图片描述
得到当前时刻的hidden state,然后开始attention了。
(3)
在这里插入图片描述
当前时刻Decoder的hidden state与Encoder的output作为输入,放入Attention模块开始计算一个context vector。
在这里插入图片描述
(4)
在这里插入图片描述
接下来将context vector 与decoder 的最后一个隐藏层的状态串起来作为下一时刻的输入。在这里插入图片描述

(5)最后经过一系列非线性转换以及softmax计算得到概率分布。

----- end --------

其实经过一番图解后发现并不难,之前一直不理解是没有搞懂output与hidden state 的区别,区分开后,理解起来还是很容易的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值