深度学习9——transformer之注意力机制

注意力机制概述

Transformer先将文本划分为token,再通过Embedding将每个token转换成向量。所有token向量组合后得到一个矩阵,并加入位置编码,使模型能够感知token的顺序和位置。

之后,输入矩阵通过三个可学习的权重矩阵W_Q、W_K、W_V,分别映射为Q、K、V:

复制代码
Q = X × W_Q
K = X × W_K
V = X × W_V

其中,X是加入位置编码后的输入矩阵,W_Q、W_K、W_V都是模型训练过程中学习得到的参数。

注意力计算流程:

复制代码
输入矩阵X
  ↓
映射得到Q、K、V
  ↓
Q × K^T,得到注意力分数
  ↓
除以sqrt(d_k)
  ↓
Softmax,得到注意力权重
  ↓
注意力权重 × V
  ↓
得到上下文增强后的输出矩阵

最终输出仍然是一个矩阵,其中每一行对应一个token的上下文表示。单个token对应一个向量,整个序列对应一个向量矩阵。

Q、K、V的作用

  • Q(Query,查询向量):表示当前token想从其他token中获取什么信息。

  • K(Key,键向量):表示当前token具有什么特征,可以和其他token的Q进行匹配。

  • V(Value,值向量):表示当前token真正需要传递和聚合的信息。

可以简单理解为:

复制代码
Q:我想找什么
K:我有什么特征
V:我能提供什么内容

例如某个token的输入向量为E1,则:

复制代码
Q1 = E1 × W_Q
K1 = E1 × W_K
V1 = E1 × W_V

单头注意力的计算

一个token的Q会与所有token的K进行点积:

复制代码
Q_i × K_1
Q_i × K_2
...
Q_i × K_n

点积结果叫作注意力分数(Attention Score),表示当前token与其他token的匹配程度。

注意力分数经过Softmax后,转换为0到1之间且总和为1的注意力权重(Attention Weight)

然后根据这些权重,对所有V进行加权求和:

复制代码
output_i = weight_1 × V_1
         + weight_2 × V_2
         + ...
         + weight_n × V_n

得到当前token融合上下文信息后的新向量。所有token的新向量组合起来,就得到注意力输出矩阵。

注意力输出与原始输入相加属于残差连接,不是注意力计算本身:

复制代码
残差输出 = 原始输入X + Attention输出

为什么要除以sqrt(d_k)

缩放点积注意力的公式可以写为:

其中,d_k是每个注意力头中Q和K的向量维度。

Q和K的维度越高,点积需要累加的项越多,点积结果的方差也会增大。如果直接输入Softmax,注意力分数之间的差异会被明显放大,使注意力权重过于尖锐:

复制代码
某个权重接近1
其他权重接近0

此时Softmax容易进入饱和区域,反向传播时梯度会变得很小,影响Q、K等参数的更新,导致训练不稳定。

因此除以sqrt(d_k),可以控制注意力分数的尺度,避免Softmax过度饱和。

多头注意力机制

多头注意力包含多个Attention Head,每个Head都有不同的Q、K、V映射参数:

复制代码
Head1:W_Q1、W_K1、W_V1
Head2:W_Q2、W_K2、W_V2
...

不同的Head可以从不同的表示子空间学习不同类型的关系,例如语法关系、指代关系或语义关系。

每个Head分别完成注意力计算后,将结果拼接起来,再通过输出矩阵W_O进行线性映射:

复制代码
MultiHead = Concat(Head1, Head2, ..., Head_h) × W_O

之后再通过残差连接,将多头注意力输出与原始输入相加:

复制代码
输出 = 原始输入X + MultiHead输出
相关推荐
网络工程小王1 小时前
【HCIE-AI】10.pytorch模型迁移分析
人工智能·学习·华为·llama
XMAIPC_Robot1 小时前
RK3588+8路AHD+双CAN工控方案|多路模拟视频同步采集+工业总线联动AI边缘检测落地
人工智能·rk3588·ai视觉·图像采集·多路ahd视频
hangyuekejiGEO1 小时前
临沂GEO技术解析与行业应用方案
人工智能·python
科技圈快迅2 小时前
2026年上海中卡RFID危险品智能柜深度解析:多系统融合的化工储运安全管控
人工智能·安全
Meya11272 小时前
实时采集 + 全域可视化,打造跨站点机房一体化U位管理方案
大数据·运维·人工智能
易连EDI—EasyLink2 小时前
电动汽车供应链协同新范式:蔚来(NIO)企业级EDI平台建设实践
网络·人工智能·edi·nio·as2
AI星桥小王子2 小时前
分清原生音画同步!主流 AI 视频生成平台横向对比
人工智能
xqqxqxxq2 小时前
技术笔记:上下文工程(Context Engineering)心得总结(李博杰《深入理解 AI Agent》2.1,2.2观后总结)
人工智能·笔记
成都被卷死的程序员2 小时前
生活与工作AI高效使用指南
人工智能·生活