type
status
date
slug
summary
tags
category
icon
password
comment
Diffusion模型中的U-Net是一个关键组件,它负责预测噪声并逐步清理图像。
基本结构:
U-Net是一种编码器-解码器结构,具有跳跃连接。它包括:
- 下采样路径(编码器)
- 上采样路径(解码器)
- 中间的瓶颈层
- 跳跃连接
输入:
- 噪声图像
- 时间步长嵌入
- 可选的条件信息(如文本嵌入)
下采样路径:
- 使用卷积层和下采样操作逐步减小空间分辨率
- 增加通道数以捕获更多特征
- 通常包含残差块和注意力机制
瓶颈层:
- 位于网络的最深处
- 使用自注意力机制处理全局信息
上采样路径:
- 使用转置卷积或上采样+卷积逐步增加空间分辨率
- 结合来自下采样路径的跳跃连接信息
- 同样包含残差块和注意力机制
跳跃连接:
- 将下采样路径的特征直接连接到上采样路径
- 帮助保留细节信息和梯度流动
时间嵌入:
- 将时间步长信息注入到网络的各个层中
- 通常使用正弦位置编码或可学习的嵌入
条件嵌入:
- 在条件生成任务中,将文本或其他条件信息注入网络
- 可以使用交叉注意力或其他机制
残差块:
- 包含多个卷积层和非线性激活函数
- 使用残差连接以便于训练深层网络
注意力机制:
- 自注意力层帮助模型捕获长距离依赖
- 在空间维度上应用,有时也在通道维度上应用
归一化:
- 使用组归一化(Group Normalization)而不是批量归一化
- 有助于稳定训练过程
激活函数:
- 通常使用SiLU(Swish)激活函数
输出:
- 预测的噪声,与输入图像具有相同的尺寸
特点:
- 能够处理多尺度信息
- 可以捕获局部和全局特征
- 适用于各种图像分辨率
变体:
- 可能包含额外的交叉注意力层用于条件生成
- 可能使用不同的上采样和下采样策略
- 可能包含额外的控制机制(如ControlNet)