【深度学习】Attention的理解

个人理解Attention就是加权。样本生而不平等,所以催生出各种样本加权的方法,比如对完播率高的样本加权,对时长长的样本加权;样本内特征也是生而不平等的,也可以加权,比如用户最近点击文章关键词,最近点击比稍远一点时间点击的更为重要,可以加权,而在历史长期点击序列中,出现频率更高的可能权重应该更大。这就像NLP领域有词语级别的加权,也有句子级别的加权。我们把这种直观的感受转化为程序语言,这就是Attention机制。

几乎所有的attention方法都可以归纳为:给定很多组key和value,以及一个目标向量query,通过计算query与每一组key的相似性,得到每个key的权重系数,然后通过对value进行加权求和,得到最终的attention数值。图和公式如下:

AttentionValue = \sum Similarity(Query, Key_i) * Value

很多场景没有显式的Query,Key和Value,这个时候就需要根据实际情况进行构造了。比如在Self-Attention当中,Q、K、V都来自同一个输入。多个Self-Attention assemble到一起就变成了所谓的Multi-Head Attention。典型的Self-Attention的计算过程如下:

放大一下

 

 

 

其中d是Key的embedding长度。为什么要用 来归一化 ,论文的解释是当d变大时, 的方差也比较大,不同的Key与同一个Query算出的分数差异会比较大,这样在Softmaxt梯度回传时容易造成died gradient, 而归一化后的 方差可以有效缩小。关于Q和K相似度的计算方法,下面有一份总结:

https://nlp.seas.harvard.edu/2018/04/03/attention.html

https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html#summary

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值