游乐游手机版
首页/AI热点日报/热点详情

卷积神经网络结构组成详解与图解全攻略

类型:热点整理2026-07-16
卷积神经网络(CNN)以卷积层作为核心组件,结合激活层、批归一化层、池化层、全连接层、损失层等模块,共同构成了现代深度学习模型的基础架构。所谓卷积操作,简单来说就是将输入图像与滤波矩阵进行内积运算——即对相同位置的元素相乘后求和。接下来,我们将从最基础的卷积层入手,逐一解析这些关键模块的工作原理与应

卷积神经网络(CNN)以卷积层作为核心组件,结合激活层、批归一化层、池化层、全连接层、损失层等模块,共同构成了现代深度学习模型的基础架构。所谓卷积操作,简单来说就是将输入图像与滤波矩阵进行内积运算——即对相同位置的元素相乘后求和。接下来,我们将从最基础的卷积层入手,逐一解析这些关键模块的工作原理与应用场景。


1. 卷积层

卷积操作存在多种变体,下表整理了最常见的几种形式及其核心特点:

卷积操作解释图解
标准卷积通常采用3×3、5×5或7×7的卷积核在特征图上滑动计算。
分组卷积将输入特征图按通道均匀分成若干组,每组独立执行标准卷积,最后拼接输出。
空洞卷积为扩大感受野,在卷积核元素之间插入空格来“膨胀”内核,膨胀率L表示内核元素间插入L-1个空格。L=1时即为标准卷积。
深度可分离卷积分解为逐通道卷积与逐点卷积两个步骤,显著减少参数量。(逐通道卷积,2D标准卷积)
(逐点卷积,1×1卷积)
反卷积属于上采样过程,将卷积核转换为稀疏矩阵后进行转置计算,实现特征图尺寸放大。
可变形卷积在标准卷积的采样位置上增加可学习的偏移量offset,使卷积核在训练过程中能自适应地覆盖更大范围。

补充说明:

1×1卷积使用尺寸为1×1的卷积核进行操作,核心作用是实现特征图的升维与降维。当输入通道数为1时进行升维,输入通道数为n时进行降维。

降维:通道数量保持不变,但特征数值发生改变。

升维:输出通道数等于卷积核个数(即filters),运算本质相当于全连接层。

卷积计算在深度神经网络中通常占据巨大的计算量,因此压缩计算量成为优化网络性能的关键课题。常见的方法包括:

序号方法
1采用多个3×3卷积核替代大卷积核(例如用两个3×3代替一个5×5)
2深度可分离卷积(分组卷积的扩展形式)
3通道Shuffle
4池化层(Pooling)
5步长设为2(Stride = 2)
6其他策略

2. 激活层

激活层的作用是为网络引入非线性变换,从而显著提升模型的表达能力。通常情况下,每个卷积层后面都会紧跟一个激活层。常见的激活函数可划分为饱和型(sigmoid、tanh)与非饱和型(ReLU、Leaky ReLU、ELU、PReLU、RReLU)两大类。非饱和激活函数的主要优势在于能够缓解梯度消失问题,同时加快模型收敛速度。

常用函数:ReLU、Leaky ReLU、ELU等
ReLU函数曲线
Leaky ReLU函数曲线
ELU函数曲线


3. 批归一化层(BatchNorm)

批归一化层通过规范化手段,将每层神经元的输入值分布强制拉回到均值为0、方差为1的标准正态分布。这样做能够缩小图像之间的绝对差异,突出相对差异,从而加速训练过程。不过,批归一化不适用于对噪声敏感的image-to-image任务。常用实现函数为:nn.BatchNorm2d(num_features, eps, momentum, affine)。其中,num_features通常对应batch_size×height×width的特征数量;eps用于防止除零,默认1e-5;momentum控制均值和方差的估计稳定性系数;affine为True时,可学习系数矩阵gamma和beta。


4. 池化层(Pooling)

池化层一方面使特征图尺寸缩小,降低计算复杂度;另一方面通过多次压缩提取主要特征。该操作属于下采样过程。常见的有最大池化(Max Pooling)和平均池化(Average Pooling)。

使用场景:当需要综合特征图上所有信息进行决策时(例如图像分割中的全局平均池化),多采用平均池化;而在网络浅层,图像通常包含较多噪声,适合用最大池化去除无效信息(如图像分类、目标检测的初期阶段)。

补充说明:上采样层用于放大特征图,常见方法包括Resize、双线性插值等。常用实现函数有nn.functional.interpolatenn.ConvTranspose2d


5. 全连接层(FC层)

全连接层的作用是将前面提取到的特征进行加权求和,然后映射到样本标签空间(label)。其本质是一个线性变换,参数冗余度较高,且与输入尺寸紧密相关。常用实现为nn.Linear(in_features, out_features, bias)。全连接层可以通过1×1卷积结合全局平均池化进行替代。

补充说明:分类器可分为线性分类器与非线性分类器:

分类器介绍常见种类优缺点
线性分类器利用一个“超平面”将正负样本分开逻辑回归、Softmax、贝叶斯分类、单层感知机、线性回归、线性核SVM等速度快、实现简便,但拟合能力有限
非线性分类器采用“超曲面”或多个超平(曲)面的组合来隔离样本决策树、随机森林、GBDT、多层感知机、高斯核SVM等拟合能力强,但实现复杂、理解难度较高

6. 损失层

损失函数用于衡量网络输出与真实目标值之间的差距,通过最小化损失来驱动网络训练。前向传播计算损失值,反向传播计算梯度。常用损失函数包括:

  • 分类问题(离散标签):nn.BCELossnn.CrossEntropyLoss等。
  • 回归问题(连续值):nn.L1Lossnn.MSELossnn.SmoothL1Loss等。

7. Dropout层

Dropout在训练过程中随机丢弃一部分神经元,从而有效防止过拟合,通常应用于全连接层。测试阶段所有神经元均被激活,不使用随机失活。常用函数:nn.Dropout


8. 优化器

优化器的作用是更高效地搜索使损失函数最小化的网络参数。主要策略可分为以下三类:

解释优化器种类特点
基于梯度下降原则(区别在于使用的样本数量不同)GD、SGD、BGD、MBGD引入随机性与噪声
基于动量原则(利用局部历史梯度平滑当前梯度)Momentum、NAG加速梯度下降过程
自适应学习率(对不同参数使用不同学习率)Adagrad、Adadelta、RMSprop、Adam自适应调整学习速率

常用优化器为Adam,调用方式:torch.optim.Adam

补充说明:卷积神经网络正则化用于减轻过拟合,常见方法包括L1正则化(参数绝对值之和)和L2正则化(参数平方和,即weight_decay)。


9. 学习率

学习率是监督学习和深度学习中的关键超参数,直接决定目标函数能否收敛以及收敛速度。合适的学习率能让网络在合理时间内收敛到局部最小值。常用学习率调度器包括:torch.optim.lr_scheduler.ExponentialLRReduceLROnPlateauCyclicLR等。


卷积神经网络的常见结构

除了上述基础模块,还有一些经典的高层结构设计极大推动了CNN的发展:

结构介绍与特点图示
跳跃连接结构(代表:ResNet)2015年何恺明团队提出,通过跳跃连接缓解梯度消失问题,从而构建更深的网络。扩展版本包括ResNeXt、DenseNet、WideResNet等。
并行结构(代表:Inception V1-V4)2014年Google团队提出,同时兼顾网络深度与宽度。利用1×1卷积进行升降维,在多个尺度上并行卷积后再聚合,有效加速收敛。
轻量型结构(代表:MobileNetV1)2017年Google团队提出,用深度可分离卷积替代传统卷积,大幅减少参数量,适合移动端部署。后续扩展包括MobileNetV2/V3、SqueezeNet、ShuffleNet等。
多分支结构(代表:TripletNet)基于多个特征提取方法,通过比较距离学习有用变量。由三个共享参数的前馈网络组成,输入三个样本(一个正样本两个负样本或相反)。训练目标:同类距离小,异类距离大。常用于人脸识别等任务。
注意力结构(代表:ResNet+Attention)注意力机制聚焦特定目标区域,利用有限计算资源提升信息处理效率。分为Soft-Attention和Hard-Attention,可作用于特征图、尺度空间、通道维度或历史特征上。
来源:https://m.elecfans.com/article/2154510.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。