扩散模型中的 U-Net 结构 是其核心组成部分,主要用于在扩散反演(denoising)过程中预测噪声、速度或干净图像。下面从整体结构、关键模块以及在扩散模型中的作用三个方面进行介绍。


一、整体结构概览

扩散模型中的 U-Net 继承了经典 U-Net 的 编码器–解码器(Encoder–Decoder) 对称结构,并通过 跳跃连接(Skip Connections) 保留多尺度信息:

输入噪声图像
      ↓
Encoder(下采样路径)
      ↓
Bottleneck(中间层)
      ↓
Decoder(上采样路径)
      ↓
输出(预测噪声 / x₀ / v)

其目标是在给定时间步 ( t ) 的条件下,从带噪图像 ( x_t ) 中恢复或预测噪声信息。


二、U-Net 的核心组成模块

1. 输入与时间步嵌入(Time Embedding)

扩散模型的 U-Net 是 条件模型,必须感知当前扩散时间步 ( t )。

  • 时间步 ( t ) 通常通过 正弦位置编码(Sinusoidal Embedding) 或可学习嵌入表示
  • 时间嵌入经过 MLP 映射后:
    • 加入到 ResBlock 中
    • 以加法或缩放方式调制特征

作用:让网络知道当前处于“去噪的哪一步”


2. 编码器(Downsampling Path)

编码器逐层 降低空间分辨率、增加通道数,提取高层语义特征。

每一层通常包含:

  • Residual Block(残差块)
    • Conv → Norm → Activation
    • 融合时间步嵌入
  • 下采样操作
    • Strided Convolution 或 AvgPool

结构示意:

ResBlock → ResBlock → Downsample

3. 注意力模块(Attention Block)

在中高分辨率层中,U-Net 通常插入 自注意力(Self-Attention)交叉注意力(Cross-Attention)

  • Self-Attention
    • 捕捉长距离依赖
    • 解决 CNN 感受野有限的问题
  • Cross-Attention(条件扩散)
    • 用于文本、类别等条件(如 Stable Diffusion)
    • Query 来自图像特征,Key/Value 来自条件嵌入

注意力模块通常位于 瓶颈层或低分辨率层,以降低计算成本。


4. 瓶颈层(Middle Block)

位于 U-Net 的最底部,包含:

  • ResBlock
  • Attention Block
  • ResBlock

这是信息压缩最严重、语义最强的位置。


5. 解码器(Upsampling Path)

解码器逐层 恢复空间分辨率,并结合编码器特征:

  • 上采样(Nearest + Conv 或 Transposed Conv)
  • 与编码器对应层的特征 拼接(Skip Connection)
  • ResBlock + 时间嵌入

结构示意:

Upsample → Concat(skip) → ResBlock → ResBlock

跳跃连接保证了细节信息不会在下采样中丢失。


6. 输出层(Output Head)

最后通过一个卷积层输出:

  • 预测噪声 ( \epsilon_\theta(x_t, t) )
  • 或预测原始图像 ( x_0 )
  • 或预测 velocity ( v )(v-prediction)

输出通道数与输入图像一致。


三、扩散模型 U-Net 的典型特性总结

特性说明
多尺度结构编码器–解码器 + 跳跃连接
时间条件通过时间步嵌入调制特征
残差学习稳定训练、加快收敛
注意力机制捕捉全局依赖
条件生成支持文本、类别等条件

四、与传统 U-Net 的区别

方面传统 U-Net扩散模型 U-Net
时间建模有时间步嵌入
输出目标分割掩码噪声 / 图像 / v
注意力少见常用
条件输入广泛支持(文本、标签)
深度与宽度较浅更深、更宽

五、一句话总结

扩散模型中的 U-Net 是一个带时间条件和注意力机制的多尺度去噪网络,通过编码–解码结构与跳跃连接,在不同扩散时间步上逐步移除噪声,从而实现高质量图像生成。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐