921 字
5 分钟
从零开始深度学习 Day 2 CNN 卷积神经网络

有犹豫是否要在 Kaggle 上先实践一下简单的 MLP 项目,但是想了想还是先推进度。

从 MLP 到 CNN#

为什么 MLP 不适合图像任务#

  • 参数多、训练慢、容易过拟合、占用内存大
  • 将图像展平成向量,丢失空间结构信息
  • CNN 通过局部连接和参数共享,更高效地学习空间特征

适合计算机视觉的神经网络架构#

  • 参数共享(减少参数数量)

  • 局部感受野(关注局部特征)

  • 平移不变性(增强泛化能力)

相关知识#

卷积#

(fg)(x)=f(z)g(xz)dz(f \star g)(x)=\int f(z) g(x-z) dz

当为离散对象时,积分就变成求和。

(fg)(i)=af(i)g(ia)(f \star g)(i) = \sum_a f(i) g(i-a)

当对象为 n 维张量:

(fg)(i,j)=abf(i,j)g(ia,jb)(f \star g)(i,j) = \sum_a \sum_b f(i,j) g(i-a, j-b)

互相关运算#

为了理解,我们只考虑 n=2n = 2

假设输入图像为:

I=[123456789]I = \begin{bmatrix} 1 & 2 & 3\\ 4 & 5 & 6\\ 7 & 8 & 9 \end{bmatrix}

卷积核为:

K=[1001]K = \begin{bmatrix} 1 & 0\\ 0 & -1 \end{bmatrix}

滑动卷积后输出:

S=[(1×1+2×0+4×0+5×(1))]S = \begin{bmatrix} (1×1 + 2×0 + 4×0 + 5×(-1)) & \dots\\ \dots & \dots \end{bmatrix}

结果代表图像在不同区域的特征响应。

卷积核(滤波器)#

CNN 通过学习权重自动生成滤波器。

填充与步幅#

  • 填充 0:保持尺寸
  • 步幅:控制滑动间距(水平/垂直)

多通道输入#

每个卷积核对多通道输入做加权求和。

汇聚层(Pooling)#

  • Max pooling / Avg pooling:降维、增强鲁棒性

经典 CNN#

LeNet#

来自上个世纪的网络。

使用卷积层提取空间信息

使用全连接层转换到类别空间

lenet

  • 早期 CNN 原型:卷积 \rarr 池化 \rarr 卷积 \rarr 池化 \rarr 全连接
  • 输出通道数 = 卷积核数
  • 池化降低特征敏感度 端到端

AlexNet#

  • 深度学习的开端
  • 使用 ReLUDropoutCUDA 并行 提升性能

VGG#

  • 模块化结构:8 个卷积层 + 3 个全连接层
  • 通道数逐层倍增至 512
  • 简洁、规则,是现代 CNN 基础

NiN#

如果使用了全连接层,可能会完全放弃表征的空间结构.

那我们用 1×11\times 1的块就好了。

1×11 \times 1 卷积核#

y=Wx+by = Wx + b

对输入的每个像素位置,独立地进行通道上的线性组合

GoogLeNet#

  • 引入 Inception 结构
  • 多尺度卷积并行,提高特征提取效率

ResNet#

f(x)=x+g(x)f(x) = x + g(x)

为了解决“增加网络深度但效果反而变差”的问题,ResNet 引入了残差连接

不直接学习目标函数,而是学习一个残差函数:

H(x)=F(x)xH(x) = F(x) - xFres=xF(x)+xFF\mathcal{F}_{res} = { x \mapsto F(x) + x \mid F \in \mathcal{F} }

增加层数不会破坏已有的逼近能力,只会让模型“潜在地”学到更多复杂特征.

通过跨层数据通路,跳过这2个卷积运算,将输入直接加在最后的ReLU激活函数前

DenseNet#

进一步强化特征重用(Feature Reuse) ResNet 允许部分特征重用(通过加法), DenseNet 允许所有特征重用(通过拼接)。

改善梯度流动(Better Gradient Flow) 在 DenseNet 中,每一层都有来自所有之前层的“直达梯度路径”, 因此训练更加稳定,梯度消失问题更轻。

减少参数(Parameter Efficiency) 因为每层都能访问早期特征,不需要重复学习相似的表示。 在相同性能下,DenseNet 通常比 ResNet 参数更少。

具有更强的正则化效果 DenseNet 的特征复用具有“隐式正则化”作用,减少过拟合。

相关学习资料#

从零开始深度学习 Day 2 CNN 卷积神经网络
https://blog.candlest.cc/posts/ai/cnn/
作者
candlest
发布于
2025-10-18
许可协议
CC BY-NC-SA 4.0