深度学习模型指南

目录

  1. 引言
  2. 基础神经网络
  3. 卷积神经网络 (CNN)
  4. 循环神经网络 (RNN)
  5. Transformer架构
  6. 生成对抗网络 (GAN)
  7. 自编码器 (Autoencoder)
  8. 注意力机制与变体
  9. 图神经网络 (GNN)
  10. 扩散模型
  11. 模型选择与应用场景
  12. 总结

引言

深度学习是机器学习的一个子领域,它基于人工神经网络,通过多层结构来学习数据的层次化表示。自2012年AlexNet在ImageNet竞赛中取得突破性成果以来,深度学习在计算机视觉、自然语言处理、语音识别、推荐系统等领域取得了革命性的进展。

本指南将系统介绍各类深度学习模型的原理、架构、优缺点及典型应用场景。


基础神经网络

多层感知机 (MLP)

多层感知机(Multi-Layer Perceptron,MLP)是最基础的深度学习模型,也称为全连接神经网络。

架构原理
  • 输入层:接收原始特征数据
  • 隐藏层:通过激活函数进行非线性变换
  • 输出层:产生最终预测结果

每个神经元通过权重连接到下一层的所有神经元,通过前向传播计算输出,通过反向传播更新权重。

数学表达

对于第 l l l层的神经元 j j j

z j ( l ) = ∑ i w i j ( l ) ⋅ a i ( l − 1 ) + b j ( l ) z_j^{(l)} = \sum_i w_{ij}^{(l)} \cdot a_i^{(l-1)} + b_j^{(l)} zj(l)=iwij(l)ai(l1)+bj(l)

a j ( l ) = f ( z j ( l ) ) a_j^{(l)} = f(z_j^{(l)}) aj(l)=f(zj(l))

其中:

  • w i j ( l ) w_{ij}^{(l)} wij(l) 是第 l l l层的权重
  • b j ( l ) b_j^{(l)} bj(l) 是偏置项
  • f ( ⋅ ) f(\cdot) f() 是激活函数
常用激活函数
激活函数 公式 特点
Sigmoid σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1+e^{-x}} σ(x)=1+ex1 输出范围(0,1),存在梯度消失问题
Tanh tanh ⁡ ( x ) = e x − e − x e x + e − x \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} tanh(x)=ex+exexex 输出范围(-1,1),零中心化
ReLU ReLU ( x ) = max ⁡ ( 0 , x ) \text{ReLU}(x) = \max(0, x) ReLU(x)=max(0,x) 计算简单,缓解梯度消失,存在神经元死亡问题
Leaky ReLU LeakyReLU ( x ) = max ⁡ ( α x , x ) \text{LeakyReLU}(x) = \max(\alpha x, x) LeakyReLU(x)=max(αx,x) 解决ReLU神经元死亡问题
GELU GELU ( x ) = x ⋅ Φ ( x ) \text{GELU}(x) = x \cdot \Phi(x) GELU(x)=xΦ(x) Transformer中常用,平滑性好
优缺点

优点:

  • 结构简单,易于理解和实现
  • 理论基础扎实(万能逼近定理)
  • 适用于表格数据等结构化数据

缺点:

  • 参数量大,容易过拟合
  • 无法有效利用空间/时间结构信息
  • 对输入数据的尺度敏感
应用场景
  • 表格数据分类与回归
  • 简单的预测任务
  • 作为其他复杂模型的组件

卷积神经网络 (CNN)

卷积神经网络(Convolutional Neural Network)是专门为处理具有网格结构数据(如图像)而设计的深度学习模型。

核心组件

1. 卷积层 (Convolutional Layer)

卷积层通过卷积核(滤波器)在输入上滑动,提取局部特征。

卷积操作:

Output ( i , j ) = ∑ m ∑ n Input ( i + m , j + n ) ⋅ Kernel ( m , n ) \text{Output}(i,j) = \sum_m \sum_n \text{Input}(i+m, j+n) \cdot \text{Kernel}(m, n) Output(i,j)=mnInput(i+m,j+n)Kernel(m,n)

关键参数:

  • Kernel Size:卷积核大小,常用3×3、5×5
  • Stride:滑动步长
  • Padding:边缘填充方式(valid、same、full)
  • Channels:输出通道数(卷积核数量)
2. 池化层 (Pooling Layer)

池化层用于降维和减少参数,保留主要特征。

池化类型 操作 特点
Max Pooling 取局部最大值 保留显著特征
Average Pooling 取局部平均值 平滑特征
Global Pooling 对整个特征图池化 输出固定维度
3. 全连接层 (Fully Connected Layer)

将提取的特征映射到输出空间,用于分类或回归。

经典CNN架构

LeNet-5 (1998)
  • 提出者:Yann LeCun
  • 架构:Conv → Pool → Conv → Pool → FC → FC
  • 应用:手写数字识别(MNIST)
AlexNet (2012)
  • 提出者:Alex Krizhevsky等
  • 创新点
    • 使用ReLU激活函数
    • Dropout防止过拟合
    • 数据增强
    • GPU加速训练
  • 架构:5个卷积层 + 3个全连接层
VGG (2014)
  • 提出者:Visual Geometry Group (Oxford)
  • 特点:使用小卷积核(3×3)堆叠,增加网络深度
  • VGG16:13个卷积层 + 3个全连接层
  • VGG19:16个卷积层 + 3个全连接层
GoogLeNet / Inception (2014)
  • 提出者:Google
  • 创新点:Inception模块,并行多尺度卷积
  • 优势:在增加网络深度的同时控制参数量
ResNet (2015)
  • 提出者:何恺明等(Microsoft Research)
  • 创新点:残差连接(Residual Connection)
  • 核心思想:学习残差函数 F ( x ) = H ( x ) − x F(x) = H(x) - x F(x)=H(x)x,而非直接学习 H ( x ) H(x) H(x)
  • 架构:ResNet-18、ResNet-34、ResNet-50、ResNet-101、ResNet-152

残差块:

Output = F ( x ) + x \text{Output} = F(x) + x Output=F(x)+x

EfficientNet (2019)
  • 提出者:Google
  • 创新点:复合缩放方法,同时优化深度、宽度、分辨率
  • 变体:B0-B7,参数量和精度逐步提升
Vision Transformer (ViT) (2020)
  • 提出者:Google Research
  • 创新点:将Transformer应用于图像,将图像分块作为序列输入
  • 特点:在大规模数据上表现优异,计算效率高

CNN的优缺点

优点:

  • 参数共享,减少参数量
  • 平移不变性
  • 层次化特征学习
  • 在图像任务上表现卓越

缺点:

  • 对旋转、尺度变化敏感
  • 需要大量标注数据
  • 计算资源需求大
  • 感受野受限(可通过空洞卷积缓解)

应用场景

  • 计算机视觉:图像分类、目标检测、语义分割、实例分割
  • 医学影像:疾病诊断、器官分割
  • 自动驾驶:车道检测、障碍物识别
  • 视频分析:动作识别、视频分类

循环神经网络 (RNN)

循环神经网络(Recurrent Neural Network)是专门用于处理序列数据的深度学习模型,具有记忆能力。

基础RNN

工作原理

RNN通过隐藏状态传递历史信息:

h t = f ( W h h ⋅ h t − 1 + W x h ⋅ x t + b h ) h_t = f(W_{hh} \cdot h_{t-1} + W_{xh} \cdot x_t + b_h) ht=f(Whhht1+Wxhxt+bh)

y t = g ( W h y ⋅ h t + b y ) y_t = g(W_{hy} \cdot h_t + b_y) yt=g(Whyht+by)

其中:

  • h t h_t ht t t t时刻的隐藏状态
  • x t x_t xt t t t时刻的输入
  • y t y_t yt t t t时刻的输出
RNN的变体
类型 结构 适用场景
One-to-One 单输入单输出 图像分类
One-to-Many 单输入多输出 图像描述生成
Many-to-One 多输入单输出 情感分析、序列分类
Many-to-Many 多输入多输出 机器翻译、语音识别

长短期记忆网络 (LSTM)

LSTM由Hochreiter和Schmidhuber于1997年提出,解决了RNN的梯度消失问题。

架构组件

LSTM包含三个门控机制:

  1. 遗忘门 (Forget Gate)

    f t = σ ( W f ⋅ [ h t − 1 , x t ] + b f ) f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) ft=σ(Wf[ht1,xt]+bf)

    决定丢弃哪些信息

  2. 输入门 (Input Gate)

    i t = σ ( W i ⋅ [ h t − 1 , x t ] + b i ) i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) it=σ(Wi[ht1,xt]+bi)

    C ~ t = tanh ⁡ ( W C ⋅ [ h t − 1 , x t ] + b C ) \tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C) C~t=tanh(WC[ht1,xt]+bC)

    决定更新哪些信息

  3. 输出门 (Output Gate)

    o t = σ ( W o ⋅ [ h t − 1 , x t ] + b o ) o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o) ot=σ(Wo[ht1,xt]+bo)

    决定输出哪些信息

细胞状态更新:

C t = f t ⊙ C t − 1 + i t ⊙ C ~ t C_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_t Ct=ftCt1+itC~t

h t = o t ⊙ tanh ⁡ ( C t ) h_t = o_t \odot \tanh(C_t) ht=ottanh(Ct)

门控循环单元 (GRU)

GRU由Cho等人在2014年提出,是LSTM的简化版本。

架构特点
  • 重置门 (Reset Gate):控制前一时刻状态的影响
  • 更新门 (Update Gate):结合遗忘门和输入门的功能

计算过程:

z t = σ ( W z ⋅ [ h t − 1 , x t ] ) 更新门 z_t = \sigma(W_z \cdot [h_{t-1}, x_t]) \quad \text{更新门} zt=σ(Wz[ht1,xt])更新门

r t = σ ( W r ⋅ [ h t − 1 , x t ] ) 重置门 r_t = \sigma(W_r \cdot [h_{t-1}, x_t]) \quad \text{重置门} rt=σ(Wr[ht1,xt])重置门

h ~ t = tanh ⁡ ( W ⋅ [ r t ⊙ h t − 1 , x t ] ) \tilde{h}_t = \tanh(W \cdot [r_t \odot h_{t-1}, x_t]) h~t=tanh(W[rtht1,xt])

h t = ( 1 − z t ) ⊙ h t − 1 + z t ⊙ h ~ t h_t = (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_t ht=(1zt)ht1+zth~t

LSTM vs GRU:

特性 LSTM GRU
参数量 更多 更少
训练速度 较慢 较快
表达能力 更强 略弱
适用场景 长序列 中短序列

双向RNN (Bi-RNN)

双向RNN同时从前向和后向处理序列:

h t = [ h → t , h ← t ] h_t = [\overrightarrow{h}_t, \overleftarrow{h}_t] ht=[h t,h t]

适用于需要上下文信息的任务,如命名实体识别。

RNN的优缺点

优点:

  • 天然处理序列数据
  • 具有记忆能力
  • 可变长度输入输出

缺点:

  • 训练速度慢(无法并行)
  • 长距离依赖问题(LSTM/GRU缓解但未完全解决)
  • 梯度消失/爆炸

应用场景

  • 自然语言处理:文本分类、情感分析、命名实体识别
  • 语音处理:语音识别、语音合成
  • 时间序列预测:股票预测、天气预报
  • 机器翻译(已被Transformer取代)

Transformer架构

Transformer由Vaswani等人在2017年提出,完全基于注意力机制,彻底改变了自然语言处理领域。

核心创新

  • 自注意力机制:捕获序列中任意位置之间的依赖关系
  • 并行计算:突破RNN的序列限制,大幅提升训练速度
  • 位置编码:注入序列位置信息

自注意力机制

缩放点积注意力

Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V Attention(Q,K,V)=softmax(dk QKT)V

其中:

  • Q Q Q (Query):查询矩阵
  • K K K (Key):键矩阵
  • V V V (Value):值矩阵
  • d k d_k dk:键的维度
多头注意力

将注意力机制分成多个头,捕获不同类型的依赖关系:

MultiHead ( Q , K , V ) = Concat ( head 1 , … , head h ) W O \text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h) W^O MultiHead(Q,K,V)=Concat(head1,,headh)WO

head i = Attention ( Q W i Q , K W i K , V W i V ) \text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V) headi=Attention(QWiQ,KWiK,VWiV)

Transformer架构

编码器-解码器结构

编码器:

  • N层堆叠
  • 每层包含:多头自注意力 + 前馈神经网络
  • 层归一化 + 残差连接

解码器:

  • N层堆叠
  • 每层包含:掩码多头自注意力 + 编码器-解码器注意力 + 前馈神经网络
  • 层归一化 + 残差连接
位置编码

由于Transformer没有循环结构,需要显式编码位置信息:

PE ( p o s , 2 i ) = sin ⁡ ( p o s 10000 2 i / d model ) \text{PE}_{(pos, 2i)} = \sin\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right) PE(pos,2i)=sin(100002i/dmodelpos)

PE ( p o s , 2 i + 1 ) = cos ⁡ ( p o s 10000 2 i / d model ) \text{PE}_{(pos, 2i+1)} = \cos\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right) PE(pos,2i+1)=cos(100002i/dmodelpos)

Transformer变体

BERT (Bidirectional Encoder Representations from Transformers)
  • 提出者:Google (2018)
  • 架构:仅使用Transformer编码器
  • 预训练任务
    • 掩码语言模型(MLM)
    • 下一句预测(NSP)
  • 特点:双向上下文理解
  • 变体:BERT-Base、BERT-Large、RoBERTa、ALBERT
GPT (Generative Pre-trained Transformer)
  • 提出者:OpenAI
  • 架构:仅使用Transformer解码器
  • 特点:自回归生成,单向注意力
  • 版本演进
    • GPT (2018):1.17亿参数
    • GPT-2 (2019):15亿参数
    • GPT-3 (2020):1750亿参数
    • GPT-4 (2023):参数量未公开
T5 (Text-to-Text Transfer Transformer)
  • 提出者:Google (2019)
  • 特点:将所有任务统一为文本到文本格式
  • 预训练任务:去噪自编码(Span Corruption)
ViT (Vision Transformer)
  • 提出者:Google (2020)
  • 特点:将图像分块作为序列输入
  • 创新:证明了Transformer在视觉任务上的有效性
Swin Transformer
  • 提出者:微软 (2021)
  • 特点:引入滑动窗口机制,降低计算复杂度
  • 优势:适合处理高分辨率图像

Transformer的优缺点

优点:

  • 并行计算,训练效率高
  • 长距离依赖建模能力强
  • 通用性强,适用于多种模态
  • 可扩展性好(大规模预训练)

缺点:

  • 计算复杂度为O(n²),对长序列不友好
  • 需要大量预训练数据
  • 参数量大,推理成本高
  • 缺乏归纳偏置(相比CNN)

应用场景

  • 自然语言处理:文本生成、机器翻译、问答系统、文本摘要
  • 计算机视觉:图像分类、目标检测、图像生成
  • 多模态:图文匹配、视觉问答、图像描述生成
  • 代码生成:代码补全、代码翻译

生成对抗网络 (GAN)

生成对抗网络由Ian Goodfellow在2014年提出,通过两个神经网络的对抗训练来生成逼真的数据。

基本原理

GAN包含两个网络:

  1. 生成器 (Generator, G):生成假数据
  2. 判别器 (Discriminator, D):判断数据真假

训练目标:

min ⁡ G max ⁡ D V ( D , G ) = E x [ log ⁡ D ( x ) ] + E z [ log ⁡ ( 1 − D ( G ( z ) ) ) ] \min_G \max_D V(D, G) = \mathbb{E}_x[\log D(x)] + \mathbb{E}_z[\log(1 - D(G(z)))] GminDmaxV(D,G)=Ex[logD(x)]+Ez[log(1D(G(z)))]

其中:

  • x x x:真实数据
  • z z z:随机噪声
  • D ( x ) D(x) D(x):判别器对真实数据的判别概率
  • D ( G ( z ) ) D(G(z)) D(G(z)):判别器对生成数据的判别概率

经典GAN变体

DCGAN (Deep Convolutional GAN)
  • 提出者:Radford等 (2015)
  • 创新点:将CNN引入GAN,使用卷积层和反卷积层
  • 架构特点
    • 使用Batch Normalization
    • 使用ReLU/Leaky ReLU
    • 去除全连接层
WGAN (Wasserstein GAN)
  • 提出者:Arjovsky等 (2017)
  • 创新点:使用Wasserstein距离代替JS散度
  • 优势:训练更稳定,解决模式崩溃问题
CycleGAN
  • 提出者:Zhu等 (2017)
  • 特点:实现无配对数据的图像风格转换
  • 核心思想:循环一致性约束
StyleGAN
  • 提出者:Karras等 (NVIDIA)
  • 版本:StyleGAN (2018), StyleGAN2 (2019), StyleGAN3 (2021)
  • 创新点:样式注入机制,解耦内容和样式
  • 应用:高保真人脸生成
BigGAN
  • 提出者:Brock等 (2018)
  • 特点:大规模训练,生成高质量图像
  • 技术:谱归一化、类条件生成

GAN的优缺点

优点:

  • 生成的样本质量高
  • 无需显式似然函数
  • 理论框架优雅

缺点:

  • 训练不稳定,难以收敛
  • 模式崩溃(Mode Collapse)
  • 难以评估生成质量
  • 需要平衡生成器和判别器

应用场景

  • 图像生成:人脸生成、艺术创作
  • 图像编辑:风格迁移、图像修复、超分辨率
  • 数据增强:生成合成数据扩充训练集
  • 3D生成:点云生成、3D模型生成

自编码器 (Autoencoder)

自编码器是一种无监督学习模型,通过学习数据的压缩表示来重建输入。

基本架构

输入 → 编码器 → 潜在表示 → 解码器 → 重建输出

训练目标: 最小化重建误差

L = ∥ x − x ^ ∥ 2 \mathcal{L} = \|x - \hat{x}\|^2 L=xx^2

自编码器变体

稀疏自编码器
  • 约束:在潜在表示上添加稀疏性约束
  • 方法:L1正则化、KL散度约束
  • 目的:学习更有意义的特征
去噪自编码器 (Denoising Autoencoder)
  • 提出者:Vincent等 (2008)
  • 方法:输入添加噪声,训练重建原始数据
  • 优势:学习更鲁棒的特征
变分自编码器 (VAE)
  • 提出者:Kingma & Welling (2013)
  • 核心思想:将潜在表示建模为概率分布
  • 损失函数:重建损失 + KL散度

L = E q [ log ⁡ p ( x ∣ z ) ] − KL ( q ( z ∣ x ) ∥ p ( z ) ) \mathcal{L} = \mathbb{E}_q[\log p(x|z)] - \text{KL}(q(z|x) \| p(z)) L=Eq[logp(xz)]KL(q(zx)p(z))

  • 优势:可生成新样本,潜在空间连续
β-VAE
  • 提出者:Higgins等 (2017)
  • 创新点:引入β参数控制KL散度权重
  • 目的:增强潜在空间的解耦性
VQ-VAE (Vector Quantized VAE)
  • 提出者:Oord等 (2017)
  • 创新点:使用向量量化将连续表示离散化
  • 应用:图像生成、语音合成

自编码器的优缺点

优点:

  • 无监督学习,不需要标注数据
  • 学习数据的压缩表示
  • 可用于降维和特征学习
  • VAE可生成新样本

缺点:

  • 重建质量有限(相比GAN)
  • 潜在空间可能不连续(普通自编码器)
  • 训练可能不稳定

应用场景

  • 数据降维:高维数据压缩
  • 异常检测:重建误差大的样本视为异常
  • 图像去噪:去除图像噪声
  • 图像生成:VAE生成新图像
  • 特征学习:预训练特征提取器

注意力机制与变体

注意力机制是深度学习中的重要概念,允许模型动态关注输入的不同部分。

基础注意力机制

Soft Attention

通过加权求和聚合信息:

attention = softmax ( f ( query , key ) ) \text{attention} = \text{softmax}(f(\text{query}, \text{key})) attention=softmax(f(query,key))

output = ∑ i attention i ⋅ value i \text{output} = \sum_i \text{attention}_i \cdot \text{value}_i output=iattentionivaluei

Hard Attention

选择性地关注部分信息(不可微,需要强化学习)

注意力机制类型

1. 加性注意力 (Additive Attention)
  • 提出者:Bahdanau等 (2014)
  • 公式

score ( h t , h s ) = v T tanh ⁡ ( W h h t + W s h s ) \text{score}(h_t, h_s) = v^T \tanh(W_h h_t + W_s h_s) score(ht,hs)=vTtanh(Whht+Wshs)

2. 点积注意力 (Dot-Product Attention)
  • 提出者:Luong等 (2015)
  • 公式

score ( h t , h s ) = h t T h s \text{score}(h_t, h_s) = h_t^T h_s score(ht,hs)=htThs

3. 缩放点积注意力 (Scaled Dot-Product Attention)
  • 提出者:Vaswani等 (2017, Transformer)
  • 公式

score ( Q , K ) = Q K T d k \text{score}(Q, K) = \frac{QK^T}{\sqrt{d_k}} score(Q,K)=dk QKT

注意力机制变体

1. 自注意力 (Self-Attention)

Query、Key、Value都来自同一输入序列

2. 交叉注意力 (Cross-Attention)

Query来自一个序列,Key和Value来自另一个序列

3. 局部注意力 (Local Attention)

只关注局部窗口内的信息,降低计算复杂度

4. 稀疏注意力 (Sparse Attention)

只计算部分位置的注意力,如Longformer、BigBird

5. 线性注意力 (Linear Attention)

将注意力复杂度从O(n²)降低到O(n)

应用场景

  • 机器翻译:对齐源语言和目标语言
  • 图像描述:关注图像的特定区域
  • 视觉问答:关注与问题相关的图像区域
  • 推荐系统:动态关注用户历史的不同部分

图神经网络 (GNN)

图神经网络是专门用于处理图结构数据的深度学习模型。

基本概念

  • 图表示:G = (V, E),V是节点集合,E是边集合
  • 节点特征:每个节点的特征向量
  • 边特征:每条边的特征(可选)

GNN基础架构

消息传递 (Message Passing)

GNN通过消息传递机制聚合邻居信息:

h v ( k ) = UPDATE ( h v ( k − 1 ) , AGGREGATE ( { h u ( k − 1 ) : u ∈ N ( v ) } ) ) h_v^{(k)} = \text{UPDATE}\left(h_v^{(k-1)}, \text{AGGREGATE}\left(\{h_u^{(k-1)} : u \in \mathcal{N}(v)\}\right)\right) hv(k)=UPDATE(hv(k1),AGGREGATE({hu(k1):uN(v)}))

经典GNN模型

GCN (Graph Convolutional Network)
  • 提出者:Kipf & Welling (2017)
  • 公式

H ( l + 1 ) = σ ( D ~ − 1 / 2 A ~ D ~ − 1 / 2 H ( l ) W ( l ) ) H^{(l+1)} = \sigma(\tilde{D}^{-1/2} \tilde{A} \tilde{D}^{-1/2} H^{(l)} W^{(l)}) H(l+1)=σ(D~1/2A~D~1/2H(l)W(l))

  • 特点:基于谱图理论的简化版本
GraphSAGE
  • 提出者:Hamilton等 (2017)
  • 创新点:采样邻居节点,支持归纳学习
  • 聚合函数:Mean、Max、Pool、LSTM
GAT (Graph Attention Network)
  • 提出者:Veličković等 (2018)
  • 创新点:引入注意力机制
  • 公式

α i j = softmax j ( LeakyReLU ( a T [ W h i ∥ W h j ] ) ) \alpha_{ij} = \text{softmax}_j(\text{LeakyReLU}(a^T [Wh_i \| Wh_j])) αij=softmaxj(LeakyReLU(aT[WhiWhj]))

Graph Neural Network (GNN)
  • 提出者:Scarselli等 (2009)
  • 特点:最早的GNN模型,基于Almeida-Pineda算法
Graph Isomorphism Network (GIN)
  • 提出者:Xu等 (2019)
  • 特点:理论上最强的表示能力(与WL测试同构)
  • 公式

h v ( k ) = MLP ( ( 1 + ε ( k ) ) h v ( k − 1 ) + ∑ u ∈ N ( v ) h u ( k − 1 ) ) h_v^{(k)} = \text{MLP}\left((1 + \varepsilon^{(k)}) h_v^{(k-1)} + \sum_{u \in \mathcal{N}(v)} h_u^{(k-1)}\right) hv(k)=MLP (1+ε(k))hv(k1)+uN(v)hu(k1)

GNN的优缺点

优点:

  • 天然处理图结构数据
  • 可变输入大小
  • 捕获节点间的关系
  • 归纳学习能力

缺点:

  • 过度平滑(Over-smoothing):深层网络节点表示趋同
  • 过度挤压(Over-squashing):长距离信息传递困难
  • 计算复杂度高(对于大图)

应用场景

  • 社交网络分析:社区发现、链接预测
  • 推荐系统:用户-物品二部图
  • 分子化学:分子性质预测、药物发现
  • 知识图谱:实体分类、关系抽取
  • 交通预测:路网流量预测

扩散模型

扩散模型是近年来兴起的生成模型,在图像生成领域取得了突破性进展。

基本原理

扩散模型通过两个过程建模:

  1. 前向扩散过程:逐步向数据添加噪声,直到变为纯噪声
  2. 反向去噪过程:学习从噪声中逐步恢复原始数据
前向过程

q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t x t − 1 , β t I ) q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t} x_{t-1}, \beta_t I) q(xtxt1)=N(xt;1βt xt1,βtI)

反向过程

p θ ( x t − 1 ∣ x t ) = N ( x t − 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) p_\theta(x_{t-1} | x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \Sigma_\theta(x_t, t)) pθ(xt1xt)=N(xt1;μθ(xt,t),Σθ(xt,t))

经典扩散模型

DDPM (Denoising Diffusion Probabilistic Models)
  • 提出者:Ho等 (2020)
  • 创新点:简化训练目标,直接预测噪声
  • 损失函数

L = E ε , x 0 , t [ ∥ ε − ε θ ( x t , t ) ∥ 2 ] \mathcal{L} = \mathbb{E}_{\varepsilon,x_0,t}\left[\|\varepsilon - \varepsilon_\theta(x_t, t)\|^2\right] L=Eε,x0,t[εεθ(xt,t)2]

DDIM (Denoising Diffusion Implicit Models)
  • 提出者:Song等 (2020)
  • 创新点:非马尔可夫采样过程,加速推理
  • 优势:采样步数大幅减少
Stable Diffusion
  • 提出者:CompVis (2022)
  • 创新点:在潜在空间进行扩散
  • 架构:VAE + U-Net + 文本编码器
  • 优势:计算效率高,支持文本到图像生成
DALL-E 2
  • 提出者:OpenAI (2022)
  • 创新点:结合CLIP和扩散模型
  • 能力:高质量文本到图像生成
Imagen
  • 提出者:Google (2022)
  • 特点:使用大型语言模型作为文本编码器
  • 优势:高保真度、文本-图像对齐好

扩散模型的优缺点

优点:

  • 生成质量高,细节丰富
  • 训练稳定
  • 理论基础扎实
  • 可控性强(通过条件引导)

缺点:

  • 推理速度慢(需要多步采样)
  • 计算资源需求大
  • 模型参数量大

应用场景

  • 图像生成:文本到图像、图像到图像
  • 图像编辑:图像修复、风格迁移、图像补全
  • 视频生成:文本到视频
  • 3D生成:点云生成、3D模型生成
  • 音频生成:语音合成、音乐生成

模型选择与应用场景

按任务类型选择

任务类型 推荐模型 说明
图像分类 ResNet, EfficientNet, ViT CNN适合中小规模数据,ViT适合大规模数据
目标检测 Faster R-CNN, YOLO, DETR 两阶段vs单阶段,Transformer方法兴起
语义分割 U-Net, DeepLab, Mask R-CNN 医学图像常用U-Net
文本分类 BERT, RoBERTa 预训练+微调范式
文本生成 GPT系列, T5 自回归vs编码器-解码器
机器翻译 Transformer, T5 现代系统普遍使用Transformer
语音识别 Conformer, Wav2Vec 2.0 结合CNN和Transformer
图像生成 Stable Diffusion, StyleGAN 扩散模型质量更高,GAN速度更快
时序预测 LSTM, GRU, Temporal Fusion Transformer 根据序列长度选择
图数据 GCN, GAT, GraphSAGE 根据图大小和任务选择
异常检测 Autoencoder, VAE 无监督方法

按数据规模选择

数据规模 推荐策略 模型选择
小规模 (<1K) 迁移学习 预训练模型微调
中规模 (1K-100K) 从头训练 ResNet-50, BERT-Base
大规模 (100K-10M) 大模型 EfficientNet, BERT-Large
超大规模 (>10M) 自监督预训练 GPT-3, CLIP, MAE

按计算资源选择

资源水平 推荐模型 说明
低资源 MobileNet, DistilBERT 轻量化模型
中等资源 ResNet-50, BERT-Base 标准模型
高资源 EfficientNet-B7, GPT-3 大规模模型
分布式 Megatron-LM, Switch Transformer 分布式训练框架

模型压缩技术

当计算资源受限时,可考虑以下技术:

  1. 知识蒸馏:大模型教小模型
  2. 模型剪枝:移除不重要的参数
  3. 量化:降低参数精度(FP32 → INT8)
  4. 低秩分解:分解大矩阵为小矩阵
  5. 神经架构搜索:自动搜索高效架构

总结

深度学习领域发展迅速,各类模型不断涌现。以下是关键要点:

发展趋势

  1. 预训练+微调范式:从CNN到Transformer,大规模预训练成为主流
  2. 多模态融合:CLIP、DALL-E等模型实现跨模态理解
  3. 效率优化:模型压缩、高效注意力机制
  4. 可解释性:注意力可视化、概念激活向量
  5. 自监督学习:减少对标注数据的依赖

选择建议

  1. 从简单开始:先用简单模型建立baseline
  2. 利用预训练模型:优先使用成熟的开源预训练模型
  3. 考虑数据特点:根据数据类型(图像、文本、图)选择模型
  4. 平衡精度与效率:根据应用场景选择合适的模型规模
  5. 持续关注前沿:深度学习发展迅速,及时跟进最新进展
Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐