
视频元信息
- 课程:吴恩达深度学习专项课程(Deep Learning Specialization)—— 卷积神经网络(CNN)第四周
- 章节:2.5 网络中的网络(Network in Network)及 1x1 卷积
- 时长:约 6 分 40 秒(398.5s 处结束)
- 语言:英文原声(官方中英字幕)
内容摘要(TL;DR)
本节讲解 1x1 卷积(又称 Network in Network)的原理与作用。虽然对单通道图像它只是乘以一个数,看似无用,但在多通道输入下,它相当于在每个空间位置上施加一个小型全连接网络,能实现跨通道的信息整合与非线性变换,并灵活地压缩、保持或增加通道数,从而降低计算量。这一思想深刻影响了后续的 Inception 网络等架构。
一、1x1 卷积的直观疑问 [00:00]
吴恩达开篇指出,在设计卷积网络架构时,1x1 卷积(one-by-one convolution)是一个非常有价值的思想。
常见疑问:1x1 卷积到底在做什么?不就是把输入乘以一个数吗?这看起来像是个奇怪的操作。
结论先行:对单通道图像确实如此,但对多通道输入,它做的事情远非平凡。
二、单通道情形:确实只是数乘 [00:20]
以一个 6×6×1 的输入为例:
- 使用一个 1x1 的滤波器,里面放数字 2;
- 卷积结果就是把输入的每个元素乘以 2;
- 例如
1, 2, 3变成2, 4, 6,以此类推。
结论:在单通道情况下,1x1 卷积只是简单的数乘,看起来并不特别有用。
理解:这一步是吴恩达故意设置的"反例",先让你觉得它没用,再揭示多通道下的强大作用,形成认知反差。
三、多通道情形:真正的价值所在 [00:53]
当输入从 6×6×1 变为 6×6×32 时,1x1 卷积开始发挥真正的作用。
3.1 具体运算过程
- 输入体积有 36 个空间位置(6×6);
- 对每一个位置,取出该位置上的 32 个通道数值;
- 用 1×1×32 的滤波器(32 个权重)与这 32 个数做逐元素乘积再求和;
- 对结果施加非线性激活函数;
- 得到该位置对应的一个实数输出,填入输出体积的对应位置。
3.2 神经元视角(关键理解)
重点:可以把 1×1×32 滤波器中的 32 个数理解为一个神经元:
- 输入:同一空间位置上、跨 32 个通道的 32 个数值;
- 运算:这 32 个数分别乘以 32 个权重;
- 激活:施加非线性函数;
- 输出:一个对应位置的标量。
推导:这本质上就是一个作用于"通道维度"的全连接层。空间位置(高、宽)不变,只在通道方向做全连接。
3.3 多滤波器情形
如果有多个滤波器(比如输出通道数为 #filters):
- 相当于不止一个神经元,而是多个神经元同时作用于每个空间位置;
- 输入每个位置的全部通道数值,输出
#filters个值; - 最终输出体积维度为 6×6×#filters。
核心结论:1x1 卷积 = 在每个空间位置上应用一个全连接神经网络。
- 输入:32 个数(该位置的通道数);
- 输出:
#filters个数; - 用记号表示,若这是第 l 层,则输出通道数为 $n_c^{[l+1]}$。
理解:这就是为什么它被称为"Network in Network"(网络中的网络)——相当于在网络内部嵌入了一个微型全连接网络。
四、命名与学术背景 [03:36]
- 这个操作通常称为 1x1 卷积(1 by 1 convolution);
- 也常被称为 Network in Network(网络中的网络);
- 出自论文:Min Lin, Qiang Chen, Shuicheng Yan 所著《Network In Network》。
考点:论文的架构细节虽未被广泛采用,但其 1x1 卷积 / Network in Network 的思想极具影响力,影响了包括 Inception 网络在内的众多后续架构。
拓展:Network in Network 论文(2013,arXiv:1312.4400)首次提出用 1x1 卷积替代传统线性卷积,并引入全局平均池化(Global Average Pooling),是深度学习架构史上的经典论文之一。
五、典型应用:压缩通道数 [04:12]
5.1 问题场景
- 假设有一个 28×28×192 的输入体积;
- 如果想压缩高度和宽度,用池化层即可(已知方法);
- 但如果通道数太大(192)需要压缩,池化层无能为力——它只改变高和宽,不改变通道数。
5.2 解决方案
使用 32 个 1x1 滤波器:
- 每个滤波器的维度实际为 1×1×192(滤波器通道数必须与输入通道数匹配);
- 使用 32 个这样的滤波器;
- 输出体积为 28×28×32。
重点:这是一种压缩通道数(shrink the number of channels)的方法,同时保持高度和宽度不变。
5.3 对比总结
| 操作 | 作用维度 | 效果 |
|---|---|---|
| 池化层(Pooling) | 高、宽 | 压缩空间尺寸,通道数不变 |
| 1x1 卷积 | 通道 | 压缩/保持/增加通道数,空间尺寸不变 |
思考:这正是 1x1 卷积在 Inception 网络中降低计算量的核心用途——先用 1x1 卷积把通道数"降维",再做昂贵的 3x3、5x5 卷积,从而大幅节省算力。
六、其他作用:保持或增加通道数 [05:31]
1x1 卷积不仅用于压缩,还可以:
- 保持通道数不变:如输入 28×28×192,输出仍为 28×28×192;
- 此时其作用主要是引入非线性(non-linearity);
- 通过增加一层,让网络能学习更复杂的函数。
- 增加通道数:如果使用多于输入通道数的滤波器,即可扩充通道维度。
核心总结:1x1 卷积层做的事情相当非平凡:
- 为网络添加非线性;
- 让通道数可以减少、保持不变或增加。
七、承上启下 [06:09]
- 1x1 卷积的这些特性,使其成为构建 Inception 网络的关键工具;
- 下一节视频将讲解如何利用它来构建 Inception 网络。
关键要点回顾
易错点提醒:
- 不要因为单通道下 1x1 卷积"只是数乘"就低估它——多通道才是重点。
- 滤波器通道数必须等于输入通道数(1×1×192 对应 192 通道输入)。
- 1x1 卷积不改变高和宽,只作用于通道维度;压缩空间尺寸要用池化层。
- 1x1 卷积不只是降维,它还能保持或增加通道数,并引入非线性。
- 核心思想:1x1 卷积 = 在空间每个位置上施加一个全连接小网络(Network in Network)。
- 三大功能:压缩通道、保持通道、增加通道 + 引入非线性。
- 主要用途:降低计算量(如 Inception 网络中的瓶颈层)。
- 学术来源:Lin, Chen, Yan《Network In Network》。
关键标签 / 关键词
1x1卷积 Network in Network 网络中的网络 通道压缩 降维 非线性 Inception网络 CNN架构 吴恩达深度学习 卷积神经网络 全连接层 计算量优化
生成时间:2026-10-10 22:59:12 生成平台:VideoNote www.xygy.top