自注意力机制(Self‑Attention)

自注意力是 Transformer 的核心模块 ,作用是让序列里面每一个token(词/字符),都可以直接关注序列里其它所有token,计算相互之间的关联权重,捕捉长距离依赖关系。

对比RNN:RNN串行逐个处理,长距离信息会衰减;自注意力一步直接看到整个序列全部位置。

核心思想

输入一组向量,分别映射出三组向量:

  • Q Query 查询:我要找什么
  • K Key 键:我有什么
  • V Value 值:我实际携带的信息
  1. 拿每个 Q 和全部 K 做点积,算出相似度分数

  2. 除以

    缩放,防止维度大分数爆炸

  3. Softmax,把分数变成0~1的权重,权重总和为1

  4. 用权重对 V 加权求和,得到该位置输出

公式:

通俗例子

句子:动物 不 喜欢 吃 冰冷 的 食物

处理"吃"这个词:

  • Q来自"吃";和所有词的K计算相似度
  • 模型算出:和"动物"、"食物"权重高,和"的"权重低
  • 输出向量就更多融合"动物、食物"的信息,理解:谁在吃,吃什么。

自注意力可以直接捕捉相隔很远的词的关系。

多头自注意力 Multi‑Head Attention

把 Q/K/V 切分成多组,每组独立跑一套自注意力,最后拼接再做线性变换。

  • 单头:只能学到一种关联模式
  • 多头:不同头捕捉不同关系,比如一头关注语法,一头关注指代,一头关注语义。

掩码自注意力 Masked Self‑Attention(解码器)

生成场景(GPT)用,加掩码,屏蔽未来位置 。

预测第 i 个词的时候,看不到 i 之后的token,防止偷看还没生成的内容。

自注意力优缺点

✅优点

  1. 全局建模,长距离依赖能力强
  2. 完全并行计算,相比RNN可以GPU加速
  3. 权重动态:不同上下文同一个词,注意力分布不一样

❌缺点

  1. 时间复杂度

    ,序列长n很大时计算显存爆炸

  2. 长文本成本高,衍生出:稀疏注意力、滑动窗口注意力、KV缓存等优化。

简单区分

  • 自注意力 Self‑Attention :Q、K、V来自同一组输入,比如BERT编码器。
  • 交叉注意力 Cross‑Attention:Q来自A序列,K、V来自B序列,用于翻译(编码器-解码器)。
相关推荐
golang学习记5 分钟前
Zed 新特性:AI 还在跑,电脑可以不睡了
人工智能·vscode·电脑·zed
愤怒的代码13 分钟前
浅析模型量化的数学原理
人工智能
掉进电商坑三年没爬出来的东叔15 分钟前
Vibe Coding实战三:把AI做的小工具部署上云,手机电脑随时用
人工智能·智能手机
甲维斯32 分钟前
我用AI做了一款「三国吃鸡」,开局孔明灯,落地青龙刀 !
人工智能·游戏·游戏开发
WeiXin_DZbishe39 分钟前
基于Springboot+AI的kuall音乐广场的设计与实现-计算机毕设 附源码【课程设计】12715
vue.js·人工智能·spring boot·后端·python·php·课程设计
boluoji42 分钟前
TOP 10 大模型实测:发两个字母,被计了 4223 个 token
人工智能
冬奇Lab1 小时前
LLM 驱动的自动化测试系列(10):自愈定位——当启发式打分撞上语义理解的天花板
人工智能·测试
adrninistrat0r1 小时前
浏览器自动化——AI 生成网页操作脚本
人工智能·自动化
冬奇Lab1 小时前
一天一个开源项目(第234篇):CC Switch —— 一个 App 管理十款 AI 编程工具的 Provider、MCP、Skills 和 Prompts
人工智能·开源·claude