卷积神经网络(CNN)基础概念
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,属于深度学习的核心算法之一,其设计灵感源自生物视觉皮层的感受野机制,通过局部连接、权值共享等特性高效处理图像等网格结构数据,核心优势是保留空间信息、减少参数数量、缓解过拟合。
·
一、核心定义
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,属于深度学习的核心算法之一,其设计灵感源自生物视觉皮层的感受野机制,通过局部连接、权值共享等特性高效处理图像等网格结构数据,核心优势是保留空间信息、减少参数数量、缓解过拟合。
二、基础核心概念
(一)卷积相关
- 卷积(Convolution):CNN 的核心操作,通过可移动的小窗口(卷积核 / 滤波器)与输入图像进行逐元素相乘再求和,实现特征提取。卷积核是一组固定权重,不同卷积核可捕捉图像的边缘、纹理等不同特征。
- 关键参数
- 步长(stride):卷积核每次滑动的像素距离,直接影响输出特征图的尺寸。
- 填充(zero-padding):在输入图像边缘补充若干圈 0,目的是使卷积核能覆盖边缘区域,同时可保持输出特征图尺寸与输入一致,避免边缘信息过快丢失。
- 卷积核个数:决定输出特征图的通道数(深度),个数越多,可提取的特征类型越丰富。
- 卷积变种
- 深度卷积(Depthwise Convolution):每个卷积核仅对应输入特征图的单个通道进行二维卷积,无法改变输出通道数,常与 1×1 卷积结合形成深度可分离卷积,大幅减少计算量。
- 分组卷积(Group Convolution):将输入特征图分成多个组,每组单独与对应卷积核计算,最后拼接结果,可减少显存占用,需通过通道混洗(Channel Shuffle)解决组间信息阻隔。
- 空洞卷积(Dilated Convolution):通过在卷积核元素间间隔补 0 或在特征图上间隔取数,在不增加参数量的情况下扩大感受野,适用于语义分割等任务。
- 转置卷积(Transposed Convolution / 反卷积):通过对输入特征图间隔补 0 后再进行标准卷积,实现上采样,用于恢复图像尺寸。
- 可变形卷积(Deformable Convolution):卷积核元素额外增加偏移参数,可动态调整取点位置,灵活捕捉不规则形状特征。
- 1×1 卷积(Pointwise Convolution):尺寸为 1×1 的卷积核,核心作用是降维 / 升维(调整通道数)和增加网络非线性(结合激活函数)。
(二)特征与空间相关
- 感受野(Receptive Field):输出特征图上每个像素点映射回输入图像的区域大小。网络越深,感受野越大,靠前层提取局部细节特征(如纹理、边缘),靠后层提取全局语义特征(如物体轮廓)。
- 计算公式:RFl+1=RFl+(fl+1−1)∗∏i=1lsi(RFl+1为当前感受野,RFl为上一层感受野,fl+1为当前卷积核大小,∏i=1lsi为前序步长乘积)。
- 特征图(Feature Map):卷积、池化等操作后的输出结果,是对输入数据的特征抽象表达,其维度由输入尺寸、卷积核大小、步长、填充共同决定。
- 尺寸计算公式:nout=snin+2p−f+1(nin为输入尺寸,p为填充大小,f为卷积核大小,s为步长)。
- 分辨率(Resolution):输入图像或特征图的长宽尺寸,通常根据模型下采样次数和最终特征图尺寸确定(如 ImageNet 任务常用 224×224 输入)。
- 通道(Channel):特征图的深度维度,输入层中 RGB 图像通道数为 3,灰度图为 1;中间层通道数由卷积核个数决定,通道数越多,特征表达能力越强。
(三)网络结构相关
- 权值共享(Weight Sharing):同一卷积核在滑动过程中权重保持不变,基于 “同一特征在图像不同位置均有效” 的假设,大幅减少网络参数量,降低训练难度。
- 下采样(Down-Sample):减少特征图空间尺寸的操作,核心作用是降低计算量、防止过拟合、扩大感受野。实现方式包括步长为 2 的池化层(Max-Pooling/Average-Pooling)或步长为 2 的卷积层,其中 Max-Pooling 因保留纹理特征效果更佳而常用。
- 上采样(Up-Sampling):将小分辨率特征图恢复为大分辨率的操作,用于语义分割等任务,实现方式包括双线性插值、转置卷积、最大反池化(Max Unpooling)。
- 池化层(Pooling Layer):位于卷积层之后,无参数且不可学习,通过对局部区域取最大值(Max Pooling)或平均值(Mean Pooling)降维。全局平均池化(Global Average Pooling)则对整个特征图取平均,可替代全连接层减少参数。
- 全连接层(Full Connected Layer):将特征图展平为向量后进行矩阵乘法运算,实现特征的非线性组合,常用于分类任务的最终输出层前,本质是将卷积提取的局部特征映射为全局特征。
- 网络深度(Depth):指网络的层数或功能模块(block)个数,深度越大,网络表达能力越强,但需避免过深导致梯度消失。
- 网络宽度(Width):指网络中最大的通道数(由卷积核数量最多的层决定),宽度越大,单一层可学习的信息量越多,但计算量会显著增加。
(四)模型性能相关
- 参数量(Params):网络中可学习变量的总数,包括卷积核权重、批归一化(BN)的缩放系数 γ 和偏移系数 β、偏置项等,主要由卷积核权重决定,是轻量化网络设计的核心评价指标。
- 计算量(FLOPs):前向推理过程中乘加运算的总次数(浮点运算数),直接影响模型运行速度,尤其在移动端等资源受限平台需严格控制。
(五)辅助优化结构
- 激活函数:引入非线性,使网络能学习复杂特征,常用类型包括 ReLU 系列(ReLU、ReLU6、Leaky ReLU)、Sigmoid 系列(含硬件友好的 h-sigmoid、h-swish),其中 ReLU 因计算简单、缓解梯度消失应用最广。
- Batch Normalization(BN):插入在卷积层与激活层之间,将层输出标准化为均值 0、方差 1 的分布,再通过可学习参数 γ 和 β 调整,解决内部协变量偏移(ICS)问题,加快收敛、缓解梯度消失。
- Dropout:训练时按一定概率暂时丢弃部分神经元,使模型在不同子结构上训练,类似集成学习,有效抑制过拟合,测试时不生效。
- 通道混洗(Channel Shuffle):针对分组卷积的组间信息隔离问题,通过重塑(reshape)、转置、展平操作打乱通道顺序,促进组间信息交互。
- ** shortcut 分支 **:包括 Addition(ResNet 中提出,相同维度特征图对应位置相加,融合特征)和 Concatenate(DenseNet 中常用,通道维度拼接,保留原始特征),均用于增强特征传播、缓解梯度消失。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)