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浙大疏锦行

相关推荐
dulu~dulu1 天前
算法---寻找和为K的子数组
笔记·python·算法·leetcode
编程之升级打怪1 天前
用Python语言实现简单的Redis缓冲数据库驱动库
redis·python
电商API&Tina1 天前
电商数据采集API接口||合规优先、稳定高效、数据精准
java·javascript·数据库·python·json
玲娜贝儿--努力学习买大鸡腿版1 天前
hot 100 刷题记录(1)
数据结构·python·算法
兮℡檬,1 天前
答题卡识别判卷
开发语言·python·计算机视觉
阆遤1 天前
利用TRAE对nanobot进行安全分析并优化
python·安全·ai·trae·nanobot
雕刻刀1 天前
ERROR: Failed to build ‘natten‘ when getting requirements to build wheel
开发语言·python
何双新1 天前
Odoo 技术演进全解析:从 Widget 到 Owl,从 Old API 到声明式 ORM
python
山川行1 天前
关于《项目C语言》专栏的总结
c语言·开发语言·数据结构·vscode·python·算法·visual studio code
星辰徐哥1 天前
C语言游戏开发:Pygame、SDL、OpenGL深度解析
c语言·python·pygame