第 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 道大厂高频面试真题,全维度覆盖提示工程、智能体规划推理、记忆机制、工具调用、多智能体协作、框架落地、行业应用等核心领域,拆解考点底层逻辑,分享一线实战经验,助你一站式通关高薪面试。

全部评论

相关推荐

04-26 20:54
中南大学 Python
B1ng:a了1.64,太难了,第二题暴力解只a了60%,后面的超时了
拼多多集团-PDD笔试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务