模式识别与机器学习复习笔记(下-深度学习篇)

本文是国科大《模式识别与机器学习》课程的简要复习,基于课件然后让ai帮忙补充了一些解释。本文是第十三章,是最后一章。本文章更多是对于课件的知识点的记录总结,找了点例题和讲解,建议结合其他资料或者课件来看。

第十三章 深度学习

本章旨在从传统机器学习过渡到深度学习,重点在于理解神经网络的结构演进、卷积神经网络(CNN)的特征提取机制、Transformer 的注意力机制以及生成式模型的基本原理。

13.1 神经元与网络基础

13.1.1 人工神经元(M-P 模型)

神经元是神经网络的最小单位。它模仿生物神经元接收信号、加权求和、判断是否超过阈值并输出。

y = f ( ∑ i = 1 n w i x i + b ) y = f\left(\sum_{i=1}^{n} w_i x_i + b\right) y=f(i=1∑nwixi+b)

  • x i x_i xi:输入特征。
  • w i w_i wi:权重(Weight),代表输入的重要性。
  • b b b:偏置(Bias),调整激活的难易程度。
  • f f f:激活函数,引入非线性(如 Sigmoid, ReLU)。

直观理解:神经元就像一个"投票过滤器"。权重是各评委的话语权,偏置是个人的偏见底色,激活函数则是决定"最终是否把这件事说出去"的门槛。

13.1.2 激活函数对比表

激活函数 公式 特点 考试注意点
Sigmoid 1 / ( 1 + e − x ) 1 / (1 + e^{-x}) 1/(1+e−x) 输出在 (0, 1) 之间 容易产生梯度消失
ReLU m a x ( 0 , x ) max(0, x) max(0,x) 计算极其简单,单侧抑制 深度学习中最主流,解决梯度消失
Softmax e x i / ∑ e x j e^{x_i} / \sum e^{x_j} exi/∑exj 所有输出和为 1 用于多分类问题的输出层

13.2 深度学习的训练核心:反向传播 (BP)

反向传播算法是考试中理解"网络如何更新"的关键。你不需要推导偏导数,但要明白它的逻辑步骤。

核心逻辑:

  1. 前向传播:数据进去,算出一个预测值。
  2. 计算误差:预测值和真实值(Label)差了多少。
  3. 误差反传 :根据误差,通过链式法则从后往前,告诉每一层的每一个权重 w w w:你刚才对这个错误的贡献是多少。
  4. 参数更新:权重根据分配到的"责任"进行微调。

直观理解:就像一个生产线,最后成品不合格。质量检查员从成品往回溯,发现是最后一道工序偏了 2mm,倒数第二道工序偏了 1mm,于是每道工序都按比例调整。


13.3 卷积神经网络 (CNN)

13.3.1 为什么用 CNN 而不是全连接 (MLP)?

如果用普通网络处理一张 12MP 的图片,参数量会达到几十亿(3.6B),根本无法训练。CNN 借鉴了生物视觉的两个特性:

  • 局部连接:神经元只看图片的一小块("鸟喙"检测器)。
  • 权值共享:同一个检测器可以扫过整张图(左上的鸟喙和中间的鸟喙可以用同一个卷积核找)。

13.3.2 核心组件与计算

考试考点:输出尺寸计算

计算公式:

已知输入大小 I I I,卷积核大小 K K K,步长(Stride) S S S,填充(Padding) P P P:

O = I − K + 2 P S + 1 O = \frac{I - K + 2P}{S} + 1 O=SI−K+2P+1

  • 卷积层:提取特征。
  • 池化层 (Pooling) :压缩特征,减小尺寸(通常有 Max Pooling 和 Mean Pooling),它没有参数需要学习。
  • 全连接层 (Flatten/FC):把提取到的特征拉直,进行最后的分类。

另一种形式是:

给定输入图像大小 W × H W \times H W×H,卷积核大小 K × K K \times K K×K,步长 S S S,填充 P P P。

W W W(Width)是它的宽度, H H H(Height)是它的高度。

W o u t = ⌊ W i n − K + 2 P S ⌋ + 1 W_{out} = \lfloor \frac{W_{in} - K + 2P}{S} \rfloor + 1 Wout=⌊SWin−K+2P⌋+1 W i n W_{in} Win:输入宽度(高度同理)。
K K K:卷积核(Filter)大小。
P P P:填充(Padding)层数(通常是为了保持尺寸或处理边缘)。
S S S:步长(Stride)。

如果输入图像的高度是 H i n H_{in} Hin,那么输出高度 H o u t H_{out} Hout 的计算公式为: H o u t = ⌊ H i n − F + 2 P S ⌋ + 1 H_{out} = \lfloor \frac{H_{in} - F + 2P}{S} \rfloor + 1 Hout=⌊SHin−F+2P⌋+1

H i n H_{in} Hin:输入图像的原始高度(像素数)。 F F F:卷积核在垂直方向上的大小(通常卷积核是正方形 F × F F \times F F×F,所以高也是 F F F)。 P P P:垂直方向的填充。 S S S:垂直方向的步长。

如果题目说 "Same Padding",意思就是输出尺寸和输入一致。如果 S = 1 S=1 S=1,那么 P = ( K − 1 ) / 2 P = (K-1)/2 P=(K−1)/2。

参数量计算(权重数)公式:
T o t a l _ P a r a m s = ( F × F × C i n + 1 ) × C o u t Total\Params = (F \times F \times C{in} + 1) \times C_{out} Total_Params=(F×F×Cin+1)×Cout

F × F F \times F F×F:卷积核大小。
C i n C_{in} Cin:输入通道数(如 RGB 为 3)。
C o u t C_{out} Cout:输出通道数(即卷积核的个数)。

  • 1 +1 +1:表示每个卷积核有一个偏置 (Bias)。

参数量就像是你要买多少个"滤镜"。每个滤镜的大小是 F × F F \times F F×F,它要处理之前所有层( C i n C_{in} Cin)留下的信息,最后你想得到多少个新特征( C o u t C_{out} Cout),就得准备多少套滤镜。

例题:

题目 :输入图片尺寸为 32 × 32 32 \times 32 32×32,使用 5 × 5 5 \times 5 5×5 的卷积核,步长 S = 1 S=1 S=1,填充 P = 2 P=2 P=2。请计算输出特征图的尺寸。

步骤1 :识别参数。 I = 32 , K = 5 , S = 1 , P = 2 I=32, K=5, S=1, P=2 I=32,K=5,S=1,P=2。

步骤2 :带入公式。 O = ( 32 − 5 + 2 × 2 ) / 1 + 1 O = (32 - 5 + 2 \times 2) / 1 + 1 O=(32−5+2×2)/1+1。

步骤3 :计算结果。 O = ( 31 ) / 1 + 1 = 32 O = (31) / 1 + 1 = 32 O=(31)/1+1=32。

结论 :输出依然是 32 × 32 32 \times 32 32×32(这种 Padding 方式常被称为 Same Padding)。

例题2

题目: 输入图像为 224 × 224 × 3 224 \times 224 \times 3 224×224×3(RGB),第一层使用 64 个 3 × 3 3 \times 3 3×3 的卷积核,步长为 2,填充为1。

  1. 计算输出特征图的尺寸。
  2. 计算该层的总参数量。

步骤 1:算尺寸带入公式: W o u t = ( 224 − 3 + 2 × 1 ) / 2 + 1 = 223 / 2 + 1 = 111.5 + 1 ≈ 112 W_{out} = (224 - 3 + 2 \times 1) / 2 + 1 = 223 / 2 + 1 = 111.5 + 1 \approx 112 Wout=(224−3+2×1)/2+1=223/2+1=111.5+1≈112。输出尺寸为: 112 × 112 × 64 112 \times 112 \times 64 112×112×64。

步骤 2:算参数单个卷积核参数 = 3 × 3 × 3 ( 通道 ) + 1 ( 偏置 ) = 28 3 \times 3 \times 3 (\text{通道}) + 1 (\text{偏置}) = 28 3×3×3(通道)+1(偏置)=28。总参数 = 28 × 64 = 1792 28 \times 64 = 1792 28×64=1792。

13.4 Transformer 机制

Transformer 彻底改变了处理序列(如文字、视频)的方式。其核心是自注意力机制 (Self-Attention)

13.4.1 自注意力机制的三个矩阵

  • Query (Q):我去查谁?
  • Key (K):谁等着被查?
  • Value (V):查到了带走什么信息?

直观理解:这就像在一个派对里。你想了解某人(Q),你扫视全场人的名牌(K),计算你和每个人相似度(注意力权重),最后你根据相似度高低,吸收了他们身上的故事(V)。

或者说:

Query ( Q Q Q):代表"我要找什么"。

Key ( K K K):代表"我有什么标签"。

Value ( V V V):代表"我实际的内容"。

计算三部曲:

算得分: S c o r e = Q ⋅ K T Score = Q \cdot K^T Score=Q⋅KT(计算当前词和所有词的相关度)。

归一化: A t t e n t i o n _ W e i g h t s = Softmax ( S c o r e d k ) Attention\_Weights = \text{Softmax}(\frac{Score}{\sqrt{d_k}}) Attention_Weights=Softmax(dk Score)(把得分变成概率,总和为 1)。

加权和: O u t p u t = ∑ ( W e i g h t s × V ) Output = \sum (Weights \times V) Output=∑(Weights×V)(根据相关度,把大家的 V 收集起来)。

13.4.2 为什么比 RNN 好?

  • 并行计算:RNN 必须一个字一个字读,Transformer 可以一次性看一整句话。
  • 长程依赖 :Transformer 无论两个字隔多远,都能通过 Q ⋅ K Q \cdot K Q⋅K 直接建立联系。

13.5 生成式模型 (Generative Models)

13.5.1 生成模型对比表

模型类型 核心思想 优缺点
VAE (变分自编码器) 学习数据的分布(均值和方差) 结果容易模糊
GAN (生成对抗网络) 生成器和判别器"左右互搏" 效果逼真但训练不稳定
Diffusion (扩散模型) 先加噪把图毁掉,再学习如何去噪还原 效果最好(Stable Diffusion),但速度慢

13.5.2 GAN 的基本思路

  • 生成器 (Generator):负责造假,目标是骗过判别器。
  • 判别器 (Discriminator):负责鉴假,目标是识破生成器。

直观理解:生成器是伪钞制造者,判别器是警察。警察越厉害,伪钞制造者技术就越精湛,最后伪钞和真钞几乎无法分辨。

GAN 的损失函数:

GAN 的目标是什么? min ⁡ G max ⁡ D V ( D , G ) \min_G \max_D V(D, G) GminDmaxV(D,G)

D D D 的目标:最大化判别正确率(给真图打高分,给假图打低分)。
G G G 的目标:最小化 D D D 的判断能力(让 D D D 分不清真假)。

相关推荐
BlackWolfSky2 小时前
鸿蒙中级课程笔记2—状态管理V2—@Local
笔记·华为·harmonyos
zhangrelay2 小时前
linux下如何通过与AI对话设置thinkpad电池充电阈值
linux·运维·笔记·学习
张祥6422889042 小时前
误差理论与测量平差基础笔记八
笔记·算法·机器学习
zhangrelay2 小时前
Isaac Sim的物质基础要求为啥样?
笔记·学习
shengMio2 小时前
周报——2026.1.19-1.25
深度学习·论文写作
高洁012 小时前
数字孪生应用于特种设备领域的技术难点
人工智能·python·深度学习·机器学习·知识图谱
Piar1231sdafa2 小时前
基于YOLOv26的海洋鱼类识别与检测系统深度学习训练数据集Python实现_1
python·深度学习·yolo
航Hang*3 小时前
计算机等级考试(二级WPS)---第1章:综合应用基础---第3节:云办公云服务
笔记·学习·wps·复习·计算机二级·计算机等级考试
JXL18603 小时前
Fundamentals in ML
机器学习