能够以无条件或输入条件的方式合成视觉内容
- 核心思想:学习逆转逐渐向图像添加噪声的过程,从而能够从复杂分布中生成高质量的样本
Framework
Text Encoder
- input:一段自然语言描述 text
- output:向量表示 [...]
评估指标
- FID
Fréchet Inception Distance,是评估生成模型性能的指标。通过比较生成样本的特征分布与真实样本的特征分布之间的差异来衡量模型的质量。FID 的核心思想是将图像映射到一个特征空间,然后在该特征空间中对样本进行高斯分布的拟合,最后通过计算两个分布(一个针对真实样本,一个针对生成样本)之间的 Fréchet 距离来评估模型
- CLIP 评估
通过训练一个图像编码器和一个文本编码器,使得模型能够将图像和相关联的文本映射到同一个特征空间,并通过对比损失函数(contrastive loss)来优化模型参数,使得正样本(即匹配的图像-文本对)的特征表示更接近,而负样本(即不匹配的图像-文本对)的特征表示更远离。
Extra Decoder
Decoder 可以独立于 Text Encoder 进行训练,因为他的训练数据只需要图片,而不需要文本信息。
- input:图片的潜在表示 Latent Representation
- output:还原后的图像 generation image
实际训练过程需要训练一个 VAE(Encoder + Decoder)
评估指标
Generation Module/Multi Denoise Module
思想来源
通过一个 Noise Predicter 网络找到当前图片的 noise,在用原图片删去当前图片的 noise,获得一个新图片
- input:文字描述、原始图片、剩余扩散次数
- output:去噪后的图片
Noise Predicter
- 实际训练/推理过程:Reverse Process
- input:图片、剩余扩散次数
- output/label:该图片的噪声图片
- label 制作过程:Forward Process/Diffusion Process
注:最常用的训练数据集:laion.ai/blog/
实际结构
Noise Predicter
- 实际训练/推理过程:Reverse Process
- input:图片的潜在表示(Latent Representation)、图片经过 encoder 后得到的向量、剩余扩散次数
- output:去噪后图片的潜在表示(Latent Representation)
- label 制作过程
训练数学原理
假设 代表干净的图片(实际是要生成的图片)、代表噪音(大小与 相同,是剩余扩散的次数,则
- :Noise Image,通过 Forward Process 方法生成的
- :Noise Predictor,根据原始图像、扩散次数和一组超参数识别出该图片中的的噪音图像
- :Denoise Module,原始图像去除噪音后的图像
生成推理部分数学原理
假设 代表完全随机生产的初始图像,是剩余扩散的次数,则
- :Noise Predictor 生成找出的噪音
- :Denoise Module 经过第 t 轮扩散还原出的图片
- ,又加了一个噪音???暗藏玄机!
评估指标
- 共同目标:让生成的图像和真实的图像接近
- Maximum Likelihood Estimation == Minimize KL Divergence
假设输入条件 x,经过模型生成的图像为 ,实际收集到对应的图像为,则
经典应用
Stable Diffusion
DALLE series
version1:arxiv.org/abs/2102.12…
version2:arxiv.org/abs/2204.06…