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

第十三章 深度学习

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

13.1 神经元与网络基础

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

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

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

  • xix_ixi:输入特征。
  • wiw_iwi权重(Weight),代表输入的重要性。
  • bbb偏置(Bias),调整激活的难易程度。
  • fff激活函数,引入非线性(如 Sigmoid, ReLU)。

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

13.1.2 激活函数对比表

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

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

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

核心逻辑:

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

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


13.3 卷积神经网络 (CNN)

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

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

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

13.3.2 核心组件与计算

考试考点:输出尺寸计算

计算公式:

已知输入大小 III,卷积核大小 KKK,步长(Stride)SSS,填充(Padding)PPP

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

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

另一种形式是:

给定输入图像大小 W×HW \times HW×H,卷积核大小 K×KK \times KK×K,步长 SSS,填充 PPP

WWW(Width)是它的宽度,HHH(Height)是它的高度。

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

如果输入图像的高度是 HinH_{in}Hin,那么输出高度 HoutH_{out}Hout 的计算公式为:Hout=⌊Hin−F+2PS⌋+1H_{out} = \lfloor \frac{H_{in} - F + 2P}{S} \rfloor + 1Hout=SHinF+2P+1

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

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

参数量计算(权重数)公式:
Total_Params=(F×F×Cin+1)×CoutTotal\_Params = (F \times F \times C_{in} + 1) \times C_{out}Total_Params=(F×F×Cin+1)×Cout

F×FF \times FF×F:卷积核大小。
CinC_{in}Cin:输入通道数(如 RGB 为 3)。
CoutC_{out}Cout:输出通道数(即卷积核的个数)。
+1+1+1:表示每个卷积核有一个偏置 (Bias)。

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

例题:

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

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

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

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

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

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

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

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

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

13.4 Transformer 机制

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

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

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

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

Query (QQQ):代表“我要找什么”。
Key (KKK):代表“我有什么标签”。
Value (VVV):代表“我实际的内容”。

计算三部曲:
算得分:Score=Q⋅KTScore = Q \cdot K^TScore=QKT(计算当前词和所有词的相关度)。
归一化:Attention_Weights=Softmax(Scoredk)Attention\_Weights = \text{Softmax}(\frac{Score}{\sqrt{d_k}})Attention_Weights=Softmax(dk Score)(把得分变成概率,总和为 1)。
加权和:Output=∑(Weights×V)Output = \sum (Weights \times V)Output=(Weights×V)(根据相关度,把大家的 V 收集起来)。

13.4.2 为什么比 RNN 好?

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

13.5 生成式模型 (Generative Models)

13.5.1 生成模型对比表

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

13.5.2 GAN 的基本思路

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

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

GAN 的损失函数:
GAN 的目标是什么?min⁡Gmax⁡DV(D,G)\min_G \max_D V(D, G)GminDmaxV(D,G)

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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐