注意力机制(attention)学习笔记

注意力机制可以大幅提高模型的准确性,如在RNN文本翻译中其会计算与所有状态的相关性,并得出权重,即他会考虑所有状态并给出最重要的关注,这也就是注意力命名的由来,与此同时,关注所有的状态也必定需要大量的计算。
seq2seq模型(其有两个RNN网络构成,分别为encode和decode),一种常用于实现文本翻译的模型,其结构如下
在这里插入图片描述
面对采用相同状态c导致的遗忘与无差别问题,我们提出了注意力机制。

在这里插入图片描述
如何计算这个权重呢,这是注意力机制刚刚提出时采用的方法。
在这里插入图片描述
目前较为流行的方式:
在这里插入图片描述
在这里插入图片描述
c0所得即为其加权平均
在加入注意力机制后如何更新状态。
在这里插入图片描述
注意力机制使其考虑先前的所有信息,从而解决了遗忘的问题,第一次的权重值是通过与s0计算相关性得到的,同样,后面s1也与前面的hi计算相关性,以此类推。
在这里插入图片描述
我们要想计算出ci,则需要计算m个权重值,对于一个由t个状态的解码信息,我们总共需要计算m*t此权重,这个时间复杂度即为m*t,这个计算量是很高的,attention考虑所有的情况,解决了遗忘的问题,但付出的代价也是昂贵的。
在这里插入图片描述
直观理解注意力机制,即decode每要生成一种状态,都要去关注encode中的所有状态,即每个状态间都有连接,而连线的粗细则反映两者的相关程度,如法语中的zone就是英语中的Area,通过这个权重他告诉decode更去关注encode中哪一个状态,这也是attention命名的由来。
在这里插入图片描述
在这里插入图片描述
关于注意力机制的总结:
对于seq2seq模型,encode只关注当前的状态,即s1只看s2,而注意力机制的加入让其考虑前面encode中所有的状态,这就解决了遗忘的问题,同时由于计算了相关权重,其能够让我们知道更去关注哪个状态。
缺点:
高时间复杂度,同时伴随着大量的计算。

Attention最开始时应用在了seq2seq模型中,但其并不局限于此,其可以用于任何RNN模型中。如LSTM
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这就是self-attention,这种不再局限于简单的seq2seq,而是可以应用到所有的RNN模型中去提升精确度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭祥.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值