自注意力机制、自注意力机制的计算

一、什么是自注意力机制?

自注意力机制(Self-Attention):是一种在深度学习中,在自然语言处理(NLP)领域广泛使用的机制。它允许模型在处理每个元素时考虑到整个数据序列,从而捕获序列内的长距离依赖关系
自注意力机制的核心思想:计算序列中每个元素对于其他所有元素的注意力权重,并使用这些权重来生成输出

二、自注意力机制计算过程?

  1. 输入嵌入(Input Embedding):
    ○ 假设输入序列由 NN 个元素组成,每个元素都是一个词或字符的嵌入向量。
  2. 生成查询(Query)、键(Key)和值(Value)向量:
    ○ 使用可学习的权重矩阵 WQ、WK 和 WV 分别对每个输入向量进行线性变换,生成查询向量 Q、键向量 K 和值向量 V。
  3. 计算注意力得分(Attention Scores):
    ○ 对于序列中的每个元素,计算查询向量与所有键向量的点积,得到注意力得分。
    ○ scores=QKTscores=QKT。
  4. 标准化(Normalization):
    ○ 为了避免点积结果过大,通常将得分除以键向量维度 dkdk​ 的平方根,以缩放点积的结果。
  5. 应用Softmax函数(Softmax Application):
    ○ 将标准化后的得分通过Softmax函数转换成权重(概率分布形式),使得所有权重相加等于1。
  6. 计算加权和(Weighted Sum):
    ○ 用上一步得到的注意力权重对值向量进行加权求和,得到最终的输出向量。
  7. 多头注意力(Multi-Head Attention):
    ○ 将上述过程在多个不同的表示子空间中并行执行,每个“头”都有自己的一套 WQ、WK和 WV。
  8. 残差连接和层归一化(Residual Connection and Layer Normalization):
    ○ 在自注意力层之前和之后添加残差连接,有助于避免深层网络中的梯度消失问题。
    ○ 在自注意力层的输出上应用层归一化,有助于稳定训练过程。
    这个过程可以用以下数学公式表示:
    Attention(Q,K,V)=softmax(QKTdk)VAttention(Q,K,V)=softmax(dk​​QKT​)V
    其中,QQ、KK 和 VV 分别是查询、键和值矩阵,dkdk​ 是键向量的维度。
    如下图所示:

三、多头注意力

多头注意力(Multi-Head Attention)是一种注意力机制的扩展,它在处理序列数据时能够同时从不同的表示子空间中学习信息。这种机制是Transformer模型中的一个关键组件,它允许模型在不同的表示子空间中并行地学习数据的不同方面。
多头注意力的优点:
● 增强表示能力:通过在不同的头中学习不同的表示,模型能够捕获数据的多种复杂特征。
● 提高模型的容量:多头允许模型在不同的子空间中学习信息,增加了模型的容量。
● 并行化:多头允许并行计算,提高了训练的效率。
● 正则化效果:多头注意力可以看作是一种正则化形式,有助于防止模型过拟合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值