神经网络与深度学习第三周课程总结报告 卷积神经网络CNN是专门为处理网格结构数据如图像、音频频谱设计的深度学习模型它通过模拟生物视觉系统的信息处理机制解决了传统全连接网络在处理高维结构化数据时的核心缺陷现已成为计算机视觉、自然语言处理等领域的基础技术。一、图像数据的数字表示计算机无法直接理解视觉信息需要将图像转换为数值矩阵进行处理灰度图单通道二维矩阵每个元素取值范围为 0-2550 代表纯黑255 代表纯白中间值对应不同灰度等级。例如一张 28×28 的手写数字图片对应 28 行 28 列的数值矩阵。彩色图三通道三维数组由红R、绿G、蓝B三个灰度通道堆叠而成。不同深度学习框架采用不同的维度排列方式PyTorch 使用 通道 - 高度 - 宽度CHW格式更适合 GPU 并行计算TensorFlow 和 OpenCV 默认使用 高度 - 宽度 - 通道HWC格式更符合人类视觉习惯。图像数据的空间结构是其核心特征相邻像素的组合构成边缘、纹理、形状等基础视觉元素这些元素进一步组合形成物体的部件和整体。全连接网络的致命缺陷正是破坏了这种空间关联性。二、全连接网络处理图像的本质缺陷全连接网络要求输入为一维向量因此必须将二维图像展平这会引发三个无法解决的问题参数爆炸一张 1000×1000 的彩色图像展平后有 300 万个像素若下一层有 1000 个神经元仅这一层就有 30 亿个参数远超硬件计算能力且极易过拟合。空间信息完全丢失展平操作将原本相邻的像素分散到向量的不同位置模型无法学习到 相邻像素共同构成边缘 这类基础规律只能将每个像素视为独立特征。缺乏平移不变性同一个物体在图像中移动几个像素全连接网络的输入向量就会发生巨大变化导致输出结果完全不同而人类视觉系统对物体的微小位移具有鲁棒性。三、卷积运算的核心原理卷积是一种局部加权求和运算能够有效提取数据的局部特征是卷积神经网络的核心操作。3.1 数学卷积与深度学习中的互相关严格意义上的数学卷积需要先将卷积核旋转 180 度上下翻转 左右翻转再与输入进行滑动窗口点积。但在深度学习中我们实际使用的是互相关运算即直接使用原始卷积核进行滑动点积。两者的本质区别仅在于卷积核是否翻转而深度学习中卷积核的权重是通过训练自动学习的如果任务需要数学卷积的效果网络会自动学习到一个 翻转后 的等效卷积核。因此互相关运算在不损失表达能力的前提下简化了计算实现提高了运行效率。3.2 卷积层的关键参数与输出计算卷积层的输出特征图尺寸由以下四个参数共同决定卷积核大小kernel_size常用 3×3、5×5决定了每个输出神经元对应的输入局部区域大小感受野。两个 3×3 卷积核的感受野等价于一个 5×5 卷积核但参数数量更少非线性更强。填充padding在输入特征图的边界填充 0主要作用是保持输出尺寸与输入尺寸一致避免边缘信息丢失。例如使用 3×3 卷积核时填充 1 圈 0 可使输出尺寸与输入相同。步长stride卷积核每次滑动的像素数。步长大于 1 时输出特征图尺寸会小于输入实现下采样减少计算量。空洞率dilation在卷积核的元素之间插入空洞在不增加参数数量和计算量的情况下扩大感受野。例如空洞率为 2 的 3×3 卷积核实际感受野相当于 5×5 卷积核。输出特征图尺寸计算公式plaintext输出高度 floor((输入高度 2×padding - dilation×(kernel_size-1) - 1) / stride 1) 输出宽度 floor((输入宽度 2×padding - dilation×(kernel_size-1) - 1) / stride 1)3.3 多通道卷积与参数计算多输入通道当输入有多个通道时每个通道对应一个独立的卷积核所有通道的卷积结果相加得到一个输出通道。例如输入为 3 通道 RGB 图像使用一个 3×3 卷积核实际需要 3 个 3×3 的二维卷积核共 27 个参数。多输出通道使用多个独立的卷积核组每个卷积核组产生一个输出通道用于提取不同类型的特征。例如输入 3 通道输出 64 通道使用 3×3 卷积核总参数数量为 3×3×3×641728 个不含偏置。卷积层的参数数量仅与卷积核大小、输入通道数和输出通道数有关与输入图像的尺寸无关这是它相比全连接网络的巨大优势。四、池化层的作用与实现池化层汇聚层位于卷积层之后用于在保留关键特征的前提下压缩特征图的空间尺寸。4.1 常见池化方式最大池化Max Pooling取滑动窗口内的最大值作为输出。它能够保留纹理、边缘等显著特征抑制背景噪声是目前最常用的池化方式。平均池化Average Pooling取滑动窗口内所有元素的平均值作为输出。它更适合保留图像的整体背景信息但会模糊边缘细节。全局池化Global Pooling对整个特征图进行池化将 H×W×C 的特征图压缩为 1×1×C 的向量可替代全连接层大幅减少参数数量防止过拟合。4.2 池化层的核心作用降维与加速将特征图尺寸减半后续卷积层的计算量和内存占用减少为原来的 1/4使网络能够堆叠得更深。扩大感受野池化后每个神经元对应的原始输入区域变大使网络能够逐步捕获更大范围的上下文信息。增强平移不变性池化操作对特征的精确位置不敏感当输入图像发生微小平移时池化后的输出基本保持不变提高了模型的鲁棒性。正则化通过压缩特征维度强制网络学习更抽象的特征避免过拟合。4.3 池化层的反向传播池化层没有可学习的参数反向传播时只需将误差传递到上一层最大池化误差仅传递到前向传播时最大值对应的位置其余位置误差为 0。平均池化误差均匀分配到前向传播时窗口内的所有位置。五、经典基础网络LeNet-5LeNet-5 是第一个成功商业化的卷积神经网络由 Yann LeCun 于 1998 年提出最初用于手写数字识别至今仍广泛应用于 ATM 机的支票数字识别场景。5.1 网络结构与逐层分析LeNet-5 采用 卷积 - 池化 - 卷积 - 池化 - 全连接 - 全连接 - 输出 的经典架构输入为 28×28 的灰度图像输出 10 个类别的概率C1 卷积层使用 6 个 5×5 卷积核填充 2输出 6 张 28×28 的特征图参数数量为 (5×5×11)×6156 个。S2 池化层2×2 平均池化步长 2输出 6 张 14×14 的特征图无参数。C3 卷积层使用 16 个 5×5 卷积核无填充输出 16 张 10×10 的特征图参数数量为 (5×5×61)×162416 个。S4 池化层2×2 平均池化步长 2输出 16 张 5×5 的特征图无参数。C5 全连接卷积层使用 120 个 5×5 卷积核输出 120 维向量参数数量为 (5×5×161)×12048120 个。F6 全连接层将 120 维映射到 84 维参数数量为 (1201)×8410164 个。输出层将 84 维映射到 10 维对应 10 个数字类别参数数量为 (841)×10850 个。整个网络总参数约 6 万个远少于同等规模的全连接网络。5.2 训练中的核心问题梯度消失原始 LeNet-5 使用 Sigmoid 作为激活函数训练时容易出现梯度消失问题Sigmoid 函数的导数最大值仅为 0.25且当输入绝对值大于 5 时导数趋近于 0。在反向传播过程中梯度需要经过多层连乘每经过一层 Sigmoid 激活函数梯度就会乘以一个小于 0.25 的因子经过多层传播后浅层网络的梯度会指数级衰减至几乎为 0导致浅层参数无法更新模型无法学习。5.3 梯度消失的解决方案方案一Xavier 初始化 动量法Xavier 初始化根据输入和输出神经元的数量将权重初始化为服从均匀分布的随机值使前向传播时每层输出的方差保持一致反向传播时梯度的方差也保持一致避免信号被放大或缩小。对于 Sigmoid 激活函数权重的初始化范围为 [-√(6/(n_inn_out)), √(6/(n_inn_out))]其中 n_in 为输入神经元数n_out 为输出神经元数。动量法引入速度变量累积历史梯度信息使参数更新方向不仅取决于当前梯度还取决于之前的梯度方向。这就像小球从山坡滚下时会累积动量即使遇到平坦区域也能继续前进避免陷入局部最优同时加快收敛速度。常用动量系数为 0.9。方案二替换为 ReLU 激活函数ReLU修正线性单元函数的表达式为 f (x)max (0,x)它在正半轴的导数恒为 1只要输入大于 0梯度就能近乎无损地向前传播从根本上解决了梯度消失问题。ReLU 的缺点是存在 死区当输入小于等于 0 时导数为 0对应的神经元将永远无法更新成为 死神经元。为解决这一问题后续提出了 Leaky ReLU、PReLU 等改进版本在负半轴引入一个小的斜率避免梯度完全消失。六、卷积神经网络的核心特性局部连接每个输出神经元只与输入的一个局部区域相连模拟生物视觉系统的感受野机制使网络能够专注于提取局部特征。权值共享同一特征图的所有神经元共享同一组卷积核参数这意味着同一个特征检测器可以在整个图像上滑动检测不同位置的相同特征大幅减少了参数数量。层次化特征提取卷积神经网络能够自动学习层次化的特征表示浅层网络提取边缘、纹理等低级特征中层网络提取物体部件等中级特征深层网络提取物体整体等高级语义特征。这种层次化特征表示比人工设计的特征更有效。七、实验结果与对比分析在 Fashion-MNIST 数据集10 类服装灰度图像上的训练结果原始 LeNet-5Sigmoid 普通 SGD训练 10 轮后测试准确率约 10%与随机猜测相当模型完全没有学习。Xavier 初始化 动量法Sigmoid训练 10 轮后测试准确率达到约 75%模型能够有效学习。ReLU 激活函数 普通 SGD训练 10 轮后测试准确率达到约 82%训练 100 轮后达到约 88%收敛速度和最终精度均优于前一种方案。实验表明ReLU 激活函数是解决梯度消失问题的更有效方法而合理的初始化策略和优化器能够进一步提升模型性能。总结卷积神经网络通过局部连接和权值共享两大核心创新解决了全连接网络处理图像时的参数爆炸和空间信息丢失问题。梯度消失是训练深层神经网络的主要障碍ReLU 激活函数、Xavier 初始化和动量法是解决这一问题的基础技术。LeNet-5 奠定了现代卷积神经网络的基本架构后续的 AlexNet、VGG、ResNet 等经典模型都是在其基础上发展而来的。