定义
扩散模型(Diffusion Model)是一类生成模型,它的核心思路是:先学会如何把一张被噪声破坏的图片一点点“修复”回来,然后从一团纯随机噪声出发,反复执行这个修复过程,最终“变”出一张全新的图片。
扩散模型在图像生成质量和多样性上表现突出,已成为文生图、图像编辑、视频生成等应用的主流技术路线。
工作原理
扩散模型包含两个方向相反的过程:
前向过程(加噪)。 取一张真实图片,按照预先设定的规则,分很多步往里面逐渐添加高斯噪声。步数足够多时,图片会变成几乎完全随机的噪点。这个过程不需要学习,是固定的数学操作。
反向过程(去噪)。 训练一个神经网络,让它学会在任意一步“看着带噪声的图片,预测出其中的噪声”(或等价地预测出更干净的图片)。训练时,随机挑一张图、随机加某一程度的噪声,让网络去预测加进去的噪声,用预测误差来更新参数。
生成新图片时,从纯噪声开始,用训练好的网络一步步去掉预测出的噪声,经过若干步之后就得到一张清晰的图片。
几个让扩散模型走向实用的关键改进:
潜空间扩散。 直接在高分辨率像素上做扩散计算量很大。潜在扩散模型(Latent Diffusion)先用一个自编码器把图片压缩到更小的“潜空间”,在潜空间里完成扩散,再解码回图片,大幅降低了计算成本。
条件生成。 通过交叉注意力等方式把文字描述的 Embedding 输入去噪网络,让生成结果符合提示词,这就是“文生图”的基础。
无分类器引导(Classifier-Free Guidance)。 同时计算“有提示词”和“无提示词”两种预测,并放大两者的差异,使图片更贴合描述。引导强度越高,越贴合提示词,但多样性和自然度可能下降。
更快的采样方法。 早期扩散模型需要很多步才能生成一张图,后来的采样算法和蒸馏技术显著减少了所需步数。
去噪网络早期多采用 U-Net 结构,近年来也有越来越多的模型改用 Transformer 作为骨干网络。
典型应用
- 文生图:根据文字描述生成插画、照片风格图片、设计草图。
- 图像编辑:局部重绘、扩展画面、风格迁移、去除物体。
- 超分辨率与修复:把低清图片放大、修复老照片。
- 视频生成:在时间维度上扩展扩散过程,生成连续画面。
- 音频与其他领域:语音、音乐生成,以及分子结构设计等科研场景。
相关概念
- 多模态:文生图模型需要同时理解文字和图像。
- Transformer:越来越多的扩散模型以它为去噪网络骨干。
- 注意力机制:交叉注意力让图片内容与文字提示对应。
- Embedding:文字提示需先转为向量才能引导生成。
- 生成对抗网络(GAN):扩散模型普及前主流的图像生成方法。
参考论文:Denoising Diffusion Probabilistic Models、High-Resolution Image Synthesis with Latent Diffusion Models