Self-Attention:从点积到自注意力
本文主要介绍Transformer的核心Self-Attention的原理。
目录
第1章 向量点积
1.1 Self-Attention公式
1.2 向量点积
1.3 矩阵相乘
第2章 Self-Attention自注意力机制
2.1 softmax
2.2 自注意力机制
第1章 向量点积
1.1 Self-Attention公式
Transformer论文中主要部分被称为Scaling Dot-Product Attention(缩放点积注意力),其核心公式是...


Q:Query,查询,由输入矩阵变换而来;
K:key,键,由输入矩阵变换而来;
V:value,值,由输入矩阵变换而来。
1.2 向量点积
对于给定的一组向量

与

,点积表示为:
**

**
从几何角度来看, 向量x在y方向上的分量与其模长与y长度之积, 其结果能体现两者的相似程度. 当该点积值较大时, 说明两者间存在较高程度的相似性. 这种特性构成了自注意力机制的基础
1.3 矩阵相乘
如前所述提到的向量点积进行进一步探讨。我们都知道, 向量之间的点积反映的是两者之间的相似程度, 那么如果我们让该向量与自身进行点积运算呢?对于任意给定的一个向量

,进行如下操作:

则得到的矩阵内的每个元素表示原向量中第

个元素与第

个元素的相似度。将其称为相似度矩阵。
第2章 Self-Attention自注意力机制
让我们回顾缩放点积注意力机制这一概念,并将其与上文所述的相似度矩阵相结合在一起。通过这种方式,我们便能够体现出这种相似性。

对于一个输入矩阵

,我们求出其与本身的相似度矩阵

在该相似度矩阵中,各元素之间的相似程度即为各个对应位置上的数值。随后,在所获得的相似度矩阵基础上执行Softmax运算。
2.1 softmax
通过将输入映射至0到1之间的数值,并使总和固定为1来实现归一化,在多分类场景中各类别的概率总和同样保持为1。通常可以把经过 softmax 处理后的输出视为各个类别的概率分布情况。然而,在自注意力机制中则采用了不同的思路。考虑到通过 softmax 处理后的输出总能确保各分量之和恒定为 1 的情况下,则可以把 softmax 作用后的结果直接视为权重矩阵,在此框架下权重值越大反映出对应元素间相似性越高的情况

得到权重矩阵后,将其与原矩阵

相乘,得到

这一过程本质上相当于将权重矩阵中的每一行与原矩阵的每一列进行加权计算。值得注意的是,在这种情况下,权重矩阵中的每一行都被归一化处理。每个元素都代表着不同点之间的相似度作为权重,在这种加权计算中起到了关键作用。这也是自注意力机制能够整合全局信息的重要原因。
2.2 自注意力机制
最后,得到了经过加权求和的矩阵

,再与自注意力机制公式相对比,

两个公式本质上是完全等价的。上文提到

实际上是输入矩阵

该神经网络采用了线性变换矩阵进行处理步骤;该过程旨在增强其可拟合能力。最后只剩下最后一个因素

,实际上

为

数据特征的数量这一问题上进行探讨时所关注的重点。该缩放因子的主要功能是使输入数值不会过高,在确保梯度计算更加稳定的同时实现归一化处理。
自注意机制中的一种是缩放的点积注意力;它通过计算不同向量间的点积来评估它们之间的相似程度,并最终捕获整体信息。
