day45

1. 为什么要用 Multi-Head Attention(多头注意力)?用一个大头不行吗?

  • 面试官潜台词: 你懂不懂"子空间特征捕捉"?

  • 绝杀点: * 视角互补: 不同的头可以关注序列中不同的依赖关系。比如一个头关注"主谓关系",另一个头关注"代词指代"。

    • 防止过拟合: 类似于集成学习(Ensemble),多头并行计算后拼接,能让模型在多个**表征子空间(Subspaces)**中学习信息,比单一维度的注意力更稳健。

    • 物理意义: 这就像是让 8 个人从 8 个不同的角度看同一段话,最后大家把看到的细节汇总。


2. 为什么 Transformer 偏爱 LayerNorm (LN) 而不是 BatchNorm (BN)?

  • 面试官潜台词: 你知道 NLP 序列数据的特殊性吗?

  • 绝杀点: * 变长序列: NLP 的句子长短不一。BN 是在 Batch 维度做归一化,如果 Batch 里的句子长度差异很大,BN 算的均值和方差就会剧烈抖动,极其不稳定。

    • 词的独立性: LN 是在"单个样本"的所有通道上做归一化。在 Transformer 中,每个 Token 的特征(Embedding)是相对独立的,LN 能保证每个词的表征都在一个合理的范围内,不受 Batch 大小和句子长度的影响。

3. 请用大白话解释 Q, K, V 的数学意义?

  • 面试官潜台词: 你是只会背公式,还是真的懂"寻址"逻辑?

  • 绝杀点: 这是一个**"图书馆检索"**系统:

    • Q (Query): 你的"搜索意图"(我想找什么?)。

    • K (Key): 书架上每本书的"标签/索引"(这组信息是什么?)。

    • V (Value): 书里的"具体内容"(这组信息具体是多少?)。

    • 过程:Q 去和所有的 K 计算相似度(打分),然后根据得分高低,去拿走对应的 V


4. 为什么计算 Attention Score 时要除以 \\sqrt{d_k}?(Scaled Dot-Product)

  • 面试官潜台词: 你对梯度消失和 Softmax 的数学本质理解吗?

  • 绝杀点: * 防止数值爆炸: 当维度 d_k 很大时,点积 Q \\cdot K\^T 的数值会变得非常大。

    • 保护梯度: 如果数值太大,经过 Softmax 之后,结果会落入"饱和区",导数几乎为 0(梯度消失)。

    • 稳定性: 除以 \\sqrt{d_k} 可以让点积后的分布方差重新变回 1,保证了 Softmax 函数的输出更平滑,让梯度回传更稳定。

Attention(Q, K, V) = Softmax(\\frac{QK\^T}{\\sqrt{d_k}})V


5. Transformer 的 Encoder 和 Decoder 在 Attention 上最大的区别是什么?

  • 面试官潜台词: 你懂"因果屏蔽(Masking)"吗?

  • 绝杀点: * Encoder: 使用的是双向自注意力。每个词都能看到全句所有的词(上帝视角)。

    • Decoder: 使用的是掩码自注意力(Masked Self-Attention) 。由于生成任务是按照时间顺序的,模型不能"偷看"未来的词。所以我们会加一个三角矩阵(Look-ahead Mask),把未来的词强制屏蔽掉,保证生成时的因果性

@z浙大疏锦行

相关推荐
金銀銅鐵6 小时前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup1110 小时前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi0012 小时前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵14 小时前
用 Python 实现 Take-Away 游戏
python·游戏
copyer_xyf15 小时前
Agent 流程编排
后端·python·agent
copyer_xyf16 小时前
Agent RAG
后端·python·agent
copyer_xyf16 小时前
【RAG】向量数据库:milvus
后端·python·agent
copyer_xyf16 小时前
Agent 记忆管理
后端·python·agent
星云穿梭1 天前
用Python写一个带图形界面的学生管理系统——完整教程
python