通俗易懂注意力机制 注意力机制详解( 二 )

[1,1,0],[0,1,0],[1,1,0]]
 
查询权重:
 
[[1,0,1],[1,0,0],[0,0,1],[0,1,1]]
 
价值权重:
 
[[0,2,0],[0,3,0],[1,0,3],[1,1,0]]
 

注意:在神经网络设置中,这些权重通常是小数,使用适当的随机分布(如高斯,Xavier和Kaiming分布)随机初始化 。
 
步骤3:派生键、查询和值
 
现在我们有了三组权重,让我们实际获取每个输入的键、查询和值表示形式 。
 
输入 1 的键表示:
 
[0,0,1][1,0,1,0] x [1,1,0] = [0,1,1] [0,1,0] [1,1,0]
使用相同的权重集获取输入 2 的键表示:
 
[0,0,1][0,2,0,2] x [1,1,0] = [4,4,0] [0,1,0] [1,1,0]
使用相同的权重集获取输入 3 的键表示:
 
[0,0,1][1,1,1,1] x [1,1,0] = [2,3,1] [0,1,0] [1,1,0]
一种更快的方法是对上述操作进行矢量化处理:
 
[0,0,1][1,0,1,0] [1,1,0] [0,1,1][0,2,0,2] x [0,1,0] = [4 ,4,0][1,1,1,1] [1,1,0] [2,3,1]
通俗易懂注意力机制 注意力机制详解

文章插图
图 1.3a:
 
每个输入的派生键表示
 
进行同样的操作,以获取每个输入的值表示形式:
 
[0,2,0][1,0,1,0] [0,3,0] [1,2,3][0,2,0,2] x [1,0,3] = [2 ,8,0][1,1,1,1] [1,1,0] [2,6,3]
通俗易懂注意力机制 注意力机制详解

文章插图
图 1.3b:每个输入的派生值表示
 
最后是查询表示形式:
 
[1,0,1][1,0,1,0] [1,0,0] [1,0,2][0,2,0,2] x [0,0,1] = [2 ,2,2][1,1,1,1] [0,1,1] [2,1,3]
通俗易懂注意力机制 注意力机制详解

文章插图
图 1.3c:从每个输入中派生查询表示
 
注意:实际上,可以将偏差向量添加到矩阵乘法的乘积中 。
 
步骤4:计算输入 1 的注意力得分
通俗易懂注意力机制 注意力机制详解

文章插图
图 1.4:根据查询 1 计算注意力得分(蓝色)
 
为了获得注意力得分,我们首先在输入 1 的查询(红色)与所有键(橙色)(包括其自身)之间取一个点积 。由于有 3 个关键表示(因为我们有3个输入),因此我们获得 3 个注意力得分(蓝色) 。
 
[0,4,2][1,0,2] x [1,4,3] = [2,4,4] [1,0,1]
注意,我们仅使用输入 1 的查询 。稍后,我们将对其他查询重复相同的步骤 。
 
注意:以上操作被称为点产品注意,它是几种评分功能其中之一 。其他评分功能包括缩放点积和添加/合并数组 。
 
步骤 5:计算 softmax
通俗易懂注意力机制 注意力机制详解

文章插图
图 1.5:Softmax 注意分数(蓝色)
 
在所有注意力得分中使用 softmax(蓝色) 。
 
softmax([2,4,4])= [0.0,0.5,0.5]


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。