Attention的基本原理

Attention的适用场景

给定一个 query,计算query 与 key 的相关性,然后根据query 与 key 的相关性去找到最合适的 value。举个例子:在电影推荐中。query 是某个人对电影的喜好信息(比如兴趣点、年龄、性别等)、key 是电影的类型(喜剧、年代等)、value 就是待推荐的电影。

Attention原理

在这个例子中,我们首先将只要将query和key放到同一个特征空间,然后计划query和key的相关性,那么根据相关性矩阵就能找到针对每个query的最应该推荐的电影了。具体操作如下:

首先我们要将query和key进行特征变换,使得两者的维度一致,即在同一特征空间中:
Q = q u e r y × W , Q ∈ R n × d Q=query \times W, Q \in R^{n \times d} Q=query×W,QRn×d

K = k e y × W , K ∈ R z × d K=key \times W, K \in R^{z \times d} K=key×W,KRz×d

其中,n代表人数,z代表总的电影数量

然后计算相关性矩阵:

R e = S o f t m a x ( Q × K T ) , R e ∈ R n × z Re= Softmax \left(Q \times K^T \right), Re \in R^{n \times z} Re=Softmax(Q×KT),ReRn×z

有时候为了平衡大数据量下的梯度消失,会有略微改进[1]:

R e = S o f t m a x ( Q × K T z ) , R e ∈ R n × z Re= Softmax \left(\frac{Q \times K^T}{\sqrt{z}} \right), Re \in R^{n \times z} Re=Softmax(z Q×KT),ReRn×z

这样Re每一行的最大值所在列数就是最应该推荐的电影了。

总结

简单来说,Attention的目的就是要得到所有query和所有key的相关性矩阵,过程的关键是把两者映射到同一个空间,因此映射矩阵 W W W的选取就十分重要了,在深度学习中,这个 W W W是通过参数更新来实现的。

文献参考

[1]Vaswani, A., Shazeer, N.M., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A.N., Kaiser, L., & Polosukhin, I. (2017). Attention is All you Need. Neural Information Processing Systems.

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值