3. 深度学习基础
深度学习基础核心知识速查表
| 模块 | 关键特性 | 面试高频话题 | 工业推荐 |
|---|---|---|---|
| CNN | 局部连接、权值共享、池化 | 感受野、Stride、1×1卷积 | ResNet、MobileNet |
| RNN | 循环结构、隐状态、时序建模 | 梯度消失/爆炸、LSTM/GRU | LSTM、GRU(少数场景) |
| Transformer | 自注意力、并行、位置编码 | QKV、多头注意力、与CNN对比 | ViT、Swin Transformer |
| 损失函数 | 分类/回归/分割/检测专用 | Dice vs CE、Focal Loss原理 | CE + Focal (检测) |
| 优化器 | 一阶动量、二阶动量、自适应 | Adam vs SGD、学习率策略 | AdamW + Cosine 衰减 |
【问答卡片1】比较CNN、RNN、Transformer的异同及适用场景
🎯 面试官考察点:是否理解三种架构的核心机制差异,能否结合实际任务给出选择依据,是否了解Transformer在CV中的变体。
📌 回答框架:1. 分别简述核心操作 → 2. 对比优缺点(局部vs全局,顺序vs并行) → 3. 典型应用场景 → 4. 总结选择原则(数据量、任务类型、计算资源)。
✏️ 示例回答:CNN通过卷积核提取局部空间特征,参数量少,适合图像分类/检测;RNN通过循环处理序列,存在长程依赖衰减,适合时间序列;Transformer利用自注意力捕获全局依赖,可并行训练,在NLP和ViT中表现优异。选择时大数据优先Transformer,小数据或移动端选CNN。
🔎 可能追问:① Transformer如何处理位置信息?② CNN如何实现全局感受野?③ RNN梯度消失如何解决?
【问答卡片2】列举常用的损失函数及其在计算机视觉中的应用
🎯 面试官考察点:是否理解不同损失函数的数学背景、适用场景以及为何选择该损失函数。
📌 回答框架:1. 分类损失:交叉熵(CE) → 2. 回归损失:MSE、MAE → 3. 分割损失:Dice Loss、Focal Loss → 4. 检测损失:Smooth L1、Focal Loss → 5. 简要说明每个损失函数的优缺点。
✏️ 示例回答:交叉熵用于分类,梯度稳定;MSE对异常值敏感,回归中常用;Dice Loss直接优化交并比,解决类别不平衡;Focal Loss降低易分样本权重,适合密集检测。实际中常组合使用,如Focal + Dice。
🔎 可能追问:① Dice Loss为什么能缓解类别不平衡?② 为什么分类用CE而不用MSE?③ 自定义损失函数需要注意什么?
【问答卡片3】常用优化器有哪些?如何选择?SGD与Adam的区别
🎯 面试官考察点:是否掌握优化器原理、超参数作用,以及工业场景下的选择经验。
📌 回答框架:1. 分类:SGD系列(Momentum、Nesterov)、自适应系列(AdaGrad、RMSProp、Adam) → 2. 区别:固定学习率 vs 自适应步长,收敛速度 vs 泛化能力 → 3. 选择策略:小数据/非凸 → Adam;大数据/需要强泛化 → SGD+Momentum → 4. 超参数调整(lr、beta、weight decay)。
✏️ 示例回答:Adam结合动量与自适应学习率,收敛快且鲁棒,适合快速实验;SGD需要精心调参但泛化性能更优,常用于CV竞赛和部署。建议先用Adam跑通,再切换SGD+Momentum微调,配合Cosine衰减。
🔎 可能追问:① Adam为什么可能泛化差?② Adam的权重衰减(Weight Decay)应该放在哪里?③ 学习率衰减策略有哪些?