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原论文中将核心部分称为Scaled Dot-Product Attention,缩放点积注意力,最核心的公式为:

Attention(Q,K,V)=softmax(\frac{QK^T}{\sqrt{d_k}})V

Q:Query,查询,由输入矩阵变换而来;

K:key,键,由输入矩阵变换而来;

V:value,值,由输入矩阵变换而来。

1.2 向量点积

        对于给定的一组向量x=(x_1,x_2,\cdots ,x_n)y=(y_1,y_2,\cdots,y_n),点积表示为:

x\cdot y=x_1\cdot y_1+x_2\cdot y_2+\cdots+x_n\cdot y_n

        向量点积的几何意义是:向量x在向量y方向上的投影再与向量y的乘积,能够反应两个向量的相似度。向量点乘结果大,两个向量越相似。这也是自注意力的基础。

1.3 矩阵相乘

        根据上文提到的向量点积进行进一步拓展。我们已经知道,向量的点积表明的是两个向量之间的相似度,那么如果是向量与本身做点积呢?对于一个给定的向量X=\begin{pmatrix} x_1 & x_2 & \cdots &x_n \end{pmatrix}^T,进行如下操作:

X \cdot X^T = \begin{pmatrix} x_1\\ x_2\\ \cdots\\ x_n \end{pmatrix}\cdot \begin{pmatrix} x_1 & x_2 & \cdots & x_n \end{pmatrix}=\begin{pmatrix} x_1 x_1 &x_1 x_2 & \cdots &x_1x_n \\ x_2x_1&x_2x_2 &\cdots &x_2x_n \\ \cdots&\cdots & \cdots&\cdots \\ x_nx_1&x_nx_2 &\cdots &x_nx_n \end{pmatrix}

则得到的矩阵内的每个元素表示原向量中第i个元素与第j个元素的相似度。将其称为相似度矩阵。

第2章 Self-Attention自注意力机制

        再回到缩放点积注意力上来,与上文提到的相似度矩阵矩阵相结合,相似性就体现出来了。

Attention(Q,K,V)=softmax(\frac{QK^T}{\sqrt{d_k}})V

        对于一个输入矩阵X,我们求出其与本身的相似度矩阵X \cdot X^T。相似度矩阵内的元素则为每个元素与其他元素的相似度大小,接下来,对得到的相似度矩阵进行softmax。

2.1 softmax

        softmax可以将输入映射为0-1之间的实数,并且归一化保证和为1,这里注意到在多分类任务中,概率之和也为1。在多分类任务中,往往可以将softmax之后的输出当作是属于每个分类的概率。在self-attention中,则用到了另外一种含义。考虑到softmax保证了归一化之后的和为1,则我们可以将softmax后得到的矩阵当作是权重矩阵,权重矩阵内的元素值越大,则表明相似度越高。

softmax(a_i)=\frac{e^{a_i}}{ \sum_{k=1}^{N}e^{a_k}}

        得到权重矩阵后,将其与原矩阵X相乘,得到softmax(XX^T)X,这个过程其实就是将权重矩阵的每一行与原矩阵的每一列进行加权求和,值得注意的是,权重矩阵的每一行都是归一化的,每个元素代表了点的相似度权重,进行如此的加权求和,相当于融入了全局的权重信息,这也就是为何自注意力机制可以考虑到全局信息。

2.2 自注意力机制

        最后,得到了经过加权求和的矩阵softmax(XX^T)X,再与自注意力机制公式相对比,

Attention(Q,K,V)=softmax(\frac{QK^T}{\sqrt{d_k}})V

        两个公式本质上是完全等价的。上文提到Q,K,V实际上是输入矩阵X的线性投影矩阵,该过程是为了增强神经网络的可拟合性。最后,还剩下一个因子\frac{1}{\sqrt{d_k}},实际上d_kK的维度大小,这个因子的作用是防止输入的值过大,使得梯度更加稳定,这个过程也就是缩放。

        自注意力机制,即缩放点积注意力,本质上就是通过向量的点积来反应向量之间的相似度关系,从而获得全局的信息。

  • 30
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值