一步一步理解大模型:缩放点积注意力机制

缩放点积注意力(Scaled Dot-Product Attention)是一种注意力机制,常用于Transformer模型中。

在Transformer模型中,Scaled Dot-Product Attention被用于实现Multi-Head Attention。具体来说,Multi-Head Attention将输入矩阵分别进行多个头的线性变换,然后对每个头的变换结果分别计算Scaled Dot-Product Attention,最后将每个头的Attention结果拼接在一起并通过一个线性变换输出。

Scaled Dot-Product Attention的计算方式如下:

  1. 计算Query矩阵Q、Key矩阵K的乘积,得到得分矩阵scores。
  2. 对得分矩阵scores进行缩放,即将其除以向量维度的平方根(np.sqrt(d_k))。
  3. 若存在Attention Mask,则将Attention Mask的值为True的位置对应的得分矩阵元素置为负无穷(-inf)。
  4. 对得分矩阵scores进行softmax计算,得到Attention权重矩阵attn。
  5. 计算Value矩阵V和Attention权重矩阵attn的乘积,得到加权后的Context矩阵。

这是一段缩放点积注意力的代码:

class ScaledDotProductAttention(nn.Module):
    def __init__(self, mask_value=-1e9):
        super(ScaledDotProductAttention, self).__init__()
        self.mask_value = mask_value

    def forward(s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值