07 · 第 7 讲:卷积神经网络

← 返回课程目录

来源说明:本文由 AI 根据课程课件整理生成。学习和引用时请结合原课件核实。

本文目录

本文最后更新于 2026年11月9日 下午

北京大学《机器学习概论》(2026 秋)的课程笔记。

第七讲:一张图片里,同一条边缘出现在左上角或右下角,识别它真的需要两套完全不同的参数吗?

卷积网络的想法是让同一个小滤波器在整张图上移动。这样既减少参数,也保留了像素之间的空间关系。

第 1 章:卷积的两条归纳偏置

图像相邻像素相关,局部边缘和纹理可在不同位置重复出现。卷积层只连接局部感受野,并让同一个卷积核在空间位置共享权重。相对全连接层,它显著减少参数量,并具有平移等变性:输入平移后,特征图通常相应平移。

等变不等于不变;池化和全局汇聚等操作才会增强对小位移的不敏感。

若输入为 H×W×CinH\times W\times C_{in}、卷积核大小 Kh×KwK_h\times K_w、输出通道 CoutC_{out},参数数目约为 KhKwCinCout+CoutK_hK_wC_{in}C_{out}+C_{out},不随图像宽高直接增长。

一个输出通道由跨全部输入通道的一组核组成,不能把“一个二维核”误当成完整多通道卷积。

第 2 章:输出尺寸、填充与感受野

单维输出尺寸为 ⌊(H+2P−K)/S⌋+1\lfloor(H+2P-K)/S\rfloor+1,其中 PP 是两侧填充,SS 是步长。步长控制采样密度,零填充影响边界信息和空间尺寸。

多层 3×33\times3 卷积能直观看出 padding 的作用:对 9×99\times9 输入连续做四层步长 1 卷积,有填充时尺寸可保持 9×99\times9;没有填充则依次缩成 7,5,3,17,5,3,1,边缘信息很快丢失。

堆叠小核既扩大理论感受野,也插入更多非线性;实际有效感受野的贡献通常集中在理论范围的一部分。

第 3 章:基本网络与训练

常见结构是若干卷积、激活、归一化与池化层后接任务输出层。最大池化保留窗口内最大的响应,平均池化做局部汇总;池化没有可学习权重,反向传播时最大池化只把梯度送给前向最大值的位置。

卷积核在多个位置被重复使用,因此求某个核权重的梯度要把所有使用该权重的位置贡献相加。实现通常交给自动微分,但理解这种梯度累积很有助于排错。

第 4 章:经典架构与变体

课件介绍更深的卷积网络、Inception 的多尺度分支、ResNet 的残差块以及 SENet 的通道重标定。共同目标是让网络在增加表达能力时仍可训练、计算可控。

转置卷积可扩大空间分辨率,但它是对应线性卷积算子的转置操作,不是原卷积的逆。深度可分离卷积先按通道做空间卷积,再用 1×11\times1 卷积混合通道,从而减少计算;代价是结构约束更强。

第 5 章:手算一次卷积尺寸和参数量

拿 32×32×332\times32\times3 的图片做例子,第一层放 16 个 3×33\times3 卷积核,步长为 1、两侧各填充 1。

  1. 宽高:⌊(32+2−3)/1⌋+1=32\lfloor(32+2-3)/1\rfloor+1=32。
  2. 通道:一个卷积核产生一个输出通道,16 个核产生 16 个通道,所以输出为 32×32×1632\times32\times16。
  3. 参数:每个核要覆盖输入的 3 个通道,共 3⋅3⋅3⋅16+16=4483\cdot3\cdot3\cdot16+16=448 个参数;最后的 16 是偏置。

再接一层 3×33\times3 卷积、输出 32 通道,就需要 3⋅3⋅16⋅32+32=46403\cdot3\cdot16\cdot32+32=4640 个参数。

注意图片宽高并没有进入参数量公式,但会影响卷积要执行多少次。分辨率翻倍,计算和中间特征图占用的内存都会明显增加。

叠加两层步长 1 的 3×33\times3 卷积,单个输出的理论感受野为 5×55\times5;再叠一层则为 7×77\times7。这与直接使用大核相比,多了非线性变换,也常能节省参数。

感受野公式要同时考虑步长和膨胀率;前面层有下采样时,后面一个位置对应输入中更大的区域。

第 6 章:反向传播为什么需要“累加”

一维示意:zi=∑kwkxi+kz_i=\sum_kw_kx_{i+k}。

同一个 wkw_k 被所有位置复用,所以 ∂L/∂wk=∑i(∂L/∂zi)xi+k\partial L/\partial w_k=\sum_i(\partial L/\partial z_i)x_{i+k}。

输入 xjx_j 也可能进入多个输出,∂L/∂xj\partial L/\partial x_j 需把所有相关路径求和。二维多通道只是将位置与通道索引扩展。

最大池化的反向传播则把输出梯度送回前向窗口的最大元素位置;若并列最大值,具体分配由实现的规则决定。

第 7 章:几种结构的计算取舍

普通卷积从 CinC_{in} 到 CoutC_{out} 的核参数约 K2CinCoutK^2C_{in}C_{out}。

深度可分离卷积先对每个输入通道各用一个 K×KK\times K 核,再用 1×11\times1 核混合通道,参数约 K2Cin+CinCoutK^2C_{in}+C_{in}C_{out};当通道数大时可显著减少参数。

转置卷积常用于上采样,其输出尺寸受步长、填充和 output padding 共同影响;它只是卷积线性算子的转置,不能恢复被下采样丢弃的原始信息。

第 8 章:从经典网络看设计思路

较早的卷积网络通常交替使用卷积与池化,再用全连接层分类。层数加深后,可用多个小卷积核代替单个大核;Inception 在同一层设置不同尺度的分支,让网络同时看局部与较大范围。

ResNet 的残差块学习对输入的修正 F(x)F(x),输出 x+F(x)x+F(x),使很深的网络更易优化;当通道数很多时,瓶颈块借助 1×11\times1 卷积先降维、再做空间卷积、最后升维。

SENet 先汇聚每个通道的全局信息,再学习通道权重,相当于让网络按输入内容决定更重视哪些特征通道。

第 9 章:图像空间结构能提供多少“不变性”

共享卷积核使特征检测具有平移等变性,但边界填充、步长和池化会改变严格的等变关系。图像旋转不变性也不会从普通卷积自动得到,通常需要数据增强、特殊结构或训练数据覆盖旋转情况。

把这些归纳偏置当作“帮助学习的假设”比当作绝对保证更准确。

局部连接让网络先看附近像素,参数共享让同一种特征能在不同位置被检测到,层叠卷积和池化再把局部信息逐渐汇总成更大的图像结构。

补充:卷积层和全连接层并非绝对对立

全连接层可看成覆盖整个输入的一次卷积;例如对 7×7×5127\times7\times512 输入输出 4096 个数的全连接层,等价于 4096 个 7×7×5127\times7\times512 卷积核。反过来,卷积更强调局部连接与共享参数。这个视角能解释为什么分类网络末端可用卷积和全局平均池化替代大规模全连接层。


第 7 讲:卷积神经网络
https://yjyxfcy.github.io/2026/11/03/itml7/
作者
Yjy
发布于
2026年11月3日
更新于
2026年11月9日
许可协议