AI学习记录 - 多头自注意力

创作不易,有帮助就点个赞

自注意力解释图(先把自注意力看懂,才可以看多头自注意力),QKV矩阵只有一个可以训练,这是与多头自注意力机制主要区别

在这里插入图片描述

这多头自注意力,就是把需要叠加语义的词向量 [0.93 0.15 0.69 0.81 0.65 0.64 0.03 0.49 0.34 0.04 0.94 0.16],平均拆分成若干个。假设完整的词向量是12维度,我们平均拆分,

[0.93 0.15 0.69 0.81 ]
[0.65 0.64 0.03 0.49 ]
[0.34 0.04 0.94 0.16 ]

假设有三个词汇:“你好吗”

你=[0.65 0.81 0.14 0.84 0.83 0.66 0.09 0.45 0.41 0.35 0.41 0.48]
好=[0.02 0.48 0.16 0.65 0.77 0.47 0.54 0.8 0.21 0.64 0.74 0.05]
吗=[0.83 0.95 0.65 0.21 0.85 0.14 0.34 0.56 0.09 0.86 0.84 0.26]

我们知道,自注意力就是将前面的词汇的语义叠加到当前词汇,例如我们将“你” 和 “好” 叠加到 “吗” 上,这里就不继续讲自注意力机制了。假设我们不对词向量拆分,那么我们就只有一个QKV矩阵,现在我们拆分了,我们就有了三个QKV矩阵。

我们先拆分“你好吗”

你1=[0.65 0.81 0.14 0.84]
你2=[0.83 0.66 0.09 0.45]
你3=[0.41 0.35 0.41 0.48]

好1=[0.02 0.48 0.16 0.65]
好2=0.77 0.47 0.54 0.8 ]
好3=0.21 0.64 0.74 0.05]

吗1=[0.83 0.95 0.65 0.21 ]
吗2=[0.85 0.14 0.34 0.56 ]
吗3=[0.09 0.86 0.84 0.26]

计算自注意力的时候,我们的数据输入为

1组 Q1 K1 V1

你1=[0.65 0.81 0.14 0.84]
好1=[0.02 0.48 0.16 0.65]
吗1=[0.83 0.95 0.65 0.21 ]

2组 Q2 K2 V2

你2=[0.83 0.66 0.09 0.45]
好2=0.77 0.47 0.54 0.8 ]
吗2=[0.85 0.14 0.34 0.56 ]

3组 Q3 K3 V3

你3=[0.41 0.35 0.41 0.48]
好3=0.21 0.64 0.74 0.05]
吗3=[0.09 0.86 0.84 0.26]

计算得出“吗”的新的词向量为

吗1=[0.78 0.27 0.3 0.32 ]
吗2=[0.8 0.05 0.62 0.49 ]
吗3=[0.34 0.51 0.11 0.98]

合并词向量,这就是新的“吗”

[0.78 0.27 0.3 0.32 0.8 0.05 0.62 0.49 0.34 0.51 0.11 0.98]

结语: 多头自注意力就是可以把QKV拆分成多个更小了,但是你说这样是否有实际意义,我觉得可能还真没有。chatgpt给出的解释是 《多头自注意力是自注意力的扩展和增强,使得模型在处理和理解数据时能够获得更丰富的信息。》,额,我感觉多头自注意力更像是形式主义多一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值