Transformer模型-矩阵乘法;与点积 dot product(点积相似度 dot product Similarity)的关系;计算attention

因为transformer模型里面计算attention用到了矩阵乘法 MatMul(Matrix multiply)来计算attention,所以补充一下矩阵乘法和点积的知识。

矩阵乘法MatMul(Matrix multiply):

1、当矩阵A的列数(column)等于矩阵B的行数(row)时,A与B可以相乘。

Ankie的评论:一个人是站着的,一个人是躺着的,站着的高度=躺着的长度。

在计算attention的时候,因为QK是一样的矩阵,所以必须把K转置(躺下),才能相乘。

2、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。

3、乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和。

Ankie的评论:C里面每个值,都是乘积之和(点积)。

矩阵乘法与点积dot product的关系:

因为点积是2个向量做运算:

两个向量a = [a1, a2,…, an]和b = [b1, b2,…, bn]的点积定义为:

a·b=a1b1+a2b2+……+anbn。

Ankie的评论:

跟上面矩阵乘法一对比,就看得出:

矩阵C的第一个元素,其实就是A的第一行和B的第一列做点积。

假如矩阵A只有一行,而B只有一列,矩阵乘法 == 向量点积。

假如矩阵A不止一行,而B也不止一行,矩阵乘法 ==  多个 向量点积。

这样就可以理解标题叫做dot-product attention,而实际上用的是矩阵乘法。

回到点积的作用:

Ankie的评论:因为点积可以计算相似值,或者距离,attention就拿来计算attention的相似值,或者距离。

Transformer模型-点积dot product,点积相似度dot product Similarity;计算attention-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/ank1983/article/details/137093906

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ankie(资深技术项目经理)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值