CNN 中的通道 (Channels in CNN)

CNN 中的“通道”是一个从具体到抽象演变的核心概念。它始于我们熟悉的图像颜色通道,但在网络内部,其含义发生了根本性的变化,成为了 CNN 学习和识别物体的基石。

1. 区别与联系:颜色通道 vs. 特征通道

相同点:数据结构
无论是图像的颜色通道,还是 CNN 内部的特征通道,它们在数据结构上是完全一致的。它们都是一个三维张量 (C, H, W)深度维度 (C) 上的“切片”。

不同点:物理意义
这是两者最本质的区别:

2. 核心机制:CNN 如何处理和创造通道

CNN 通过卷积操作,将输入的通道信息进行融合 (Fuse),并创造出新的特征通道。这个过程并不是简单的“叠加”,而是一个加权求和的融合过程。

卷积核的结构

一个卷积层想要处理多少个输入通道,它的卷积核就必须有多深。

卷积操作详解 (产生一个输出通道)
  1. 对齐: 将 (3, 3, 3) 的卷积核对准输入图像 (3, H, W) 的某个 3x3 区域。

  2. 分通道计算: 对每一个通道,进行逐元素相乘再求和。

    • 核的红色通道图像的红色通道对应区域计算,得到一个数值 Sum_R
    • 核的绿色通道图像的绿色通道对应区域计算,得到 Sum_G
    • 核的蓝色通道图像的蓝色通道对应区域计算,得到 Sum_B
  3. 融合: 将所有通道计算出的结果相加,并加上一个偏置项(bias),形成最终的单一输出值。

    • Final_Result = Sum_R + Sum_G + Sum_B + bias
  4. 生成特征图: 这个 Final_Result 就是输出特征图上的一个像素点。卷积核在整个输入图像上滑动,重复上述步骤,最终生成一个完整的、单通道的输出特征图

可视化过程:
Pasted image 20250620195924.png

可以看到,每次计算输出图的一个像素时,输入的所有通道都参与了运算,它们的信息被融合成一个值。

3. 如何产生多个输出通道?

很简单:一个卷积核(Filter)产生一个输出通道(Feature Map)。

如果希望一个卷积层产生 16 个输出通道,那么就需要 16 个独立的卷积核

最后,这 16 个单通道的输出特征图在深度维度上堆叠起来,形成一个 (16, H', W') 的输出张量,作为下一层的输入。

4. 总结