BP网络与卷积神经网络基础

一、课程内容概述

本周课程主要学习了两部分内容:第一部分是多层前馈网络与误差反向传播算法,重点包括多层感知机、XOR线性不可分问题、BP算法的正向传播与反向传播过程,以及BP算法的优缺点;第二部分是卷积神经网络基础,重点包括为什么需要深度学习、PyTorch基本概念、卷积与池化操作、CNN中的误差反向传播、LeNet-5结构,以及AlexNet、VGG-16、ResNet等典型卷积神经网络。

二、多层感知机与BP算法小结

多层感知机的引入主要是为了解决单层感知机无法处理的线性不可分问题。课件以XOR问题为例说明,异或数据点无法用一条直线完成分类,因此需要在输入层和输出层之间加入一层或多层隐含层。加入隐含层后,网络可以通过多个线性划分组合出更复杂的决策区域,从而解决XOR问题。进一步地,三层阈值节点网络在隐层节点足够多时可以实现任意二值逻辑函数,三层S型非线性节点网络则具有逼近连续函数的能力,这说明多层感知机具备较强的非线性表达能力。

BP算法是多层前馈神经网络中最核心的学习方法之一,本质上是梯度下降法在多层网络中的应用。其基本流程包括正向传播和反向传播:正向传播时,输入信号从输入层依次经过隐层到达输出层,得到网络预测结果;如果预测结果与期望输出存在误差,则进入反向传播阶段,将输出误差沿原连接路径向前一层一层传回,并根据梯度下降思想调整各层权值和阈值,使整体误差逐渐减小。由于BP算法需要已知输入和对应输出样本,因此属于有导师的监督学习方法。

在程序实现方面,课件结合D2L中“多层感知机从零开始实现”的内容,并使用Fashion-MNIST数据集进行示例。Fashion-MNIST是用于替代MNIST手写数字集的图像数据集,包含10类服饰商品图片,共7万张图像,训练集和测试集划分为60000/10000,图像大小为28×28灰度图,因此适合用于分类模型和神经网络基础实验。

从算法评价看,BP算法的优点在于学习过程相对自主,能够通过样本数据自动调整参数,并且可以逼近任意非线性函数,因此在模式识别、分类、回归等任务中具有广泛应用。但它也存在明显不足,例如算法不保证全局收敛,可能陷入局部极小值;收敛速度可能较慢;学习率的选择会显著影响训练效果;网络结构如何设计,如隐层层数和节点数,也需要经验和实验调参。

三、卷积神经网络基础小结

卷积神经网络的提出,主要是为了解决传统全连接网络在图像任务中的参数量过大、计算速度慢、难以收敛和容易过拟合等问题。例如,对于较大尺寸图像,如果直接使用全连接层,输入到隐含层之间会产生巨大数量级的参数。CNN通过局部连接、权值共享和层次化特征提取,显著减少参数量,并更符合视觉信息逐层抽象的处理方式。课件还介绍了TensorFlow、Caffe、JAX、MindSpore、PyTorch、PaddlePaddle、MMDetection等深度学习平台,并重点说明了PyTorch中Tensor、Dataset、DataLoader、计算图等基本概念。

CNN的核心操作是卷积。卷积层使用若干卷积核在输入图像上滑动,提取局部特征;卷积过程中会涉及卷积核大小、填充、步长和通道数等概念。填充用于控制特征图尺寸并保留边缘信息,步长决定卷积核滑动间隔,多通道卷积则用于处理RGB图像或上一层输出的多张特征图。池化层通常使用最大池化或平均池化提取局部统计特征,减少特征数量和计算量,同时增强一定的平移不变性。整体来看,CNN通常由多个“卷积层+池化层”堆叠构成,后接全连接层和分类器完成最终分类。

在CNN的学习算法中,仍然需要使用误差反向传播。与普通全连接网络不同,卷积层和池化层的反向传播需要考虑空间位置和局部连接关系。平均池化反向传播时,误差会按照窗口大小平均分配;最大池化反向传播时,误差主要回传到前向传播中取得最大值的位置。卷积层的反向传播则需要根据卷积核和上一层特征图计算梯度,并对共享权值进行累加更新。课件最后将卷积、池化、全连接层中的反向传播公式进行了统一总结。

四、典型CNN结构小结

LeNet-5是早期经典卷积神经网络,主要用于手写数字识别。其基本结构可以概括为:输入层、卷积层、池化层、卷积层、池化层、全连接层、输出层。课件对C1、S2、C3、S4、C5、F6和输出层进行了分层说明,例如C1层使用6个特征图,每个神经元进行5×5卷积;C5层包含120个神经元;F6层包含84个神经元。LeNet-5与现代CNN相比,层数较浅,参数量较小,池化层多采用平均池化,激活函数多为Sigmoid或tanh,而现代网络更多使用ReLU和最大池化。

在更深层的卷积网络中,AlexNet推动了深度CNN在大规模图像识别中的应用。它采用ReLU激活函数、最大池化、Dropout、数据增强和多GPU训练等方法,网络由5层卷积层和3层全连接层组成,参数量接近6000万。VGG-16进一步加深网络,并使用较规整的小卷积核结构,参数量约为1.38亿,体现出“随着网络加深,特征图宽高逐渐减小、通道数逐渐增加”的规律。ResNet则通过残差连接将浅层激活直接传递到深层,缓解梯度消失问题,使训练更深的网络成为可能。

五、课堂收获与思考

通过本次学习,可以看出神经网络的发展逻辑是从简单线性模型逐步走向复杂非线性模型。多层感知机通过隐含层解决线性不可分问题,BP算法提供了可训练多层网络的基本方法;卷积神经网络则进一步针对图像数据特点,引入局部连接、卷积核、池化和多层特征抽象,使模型能够更高效地处理视觉任务。

本次课程也提示我们,深度学习并不是简单地“堆叠更多层”,而是在网络结构、参数规模、计算效率、训练稳定性和泛化能力之间进行综合设计。后续学习中,应重点掌握卷积层和池化层的前向传播与反向传播推导,理解LeNet、AlexNet、VGG和ResNet等经典网络的结构差异,并结合实际数据集进行代码实验,以加深对神经网络训练过程和模型设计思想的理解。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐