Attention 2015-今

现在attention的热度已经过去了,基本上所有的attention都是transformer的kqv形式的,甚至只要说道attention,默认就是transformer的attention。
为避免遗忘历史,我这里做一个小总结。繁杂的att我就不去了解了,只了解下经典的。

以下以hi代表想要att聚合的各个向量,以s0表示当前向量。

鼻祖Bahdanau Attention

2015,Bengio组。文章https://arxiv.org/pdf/1409.0473.pdf

att的获得

αi=func(hi,s0).
alpha是att权重(加权平均的weight系数)。

att的使用

即加权平均:

hbefore

hafter=iNαihi

其中Nh的(可能包括自己的)邻域。

func的形式

也就是att系数的获得方式。

形式1

α=vTtanh(Wihi+Us0)

其中VW都是可学习参数.
可参考实现:https://github.com/mhauskn/pytorch_attention/blob/main/model.py

形式2

α=Vtanh(W(hi||s0))

然后对各个α softamx即可。

出自视频:https://www.bilibili.com/video/BV1YA411G7Ep
可参考实现:https://github.com/lukysummer/Bahdanau-Attention-in-Pytorch/blob/master/Attention.py

形式3

k=WKhi
q=WQs0
α=kTq
然后softmax。
其中WK, WQ是学习参数。

注:此Transformer模式本质上与此方式一致。
不同的是,Transformer直接把his0直接变成了一个训练参数V,组成了K,Q,V三者。

参考

参考视频:https://www.bilibili.com/video/BV1YA411G7Ep

posted @   ZephyrYin  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示