最粗暴简单的理解self-attention QKV含义
现在有3个向量ABC,把向量看做人。
把每个向量映射为QKV,V是用来表征这个人的特征的,是一个人的灵魂,V可以表征这个人拥有善良、美丽、纯真的特性。可以把A变成QV两个人,Q是男,V是女,但是没有灵魂,灵魂在V里放着。它们一结合生出孩子,就可以表示人与人的关联性,因为孩子就是两个人的关联性,相似性。
self-attention做一件事,想让ABC一起生一个孩子,这个孩子将会与它们三个脱不了关系。
做法是,让A男- Q A Q_A QA与B女- K B K_B KB生孩子,生出的孩子 Q A ⋅ K B T Q_A\cdot{K_B^T} QA⋅KBT有AB的相似性。同理让A和A自交生孩子,让A和C杂交生孩子都会产生孩子,都代表了他们孩子与A的关联性。
现在假定A自己的孩子
Q
A
⋅
K
A
T
Q_A\cdot{K_A^T}
QA⋅KAT是女的,另外两个孩子是男的,让它们一起生孩子。这次要生一个有灵魂的孩子,就提前分别为每个孩子注入灵魂V。然后进行杂交。最后就生出了和ABC都有关联的孩子。生出的孩子叫b1
b
1
=
(
Q
A
⋅
K
A
T
)
⋅
V
A
+
(
Q
A
⋅
K
B
T
)
⋅
V
B
+
(
Q
A
⋅
K
C
T
)
⋅
V
C
b1 =( Q_A\cdot{K_A^T})\cdot{V_A}+(Q_A\cdot{K_B^T})\cdot{V_B}+(Q_A\cdot{K_C^T})\cdot{V_C}
b1=(QA⋅KAT)⋅VA+(QA⋅KBT)⋅VB+(QA⋅KCT)⋅VC
说白了就是ABC每个向量经过自注意层,都会产生与含有ABC上下文信息的向量。