NLP学习笔记:Attention

1 什么是Attention?

        简单地说就是只关注必要的信息,并根据该信息进行时序转换。具体实现:在seq2seq的编码器中将每个时刻的隐藏状态ht汇总为hs传入解码器,然后在解码器中添加Attention层,该层负责把编码器中传进来的对应时刻的ht选出来标记为上下文向量c;然后将LSTM 层的输出的h和 c拼接起来传入下一层。

        Attention层主要实现的内容:选出对应时刻的隐藏状态 ht 。为了可反向传递梯度,将选择这一操作转换为:c=hs*a;

        a为hs中各个向量对应的权重矩阵;a=softmax(h*hs);h为解码器中LSTM层的输出,h*hs为内积计算hs中个行向量与h的相似度。

        具体结构如下图:

   

2 Attention:关注必要的信息,找到两个时序数据之间的对应关系;比如在翻译应用中:找出翻译目标词对应的翻译源词信息。

3 repeat节点的反向传播是sum;sum节点的反向传播是repeat、

4 双向RNN:两个LSTM层按相反方向传递隐藏状态,最后将各个时刻两层LSTM的隐藏状态向量拼接(求和、取平均也可以)起来,作为最终隐藏状态向量。双向RNN,从左右两个方向聚集信息,这样一来向量的编码有了更均衡的信息。

5 残差连接:skip connection;跨层连接,应对网络深度方向梯度消失或梯度爆炸。跨层连接时,在连接处两个输出被相加,加法的反向传播,梯度被原样传播,不会出现梯度消失或爆炸。

6 时间方向应对梯度消失和爆炸:LSTM、GRU、梯度裁剪。
   
7 Attention的应用:Neural Machine Translation 神经机器翻译,GNMT谷歌神经机器翻译;Transformer(用Attention代替RNN);神经图灵机NTM(DNC可微分的神经计算机)。

8 Transformer:使用了self-Attention技巧,self-Attention的两个输入为同一时序数据,可以求得数据内部各元素间的对应关系;Transformer可进行并行计算,使得学习时间大幅减少。

9 神经图灵机(可微分的神经计算机):基于外部存储装置,利用神经网络复现计算机的内存操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冲冲冲@chong

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

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

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

打赏作者

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

抵扣说明:

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

余额充值