自注意力机制(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序列,用于翻译(编码器-解码器)。
相关推荐
吴佳浩3 小时前
Skill 为什么不同于 Tool?Agent 技能库的自演进与动态加载机制
人工智能·agent·ai编程
大模型任我行6 小时前
谷歌:“课程学习”融入扩散模型强化学习
人工智能·语言模型·自然语言处理·论文笔记
AIGCmagic社区6 小时前
具身智能专题:机器人也有Scaling Law?智元GE-Act 2.0用3万小时真机数据给出答案
人工智能·aigc·具身智能
Rosanci7 小时前
谷歌浏览器插件开发实战指南:从 Hello World 到上架发布
大数据·人工智能·chrome·程序人生
明月_清风7 小时前
AI 越来越强,程序员真正的价值到底是什么?
人工智能·后端
m0_466525298 小时前
云从科技上线云起ModelHub:AI团队时代的模型算力基础设施
大数据·人工智能·科技
火山引擎开发者社区8 小时前
OpenViking:给 Codex 加上长期记忆
人工智能
荆棘鸟智能8 小时前
城市感知设备怎么统一接入?从多协议网关到设备模型的中间件架构设计
人工智能·算法·边缘计算
火山引擎开发者社区8 小时前
当 AI 内容真假难辨,谁来为真实签名 —— 证书中心 C2PA 内容可信溯源服务正式发布
人工智能
百万蹄蹄向前冲8 小时前
风扇转了一晚上MVP专家团翻车事故
前端·人工智能