零基础学AI人工智能:10.4 CNN卷积神经网络

承接上一篇人工神经网络的全连接结构,全连接网络在处理图像这类高维二维网格数据时,会面临参数量急剧膨胀、空间结构信息丢失的问题。卷积神经网络(Convolutional Neural Network, CNN)是专门针对网格结构数据设计的深度学习架构,核心通过卷积运算实现局部特征提取,是计算机视觉领域的基础核心网络。本篇系统讲解 CNN 的核心定义、组成结构、计算逻辑与尺寸变换规则。

**一、**CNN 概述

1.1****核心定义

卷积神经网络是包含卷积计算层的神经网络,依托局部感受野与参数共享两大核心特性,在保留数据空间结构信息的同时,大幅降低网络参数量,解决了全连接网络处理高维图像数据的维度灾难问题。

1.2****适用场景

CNN 是计算机视觉任务的标准基础架构,广泛应用于图像分类、目标检测、语义分割、图像生成等各类图像相关任务,同时也可拓展用于语音、文本等具备序列结构的数据处理。

**二、**CNN 核心组成结构

标准的 CNN 网络由输入预处理、卷积层、激活层、池化层、全连接输出层堆叠构成,各层承担不同的功能。

2.1****卷积层

卷积层是 CNN 的核心组件,负责自动提取输入数据的局部特征。

  1. 计算逻辑:通过固定大小的卷积核(也称为滤波器)在输入特征图上按指定步长滑动,对应位置做加权求和运算,输出得到特征图。一个卷积核对应一个输出特征通道,负责提取一类特定特征。
  2. 填充( Padding :在输入特征图的边缘填充零值,用于解决卷积运算导致的边缘信息丢失问题,同时可以控制输出特征图的空间尺寸。
  3. 步长( Stride :卷积核每次滑动的像素间隔。步长大于 1 时可直接缩小特征图尺寸、增大感受野,常用于网络深层的快速降维。
  4. 多通道卷积:对于多通道输入(如 RGB 三通道图像),卷积核的通道数与输入通道数保持一致;各通道分别做卷积运算后,结果逐元素相加得到单通道输出;使用多个卷积核时,输出通道数与卷积核数量一致。

2.2****池化层

池化层通常衔接在卷积层之后,作用是对特征图做下采样,在保留核心特征的前提下降低特征维度,减少计算量与参数量,同时提升模型对微小位移的鲁棒性。

主流实现分为两类:

  1. 最大池化:取池化窗口内的最大值作为输出,保留最强的特征响应,是工业界最常用的池化方案;
  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) 格式,补充批次维度后才可送入卷积层;特征图可视化时则需做逆向的维度转换。

**、**总结

卷积神经网络凭借参数共享与局部感受野的设计,高效适配了图像数据的空间结构特性,是深度学习在视觉领域取得突破的核心基础。掌握卷积计算逻辑、尺寸推导规则与各层功能定位,是后续学习复杂视觉任务网络的必要前提。