第 1 题:Transformer 中的 Self-Attention 机制与计算复杂度
题目
解释 Transformer 架构中的 Self-Attention 机制,并说明其计算复杂度。
一、Self-Attention 在做什么?为什么重要?
Self-Attention(自注意力) 是 Transformer 的核心:让序列中每个位置都能“看到”其他所有位置,并根据相关性对信息做加权聚合。换句话说:每个 token 的表示,由整段序列里所有 token 共同决定,权重由“谁和谁更相关”来定。
为什么重要?
- 长距离依赖:RNN 要一步步传,距离远时梯度易消失;Self-Attention 一步就能让任意两个位置交互,适合长文档、长对话。
- 并行:所有位置的注意力可以同时算,训练比 RNN 快得多。
- 对顺序不敏感:打乱 token 顺序,
和
的结果不变,所以必须配合位置编码,否则模型不知道“谁在前谁在后”。
面试里常追问:“和 RNN/CNN 比有什么不同?”——RNN 是顺序、局部传递;CNN 是局部窗口;Self-Attention 是全局、一次看全序列,且可并行。
二、计算流程(三步,必须能推)
设输入 :
为序列长度,
为特征维度。
1. 得到 Q、K、V
三个线性变换:
。做多头时通常
(
为头数)。
- Query:当前位置“在找什么”。
- Key:每个位置“有什么可被注意的”。
- Value:真正被聚合的语义/信息。
相似度用 和
算(点积),聚合用算出来的权重对
加权求和。这样就把“找谁”和“取什么”分开,比直接用
做点积更灵活。
2. 注意力分数与权重
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
Ai Agent:面试300问 文章被收录于专栏
《AI Agent 300 问》专为备战 AI Agent 相关岗位的求职者打造,适配校招、社招全场景,覆盖算法研发、产品、解决方案等全岗位。专栏汇总 300 道大厂高频面试真题,全维度覆盖提示工程、智能体规划推理、记忆机制、工具调用、多智能体协作、框架落地、行业应用等核心领域,拆解考点底层逻辑,分享一线实战经验,助你一站式通关高薪面试。

查看5道真题和解析