自注意力机制最简单的示例
自注意力机制示例
自注意力机制示例
1. 输入序列
假设我们有一个简单的输入序列,包含三个词(向量表示),每个词的维度是4:
x1 | x2 | x3 | x4 | |
---|---|---|---|---|
词1 | 1 | 0 | 1 | 0 |
词2 | 0 | 1 | 0 | 1 |
词3 | 1 | 1 | 1 | 1 |
2. 查询(Q)、键(K)和值(V)矩阵
我们定义查询、键和值的权重矩阵如下:
Q | K | V | |
---|---|---|---|
权重矩阵 |
1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 |
0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 |
1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 |
3. 计算 Q、K 和 V
查询、键和值矩阵计算如下:
Q(Q*输入序列) | K(K*输入序列) | V(K*输入序列) | |
---|---|---|---|
值 |
2 0 0 2 0 2 2 0 2 2 2 2 |
0 1 1 0 1 0 0 1 2 1 1 2 |
2 0 2 0 0 2 0 2 2 2 2 2 |
4. 计算注意力得分
注意力得分的计算如下:(dk=2,根号4)
得分 | |
---|---|
QKT |
0 2 4 2 0 2 4 4 8 |
QKT / √dk |
0 1 2 1 0 1 2 2 4 |
softmax(QKT / √dk) |
0.090 0.244 0.665 0.422 0.155 0.422 0.090 0.090 0.819 |
5. 加权求和
加权求和的计算如下:
结果 | |
---|---|
Attention(Q, K, V) |
2.329 1.576 2.329 1.576 1.690 1.534 1.690 1.534 2.819 2.818 2.819 2.818 |
总结
这个例子展示了自注意力机制如何通过计算查询、键和值矩阵,然后计算注意力得分,最后进行加权求和,来生成输入序列中每个元素的表示。
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/18345206,如有侵权联系删除