卷积、归一化和池化


卷积可以用于特征提取,归一化可以用于提高模型的泛化能力,池化可以用于减少特征的维度。

卷积

卷积的目的,在于特征的提取。它的参数包括:

  • 输入通道数:输入的特征图的通道数,例如RGB图像的通道数为3。
  • 卷积核的个数 K(Number of Filters):卷积核的个数,即输出通道数
  • 卷积核的大小 F(Filter Size):卷积核的大小,例如3x3。
  • 步长 S(Stride):卷积核每次移动的步长。
  • 填充 P(Padding):在特征图的边缘填充。

K=1,F=3,S=1,P=0

上图,使用了3个卷积核,每个卷积核的步长为1,填充为0。卷积计算公式为:

我们可以把一维卷积理解为:

  1. 滑动窗口:卷积核在输入数据上滑动,每次覆盖一部分数据。
  2. 加权求和:每个窗口的数值乘以权重(卷积核),然后相加。
  3. 特征提取:通过卷积核的不同权重,可以检测输入信号中的模式或趋势。

K=2,F=3,S=2,P=1

归一化

归一化的目的,在于提高模型的泛化能力。它就像是给神经网络添加了一个“稳定器”,让模型更好地学习数据的本质特征,而不是被噪声干扰。下面,以 Batch Normalization 为例。

公式的每个部分都在服务于一个目标:让数据分布更加稳定,同时保持网络的表达能力。这就像是在管理一个复杂的信号处理系统,每个参数都有其特定的调节作用。

如上图示,如果输入值的尺度相差过大,或者分布不均匀,会导致尺度大的输入值对模型的影响更大,尺度较小的影响可能会被淹没,从而导致模型的训练不稳定。

正则化和归一化有相似之处,都在某种程度上约束了数值的取值范围。但是它们解决了不同的问题:

  • 归一化是针对输入数据,让学习过程更加平稳和公平。
  • 正则化是针对模型参数,让模型更加简单和泛化,解决过拟合问题。

池化

池化,本质上就是一个过滤器。它将一个区域的数据压缩(聚合)成一个值,而压缩的本质,就是一个降维的过程。这种处理,有利于减少特征的维度,提高模型的训练速度,同时,也有利于提高模型的泛化能力,增强模型的抗干扰能力。

降维通常可以通过两种方式实现:

  1. 最大池化,即取一个区域的最大值。通常用于提取图像的边缘特征。
  2. 平均池化,即取一个区域的平均值。通常用于提取图像的平均特征。

我们可以看到,池化操作将特征图的维度从 4x4 压缩到了 2x2。这个过程中,即使特征在图像中的位置略有偏移,池化后的结果仍然相似。而输入的微小变化,也不会对池化后的结果产生很大的影响。这也体现了池化操作的特征不变性。

参考链接

Flattening CNN layers for Neural Network and basic concepts
In-Depth Knowledge of Convolutional Neural Networks
Convolutional Neural Networks
cnn-explainer

© 2025 YueGS