Self Attention

1. self attention

在这里插入图片描述
通过输入a1 a2 a3 a4到self attention中,会计算互相之间的相似度。
b1为a1考虑了a2,a3,a4所有的信息之后的输出的a1…

1.1 怎么产生b1?

在这里插入图片描述

根据a1找出与a1相关的所有其他向量,用阿尔法表示相关度。
计算相关度的方法:

  • Dot-product(主要)
  • Additive
    在这里插入图片描述
    有两个权重矩阵Wq,Wk分别用于生成q(qury),k(key)。
    qi = Wq·ai
    ki=Wk·ai
    αi,j=qi · kj
    在这里插入图片描述
    计算出相关性后,做softmax(),也可以用其他激活函数:relu()…
    在这里插入图片描述
    获得a’1,1,a’1,2,a’1,3,a’1,4后我们就知道哪些向量和a1最相关。
    vi=Wv · ai
    把vi和上一步得到的α’i,j相乘
    在这里插入图片描述

1.2 矩阵操作

Q=Wq · I
K=Wk · I
V=Wv · I

在这里插入图片描述
黄色的k表示k的转置transpose
综合一下得到:
α1=K· q1
α2=K· q2
α3=K· q3
α4=K· q4
在这里插入图片描述
再组合一下:
α=KT · Q (T为转置)
在这里插入图片描述
在这里插入图片描述
self attention的输出为O
O=V · A'
在这里插入图片描述

1.3 结论

在这里插入图片描述
只有三个矩阵参数需要学习

2.Multi-head Self-attention

在实际中,求相关性方法有许多种。
在这里插入图片描述
多个head之间独立运算,最后把两个head的输出接起来
在这里插入图片描述
在这里插入图片描述

3.Positional Encoding

在self attention中没有位置信息:
a之间没有位置信息,不知到a出现的顺序
可以为a添加一个人工的位置信息:ei
在这里插入图片描述
e的可视化:
每一列表示一个e
在这里插入图片描述

4.Self-attention for Image

在这里插入图片描述
在这里插入图片描述

4.1 Self-attention V.S. CNN

在这里插入图片描述

CNN: 只是考虑感受野内的像素相关性
Self attention:考虑整个图片像素的相关性
CNN是Self attention的一部分,只要Self Attention设定合适,可以完全取代CNN
在这里插入图片描述
CNN和self attention的对比实验发现:
数据量少时:CNN效果好
数据量大时:Self-attention 效果更好
在这里插入图片描述

4.2 Self-attention V.S. RNN

在这里插入图片描述

5.Self -attention for Graph

在这里插入图片描述

6.Self attention变体

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值