当前位置:   article > 正文

NLP学习笔记:Attention_编码器和解码器中加入attention模块

编码器和解码器中加入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 神经图灵机(可微分的神经计算机):基于外部存储装置,利用神经网络复现计算机的内存操作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/667193
推荐阅读
相关标签
  

闽ICP备14008679号