深度学习四大神经网络架构面试问答整理
一、宏观比较类
Q1:CNN、RNN、LSTM、Transformer 分别是什么?它们之间有什么区别?
核心回答(先用一句话定位):
- CNN(卷积神经网络) = 局部特征提取器,像"扫读关键词"。
- RNN(循环神经网络) = 序列串行处理器,像"逐字精读"。
- LSTM/GRU(长短期记忆网络) = RNN 的升级版,像"带笔记本的精读"。
- Transformer = 全局并行处理器,像"坐在直升机上俯瞰全场"。
详细区别(用"读书"比喻展开):
| 模型 | 阅读方式 | 看到多远? | 能否并行? | 主要瓶颈 |
|---|---|---|---|---|
| CNN | 扫读局部窗口 | 只看窗口内 | ✅ 能 | 看不到全局 |
| RNN | 逐字精读 | 理论上很远(实际会忘) | ❌ 不能(串行) | 容易遗忘 |
| LSTM/GRU | 逐字精读+笔记 | 很远(能记住) | ❌ 不能(串行) | 训练速度慢 |
| Transformer | 全局通读 | 无限远(实时聚焦) | ✅ 能(并行) | 计算量大,费算力 |
进化逻辑:
前三位存在"串行计算"或"长距离遗忘"的硬伤,Transformer 因并行+全局视野的优势,已成为 ChatGPT 等所有主流大模型的基础。
Q2:为什么 Transformer 比 RNN 更优秀?
三个核心原因:
并行计算:RNN 必须一个接一个处理(串行),Transformer 同时处理所有词,训练速度大幅提升,更适合 GPU。
长距离依赖:RNN/LSTM 理论上能处理长序列,但实际中长距离信息还是会衰减。Transformer 通过注意力机制,无论"它"和"动物"隔多远,都能瞬间建立联系。
全局视野:注意力机制像"聚光灯",每个词都能直接看到所有其他词,动态聚焦于最相关的信息。
二、技术细节类
Q3:请解释 Transformer 的注意力机制。Q、K、V 是什么?
一句话解释:
注意力机制就是让模型在处理一个词时,主动去问"这句话里谁对我最重要",然后根据重要程度去提取信息。
Q、K、V 三兄弟的角色:
| 符号 | 全称 | 角色 | 通俗比喻 |
|---|---|---|---|
| Q | Query(查询) | 发起者,当前词去提问 | "我是'它',我要问你们谁跟我关系最大?" |
| K | Key(键) | 被比较者,每个词的标签 | 每个词都准备好一个"回答标签" |
| V | Value(值) | 被提取者,词携带的真实信息 | 每个词实际要传递的含义 |
计算四步走:
- 算分数:用 Q 和所有词的 K 做点积(对应位置相乘再相加),得到原始分数。
- 缩放:除以一个固定数,让分数别太大。
- 变权重:过 Softmax,把所有分数转成百分比(加起来=100%)。
- 加权求和:用这些百分比去加权所有词的 V,混合成最终输出。
例子:
"那只动物没有过马路,因为它太累了。"
- "它"的 Q 和"动物"的 K 算出来的分数:90
- "它"的 Q 和"马路"的 K 算出来的分数:10
- 过 Softmax 后,"动物"占 80% 权重,"马路"占 8%
- 最终"它"的新表示里 80% 是"动物"的信息,模型就知道"它"指代的是"动物"。
Q4:为什么要有 W_Q、W_K、W_V 这三个权重矩阵?直接用原始向量不行吗?
直接回答:不行!
核心原因(三个):
角色区分:原始向量是"通用信息",而 Q、K、V 需要"专用信息"。同一个词在三种场景下需要突出不同维度的信息,不能共用一套表示。
独立学习:W_Q、W_K、W_V 是三个独立训练的矩阵。模型会分别把它们优化成最适合"提问""被问""提供信息"的形态。
表达能力:增加可学习参数,模型能学到更细微的模式。
为什么"每个词乘同一个矩阵"不等于"没乘"?
因为矩阵是线性变换,同一个矩阵 × 不同的原始向量 = 不同的方向变化。
例子(简化 2×2 矩阵 W = [[2,1],[1,2]]):
- W × [1,0] = [2,1](水平变成斜向右上)
- W × [0,1] = [1,2](垂直变成斜向右上,但角度不同)
打个比方:
同一个模具压不同的面团,出来的形状当然不同。模具是相同的,但面团本身的质地和形状不同,成品就不同。
Q5:LSTM 是怎么解决 RNN 的梯度消失问题的?
核心:引入了"门控机制"。
LSTM 内部有三个"阀门"(门控),用"笔记本"比喻:
| 门控 | 作用 | 通俗解释 |
|---|---|---|
| 遗忘门 | 决定丢掉什么 | 读到句号了?翻篇,把不重要的内容从笔记本里划掉。 |
| 输入门 | 决定存入什么 | 读到"姚明"?重要!赶紧记到笔记本里。 |
| 输出门 | 决定输出什么 | 被问到"谁最高"?从笔记本里找出"姚明"回答。 |
技术本质:
LSTM 有一条"细胞状态"(Cell State)的直通通道,梯度可以沿着这条通道直接传递,不容易消失。同时通过门控机制控制信息流入流出,让模型自主选择"记什么"和"忘什么"。
三、优缺点类
Q6:CNN、RNN、LSTM、Transformer 各有什么优缺点?
| 模型 | 优点 | 缺点 |
|---|---|---|
| CNN | 计算快,可并行,适合局部特征提取 | 看不到全局长距离依赖,需堆叠层数来扩大感受野 |
| RNN | 天然适合序列建模,考虑顺序 | 容易遗忘(梯度消失/爆炸),串行训练慢 |
| LSTM/GRU | 能记住长序列,解决遗忘问题 | 仍是串行计算,比 RNN 更复杂,训练速度慢 |
| Transformer | 并行计算快,全局视野无遗忘,表达能力极强 | 计算复杂度 O(n²),非常吃算力,需海量数据训练 |
四、应用/选型类
Q7:什么时候选 LSTM,什么时候选 Transformer?
| 场景 | 推荐选型 | 原因 |
|---|---|---|
| 数据量小,序列中等长度 | LSTM | Transformer 需要海量数据才能发挥优势,小数据下 LSTM 可能更好 |
| 算力有限,实时性要求高 | LSTM/GRU | 模型更轻量,推理更快 |
| 文本超长,数据量巨大 | Transformer | 长距离依赖和并行优势明显 |
| 追求 SOTA(最先进)性能 | Transformer | 所有主流大模型(ChatGPT、Llama、文心一言)都基于它 |
| 图像/音频等局部特征任务 | CNN | 天然适合处理局部模式,可配合 Transformer 使用(如 ViT) |
五、综合理解类
Q8:请通俗解释深度学习处理文本的技术演进路线。
一句话串起进化史:
CNN 是"局部扫描仪"→ RNN 是"读完就忘的流水线"→ LSTM 是"带着笔记本的流水线"→ Transformer 是"坐在直升机上俯瞰全场的指挥官"。
核心驱动力:
- 从串行走向并行(解决训练速度问题)
- 从局部走向全局(解决长距离遗忘问题)
- 从固定窗口走向动态聚焦(用注意力机制自适应抓重点)
现状:
前三位因硬伤在大型 NLP 任务中已被淘汰,Transformer 一统江湖,是大模型的绝对基石。
附:记忆口诀
CNN 扫窗口,RNN 串行走
LSTM 带阀门,记性好不丢
Transformer 最暴力,全局并行注意力
从串到并,从近到远,大模型全靠它奠基