《神经网络与深度学习》学习笔记(二)

《神经网络与深度学习》学习笔记(二):BP网络、CNN基础、视觉应用

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

1.1 多层感知机 MLP

1.1.1 提出背景:XOR 问题
  • 单层感知机只能处理线性可分 问题,对异或 XOR这类非线性问题完全失效。
  • 1969 年 Minsky 指出该缺陷,直接导致第一次神经网络寒冬。
  • XOR 真值表:
    • (0,0) → 0
    • (0,1) → 1
    • (1,0) → 1
    • (1,1) → 0
1.1.2 多层感知机结构
  • 在输入层与输出层之间加入一层或多层隐层
  • 典型三层结构:输入层 → 隐层 → 输出层
  • 连接规则:
    • 层内神经元无连接
    • 层间神经元全连接
    • 信号单向前向传播
1.1.3 数学表达
  • 隐层输出:
    y11=f(w111x1+w121x2−θ11) y_{1}^{1}=f\left( w_{11}^{1}x_{1}+w_{12}^{1}x_{2}-\theta {1}^{1}\right) y11=f(w111x1+w121x2−θ11)
    y21=f(w211x1+w221x2−θ21) y
    {2}^{1}=f\left( w_{21}^{1}x_{1}+w_{22}^{1}x_{2}-\theta _{2}^{1}\right) y21=f(w211x1+w221x2−θ21)
  • 输出层:
    y=f(w12y11+w22y21−θ) y=f\left( w_{1}^{2}y_{1}^{1}+w_{2}^{2}y_{2}^{1}-\theta \right) y=f(w12y11+w22y21−θ)
  • 激活函数 f 常用:阶跃函数、Sigmoid、Tanh。
1.1.4 重要定理
  1. 若隐层节点可任意设置,三层阈值网络 可实现任意二值逻辑函数
  2. 若隐层节点可任意设置,三层 S 型激活网络 能够一致逼近紧集上任意连续函数

1.2 多层前馈网络与 BP 算法思想

1.2.1 网络定义
  • 多层前馈网络 = 多层感知机的推广。
  • 每一层只把输出传给下一层,无跨层连接。
  • 若每层神经元与上一层全连接 ,称为全连接神经网络 FC
1.2.2 BP 算法核心流程

BP = 误差反向传播,是有监督学习 ,基于梯度下降

  1. 正向传播
    • 输入从输入层 → 隐层 → 输出层。
    • 计算网络输出与期望输出之间的误差
  2. 反向传播
    • 误差沿连接通路反向逐层传递
    • 利用梯度下降更新权重与阈值,使误差不断减小。
  3. 终止条件:输出误差小于阈值或达到最大迭代次数。

1.3 BP 算法详解

1.3.1 基本思想
  • 定义损失函数(常用均方误差 MSE):
    J=12∑(ytarget−ypredict)2 J=\frac{1}{2}\sum\left(y_{target}-y_{predict}\right)^2 J=21∑(ytarget−ypredict)2
  • 输出层:直接计算误差。
  • 隐层 :利用链式法则,由后一层误差反推当前层误差。
  • 按梯度负方向更新权重:
    Δwij=−η∂J∂wij \Delta w_{ij}=-\eta\frac{\partial J}{\partial w_{ij}} Δwij=−η∂wij∂J
  • η:学习率。
1.3.2 训练步骤
  1. 初始化所有权值 w 与阈值 θ 为小随机数。
  2. 输入样本,正向计算各层输出。
  3. 计算输出层误差 δ。
  4. 反向计算各隐层误差 δ。
  5. 按误差更新各层权值与阈值。
  6. 遍历所有样本,反复迭代直到收敛。

1.4 BP 算法评述

1.4.1 优点
  • 自主学习,无需人工设计规则。
  • 强非线性拟合,可逼近任意复杂函数。
  • 结构简单、通用性强,适用于分类、回归、拟合等任务。
1.4.2 缺点
  • 非全局收敛,易陷入局部极小值。
  • 收敛速度慢,迭代次数多。
  • 学习率 η 敏感,过大震荡,过小收敛极慢。
  • 网络结构难设计:几层?多少节点?无理论最优解。
  • 数据量小时易过拟合

1.5 常用数据集

1.5.1 MNIST
  • 手写数字 0~9,10 分类。
  • 28×28 灰度图,60000 训练 + 10000 测试。
1.5.2 Fashion-MNIST
  • 服饰分类,10 类。
  • 格式与 MNIST 完全一致,用于替代 MNIST 测试算法。

二、卷积神经网络 CNN 基础

2.1 全连接网络的致命缺陷

  • 参数爆炸 :1000×1000 图像 → 1M 隐节点 → 参数量达 10^12 量级。
  • 问题:
    • 计算量巨大,训练极慢。
    • 极易过拟合
    • 无法利用图像空间局部相关性
  • 解决思路:局部连接 + 权值共享

2.2 CNN 核心思想

  1. 局部连接
    每个神经元只与输入图的一小块区域连接,而非全图。
  2. 权值共享
    同一卷积核在整张图上滑动,所有位置共用同一组参数。
  3. 分层特征提取
    • 底层:边缘、角点、纹理。
    • 中层:形状、部件。
    • 高层:完整物体、语义。

2.3 CNN 基础组件

2.3.1 卷积 Convolution
  • 作用:用卷积核提取特征(边缘、纹理等)。
  • 多通道卷积:支持 RGB 三通道输入。
  • 输出特征图:
    zl(x,y)=∑u,val−1(x+u,y+v)⋅wl,k(u,v) z^{l}(x,y)=\sum_{u,v}a^{l-1}(x+u,y+v)\cdot w^{l,k}(u,v) zl(x,y)=u,v∑al−1(x+u,y+v)⋅wl,k(u,v)
2.3.2 填充 Padding
  • 在图像边界补 0 或复制像素。
  • 作用:
    • 保持输出尺寸与输入一致。
    • 防止边缘信息丢失。
2.3.3 步长 Stride
  • 卷积核每次滑动的像素数。
  • 大步长 → 输出尺寸更小,降采样更快。
2.3.4 池化 Pooling(下采样)
  • 作用:降低维度,减少计算,保留主要特征,增强鲁棒性。
  • 平均池化:取窗口内均值。
  • 最大池化:取窗口内最大值(更常用)。

2.4 CNN 中的误差反向传播

2.4.1 池化层反向传播
  • 平均池化:误差均匀分配回窗口各位置。
  • 最大池化 :误差只回传给最大值位置,其余为 0。
2.4.2 卷积层反向传播
  • 误差通过卷积核转置反向传递。
  • 权重更新由误差与输入特征图卷积得到。

2.5 经典 CNN 模型

2.5.1 LeNet-5(1998,Yann LeCun)
  • 最早成功的 CNN,用于手写数字识别
  • 结构:
    • 输入:32×32
    • C1 卷积 → S2 池化 → C3 卷积 → S4 池化 → C5 全连接 → F6 全连接 → 输出
  • 特点:
    • 无 Padding
    • 平均池化
    • Sigmoid / tanh 激活
    • 参数量约 6 万
2.5.2 AlexNet(2012,ImageNet 冠军)
  • 开启深度学习时代。
  • 8 层可学习层:5 卷积 + 3 全连接。
  • 创新点:
    • ReLU 激活,解决梯度消失。
    • Dropout 防止过拟合。
    • 数据增强(裁剪、翻转、光照变化)。
    • 双 GPU 并行训练。
    • 最大池化。
2.5.3 VGG-16(2014)
  • 全部使用 3×3 小卷积核,结构极度规整。
  • 16 层可学习参数。
  • 参数量约 1.38 亿
  • 通用规律:
    • 网络越深 → 特征图宽高越小
    • 通道数成倍增加
2.5.4 ResNet 残差网络(2015)
  • 解决深度网络难以训练问题:梯度消失 / 爆炸。
  • 核心:shortcut 捷径连接
    • 浅层输出直接加到深层输出
    • 学习残差 F(x) = H(x) − x
  • 优势:
    • 可训练101 层、152 层超深网络。
    • 层数越深,性能越好,不退化。

三、深度学习视觉应用

3.1 常用视觉数据集

3.1.1 MNIST
  • 手写数字,10 类,入门必用。
3.1.2 CIFAR-10
  • 10 类日常物体,32×32 彩色图。
3.1.3 PASCAL VOC
  • 20 类目标。
  • 用于:分类、检测、分割。
  • 最常用:VOC 2012。
3.1.4 MS COCO
  • 80 类,复杂日常场景。
  • 标注精度高,是当前目标检测、分割最权威基准。
3.1.5 ImageNet
  • 1400 万+ 图像,2 万+ 类别。
  • 图像分类里程碑数据集。

3.2 模型评价指标

3.2.1 基础四元组
  • TP:真正例
  • FP:假正例
  • FN:假负例
  • TN:真负例
3.2.2 精确率 Precision

P=TPTP+FP P=\frac{TP}{TP+FP} P=TP+FPTP

  • 预测为正的样本中,真实正例所占比例。
3.2.3 召回率 Recall

R=TPTP+FN R=\frac{TP}{TP+FN} R=TP+FNTP

  • 所有真实正例中,被成功检出的比例。
3.2.4 P-R 曲线
  • 横轴:召回率 R
  • 纵轴:精确率 P
  • 曲线越靠近右上角,模型性能越好。
3.2.5 AP 与 mAP
  • AP:单类别 P-R 曲线下面积,平均精度。
  • mAP:多类别任务,所有类别 AP 的平均值。
  • 目标检测、分割最核心指标

3.3 核心视觉任务

3.3.1 图像分类
  • 输入一张图,输出整个图像的类别
  • 代表模型:LeNet、AlexNet、VGG、ResNet。
3.3.2 目标检测
  • 同时完成:定位 + 分类
  • 输出:物体框 + 类别 + 置信度。
  • 经典体系:R-CNN → Fast R-CNN → Faster R-CNN → YOLO
3.3.3 语义分割
  • 每个像素分配类别标签。
  • 例:人、车、建筑、道路、背景。
  • 代表:FCN、DeepLab v3。
3.3.4 实例分割
  • 语义分割 + 区分同类不同个体。
  • 例:图中 5 个人,分别标记为不同实例。

3.4 经典视觉方法

3.4.1 YOLO
  • One-Stage 目标检测。
  • 只看一次:单次前向直接输出框与类别。
  • 速度极快,适合实时检测。
3.4.2 FCN 全卷积网络
  • 第一个端到端语义分割模型。
  • 把全连接层全部换成卷积层。
3.4.3 DeepLab v3
  • 空洞卷积 + 空间金字塔池化
  • 多尺度捕捉特征,分割精度高。

四、本章总结

  1. BP 网络

    • 多层前馈 + 误差反向传播,是深度学习的基础训练算法。
    • 可拟合任意非线性,但易局部最优、收敛慢。
  2. CNN

    • 局部连接 + 权值共享解决全连接网络参数爆炸问题。
    • 擅长图像类任务,自动提取分层特征。
    • 经典路线:LeNet → AlexNet → VGG → ResNet。
  3. 视觉应用

    • 围绕分类、检测、分割三大任务。
    • 用 mAP、Precision、Recall 评估性能。
    • 代表方法:YOLO、FCN、DeepLab。

本文为工大《深度学习与神经网络》课程要求学习总结,仅供参考,版权归原作者所有,侵权请联系删除,谢谢。

相关推荐
通信小呆呆12 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
xiao5kou4chang6kai412 小时前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
H__Rick12 小时前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee13 小时前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
renhongxia113 小时前
世界模型作为AGI落地底层底座的作用
人工智能·深度学习·生成对抗网络·自然语言处理·知识图谱·agi
计算机科研狗@OUC13 小时前
(cvpr26) AIMDepth: Asymmetric Image-Event Mamba for Monocular Depth Estimation
人工智能·深度学习·计算机视觉
Alsn8613 小时前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e14 小时前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨14 小时前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
cqbzcsq15 小时前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息