把模型塞进手机:MobileNet 们掀起的“轻量化”运动
// TL;DR
- 深度可分离卷积把标准卷积拆成两步,计算量降到 1/8~1/9。
- 宽度乘子等旋钮让一个架构覆盖从云端到手表的算力谱。
- “准确率/算力”比单纯准确率更适合做产品决策指标。
风向变了
过去几年刷 ImageNet 的逻辑是“更深更大更准”,ResNet 一口气堆到 152 层。但当大家真要把模型放进手机 App、监控摄像头、智能音箱时,发现一个朴素的事实:再准的模型,跑不动也是零分。于是 MobileNet、ShuffleNet 这一波轻量化架构密集出现,主题只有一个——在算力预算内把准确率榨到最高。
核心招式:深度可分离卷积
标准卷积一步干两件事:在空间上滤波 + 在通道间混合。深度可分离卷积把它拆开——先每个通道单独做空间卷积(depthwise),再用 1×1 卷积做通道混合(pointwise)。同样的感受野,计算量降到原来的八九分之一,精度只掉一点点。
# 标准卷积: Dk·Dk·M·N·Df·Df 次乘加
# 深度可分离: Dk·Dk·M·Df·Df + M·N·Df·Df
# 比值 ≈ 1/N + 1/(Dk^2),N 大时约等于 1/9(3x3)
产品视角
轻量化运动给我最大的启发是评价指标的转变:学术界比 top-1 准确率,工业界要比的是“准确率 / 延迟 / 功耗 / 内存”这张综合账单。一个 75% 准确率但能在千元机上实时跑的模型,产品价值常常高于 80% 准确率但只能上云的模型——因为前者能做到隐私不出端、零网络延迟、零推理成本。做 AI 产品的人,得学会算这笔账。