self-attention

Self attention

基本流程:self-attention的输入是众多的vector,输出也是众多的vector,新的vector是考虑过全部的信息的数据,然后再通过FC。

image-20230823215803996

举例:如何产生b1

1、计算a1和其他的所有向量的关联程度

image-20230823220001087

(1)提供一种思路:假设a1与a1计算关联度,a1(100×100)与a2(100×100),a1通过一个权重参数W_q矩阵(100×1),a2通过一个权重参数W_k矩阵(100×1),就可以的新的vector,q=(100×1),k=(100×1);再通过一个转置和dot就一个得到一个数字

image-20230823220735775

(2)记得自己也要进行一个关联度计算

image-20230823221027440

2、将所有计算得到的关联度进行一个softmax(relu,sigmoid都可以)

image-20230823221314831

3、利用关联程度来抽取信息

image-20230823221641524

(1)所有向量a_i通过W_v(可以保持原有维度不改变)得到v_i,

(2)将每一个向量乘上当前关联程度,再进行一个sum就可以得到b1,

(3)值得注意的是如何关联程度越大,那么其对原来有的向量影响程度越大。

Multi-head Self-attention

当我们希望q,k,v向量可以存在多种的联系的时候,那么我们则需要使用多组参数来传播这些数据,通过排列组合不同q,不同k,不同的v,就可以得到多组的b,在通过一些变化就可以,合并到一个b上

image-20230823230051645 image-20230823225805527

Positional Encoding

假设我们在进行NLP任务,那么输入的每一个词的顺序必然是有意义的,那么这里提供一种思路:就是将位置的信息进行编码,得到一个embedding加入在输入特征中,就可以得到一个新的带有位置信息的特征vector了。

image-20230823230552468
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值