第4章 卷积神经网络(CNN)面试题
本章定位:掌握 CNN 核心原理、经典网络结构、感受野计算、分组卷积等高频面试点,具备从理论推导到工程落地的结构化表达能力。
经典 CNN 网络对比(面试知识底座)
| 网络 | 年份 | 核心创新 | 参数量 | 典型应用 |
|---|---|---|---|---|
| LeNet-5 | 1998 | 首次使用卷积+池化+全连接 | ~60K | 手写数字识别 |
| AlexNet | 2012 | ReLU、Dropout、LRN、GPU并行 | ~60M | ImageNet分类 |
| VGG | 2014 | 连续小卷积核(3×3)堆叠 | ~138M | 特征提取、迁移学习 |
| GoogLeNet | 2014 | Inception模块、1×1降维 | ~7M | 分类、目标检测 |
| ResNet | 2015 | 残差连接、解决退化问题 | ~25M | 分类、分割、检测 |
高频面试问答卡片
📌 面试问题 1:如何计算卷积神经网络的感受野?请以 VGG 为例说明。
面试官考察点:是否掌握感受野递推公式、能否从底层原理推导、是否理解感受野与网络设计的关系。
回答框架:① 定义感受野(输出特征图上像素对应输入区域大小);② 递推公式:RF(l) = RF(l-1) + (kernel - 1) * stride_product;③ 举例:VGG 堆叠 3×3 卷积,每层 stride=1,叠加后感受野线性增长;④ 总结感受野与网络深度的 trade-off。
示例回答(80字):感受野指输出像素在输入上的映射区域。递推公式:RFₗ = RFₗ₋₁ + (kₗ - 1) × ∏i=1l-1 sᵢ。以 VGG 为例,连续两个 3×3 conv(stride=1)得到 5×5 感受野,相当于一个 5×5 卷积,但参数量更少(18 vs 25)。
可能追问:① 空洞卷积对感受野的影响?② 如何用感受野解释 Inception 模块的设计?
公司侧重点:字节跳动常结合图像分割(DeepLab 空洞卷积)追问;美团关注移动端感受野设计。
面试官画像总结:技术深度型,希望感受野推导能脱口而出,并且能联系实际网络设计。
📌 面试问题 2:分组卷积相比普通卷积有什么优缺点?在 MobileNet 中如何应用?
面试官考察点:是否理解分组卷积的计算量减少原理、分组数与效果的关系、能否解释深度可分离卷积是分组卷积的极端情况。
回答框架:① 基本概念:输入通道 C_in 分为 G 组,每组独立卷积,输出通道 C_out 也分组;② 计算量对比:普通卷积 O(C_in×C_out×k²×H×W),分组卷积 O(C_in×C_out×k²×H×W/G);③ 优点:降低参数量和计算量,适合移动设备;缺点:组间信息隔离;④ MobileNet 深度可分离卷积 = 分组数 = C_in 的分组卷积 + 1×1 逐点卷积。
示例回答(95字):分组卷积将输入通道分为G组,每组独立卷积,计算量降为普通卷积的1/G。优点是轻量化,适合移动端;缺点是组间无信息交互。MobileNet 的深度可分离卷积本质上是分组卷积(G=C_in)再加1×1融合,极大减少计算量,适合实时场景。
可能追问:① ShuffleNet 如何解决组间信息隔离?② 分组卷积对模型精度影响?
公司侧重点:快手、字节在短视频推荐模型中使用轻量化 CNN;华为强调异构计算下分组卷积的并行优势。
面试官画像总结:工程落地导向,看重对移动端部署的实践经验。
📌 面试问题 3:请比较 VGG 和 ResNet 的核心区别,并说明残差连接为什么有效。
面试官考察点:对网络发展脉络的理解、残差连接的理论解释(梯度传播、恒等映射)、实际训练中的表现。
回答框架:① 结构差异:VGG 纯卷积堆叠,ResNet 引入残差块(跳跃连接);② 残差作用:前向恒等映射、反向梯度直达(缓解梯度消失);③ 数学本质:拟合残差比拟合恒等函数更容易;④ ResNet 可以训练更深(100+层),VGG 加深则退化。
示例回答(90字):VGG 通过简单堆叠 3×3 卷积加深网络,但存在退化问题;ResNet 引入残差连接 F(x)+x,使梯度直接反传,从而能训练超过 100 层。残差连接让网络学习更易的恒等映射,同时保留非线性变换能力,在 ImageNet 上 top-1 错误率降低约 3%。
可能追问:① BN 层放在残差块前还是后?主流做法?② Pre-activation ResNet 的区别。
公司侧重点:腾讯、百度常将 ResNet 作为对比基线,要求分析变体(ResNeXt、WideResNet)。
面试官画像总结:基础扎实型,希望候选人能用一两句话点出本质差异。