真实面经题目 · 原创解析

膨胀卷积和模型压缩分别解决什么问题?

膨胀卷积主要在不增加太多参数和不降低特征图分辨率的情况下扩大感受野,常用于分割、检测等需要上下文的视觉任务。模型压缩主要解决模型体积、推理延迟、显存和功耗问题,常见方法包括剪枝、量化、蒸馏、低秩分解和轻量化结构设计。

出现于:华为 · 算法

60 秒回答模板

先分别回答目标:膨胀卷积扩大感受野,模型压缩降低部署成本。再讲机制:膨胀卷积在卷积核元素之间插入间隔,压缩通过减少参数量、计算量或表示精度。最后结合实践说明取舍:膨胀率过大可能有栅格效应,压缩要在精度、速度和硬件友好性之间平衡。

考点 扩大感受野
难度 真实面经题
回答目标 讲清原理、实现和边界

深入解析

01

问题层

普通卷积要扩大感受野通常要堆更多层、用更大卷积核或下采样。前两者增加计算和参数,后者会损失空间分辨率;膨胀卷积在核元素之间引入间隔,让特征图尺寸基本不变时看到更大上下文,适合需要定位细节的任务。

02

机制层

dilation rate 决定相邻采样点在输入特征图上的距离。卷积核参数个数仍按 k×k 计算,但有效感受野随间隔扩大;因此它增加的是采样覆盖范围而不是直接增加权重数量,代价主要体现在访存模式和实现效率。

03

应用层

在语义分割、关键点、检测上下文建模等密集预测任务中,模型既要保留边界、位置等细节,又要理解较大范围语义。膨胀卷积常与多尺度分支或不同 dilation 组合使用,避免只依赖单一尺度上下文。

04

压缩层

模型压缩解决的是部署约束:模型文件太大、显存或内存占用高、吞吐不足、端侧功耗高、在线服务延迟不达标。它不等于单纯追求参数少,而是让精度、速度、资源占用和硬件支持在目标场景下达到平衡。

05

方法层

常见路径要区分减少什么成本:结构化剪枝减少通道或模块,便于真实加速;量化降低权重和激活精度,依赖硬件指令支持;蒸馏把大模型的 logits 或中间特征迁移给小模型;低秩分解和轻量算子用于替换重计算模块。

06

验证层

验证时不能只报参数量或 FLOPs。需要在目标推理框架和硬件上测端到端延迟、吞吐、峰值内存、精度下降、校准误差和不同 batch size 表现;有些剪枝会造成不规则稀疏,理论计算量下降但实际不一定更快。

易错点

  • 把膨胀卷积说成单纯减少参数量的方法。
  • 只背模型压缩名词,没有说明每种方法减少什么成本。
  • 只看理论 FLOPs,不考虑真实部署延迟。
  • 忽略膨胀卷积在密集预测中保留分辨率的价值。

面试官追问

膨胀卷积为什么可能出现栅格效应?

膨胀率过大时采样点间隔变大,局部连续信息没有被充分覆盖,多层相同 dilation 叠加会形成不连续的采样网格。

剪枝和量化各自更适合什么部署场景?

剪枝适合去除冗余通道或结构,量化适合降低存储和计算精度;是否提速取决于硬件和推理框架是否支持。

知识蒸馏的 teacher 和 student 输出如何对齐?

常见做法是让 student 学 teacher 的 soft logits、特征层或注意力图,同时保留真实标签监督,兼顾精度和泛化。

数据增广如何避免改变图像任务标签语义?

增广要与任务标签保持一致,例如分类可做颜色和裁剪扰动,检测和分割必须同步变换框或 mask,不能把目标裁掉后仍保留原标签。