神经网络与深度学习课程笔记(2)
1. 卷积神经网络基础
1.1. 全连接网络的问题
-
参数过多:例如输入 1000×1000 图像,隐含层 1M 节点,参数数量达 10^12。
-
计算慢、难收敛:容易陷入局部极小值,过拟合严重。
-
解决思路:
-
局部连接(卷积操作)减少参数。
-
分层处理信息,逐层提取更高级特征(模仿人类视觉系统)。
-
1.2. 深度学习平台与PyTorch基础
PyTorch:研究领域使用最广(约80%),支持动态图,易用性强。
PyTorch 基本概念:
-
张量(Tensor):高维数组,类似于 NumPy 的 ndarray。
-
计算图(Computational Graph):节点为操作,边为张量流动。
-
Dataset / DataLoader:读取样本和标签。
-
Variable:存储权重等参数(旧版,现已被 Tensor 替代)。
1.3. 卷积神经网络基础
核心思想:
-
局部连接 + 权值共享 → 减少参数数量。
-
卷积操作提取空间特征(如边缘、纹理)。
基本操作:
-
卷积:卷积核与输入图像进行点乘和滑动。
-
填充(Padding):保持尺寸,常用0填充。
-
步长(Stride):控制卷积核滑动步幅。
-
多通道卷积:如RGB三个通道,每个通道有独立卷积核。
池化(Pooling):
-
最大池化、平均池化,减少特征图尺寸,增强平移不变性。
典型结构:
输入 → 卷积 → 激活 → 池化 → ... → 全连接 → 输出
1.4. 误差反向传播(BP) in CNN
关键推导:
-
卷积层的误差传递:依赖于下一层的误差和卷积核。
-
池化层的误差传递:
-
最大池化:误差传递到最大值位置。
-
平均池化:误差均分传递。
-
BP 步骤总结:
-
计算输出层误差
-
从后向前逐层传播误差:
-
池化层:上采样误差图
-
卷积层:卷积转置操作传播误差
-
-
更新权重:
输入激活值
1.5. 经典卷积网络结构
1.5.1. LeNet-5(1998)
-
输入:32×32 灰度图
-
结构:
-
C1:6个5×5卷积核 → 28×28
-
S2:平均池化 → 14×14
-
C3:16个5×5卷积核 → 10×10
-
S4:平均池化 → 5×5
-
C5:120个5×5卷积核 → 1×1
-
F6:84个神经元
-
输出:10个RBF单元
-
-
参数总数:约6万
-
特点:无填充,使用sigmoid/tanh激活函数
1.5.2. AlexNet(2012)
-
改进:
-
使用ReLU激活函数
-
Dropout防止过拟合
-
最大池化
-
双GPU训练
-
-
参数:约6000万
-
结构:5个卷积层 + 3个全连接层
1.5.3. VGG-16(2014)
-
特点:
-
全部使用3×3卷积核
-
网络结构规整,深度达16层
-
-
参数:约1.38亿
-
规律:特征图尺寸减半,通道数翻倍
1.5.4. 残差网络(ResNet)
-
动机:深层网络梯度消失问题
-
解决方案:引入“跳跃连接”,将浅层输出直接加到深层输出
-
残差块结构:
输入 → 卷积 → 激活 → 卷积 → 输出 + 输入 → 激活
-
典型深度:ResNet-34、50、101、152
-
FLOPs 比 VGG 更少,性能更好
2. 深度学习视觉应用
2.1. 常用数据集
2.1.1. MNIST
-
内容:手写数字 0~9,灰度图,尺寸 28×28
-
规模:训练集 60,000 张,测试集 10,000 张
-
文件:包含图像和标签共 4 个文件
-
变体:Fashion-MNIST(商品图片,格式与 MNIST 完全一致,便于替换)
2.1.2. CIFAR-10
-
内容:10 类彩色图像(飞机、汽车、鸟、猫等),尺寸 32×32
-
规模:60,000 张(50,000 训练 + 10,000 测试),每类 6,000 张
2.1.3. PASCAL VOC
-
全称:Pattern Analysis, Statistical Modelling and Computational Learning – Visual Object Classes
-
活跃时间:2005~2012 年,常用 VOC 2012
-
任务:目标分类、检测、分割
-
类别数:20 类(人、车、动物、家具等)
-
标注格式:每张图像对应一个 XML 文件,包含目标位置和类别
2.1.4. MS COCO
-
全称:Microsoft Common Objects in Context
-
特点:复杂日常场景,以 scene understanding 为目标
-
规模:33 万张图片,其中 20 万张有标注,个体超 150 万个
-
类别:80 类(人、交通工具、动物、餐具、电子产品等)
-
地位:ImageNet 停办后,COCO 竞赛成为目标检测/分割领域的权威标杆
2.1.5. ImageNet
-
提出:李飞飞团队,2009 年
-
规模:14,197,122 张图像,21,841 个类别
-
标注框图像数:约 100 万张
-
ImageNet-21K:1400 万张图,21,000 类,常用于预训练
2.2. 评价指标
2.2.1. 混淆矩阵与基础指标
| 真实\预测 | 正例(1) | 负例(0) |
|---|---|---|
| 正例(1) | TP | FN |
| 负例(0) | FP | TN |
-
精确率(Precision) = TP / (TP + FP) —— “找得对不对”
-
召回率(Recall) = TP / (TP + FN) —— “找得全不全”
-
准确率(Accuracy) = (TP + TN) / (TP + TN + FP + FN)
2.2.2. 置信度与阈值
-
改变置信度阈值 → 改变 Precision 和 Recall
-
阈值越高 → 系统更“挑剔”,Precision 高,Recall 低
-
阈值越低 → 系统更“宽松”,Recall 高,Precision 低
2.2.3. P-R 曲线
-
横轴:Recall,纵轴:Precision
-
曲线越靠近右上角,性能越好
-
通常 Precision 和 Recall 相互制约
2.2.4. 平均精度(AP)
-
定义:P-R 曲线下的面积
-
计算公式:
其中
为识别出 k 个图像时的 Precision,
为 Recall 的变化量
-
AP 越高,模型在该类别上的性能越好
2.2.5. mAP(Mean Average Precision)
-
对所有类别的 AP 取平均值
-
目标检测任务中最常用的综合指标
2.3. 目标检测与 YOLO
2.3.1. 目标检测发展简史(为 YOLO 做铺垫)
-
R-CNN:候选区域 + CNN 分类(慢)
-
SPP-Net:空间金字塔池化,加速特征提取
-
Fast R-CNN:共享卷积,整图输入
-
Faster R-CNN:引入 RPN(区域建议网络),端到端
-
YOLO:将检测视为回归问题,单次前向即可输出位置和类别
2.3.2. YOLO 基本思想
-
You Only Look Once:无需候选区域,直接预测边界框和类别概率
-
核心步骤:
-
将图像划分为 S×S 网格
-
每个网格预测 B 个边界框(含位置、置信度)和 C 个类别概率
-
使用非极大值抑制(NMS)去除重复框
-
-
优点:速度快,适合实时检测
-
损失函数:包含位置误差、置信度误差、分类误差
2.4. 语义分割
2.4.1. FCN(Fully Convolutional Network)
-
核心思想:将全连接层替换为卷积层,接受任意尺寸输入,输出与输入同尺寸的逐像素类别
-
结构:下采样(编码器) + 上采样(转置卷积/反卷积) + 跳跃连接(融合浅层细节)
-
意义:开创了端到端像素级分类的方法
2.4.2. DeepLab 系列
-
DeepLab v3+ 是目前广泛使用的语义分割模型
-
关键技术:
-
空洞卷积(Atrous Convolution):扩大感受野而不增加参数量
-
空间金字塔池化(ASPP):多尺度特征提取
-
编码器-解码器结构
-
更多推荐
所有评论(0)