
视频元信息
- 课程系列:吴恩达深度学习专项课程 - 卷积神经网络(CNN) - 2.8 MobileNet
- 视频时长:约 16 分钟
- 本视频核心主题:深度可分离卷积(Depth-wise Separable Convolution)的原理与计算成本分析
内容摘要(TL;DR)
本视频是 MobileNet 系列的第一讲,重点讲解深度可分离卷积(Depth-wise Separable Convolution)这一 MobileNet 的核心构件。深度可分离卷积由深度卷积(Depth-wise Convolution)和逐点卷积(Point-wise Convolution)两步组成,可以在保持与普通卷积相同输入输出维度的前提下,将计算量降低约 3~10 倍(一般公式为 1/nc' + 1/f²),从而让神经网络能在手机等低算力设备上高效推理。
一、为什么需要 MobileNet [00:29]
要点总结
- 目前学过的许多神经网络架构(如 ResNet、Inception)计算成本非常高。
- 如果希望在部署时让网络跑在 CPU/GPU 算力较弱的设备(如手机)上,就需要一种更高效的架构。
- MobileNet 正是为此设计,可以在低算力环境中运行。
详细说明
视频开头回顾了此前学过的 ResNet 和 Inception Net,指出它们虽然性能优秀,但计算量巨大,不适合移动端部署。MobileNet 的目标就是解决"低算力设备上的高效推理"问题。
本视频的重点不是 MobileNet 整体结构,而是其核心构件——深度可分离卷积。 下一讲才会用这个构件搭建完整的 MobileNet。
思考:这一动机与后来的 EfficientNet、MobileNetV2/V3 一脉相承,本质是"在精度与算力之间做权衡"的工程思路。
二、回顾普通卷积及其计算成本 [01:08]
要点总结
- 输入:6×6×3(n×n×nc,nc=3 通道)
- 滤波器:3×3×3(f×f×nc)
- 无 padding,stride=1 → 输出 4×4
- 若有 nc'=5 个滤波器 → 输出 4×4×5
- 普通卷积总计算量 = 3×3×3 × 4×4 × 5 = 2160 次乘法
详细说明
普通卷积中,每个 3×3×3 滤波器覆盖输入的一个 3×3×3 区域,需要做 27 次乘法并求和,得到一个输出值。滤波器在输入上滑动,共覆盖 4×4=16 个位置,得到 4×4 的输出。若有 5 个滤波器,则输出通道数为 5,最终输出 4×4×5。
计算量公式(普通卷积):
计算量 = (f × f × nc) × (n_out × n_out) × nc'
= (3×3×3) × (4×4) × 5
= 27 × 16 × 5
= 2160
记住 2160 这个数字,视频后面会用它作为对比基准,验证深度可分离卷积能省多少计算量。
理解:这个公式的三项分别对应"每个滤波器位置的乘法次数"、"滤波器位置数量"、"滤波器个数"。
三、深度可分离卷积的两步结构 [04:14]
要点总结
深度可分离卷积与普通卷积不同,它由两个步骤组成:
- 深度卷积(Depth-wise Convolution)——先做
- 逐点卷积(Point-wise Convolution)——后做
两步合起来构成完整的"深度可分离卷积"。
易错点:深度可分离卷积 ≠ 深度卷积。 深度卷积只是第一步,必须加上逐点卷积才是完整的深度可分离卷积。
理解:这种"先空间、后通道"的分解思路,本质是把普通卷积中"空间相关"和"通道相关"的耦合计算拆开,从而减少冗余乘法。
四、第一步:深度卷积(Depth-wise Convolution)[04:39]
要点总结
- 输入:6×6×3(n×n×nc,nc=3)
- 滤波器:f×f(只有 3×3,不再是 3×3×nc)
- 滤波器数量 = nc = 3
- 每个滤波器只作用于对应的一个输入通道
- 输出:4×4×3(n_out×n_out×nc)
详细说明
深度卷积的关键区别在于:滤波器不再跨通道。具体流程:
- 红色滤波器(3×3)只作用于第 1 个输入通道,做 9 次乘法(不是 27 次),滑动 16 个位置,得到输出的第 1 个通道(4×4)。
- 绿色滤波器只作用于第 2 个输入通道,得到输出第 2 个通道。
- 蓝色滤波器只作用于第 3 个输入通道,得到输出第 3 个通道。
深度卷积计算量公式:
计算量 = (f × f) × (n_out × n_out) × nc
= (3×3) × (4×4) × 3
= 9 × 16 × 3
= 432
易错点:深度卷积每个位置只需 9 次乘法(3×3),而不是普通卷积的 27 次(3×3×3)。 这是节省计算量的第一个来源。
理解:深度卷积只做"空间滤波",不做"通道融合",所以每个通道独立处理,通道之间没有信息交互。
五、第二步:逐点卷积(Point-wise Convolution)[08:19]
要点总结
- 输入:4×4×3(上一步的中间结果)
- 滤波器:1×1×nc(即 1×1×3)
- 滤波器数量:nc' = 5
- 输出:4×4×5(n_out×n_out×nc')
详细说明
逐点卷积的作用是跨通道融合信息。它使用 1×1 的滤波器,但滤波器深度等于输入通道数(3):
- 取一个 1×1×3 的粉色滤波器,放在左上角位置,做 3 次乘法并求和,得到一个输出值。
- 滑动到下一个位置,重复操作,直到填满 16 个位置,得到 4×4 的输出。
- 使用 5 个这样的滤波器,最终得到 4×4×5 的输出。
逐点卷积计算量公式:
计算量 = (1 × 1 × nc) × (n_out × n_out) × nc'
= (1×1×3) × (4×4) × 5
= 3 × 16 × 5
= 240
逐点卷积本质是 1×1 卷积,它在深度卷积之后恢复通道数(从 nc 变到 nc'),同时实现通道间的线性组合。
理解:逐点卷积相当于对每个空间位置做一个全连接层(跨通道),这与 1×1 卷积的作用完全一致。
六、计算成本对比与节省比例 [11:17]
要点总结
| 操作 | 计算量(乘法次数) |
|---|---|
| 普通卷积 | 2160 |
| 深度卷积 | 432 |
| 逐点卷积 | 240 |
| 深度可分离卷积合计 | 432 + 240 = 672 |
节省比例:672 / 2160 ≈ 0.31,即约 31% 的计算量,节省约 3 倍。
详细说明
在 6×6×3 输入、4×4×5 输出的例子中,深度可分离卷积只需 672 次乘法,而普通卷积需要 2160 次,前者约为后者的 31%,实现了约 3 倍的计算节省。
通用公式(来自 MobileNet 论文):
深度可分离卷积成本 / 普通卷积成本 = 1/nc' + 1/f²
在本例中:1/5 + 1/3² = 1/5 + 1/9 ≈ 0.31
更典型的神经网络场景:nc' 通常很大(如 512),则:
1/512 + 1/9 ≈ 0.113
典型情况下,深度可分离卷积的计算成本约为普通卷积的 1/9,即约 10 倍效率提升。 这就是它成为 MobileNet 核心构件的原因。
推导:通用公式中,1/nc' 在输出通道数很大时趋近于 0,主要成本来自 1/f²。当 f=3 时,1/9 ≈ 0.11,即约 9 倍节省。
思考:这个公式揭示了一个重要洞察——卷积核越大,深度可分离卷积的相对收益越明显;输出通道越多,1/nc' 项越小,节省越显著。
七、关于滤波器图示的说明(易错点)[13:38]
要点总结
- 深度可分离卷积适用于任意数量的输入通道。
- 若输入为 6 通道,则 nc=6,滤波器为 3×3×6,中间输出为 4×4×6。
- 视频中为了简化后续图示,即使通道数很大,仍用"3 个滤波器堆叠"的图标来表示深度卷积。
- 逐点卷积同理,即使 nc 很大,仍用"3 个粉色滤波器"的图标表示。
详细说明
视频特别提醒:在标准图示中,如果 nc=6,深度卷积滤波器应该是 3×3×6,但为了下一讲的图示看起来更简洁,吴恩达老师会沿用"3 个滤波器堆叠"的图标来代表深度卷积,这只是一个符号化的图标,而不是字面意义上只有 3 个通道。
易错点:看到"3 个滤波器堆叠"的图标时,不要以为通道数一定是 3。 这只是简化符号,实际通道数由输入决定。
理解:这种"符号化绘图"在教学视频中很常见,目的是避免图示过于复杂。学习时要区分"图示符号"和"实际数学含义"。
八、本讲总结与下讲预告 [15:50]
要点总结
- 深度可分离卷积包含两个主要步骤:深度卷积 + 逐点卷积。
- 它可以设计成与普通卷积相同的输入和输出维度。
- 但计算成本大幅降低(典型约 1/9)。
- 下一讲将用这个构件搭建完整的 MobileNet。
详细说明
本视频完成了深度可分离卷积的完整推导和计算量分析。核心结论是:通过把普通卷积分解为"深度卷积(空间滤波)+ 逐点卷积(通道融合)",可以在保持输入输出维度不变的前提下,将计算量降低约 3~10 倍。下一讲将把这个构件组装成 MobileNet 架构。
关键概念速查
- 深度可分离卷积(Depth-wise Separable Convolution):由深度卷积和逐点卷积两步组成的卷积操作,用于降低计算量。
- 深度卷积(Depth-wise Convolution):每个滤波器只作用于一个输入通道,滤波器尺寸为 f×f,滤波器数量等于输入通道数 nc。
- 逐点卷积(Point-wise Convolution):使用 1×1×nc 的滤波器进行跨通道融合,滤波器数量为输出通道数 nc'。
- 计算量对比公式:深度可分离卷积 / 普通卷积 = 1/nc' + 1/f²。
- MobileNet:以深度可分离卷积为核心构件的轻量级 CNN 架构,面向移动端和低算力设备。
关键标签 / 关键词
吴恩达深度学习 #MobileNet #深度可分离卷积 #深度卷积 #逐点卷积 #CNN #轻量级网络 #移动端部署 #计算量优化 #卷积神经网络 #1x1卷积 #模型压缩 #低算力推理
生成时间:2026-10-10 23:03:02 生成平台:VideoNote www.xygy.top