
一、卷积神经网络CNN基础1.1 为什么需要深度学习全连接网络存在以下核心缺陷无法有效处理高维图像数据参数爆炸输入1000×1000图像且隐含层有1M节点时输入到隐含层的参数数量达到10¹²量级计算缓慢海量参数导致训练和推理速度极慢难以收敛优化过程容易陷入局部极小值过拟合严重过多参数容易记住训练数据的噪声泛化能力差解决思路局部连接每个神经元只与上一层的少数神经元连接分层特征提取模拟人类视觉系统从低级特征边缘、纹理逐步提取高级特征物体、场景1.2 深度学习平台简介主流深度学习平台对比平台发布者支持语言易用性大规模训练能力定位PyTorchFacebookPython/C★★★★优秀学术研究首选TensorFlowGooglePython/C/Java★★★优秀工业部署广泛KerasGooglePython★★★★★一般入门友好PaddlePaddle百度Python★★★良好中文生态完善MindSpore华为Python★★★良好昇腾硬件适配目前PyTorch因其动态图机制和易用性已成为学术界的主流选择约80%的研究采用PyTorch。1.3 CNN核心概念1.3.1 卷积Convolution卷积是CNN的核心操作通过滑动卷积核提取局部特征实现权值共享同一卷积核在整个特征图上共享参数大幅减少参数数量。关键参数卷积核大小常用3×3、5×5等小卷积核堆叠可等效于大卷积核且参数更少填充Padding在特征图边界填充0或复制像素保持输出尺寸不变步长Stride卷积核滑动的间隔步长越大输出尺寸越小多通道卷积输入为多通道如RGB时每个通道对应一个卷积核结果相加得到输出通道1.3.2 池化Pooling池化层用于降维和增加感受野同时保留主要特征减少计算量和过拟合风险。平均池化取窗口内所有值的平均值保留整体背景信息最大池化取窗口内的最大值更常用能有效保留纹理和边缘信息1.3.3 误差反向传播CNN的反向传播与全连接网络类似但需要针对卷积和池化层做特殊处理池化层反向传播平均池化误差平均分配到前一层对应窗口的所有位置最大池化误差只回传到前一层窗口中最大值的位置其余位置为0卷积层反向传播将卷积核上下左右翻转后与误差图进行卷积操作得到前一层的误差1.4 经典CNN网络1.4.1 LeNet-51998提出者Yann LeCun等用途手写数字识别MNIST数据集结构输入(28×28灰度) → C1(5×5卷积,6通道) → S2(2×2平均池化) → C3(5×5卷积,16通道) → S4(2×2平均池化) → C5(5×5卷积,120通道) → F6(全连接,84神经元) → 输出层(10类,RBF)参数数量约6万特点无填充、平均池化、Sigmoid/Tanh激活函数、层数较浅1.4.2 AlexNet2012提出者Alex Krizhevsky等成就ILSVRC-2012图像分类冠军top-5错误率17.0%标志着深度学习时代的到来结构5个卷积层 3个全连接层参数数量约6000万核心改进使用ReLU激活函数解决Sigmoid的梯度消失问题采用最大池化提升特征提取能力引入Dropout减少过拟合使用数据增强随机裁剪、水平翻转、颜色抖动双GPU并行训练1.4.3 VGG-162014提出者牛津大学Visual Geometry Group结构13个卷积层 3个全连接层参数数量约1.38亿核心特点全部使用3×3卷积核多个小卷积核堆叠等效于大卷积核同时减少参数结构极其规整2-3个卷积层 1个池化层的重复堆叠特征图尺寸减半时通道数翻倍保持每层计算复杂度相近1.4.4 残差网络ResNet2015解决问题深层网络的梯度消失问题普通网络层数增加时训练误差反而上升核心创新残差块Residual Block通过**捷径连接Shortcut Connection**将输入直接加到输出上残差映射( H(x) F(x) x )其中( F(x) )是网络需要学习的残差当( F(x)0 )时网络退化为恒等映射保证深层网络至少不劣于浅层网络常用版本ResNet-18、ResNet-34、ResNet-50、ResNet-101、ResNet-152优势可以训练数百层甚至上千层的深度网络显著提升模型精度二、深度学习视觉应用2.1 常用视觉数据集数据集规模图像尺寸类别数主要用途核心特点MNIST6万训练/1万测试28×28灰度10手写数字入门分类任务简单、经典、易训练Fashion-MNIST6万训练/1万测试28×28灰度10服饰类替代MNIST难度略高更贴近实际应用CIFAR-105万训练/1万测试32×32彩色10飞机、汽车等中等难度分类小尺寸彩色图像PASCAL VOC201211540张训练验证可变20人、动物、交通工具等分类、检测、分割标注质量高经典基准MS COCO33万张20万标注可变80检测、分割、关键点复杂日常场景150万实例当前最权威基准ImageNet1400万张可变21841大规模预训练最大的图像分类数据集ILSVRC竞赛基础2.2 任务评价指标2.2.1 混淆矩阵预测为正例预测为负例真实为正例TP真正例FN假负例真实为负例FP假正例TN真负例2.2.2 核心指标精确率Precision, P( P \frac{TP}{TPFP} )表示预测为正例的样本中实际为正例的比例衡量模型的挑剔程度召回率Recall, R( R \frac{TP}{TPFN} )表示实际为正例的样本中被正确预测的比例衡量模型的查全能力准确率Accuracy( Acc \frac{TPTN}{TPFPFNTN} )表示所有样本中被正确预测的比例P-R曲线以召回率为横轴精确率为纵轴绘制的曲线反映不同阈值下模型的性能平均精度APP-R曲线下的面积综合衡量模型在所有召回率下的精确率平均精度均值mAP所有类别AP的平均值是目标检测任务的核心评价指标2.3 主要视觉任务简介2.3.1 目标检测任务定义在图像中找到所有目标物体的位置边界框并识别其类别发展历程R-CNN → SPP-Net → Fast R-CNN → Faster R-CNN → YOLO系列代表方法YOLOYou Only Look Once将目标检测转化为回归问题速度快适合实时应用2.3.2 语义分割任务定义对图像中的每个像素进行分类标注其所属的物体类别经典方法FCN全卷积网络第一个端到端的语义分割网络将全连接层替换为卷积层DeepLab v3当前广泛使用的语义分割方法引入空洞卷积和空间金字塔池化提升分割精度