在讨论图像风格转换时,常会把扩散模型当作黑盒子,但它的每一步其实都可以追溯到噪声的“加‑减”。从一张写实城市照片到油画版的天际线,这一转变背后是一个先把图像逐渐掺入高斯噪声,再用逆向去噪的网络把噪声“抽干”,同时把目标风格的特征注入进去的过程。

正向过程会在固定的步数 T 内,以预设的噪声调度 β₁…β_T 把原始像素 x₀ 混入噪声,得到 x_T——几乎是纯白噪声。逆向过程则训练一个神经网络 ε_θ,学习在任意噪声层 x_t 上预测被加进的噪声,从而在 t → t‑1 的迭代中逐步恢复图像。
要让恢复的图像呈现特定风格,模型需要“看懂”风格信号。常见做法是把风格描述(如“油画”“赛博朋克”)编码成向量 s,与噪声层一起喂入去噪网络。网络内部的交叉注意力层会让 s 在每一步都对 x_t 产生影响,等价于在去噪的同时“绘制”风格纹理。进一步,使用 classifier‑free guidance(即在有无条件分支之间做线性插值)可以通过调节 guidance scale 来平衡结构保留与风格强度。
大多数产品并不在像素空间直接跑扩散,而是先把图像压进潜在空间(VAE 编码器),得到 z₀,然后在 z 上执行扩散与逆向。这样既降低了运算量,也让风格向量可以在更抽象的特征层面交互。训练阶段会收集数万张同一场景的不同风格渲染——比如把真实城市照片配上手绘、油彩、漫画三套标签——让网络学会在保持建筑轮廓的同时切换笔触与配色。
s 与 x_t 融合。“在实际项目里,我常把 diffusion 的步数压到 50 步,用高 guidance 把漫画风格逼出来,效果比传统 GAN 快两倍。”——某视觉实验室技术负责人
参与讨论
这个去噪过程好神奇,每一步都能看到变化
有谁试过调低guidance scale吗?效果如何
用VAE压缩确实快多了,之前直接跑像素卡死
漫画风格那个例子很直观,想试试看
反向过程怎么保证不把原图结构弄丢啊
感觉比GAN好用,至少不会模式崩溃
之前做风格迁移折腾了好久,这个看起来简单点
交叉注意力是咋融合风格向量的?
调参真是个技术活,步数和scale都得慢慢试