Self-Attention结构细节及计算过程

一、结构

上面那个图其实不是那么重要,只要知道将输入的x矩阵转换成三个矩阵进行计算即可。自注意力结构的输入为 输入矩阵的三个变形 Q(query矩阵)、K(key矩阵)、V(value矩阵)构成,那么Q、K、V是如何得到的呢?

假设输入矩阵是 M*N的一个矩阵,也就是意味着输入有M个单词,则:

1.1 Q矩阵:

1.2 K矩阵:

1.3 V矩阵:

注:作为中间矩阵的行数必须是N的,否则不能做矩阵乘法,且Q、K两个矩阵必须行列一致,否则不能保持最后的Q、K、V矩阵行列一致。

二、self-Attention输出

计算公式如下:

 即计算Q矩阵与K矩阵的乘积,得到了一个N * N的矩阵,N为单词个数:

为了避免数值过大,除了向量维度的平方根。

接着计算每个单词对于其他单词的注意力系数,由于是对每一行过Softmax函数,则每行之和为1.

最后将得到的注意力系数矩阵与V矩阵相乘:

注意注意!!这里应该是V矩阵在左边,注意力矩阵在右。

eg:word1如何计算得到z1:

Reference:Transformer模型详解(图解最完整版) - 知乎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值