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

相关推荐
傻啦嘿哟5 小时前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_933670795 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
2601_962077605 小时前
python Dejavu库快速识别音频指纹实例探究
python·音乐识别·dejavu库·音频指纹识别·实例探究
科技苑6 小时前
如何用Python编程实现一个简单的Web爬虫?
人工智能·python
dayDayupbetter6 小时前
Visual C++ 2010安装与使用高手秘籍
python
隐擎fox6 小时前
深入理解网络传输层安全:TLS 指纹识别(JA3/JA4)原理与 Python 协议层检测实战
爬虫·python·网络协议·安全·网络安全·https
医疗信息化王工6 小时前
DataForge:基于 Python 的数据库批量导出 Excel 工具——从架构到部署的全流程实战
数据库·python·excel
小玮看世界7 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python
Java陈序员8 小时前
轻量运维面板!一款现代化的服务器控制面板工具!
运维·服务器·python·react.js·github
2601_962097368 小时前
1. 使用 C 或 C++ 扩展 Python
python·api·c·引用计数·扩展模块