社区计算机视觉课程文档
扩散模型简介
并获得增强的文档体验
开始使用
扩散模型简介
你将从本章学到什么
- 什么是扩散模型,它们与 GAN 有何不同
- 扩散模型的主要子类别
- 扩散模型的用例
- 扩散模型的缺点
扩散模型及其与 GAN 的区别
扩散模型是计算机视觉中一个新兴且令人兴奋的领域,在图像创建方面表现出令人印象深刻的结果。这些生成模型分两个阶段工作,一个正向扩散阶段和一个反向扩散阶段:首先,它们通过添加一些噪声稍微改变输入数据,然后它们尝试撤消这些更改以返回到原始数据。这种进行更改然后撤消它们的过程有助于生成逼真的图像。
这些生成模型将生成建模领域的标准提高到了一个新的水平,特别是指的是诸如 Imagen 和 Latent Diffusion Models(LDMs) 等模型。例如,考虑通过这些模型生成的以下图像。
在最近扩散模型兴起之前,GAN 曾被许多人认为是生成样本质量方面最先进的生成模型。GAN 也因其对抗性目标而难以训练而闻名,并且经常遭受模式崩溃。将不同的模式视为不同的类别。将猫和狗视为两个独立的模式。如果生成器的任务是生成猫和狗的图像,如果发生模式崩溃,则意味着生成器仅生成猫或狗的合理图像。发生这种情况的一个原因是判别器未能从局部最小值中移出,最终重复地仅将一种模式(猫或狗)分类为假。相比之下,扩散模型具有稳定的训练过程,并因其基于似然性而提供更多样性。
然而,由于逐步反向过程,与 GAN 相比,扩散模型往往计算密集,并且需要更长的推理时间。
在科学中,扩散是一个过程,其中溶质粒子从溶质浓度较高的区域移动到溶剂中溶质浓度较低的区域。考虑以下扩散类比以获得高层次的直觉
上面是传统的扩散过程,其中墨水滴在滴入干净的水杯后经过一段时间完全融合。实际上,逆转这是不可能的,即从混合物中获得墨滴。但这就是在扩散模型中所做的事情,即去除噪声,从而产生干净的图像。
在扩散模型中,逐步将高斯噪声添加到训练图像中,以将它们完全变成垃圾噪声图像。通过这个过程,模型学习逐步去除噪声,因此它能够将任何高斯噪声图像变成新的多样化图像(也可以根据文本提示进行调节)。
扩散模型的主要变体
有 3 个主要的扩散建模框架
- 去噪扩散概率模型 (DDPM)
- DDPM 是使用潜在变量来估计概率分布的模型。从这个角度来看,DDPM 可以被视为一种特殊的变分自编码器 (VAE),其中前向扩散阶段对应于 VAE 内部的编码过程,而后向扩散阶段对应于解码过程。
- 噪声条件评分网络 (NCSN)
- 它基于训练共享神经网络,通过评分匹配来估计不同噪声水平下扰动数据分布的评分函数(定义为对数密度的梯度)。
- 随机微分方程 (SDE)
- 它代表了一种模拟扩散的替代方法,形成了扩散模型的第三个子类别。通过前向和反向 SDE 建模扩散可以实现高效的生成策略以及强大的理论结果。这可以被视为对 DDPM 和 NCSN 的概括。
扩散模型的用例
扩散模型用于各种任务,包括但不限于
- 图像生成 - 根据提示生成图像。
- 图像超分辨率 - 提高图像分辨率。
- 图像修复 - 根据提示填充图像的退化部分。
- 图像编辑 - 编辑图像的特定/整个部分,而不会丢失其视觉特征。
- 图像到图像的转换 - 这包括更改背景、位置属性等。
- 从扩散模型中学习到的潜在表示也可以用于。
- 图像分割
- 分类
- 异常检测
想玩转扩散模型吗?不用担心,Hugging Face 的 Diffusers 库来拯救你。你可以使用几乎所有最新的扩散 SOTA 模型来完成几乎任何任务。
扩散模型的缺点
扩散模型最显着的缺点仍然是在推理时需要执行多个步骤才能仅生成一个样本。Latent consistency models(LCM) 是为克服 Latent Diffusion models (LDM) 缓慢的迭代采样过程而提出的一种研究方向,从而可以在任何预训练的 LDM(例如 Stable Diffusion)上以最少的步骤实现快速推理。尽管在这个方向上进行了大量的研究,但 GAN 在生成图像方面仍然更快。
扩散模型的其他问题可能与通常用于文本到图像生成的 CLIP 嵌入策略有关。一些文献研究强调,他们的模型难以在图像中渲染可读的文本,并通过声明 CLIP 嵌入不包含有关拼写的信息来解释这种行为。
< > 在 GitHub 上更新