图解-卷积神经网络(CNN)

发布时间:2026/9/28 11:09:14
图解-卷积神经网络(CNN) 一、核心概念初识1、卷积Convolution和卷积核Filter卷积就是“拿一个小模板在数据上从左到右或从上到下滑动每停一步就把重叠的部分‘对应相乘再相加’得到一个数。”——它衡量的是当一个函数或模板滑过另一个函数时两者在每一个位置上的“重叠程度”。举例说明1一维示例体重测量假设你连续 5 天的体重是[60,62,61,63,62]数字波动大受当天因素影响较大所以想“平滑”一下认为每一天的真实体重应该由它自己加上前后两天共同决定中间那天最重要。于是你定了一个小模板设置权重也就是“核”[0.25,0.5,0.25] 即前一天占 25%当天占 50%后一天占 25%。对准哪一天计算平滑结果第 1 天0.5×600.25×6245.5第 2 天0.25×600.5×620.25×6161.25第 3 天0.25×620.5×610.25×6361.75第 4 天0.25×610.5×630.25×6262.25第 5 天0.25×630.5×6246.75看结果原始 [60, 62, 61, 63, 62] → 平滑后中间变成 [61.25, 61.75, 62.25]波动明显变小了。这就是卷积的全部动作一个模板、一次滑动、一轮相乘相加。2二维实例图片模糊处理图像抽象为二维数字表格每个格子一个亮度值。想给照片磨皮、做柔光效果提供一个模板核 3×3 的矩阵此模版矩阵的含义是中心像素占 4/16上下左右各 2/16四个角各 1/16 —— 也就是“每个像素换成它周围一圈的平均值”。把这个小方块在整张图上逐格滑动每格算一次加权平均整张图就变柔和了。“高斯模糊”“磨皮”就是这么算出来的一个像素都没例外。2、池化Pooling---特征压缩池化Pooling就是“把一个小窗口滑过特征图每个窗口只留一个数”——最大值MaxPool或平均值AvgPool。它把特征图缩小同时留下“这个特征有没有出现过”的信息丢掉“它精确在哪个像素”的信息。常见3种池化方法对比类型做法优点缺点典型用法MaxPool取窗口最大值保留最强响应、抑制噪声、平移鲁棒丢失大部分信息不可导点需次梯度CNN 主干默认VGG/ResNetAvgPool取窗口平均保留整体能量、输出平滑强响应被稀释边缘易模糊Inception、老式网络末端Global Avg PoolGAP整张特征图取平均 ××→1×1×C消灭全连接层的巨量参数、任意输入尺寸可用、每个通道直接对应一类响应强度可做 CAM 可视化彻底丢失位置信息现代分类网络标配3、感受野特征图上某一个像素往回看原图时能看到多大的一片区域。它是 CNN 里唯一能回答这个神经元到底看到了多少东西的指标。卷积核大小只决定局部看多宽感受野才决定整体看多远——前者是单层属性后者是整条路径的累积属性。引申可以把它想象成这个像素的老家范围它是由原图上哪一片像素算出来的那片区域就是它的感受野。感受野小 → 只能看到细节边缘、角点、纹理感受野大 → 能看到整体眼睛、轮子、整张脸CNN 之所以能从边缘认出猫靠的就是感受野一层层变大。二、卷积神经网络原理拆解第一阶段特征提取这是图中左侧最复杂的部分包含了多次Convolution卷积、ReLU激活和Pooling池化的循环。1、 Convolution Kernel卷积与卷积核如图所示左边的大矩阵代表一张图片Input Image里面的数字代表像素点的亮度0是黑数值越大越亮。中间的小方块代表卷积核/滤波器Filter/Kernel你可以把它想象成一个“探测器”或“手电筒”。卷积核的作用右边的结果矩阵代表特征图Feature Map这是探测后的结果。截距项每个卷积核都会学习到一个偏置值b 加在最终的结果上用于调整激活的阈值。公式为Y(X∗W)b过程拆解以手电筒为例扫描滑动窗口你拿着手电筒从左上角开始一次照3×3 个格子图中红框部分。加权求和点积运算手电筒里的灯泡亮度是不一样的卷积核里的数字比如中间是1周围有0。当你照到图片上某个区域时你会把手电筒的亮度分布与地板上的数字对应相乘。比如图中红框区域第一行0×0,3×1,0×1第二行2×0,0×1,1×0第三行0×1,1×0,3×0实际图中的计算逻辑是将红框内的9个数字与橙色框内的9个数字位置对应相乘然后全部加起来。记录结果生成特征图算出来的总和填在右边的格子里。如图中右上角的第一个结果 3 的计算过程为(0×0)(3×1)(0×1)(2×0)(0×1)(1×0)(0×1)(1×0)(3×0)3。这个 3 就代表了原图左上角那个区域与这个卷积核的“匹配程度”。移动步长 Stride算完左上角手电筒向右移动一格通常移动一格叫步长为1继续做乘法求和算出下一个数字 3。以此类推直到扫完整个图片。感受野在卷积神经网络中特征图Feature Map上的一个点映射回输入图像Input Image上的区域大小就是该点的感受野。简单来说感受野就是“当前这个像素点能看到原始图片多大的范围”。它解释了为什么深层网络能识别出复杂的物体如人脸、汽车而浅层网络只能识别简单的线条。感受野这是一个层层叠加的过程。第一层卷积假设卷积核是3×3那么输出特征图上的一个点感受野就是 3。第二层卷积在上一层的基础上再做3×3卷积。因为上一层的一个点已经代表了原图的 3 个像素现在又把周围 3 个点聚合起来感受野就变成了3(3−1)5大致估算具体取决于步长。第三层卷积继续叠加感受野进一步扩大到 7 或更大。2. ReLU激活函数图示位置紧跟在 Convolution 后面。通俗解释这是一个“过滤器”。它把探测到的不重要信息负值直接变成0只保留有用的特征正值。就像侦探排除了无关线索只关注重点。专业原理引入非线性因素增加网络的表达能力同时产生稀疏性加速计算。3. Pooling池化通俗解释这是“压缩画质”的过程。比如把一张高清大图缩小成缩略图。虽然像素少了但斑马身上的条纹特征还在。这样做是为了减少计算量并且让网络不那么在意斑马具体站在图的左边还是右边平移不变性。专业原理下采样操作如最大池化降低特征图的空间维度减少参数量防止过拟合。简单来说池化就是下采样的过程。它的主要目的是在保留主要特征的同时减少数据量降低计算复杂度。中间的大矩阵4x4这是卷积层输出的特征图包含了很多细节数据。左边的结果Max Pooling最大池化取每个区域的“最大值”。作用是提取纹理等显著特征对噪声有一定的抑制作用因为噪点通常数值不大会被最大值覆盖。它是目前深度学习中最常用的池化方式。右边的结果Average Pooling平均池化取每个区域的“平均值”。作用是保留整体特征减少方差。常用于网络的全局平均池化层或者在处理背景信息比较重要的任务中。颜色分区注意看中间的图被分成了绿、紫、红、青四个颜色的2×2 区域每个区域对应输出中的一个像素点。第二阶段分类决策这是图中右侧的部分包含Flatten展平和Fully Connected Layer全连接层。1. Flatten展平图示动作看那个像千层饼一样的立体方块特征图突然被拉成了一条长长的竖线。通俗解释前面的步骤把图片里的特征条纹、眼睛、腿都提取出来了但它们还是散落在一个个小格子里。这一步就像是把侦探搜集到的所有线索卡片全部摊开在桌面上排成一长列准备交给最后的法官去审阅。专业原理将多维的特征图Feature Maps拉伸为一维向量作为全连接层的输入。它起到了连接“特征提取器”和“分类器”的桥梁作用。图例分析左侧Pooled Feature Map这是经过层层卷积和池化后留下的精华特征图。它保留了图像的空间结构信息比如哪里有条纹哪里有角。中间Flattened这是一个“拉直”的过程。将二维的方块矩阵变成了一维的长条向量。全连接层纸接收一维向量。右侧FC Layer这是全连接层。所有的神经元都互相连接像是一个复杂的决策网络负责根据输入的特征计算最终的分类概率。2. Fully Connected Layer全连接层通俗解释这就是“大脑的思考中心”。这里的每一个神经元都在做综合判断“既然我看到了黑白条纹特征A又看到了马的身体结构特征B还有四条腿特征C……” 第一层全连接神经元可能负责组合出“像马”的概念 第二层可能负责排除“像狗”的概念。它们把前面所有的局部线索加权汇总计算出一个最终的结论。专业原理基于学习到的特征进行非线性组合映射到样本标记空间。它是分类器的核心决定了模型最终的判别能力。第三阶段概率输出---SoftMax Activation Function。SoftMax归一化指数函数图示动作输出了三个数字0.2 (Horse), 0.7 (Zebra), 0.1 (Dog)。通俗解释大脑思考完了不能只说“我觉得是斑马”它得给出一个确信度。 SoftMax 就像是一个“百分比转换器”。它把前面算出来的原始分数强行转换成总和为 1 (100%) 的概率。 结果一目了然模型认为这张图有 70% 的概率是斑马20% 是马10% 是狗。专业原理将多分类问题的输出转化为概率分布。数值最大的类别即为模型的预测结果。三、总结CNN 的工作流可以概括为卷积池化特征提取从像素点里提取出条纹、形状等特征。展平整理线索把特征打包。将多维特征投影到一维特征。全连接综合推理神经网络的智算中心每个神经元都在做综合判断加权汇总得出最终结论。SoftMax概率输出、得出结论输出分析结果及对应的概率。四、经典神经网络模型模型年份深度核心创新历史地位LeNet-519987卷积池化FC 串联手写数字识别CNN 原型证明局部连接共享权重可行AlexNet20128ReLU、Dropout、双 GPU、数据增强、LRN深度学习复兴起点ImageNet top-5 错误率 15.3%VGG201416/19全部 3×3 小核、2×2 池化、结构极度规整证明“深度小核”有效迁移学习标配骨干ResNet201550/101/152残差连接 ()解决退化问题深度无上限现代网络的基石ResNeXt201750/101分组卷积 基数cardinality“深度/宽度”之外的第三维度ConvNeXt2022—用 Transformer 设计原则改造纯 CNN7×7 大核、LayerNorm、GELU、少激活少归一化证明 CNN 上限极高纯卷积能匹敌 Swin