Self-Attention Mechanism(自注意力机制)

self-attention是注意力机制中的一种,也是transformer中的重要组成部分,而self-attention其本质的基础便是上一文提到了attention。本文中只讲解最简单的Self-Attention Mechanism,涉及到其他的会在transformer里面进行提及。

1.Self-Attention Mechanism模型结构

在Self-Attention的模型中,模型的输出是对整个模型的输入进行一个考虑,最终得到了相应的输出。(类似于Attention中S_i对于每个H_1.H_2,H_3的考虑)

 上图所展示的便是Self-Attention的一个基本的运行结构。

明白了大致的模型结构,我们来具体了解一下B_1是如何得到的。

首先,我们需要去计算a_1,对应其他a_2,a_3,a_4的一个相关性。在我这里我们使用向量点积的方式来得到两个2向量之间的相关性。

上图所展示的便是相关性的计算过程。

我们看到我们会将输入的两个向量分别乘上对应的矩阵,W_q和W_k,得到Q(Query)和K(Key)两个结果。然后再用两个结果做内积得到相关性。(注意这里的W_q和W_k是两个可以学习的矩阵参数)。

通过上面的方法我们便可以得到a_1和a_2的相关性。

 上图所展示的便是a_1和a_2相关性的计算过程。

依次类推我们也可以得到a_1和a_3,a_1和a_4甚至是a_1和a_1的一个相关性。

 上图所展示的便是a_1和a_1,a_2,a_3,a_4相关性的计算过程。

随后我们对得到的相关性做一个归一化的操作,这里我们用softmax。

  上图所展示的便是a_1和a_1,a_2,a_3,a_4相关性归一化的计算过程。

得到了相关性以后,我们又需要将a_1,a_2,a_3,a_4分别乘上W_v(这里的W_v也是学习的的参数矩阵),得到V_1,V_2,V_3,V_4。最后再讲相关性与对应的V对加权平均,得到了最后的B_1。

以此类推,我们便可以得到B_1,B_2,B_3,B_4。

 上图所展示的便是self-attention矩阵模块的计算过程。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值