出图原理
Stable Diffusion 生成一张图,本质上是一台 「逐步去噪机」:从一屏纯噪声开始,按你的描述一点点把噪声「擦掉」, 几十步后剩下一张画。理解这条链路,很多现象就不再玄学。
三个组件接力
- 文本编码器:把你的描述转换成模型能理解的语义向量。描述写得含糊,向量就含糊——这是「描述词决定下限」的技术根源。
- 去噪网络(U-Net 或更新的 DiT 架构):在潜空间里迭代去噪。每一步都同时参考语义向量与当前噪声,把画面往描述方向推。
- VAE(变分自编码器):负责潜空间与像素世界的翻译——最后一步把干净的潜表示解码成你看到的 PNG。
为什么要在「潜空间」里算
一张 512×512 的图有约 79 万个像素值;压到潜空间里只剩 64×64×4 约 1.6 万个数值, 压缩约 48 倍。全部去噪计算都在这个小空间进行,最后才解码一次—— 这就是它能在消费级硬件甚至云端批量跑起来的关键设计(2022 年发布的潜在扩散论文思路)。
回到三个日常现象
- 同一句描述两次结果不同:起始噪声是随机的(种子不同),去噪路径就不同(见随机种子 seed)。
- 步数越高越精细:步数就是去噪次数,太少擦不干净、太多收益递减(见采样器与迭代步数)。
- CFG 太高会崩:每一步被描述「拽」得太狠,画面过度饱和甚至畸变(见CFG 引导系数)。
本页只讲直觉,不涉及数学。手机端云端计算时这三个组件跑在服务端 GPU 上,
手机只做提交与展示(见云端计算与网络要求)。