扩散模型进阶 可视化实验室
用交互式 SVG 呈现 ControlNet、IP-Adapter、LoRA 微调、采样器对比等可控生成生态。八个模块,纯原生实现。
ControlNet · 条件控制引导
将条件信号(Canny 边缘、Depth 深度、Pose 姿态)通过可训练副本 + zero convolution 注入 U-Net。调节控制强度,观察条件对生成结果的引导程度。
ControlNet 注入原理
克隆 U-Net 编码层得到可训练副本,输入端接入条件图。输出经 zero convolution(初始权重为 0)加回主网络。训练初期不影响原模型,逐步学习条件引导。控制强度 scale 调节注入幅度。
IP-Adapter · 图像提示注入
将参考图像编码为图像 prompt,通过独立的 cross-attention 适配器注入 U-Net,实现风格迁移与图像提示。调节权重观察参考图像的影响。
解耦 cross-attention
IP-Adapter 为图像 prompt 建立独立 K/V 投影,与文本 prompt 的 K/V 并行注入同一 attention 层,仅新增 ~20M 参数。权重 w 控制图像 prompt 占比,1.0 时图像提示主导。
LoRA · 低秩适配器微调
冻结原权重 W₀,仅训练低秩矩阵 B×A。W = W₀ + BA。调节 rank 与多 LoRA 合并权重,观察参数效率与生成效果。
低秩分解 W = W₀ + BA
原权重 d×d = n² 参数;LoRA 分解为 B(d×r)+A(r×d)=2dr 参数,当 r≪d 时大幅降低。多个 LoRA 可按权重线性合并:W = W₀ + Σ αᵢ BᵢAᵢ,实现风格混搭。
潜空间插值 · Latent Walk
在两个 prompt 的 latent 之间线性插值,观察生成图像的平滑过渡。拖动 α 滑块或播放动画,体验潜空间的结构。
球面线性插值 slerp
高维 latent 直接线性插值会偏离分布流形。slerp(z_A, z_B, α) = sin((1−α)θ)/sinθ · z_A + sin(αθ)/sinθ · z_B 沿大圆弧插值,保持生成质量。θ 为两 latent 夹角。
CFG Scale · Classifier-Free Guidance
同时预测条件 εθ(xt, c) 与无条件 εθ(xt, ∅),按 guidance scale 放大条件方向。调节 w 观察采样轨迹偏离无条件路径的程度。
CFG 公式
ε̃ = εθ(xt,∅) + w·(εθ(xt,c) − εθ(xt,∅))。w=1 时退化为普通条件采样;w>1 放大条件方向,提升 prompt 相关性但减少多样性;w 过高导致过饱和与伪影。
采样器对比 · 步数-质量曲线
DDIM、DPM++ 2M、Euler a、UniPC 在不同步数下的收敛质量。调节步数观察各采样器的收敛速度与最终质量差异。
采样器特性
DDIM 是确定性老牌采样器,需较多步数;DPM++ 2M 二阶求解器,20 步即可收敛;Euler a 带祖先采样,引入随机性、适合创意;UniPC 统一预测-校正,10-15 步高质量收敛。
Img2Img · 图像到图像生成
输入图像加噪到 denoise strength 对应的步数,再用扩散模型去噪重绘。调节 strength 控制保留原图与重绘的比例。
denoise strength 含义
strength=0 时完全保留原图;strength=1 时加满噪声、等同于 text2img;0.3-0.6 适合风格转换与局部重绘。实际加噪步数 = round(T · strength),从该步开始反向去噪。
超分辨率 · 低清到高清
T2I-Adapter 与 Upscaler 将低分辨率生成提升至高清。调节放大倍数,对比双三次插值与扩散超分的细节恢复能力。
扩散超分原理
双三次插值仅放大像素、无法补充高频细节;扩散超分将低清图作为条件,在 latent 空间加噪去噪,生成符合语义的高频纹理。T2I-Adapter 注入结构条件,Upscaler 直接预测残差。