课程内容卷积神经网络基础、卷积与池化、PyTorch、LeNet、AlexNet、VGG、ResNet一、卷积神经网络的提出背景与基本思想传统全连接神经网络在处理图像时存在一个非常严重的问题参数数量过于庞大。课程中提到如果输入是一张 (1000 \times 1000) 的图像而隐藏层拥有100万个神经元那么参数规模将达到10^6 \times 10^6 10^{12}即万亿级参数。如此庞大的参数量会导致计算复杂度极高模型训练速度缓慢内存消耗巨大极易出现过拟合因此传统神经网络并不适合直接处理高维图像数据。课程中指出人类视觉系统在观察物体时并不是一次性理解整个图像而是通过“局部到整体”的方式逐层提取特征。卷积神经网络CNN正是借鉴了这种思想其核心包括局部连接权值共享多层特征提取其中“局部连接”意味着神经元只关注图像中的局部区域而不是整张图像“权值共享”则表示同一个卷积核在整张图像中重复使用从而大幅减少参数数量。CNN 的整体结构通常如下Input ↓ Conv ↓ Pooling ↓ Conv ↓ Pooling ↓ FC ↓ Softmax ↓ Output随着网络不断加深通常会呈现一种规律图像宽高逐渐减小特征通道数量逐渐增加课程中也专门总结了这一特征变化规律。二、卷积运算、Padding 与 Pooling 的核心原理卷积Convolution是 CNN 中最重要的操作其本质是使用卷积核在图像上滑动并提取局部特征。卷积层前向传播公式为a^l(x,y)f\left(\sum_{u0}^{p}\sum_{v0}^{q}a^{l-1}(xu,yv)w^{l,k}(u,v)b\right)其中(a^{l-1})上一层输入特征图(w)卷积核参数(b)偏置项(f)激活函数卷积运算实际上是对应元素相乘对结果求和经过激活函数输出卷积层输出尺寸通常满足n_{out}\frac{n2p-f}{s}1其中(n)输入尺寸(p)Padding(f)卷积核大小(s)StridePadding填充的作用是避免图像尺寸过快缩小。课程中提到了零填充等方式。Stride步长则决定卷积核每次滑动距离。步长越大输出尺寸越小计算量越低特征损失越明显此外CNN 还会使用池化Pooling进行降采样。课程中将其定义为使用局部统计特征解决特征过多问题。常见池化包括最大池化Max Poolingy\max(x_1,x_2,\dots,x_n)其特点是保留最显著特征。平均池化Average Poolingy\frac{1}{n}\sum_{i1}^{n}x_i其特点是让特征更加平滑。池化层能够减少参数数量降低计算复杂度提高鲁棒性抑制过拟合三、CNN 的误差反向传播与激活函数卷积神经网络除了前向传播外还需要通过 BP反向传播更新参数。课程中给出了 CNN 的 BP 推导过程。输出层误差可表示为\delta_i^Lf(z_i^L)e_i对于卷积层误差传播公式为\delta^{l,k}(x,y)\sum_{j1}^{c^{l1}}w^{l1,kj}\ast\delta^{l1,j}(x,y)\cdot f(z^{l,k}(x,y))权值更新公式\Delta w\alpha\sum_x\sum_y\delta(x,y)a(xu,yv)其中(\delta)误差项(\alpha)学习率(a)输入特征图这些公式说明 CNN 本质上仍然属于神经网络只是其连接方式更加适合图像处理。激活函数则负责引入非线性能力。早期网络如 LeNet大量使用SigmoidtanhSigmoid 函数\sigma(x)\frac{1}{1e^{-x}}tanh 函数tanh(x)\frac{e^x-e^{-x}}{e^xe^{-x}}但这两种函数在深层网络中容易产生梯度消失问题。因此 AlexNet 开始大量使用 ReLUf(x)\max(0,x)ReLU 的优势包括收敛速度快计算简单梯度传播稳定因此成为现代 CNN 中最常用的激活函数。四、经典 CNN 网络结构分析LeNet-5 是 CNN 历史上最经典的网络之一。课程中详细介绍了其结构。LeNet-5 的结构如下Input ↓ C1 ↓ S2 ↓ C3 ↓ S4 ↓ C5 ↓ F6 ↓ Output其特点包括使用平均池化使用 Sigmoid/tanh网络层数较浅参数量约为6万LeNet 的成功奠定了整个 CNN 发展的基础。2012 年AlexNet 在 ImageNet 比赛中取得突破性成绩标志着深度学习时代正式到来。课程中总结了 AlexNet 的主要改进使用 ReLU 激活函数使用 Max Pooling使用 Dropout使用数据增强使用 GPU 并行训练其中 Dropout 的思想是训练过程中随机关闭部分神经元。数学表达为yr\cdot x,\quad r\sim Bernoulli(p)这可以有效防止神经元之间过度依赖从而减轻过拟合。随后提出的 VGG-16 网络进一步加深了网络层数。课程中指出VGG 参数量约1.38亿结构非常规整大量采用 (3\times3) 卷积核两个 (3\times3) 卷积可以获得接近 (5\times5) 的感受野33-15但参数量明显更少因此网络表达能力更强。五、ResNet 与深层网络的发展随着网络不断加深一个核心问题逐渐显现梯度消失Vanishing Gradient课程中分析了普通深层网络存在的问题。在 BP 过程中梯度会不断连乘\frac{\partial L}{\partial x}\frac{\partial L}{\partial y_n}\prod_{i1}^{n}\frac{\partial y_i}{\partial y_{i-1}}如果每层梯度都小于1那么随着层数增加梯度会迅速趋近于0。为了解决这一问题ResNet 引入了残差结构。课程中给出的核心思想为H(x)F(x)x即(x)原始输入(F(x))卷积学习结果(H(x))最终输出这种“跳跃连接”可以让浅层信息直接传递到深层。反向传播时\frac{\partial H}{\partial x}\frac{\partial F}{\partial x}1即使 (\frac{\partial F}{\partial x}) 很小也仍然存在恒等项1从而避免梯度完全消失。课程最后总结指出传统 CNN“卷积层 池化层”不断堆叠。而残差网络通过跨层连接解决深层网络训练困难问题。ResNet 的提出使得50层101层152层甚至更深网络的训练成为可能也推动了现代深度学习的发展。