去噪网络骨干:U-Net 与 DiT

核心 约 20 分钟 ★ 最小路径 U-NetDiTTransformer网络架构核心原理最小路径
前置知识点(建议先学)
学习状态:

一句话定义

去噪函数 ε_θ(x_t, t) 的骨干网络要么是带跳连的多尺度卷积网络 U-Net,要么是把图像切块后用 Transformer 堆叠的 DiT,二者都要解决同一个问题:在多分辨率上融合局部纹理与全局布局,并把时刻 t 与条件注入每一层。

为什么重要

骨干决定了「模型有多聪明、参数花在哪」:为什么手指细节需要特定层的注意力、为什么分辨率翻倍显存暴涨、为什么新模型换 DiT 后扩展性更好。看懂骨干,读模型发布说明(参数量、注意力层数、patch 大小)时才知道每句话在说什么,也为 kp-011 条件注入提供了挂载点图。

前置知识

kp-006(ε_θ 是被训练的对象);卷积与注意力机制的基本直觉(无需会推导)。

核心概念

原理与机制

U-Net 路线(SD1.5/SDXL 采用,截至 2026-10 仍是生态主力):以 SD 为例,潜码 64×64 进入后经历三级下采样(64→32→16→8),每个分辨率级由若干 ResBlock + 自注意力组成,解码侧对称还原并接收跳连特征。两个设计要点:其一,时间嵌入以 scale/shift 方式调制每个 ResBlock——网络因此「知道」当前噪声水平,同一权重服务所有 t;其二,注意力只布设在 32×32 及以下层级,因为全分辨率注意力的开销随像素数平方增长(kp-024 的算力账)。DiT 路线(SD3、Flux 采用):不再有显式编码器-解码器,图像按 p×p patch 切成 token,全部交给 Transformer 块;条件经 adaLN-Zero 调制每层的归一化参数。优势是架构统一、无需为分辨率设计层级、并行训练效率高,且缩放律清晰——把 LLM 时代的「堆参数就变强」带进图像生成。

两路线的共同本质:同一网络、同一组权重,处理从「几乎清晰」到「几乎纯噪声」的一切输入。条件(文本/控制图)都通过交叉注意力或调制机制进入,见 kp-011、kp-014。

图示

64×64 潜码↓下采样级 ×3(含 ResBlock+Attn)↓瓶颈 8×8(全局语义)↑上采样级 ×3(跳连并入细节)↑预测噪声 ε̂

DiT 则是单栈:潜码 → patch token 序列 → N 个 Transformer 块(adaLN 注入 t 与条件)→ 输出同形噪声预测。

直观类比

U-Net 像「先写提纲再逐段扩写」的作者:先压缩全文抓住主线(下采样),扩写时不断回看提纲(跳连)保证细节不跑偏。DiT 像「把整篇文章切成词卡摊在桌上」的委员会:每个词卡都能直接看见所有其他词卡(全局注意力),人多力量大、加人稳定变强。

实例或案例

常见误区

自测题

  1. U-Net 跳连的作用是什么?

答案要点:把下采样途中的高分辨率细节特征直接接到上采样对应层,避免细节在上采样中丢失。

  1. 时间嵌入为什么必要?

答案要点:同一组权重需处理所有噪声水平;t 告知网络当前样本的「脏度」,决定去噪力度。

  1. DiT 相对 U-Net 的核心优势?

答案要点:架构统一、缩放律清晰、训练并行效率高,继承 Transformer 的可扩展性。

与其他知识点的关系

kp-011 的交叉注意力就长在这些骨干的注意力位上;kp-023 的模型谱系正是沿「U-Net→DiT」这条架构轴演进;kp-024 讨论骨干规模对显存与速度的影响。

延伸阅读

U-Net 原始论文(MICCAI 2015,医学分割出身);Peebles & Xie 的 DiT 论文(ICCV 2023)第 4 节的缩放实验设计值得精读。

相关知识点