继神经网络(详见前馈神经网络)后,引入卷积神经网络。
一、基础学习
请根据《神经网络与深度学习-邱锡鹏》第五章卷积神经网络自行学习基础理论,此处仅作部分内容具体解释。
PDF资源链接:https://github.com/Sinon771/DeepLearning-Resource.git
二、5.1.4.2导数详解、参数更新
详见
三、卷积层过程
3.1 通道、批次、卷积核个数
3.1.1 batch (批次)是训练时的概念,不是 CNN 的结构概念。
区分清楚:
| CNN(卷积神经网络) | Batch(批次) | |
|---|---|---|
| 是什么 | 网络结构:卷积核怎么滑、通道怎么叠、感受野多大 | 训练策略:一次往显卡里塞几张图算梯度 |
| 属于谁 | 模型本身的定义 | 数据加载和训练流程 |
| 没有它会怎样 | 模型不存在 | 模型能跑,只是训练慢/不稳 |
CNN 是"怎么算一张图"的算法;batch 是"一次算几张图"的工程选择。
哪怕 batch = 1(一张一张训),CNN 的卷积核、通道数这些结构完全不变。batch 只影响:
- 显存占用(一次塞几张)
- 梯度估计的稳定性(batch 越大,梯度越准)
- BN 能不能正常工作(batch 太小,BN 统计量抖动)
batch 是训练流程的概念,和 CNN 结构是两回事。
3.1.2 通道
通道(Channel):一种"分层"的组织方式
通道是张量中的一个"轴" ,描述的是一张图内部有多少层信息。
类比:一张RGB图片
- 3 通道 = 初始图片只包含红、绿、蓝三通道,即只有红绿蓝三种特征可供分析
- 64 通道 = 经过卷积使通道翻倍后,提取到了64种不同的特征(边缘、纹理、角点...)
- 512 通道 =不断卷积,以学习更多的深层语义特征
这里如图所示

在代码里,通道就是 shape 里的第 2 个数:
python
[B, C, H, W]
↑
这就是通道数
通道(Channel)是特征的一种"分层摆放方式"。3 通道就是 3 类特征,512 通道就是 512 类特征,它们共同构成了描述一张图的高维特征空间。
3.1.3 卷积核个数与输出通道数
在卷积神经网络中,输出特征图的通道数(Channel)由该层卷积核的个数严格决定。具体而言,若某卷积层配置 N N N 个卷积核,则其输出必然为 N N N 通道。这一机制构成了网络从低层语义向高层语义逐层映射的基础。
从低维到高维的特征映射
输入层通常仅包含有限的通道数(如 RGB 图像的 3 通道),表征原始的像素级信息。随着网络深度增加,卷积层通过增加卷积核数量实现通道维度的扩展。每个卷积核可视为一个独立的特征检测器(Feature Detector),在输入特征图上执行滑动相关运算,生成一张二维的激活图(Activation Map)。 N N N 个卷积核并行运算后,其输出按通道维度堆叠,形成形状为 N , H , W N, H, W N,H,W 的三维特征张量。因此,通道数的倍增本质上反映了网络表征空间的扩展:模型从 C in C_{\text{in}} Cin 个特征描述角度,通过可学习的卷积运算,映射至 C out C_{\text{out}} Cout 个更为抽象的特征描述角度。
实例分析
以单通道灰度图像为例,设输入特征张量为 X ∈ R 1 × H × W X \in \mathbb{R}^{1 \times H \times W} X∈R1×H×W。若设计 N N N 个卷积核 { K i } i = 1 N \{K_i\}_{i=1}^N {Ki}i=1N,其中每个核的参数维度为 K i ∈ R 1 × k × k K_i \in \mathbb{R}^{1 \times k \times k} Ki∈R1×k×k,则第 i i i 个卷积核与输入进行卷积运算后,生成单通道的响应图 F i = X ∗ K i F_i = X * K_i Fi=X∗Ki。将 N N N 个响应图沿通道维度拼接,可得输出特征张量:
F = Concat ( F 1 , F 2 , ... , F N ) ∈ R N × H ′ × W ′ F = \text{Concat}(F_1, F_2, \dots, F_N) \in \mathbb{R}^{N \times H' \times W'} F=Concat(F1,F2,...,FN)∈RN×H′×W′
此时,网络对输入图像的表征从 1 维像素空间扩展至 N N N 维特征空间。
举个具体的例子: 假设输入是一张单通道的灰度图像,此时网络只能看到"明暗"这一种信息。现在我们设计 N N N 个不同的卷积核,每个核都是 k × k k \times k k×k ,但核各不相同。
当这些卷积核在图像上滑动时,第 1 个核可能对竖直线条特别敏感,走到花瓣边缘就输出一个很大的数;第 2 个核可能专门寻找圆形斑点,在花蕊中心产生强响应;第 3 个核可能只关心明暗突变......以此类推。每个核扫完整张图后,都会产出一张"响应图"------图上某个位置的数字越大,说明它关注的特征在这里越明显。
最后,我们把这 N N N 张响应图叠在一起,此时,网络对这张花的描述就从原来的 "1 张明暗图" 扩展成了 " N N N 张特征图" 。有的图层记录花瓣轮廓,有的记录花蕊纹理,有的记录背景梯度------它们并行存在,共同构成了后续层进行判断的丰富素材。
3.2 卷积流程
详见卷积的过程