承接上一篇人工神经网络的全连接结构,全连接网络在处理图像这类高维二维网格数据时,会面临参数量急剧膨胀、空间结构信息丢失的问题。卷积神经网络(Convolutional Neural Network, CNN)是专门针对网格结构数据设计的深度学习架构,核心通过卷积运算实现局部特征提取,是计算机视觉领域的基础核心网络。本篇系统讲解 CNN 的核心定义、组成结构、计算逻辑与尺寸变换规则。
**一、**CNN 概述
1.1****核心定义
卷积神经网络是包含卷积计算层的神经网络,依托局部感受野与参数共享两大核心特性,在保留数据空间结构信息的同时,大幅降低网络参数量,解决了全连接网络处理高维图像数据的维度灾难问题。
1.2****适用场景
CNN 是计算机视觉任务的标准基础架构,广泛应用于图像分类、目标检测、语义分割、图像生成等各类图像相关任务,同时也可拓展用于语音、文本等具备序列结构的数据处理。
**二、**CNN 核心组成结构
标准的 CNN 网络由输入预处理、卷积层、激活层、池化层、全连接输出层堆叠构成,各层承担不同的功能。
2.1****卷积层
卷积层是 CNN 的核心组件,负责自动提取输入数据的局部特征。
- 计算逻辑:通过固定大小的卷积核(也称为滤波器)在输入特征图上按指定步长滑动,对应位置做加权求和运算,输出得到特征图。一个卷积核对应一个输出特征通道,负责提取一类特定特征。
- 填充( Padding ):在输入特征图的边缘填充零值,用于解决卷积运算导致的边缘信息丢失问题,同时可以控制输出特征图的空间尺寸。
- 步长( Stride ):卷积核每次滑动的像素间隔。步长大于 1 时可直接缩小特征图尺寸、增大感受野,常用于网络深层的快速降维。
- 多通道卷积:对于多通道输入(如 RGB 三通道图像),卷积核的通道数与输入通道数保持一致;各通道分别做卷积运算后,结果逐元素相加得到单通道输出;使用多个卷积核时,输出通道数与卷积核数量一致。
2.2****池化层
池化层通常衔接在卷积层之后,作用是对特征图做下采样,在保留核心特征的前提下降低特征维度,减少计算量与参数量,同时提升模型对微小位移的鲁棒性。
主流实现分为两类:
- 最大池化:取池化窗口内的最大值作为输出,保留最强的特征响应,是工业界最常用的池化方案;
- 平均池化:取池化窗口内所有值的平均值作为输出,对局部特征做平滑聚合。
池化操作仅压缩特征图的空间维度,不会改变通道数量。
2.3****全连接输出层
全连接层位于网络末端,负责输出最终的预测结果。
由于全连接层仅接收二维张量(批次维度 × 特征维度),因此卷积与池化输出的三维特征图需要先做展平操作,转换为一维特征向量后再接入全连接层,完成分类或回归任务的最终输出。
三、特征图尺寸计算
输出特征图的空间边长由输入尺寸、卷积核大小、填充数量、步长四个参数共同决定,计算公式如下:

其中:
- W 为输入特征图的单边长度
- F 为卷积核 / 池化核的单边长度
- P 为单边填充的像素数量
- S 为滑动步长
- N 为输出特征图的单边长度
以输入尺寸 5×5、3×3 卷积核、填充数 1、步长 1 为例,代入公式可得输出尺寸为 5×5,即输入输出空间尺寸保持一致。
四、卷积与池化的核心差异
|-------|--------------------------|----------------------|
| 对比维度 | 卷积操作 | 池化操作 |
| 通道数 | 会改变特征图的通道数量,输出通道数等于卷积核个数 | 不改变特征图的通道数量,仅作用于空间维度 |
| 核心作用 | 提取局部特征,完成通道维度的变换 | 压缩空间维度,降维减参,提升鲁棒性 |
| 可学习参数 | 卷积核权重为可训练参数 | 无训练参数,仅做固定规则的下采样 |
五、数据格式约定
在 PyTorch 框架中,二维卷积的标准输入张量格式为 (N, C, H, W),依次对应批次大小、通道数、特征图高度、特征图宽度。
常规图像读取工具输出的格式为 (H, W, C),需要先通过维度置换转换为 (C, H, W) 格式,补充批次维度后才可送入卷积层;特征图可视化时则需做逆向的维度转换。
六**、**总结
卷积神经网络凭借参数共享与局部感受野的设计,高效适配了图像数据的空间结构特性,是深度学习在视觉领域取得突破的核心基础。掌握卷积计算逻辑、尺寸推导规则与各层功能定位,是后续学习复杂视觉任务网络的必要前提。