【课程总结】深度学习与神经网络课堂笔记:从经典BP算法到卷积神经网络(CNN)基础

摘要: 本周课程重点探讨了人工神经网络从线性不可分走向多层非线性的演进之路。前半部分为经典的多层前馈网络及误差反传(BP)算法,分析了其如何解决异或问题以及在Fashion-MNIST数据集上的实践应用;后半部分则聚焦于全连接网络的参数过拟合弊端,由此引出了卷积神经网络(CNN)的核心机制、经典LeNet-5架构,以及旨在攻克梯度消失难题的残差网络(ResNet)。以下是本周课堂内容的详细知识梳理与总结。


一、 多层前馈网络与误差反传算法(BP网络)

1.1 XOR问题与多层感知机(MLP)的引入
  • 线性不可分限制:1969年,Minsky提出了著名的异或(XOR)问题,指出单层感知机由于只有线性分类能力,无法处理此类线性不可分问题。

  • 多层感知机的解决方案:为了克服这一局限,通过在输入层和输出层之间加入一层或多层隐单元(神经元),构成了多层感知器,即多层前馈神经网络。其中,加一层隐节点构成的三层网络便可成功解决XOR问题。

  • 多层网络的逼近定理

    • 定理1:若隐层节点可任意设置,用三层阈值节点的网络,可以实现任意的二值逻辑函数。

    • 定理2(通用逼近定理):若隐层节点可任意设置,用三层S型(Sigmoid)非线性特性节点的网络,可以一致逼近紧集上的连续函数,或按范数逼近紧集上的平方可积函数。

1.2 BP算法的核心思想与工作流程
  • 算法定义:多层前馈网络的反向传播学习算法(简称BP算法)是一种有导师的学习算法,其本质是梯度下降法在多层前馈网络中的应用。

  • 核心工作流程

    1. 正向传播:输入信号从输入层经隐层,一路传向输出层。在输出层得到实际网络输出后,若其达到了期望的输出,则学习算法结束;否则转入反向传播。

    2. 反向传播:将实际输出与期望的导师信号之差(误差)按照原联接通路反向计算,利用梯度下降法来依次调整各层节点的权值和阈值,使总体误差不断减小。

1.3 课程实验:Fashion-MNIST 数据集
  • 数据集简介:Fashion-MNIST是由Zalando研究部门提供的一个用于替代传统手写数字集(MNIST)的图像数据集,常用来测试机器学习与深度学习算法的性能。

  • 规格参数:该数据集包含10个类别、共7万张正面商品的灰度图片(其中训练集60000张,测试集10000张),图片尺寸均为 $28 \times 28$。它的划分与原始MNIST完全一致,因此使用时无需改动繁琐的代码。

  • 加载实现:在PyTorch中可通过 torchvision.datasets.FashionMNIST 接口下载并调用,结合 data.DataLoader 模块可以灵活设置 batch_sizeshuffle(打乱)及多线程 num_workers 来将其高效加载到内存中进行训练。

1.4 BP网络的优缺点总结
  • 优点:具有完全自主的学习能力,并且在理论上能够一致逼近任意非线性函数。

  • 缺点:算法属于局部极小而非全局收敛;收敛速度相对较慢;超参数学习速率 $\alpha$ 的选择往往依赖经验;此外,神经网络的结构设计(如具体设计几层、隐层包含多少个节点等)依然缺乏统一的理论指导。


二、 卷积神经网络基础(CNN)

2.1 为什么要向“深度”学习迈进?全连接网络的问题
  • 参数量灾难:传统的全连接网络在处理高维输入(如图像)时面临巨大的参数量瓶颈。例如输入一张 $1000 \times 1000$ 像素的图像,若隐含层仅设置1M(百万)个节点,则单是输入层到隐层之间的连接参数就会达到庞大的 $1 \times 10^{12}$ 数量级。

  • 引发的弊端:参数量过多会导致网络计算极慢、难以收敛、极易进入局部极小值,并造成非常严重的过拟合问题。

  • 人类视觉的思路启示:生理学研究发现图像的空间相关性通常是局部的。因此应当采用“局部连接网络”,让每一个神经元只连到上一层的少数局部神经元上,实行信息的分层处理,从而将资源投入到更高效的地方。

2.2 深度学习平台及PyTorch基础
  • 主流平台:当前业界的主流深度学习工具及平台包括 PyTorch、TensorFlow、JAX、MindSpore 等。

  • PyTorch 核心机制:其主要围绕张量(Tensor)操作、自动求导与动态计算图(Computational Graph)构建,并提供了统一的 Dataset 和 DataLoader 接口,从而能够按批次(Batch)将训练数据高效、灵活地供给网络。

2.3 卷积神经网络的三大核心机制
  1. 特征提取(生理学启发):受神经生理学家Hubel和Wiesel关于猫视觉皮层细胞(感受野、简单细胞与复杂细胞)研究的启发,CNN通过逐层提取局部特征来逐步组合出高层语义。

  2. 卷积操作(Convolution)

    • 通过卷积核在图像上滑动实现局部连接和权重共享。

    • 包含 Padding(填充):用于控制边界衰减或保持图像尺寸;Stride(步长):决定卷积核每次滑动的格数;同时通过多通道卷积以提取更丰富的多重特征。

  3. 池化层(Pooling / 下采样)

    • 利用局部统计特征(如最大池化 Max Pooling、平均池化 Mean Pooling)来解决特征过多、计算量过大的问题。

    • 它在大幅度削减特征维度的同时,能帮助网络保持一定程度的平移不变性。

2.4 经典架构剖析:LeNet-5 网络
  • 结构流向:LeNet-5是卷积神经网络的开山之作,其经典的层级序列为:输入层 $\rightarrow$ 卷积层(C1) $\rightarrow$ 下采样层(S2) $\rightarrow$ 卷积层(C3) $\rightarrow$ 下采样层(S4) $\rightarrow$ 卷积层(C5) $\rightarrow$ 全连接层(F6) $\rightarrow$ 输出层(Softmax或高斯连接)。

  • 时代特征与局限

    • 其卷积操作没有使用 padding 填充,下采样层采用的是平均池化(Mean Pooling),激活函数使用的是传统的 Sigmoid 或 tanh。

    • 网络层数较浅,总参数量大约只有6万个。

  • CNN设计的普遍规律:从 LeNet-5 中可以清晰看到现代 CNN 设计的普遍规律,即随着网络层数的加深,特征图的宽度和高度不断衰减,而特征通道数(Channel)不断增加

2.5 现代网络结构演进:残差网络(ResNet)
  • 为什么需要ResNet:在卷积神经网络向更深层次演进时,传统的浅层网络加深会遭遇严重的梯度消失(Vanishing Gradient)或梯度爆炸难题,导致层数变深时训练反而无法收敛或准确率产生退化。

  • 残差块(Residual Block)的革命性设计

    • 传统网络结构尝试让网络层去直接拟合目标映射 $H(x)$,而残差块通过引入跨层连接 / 快捷连接(Shortcut / Skip Connection),将前层的输入 $x$ 直接加到后面的输出中,让网络转而拟合残差映射 $F(x) = H(x) - x$。

    • 最终的残差块输出变为 $F(x) + x$。

  • 核心意义:这种设计使得在反向传播时,误差梯度可以沿着短路通道无损地直接传回前层,极大地缓解了超深层网络中的梯度消失问题,从而使成功训练几十层甚至上百层的超深层网络(如ResNet-18/34/50等)成为可能。


三、 本周学习体会与总结

本周的学习完整走过了从传统“全连接前馈网络”向现代“深度卷积网络”演进的历史轨迹。通过对比发现,多层感知机虽然用三层结构和误差反传(BP)算法精妙地利用反向传播完成了参数更新,解决了XOR等线性不可分难题,但在面对大尺寸图像时,其全连接的设计会导致参数爆炸。

而卷积神经网络(CNN)则通过“局部连接”和“权重共享”彻底打破了这一僵局,利用卷积、池化和多层叠加,完美契合了图像空间局部相关性的特征。最后学到的残差网络(ResNet)更是深刻揭示了深层网络训练的痛点——梯度消失,通过跨层快捷连接,为深度学习向更深、更强发展奠定了坚实的基石。这些核心思想不仅对后续理解更高级、更复杂的计算机视觉模型至关重要,也让我们体会到了数学理论与生理学发现相结合的独特魅力。

更多推荐