attention注意力机制笔记

 

目录(配合文章底部的视频一起食用效果更佳,本篇笔记就是按照视频目录来的,有些潦草,望勿怪罪~)

1. attention背景:为了解决遗忘和对齐问题

2. 权重系数求法 

3. score函数

4. 模型结构分析

5. 模型公式的推导(上)

6. 模型公式的推导(下)

7.对齐机制

8. 自注意力介绍

9.自注意力的理解


1. attention:为了解决遗忘对齐问题

2. 权重系数求法 

  1. 如何找到一个向量q_t与h_1,h_2,h_3,h_4作比较? 【两种方式:一种是将h_t-1当成C,一种是将h_t当成C】
  2. 如何使用公式计算评分?


3. score函数

第一种计算相似度---内积

 

问题是编码和解码的维数不一致,无法做内积

中间可以加一个转换矩阵W,使得前后两个矩阵可以相乘,这就是第二种计算相似度的方式---乘法

第三种计算相似度的方式---训练神经网络

将x和y向量做拼接,全连接到中间层

总结(有时候会看到下面这3种说法,其实对应上面的3种情况)

attention score的计算主要有以下几种:
  1.最常见的:点积(basic dot-product attention)
  2.乘法: multiplicative attention
  3.加法: additive attention

复旦大学有个教授说乘法方式效果好,因为X和Y相关联了,W就反映了这种关联,而加法方式X和Y没有关联(看不懂就看着图中的神经网络仔细思考一下,X中的元素和Y中的元素没有发生关系)


4. 模型结构分析

下面的架构是soft-attention

用了双向结构(用双向的原因是某个单词和前后单词都有关联)

前向h和后向h拼接成h向量

三个成分参与运算:上一个时刻的输出(I)+ 上一个时刻的隐藏状态(S_t-1) + 输入句子的语义向量(注意力机制部分)(假如翻译成I am chinese,翻译到am时)


5. 模型公式的推导(上)

权重的求法推导


6. 模型公式的推导(下)

g(y_t-1, s_t, c_t)中,实际参与运算的是s_t, c_t和e(y_t-1),e(y_t-1)是y_t-1的embedding

maxout是激活函数,就是max运算,它实现了降维,2:1的降维

然后h_t经过W_0矩阵升维到O_t,O_t的维度和字典的大小一致,O_t是得分,再通过softmax归一化形成概率

和seq2seq的区别就是输入句子的语义向量发生了变化,其他都一样


7.对齐机制

目标句子中的每个单词和原句子中的所有单词存在着有某种关联(这种 假设/猜想 是合理的)

 

用热力图可视化后发现大致集中在对角线附近,(语言翻译有很大程度的对齐特性),因而attention具有有很好的的解释性

attention有两个优点:1)可以做到对齐 2)解决了长输入遗忘问题


8. 自注意力介绍

如果target=source,也就是对一个句子用attention先编码,再解码

这个过程其实干了这么一件事,探索句子中的每个单词和句子中的所有单词的关系,简言之,发现句子内部的关系,因而输出的到的单词向量是全局的特征表达,这就是self-attention


9.自注意力的理解

评分函数有两种方式

  • 之前的做法:score(s_t-1, h_i)
  • 现在:score(u, h_i)  在这里u作为句子的表示来和每个单词的隐向量比较,u是参数,通过模型学习得到

对文档处理的时候,自注意力的做法还可以学习到整个文档的表示


 

参考视频:【深度学习】Attention机制/注意力模型/attention_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

这个视频讲的很好,很细很透彻,建议多看两遍,我的感觉是第一遍理解不到位,第二遍就好多了

还有别人做的attention笔记 Attention | 读书吧 (statist.cn)

这是这个老师的课 seq2seq 与attention机制 - 网易云课堂 (163.com) 

这个老师的深度学习数学推导课,微信扫下面二维码获取

放上一些相关链接做补充

attention及变种:自然语言处理中的Attention机制总结_CODE and POEM-CSDN博客_attention

Attention机制详解(一)——Seq2Seq中的Attention - 知乎 (zhihu.com)

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值