模型:
google/ncsnpp-ffhq-1024
论文号: Score-Based Generative Modeling through Stochastic Differential Equations
作者: 杨松, Jascha Sohl-Dickstein, Diederik P. Kingma, Abhishek Kumar, Stefano Ermon, Ben Poole
摘要:
从数据中产生噪音很容易;从噪音中产生数据就是生成建模。我们提出了一种随机微分方程(SDE),通过缓慢注入噪声,将复杂的数据分布平滑地转换为已知的先验分布,并通过缓慢地消除噪音,使用相应的逆时间SDE将先验分布变回数据分布。关键在于,逆时间SDE仅依赖于扰动数据分布的时间相关梯度场(也称为分数)。通过利用分数生成建模的进展,我们可以用神经网络准确地估计这些分数,并使用数值SDE求解器生成样本。我们展示了该框架包括了之前的分数生成建模和扩散概率建模方法,允许进行新的采样过程和新的建模能力。特别地,我们引入了一个预测校正框架来纠正离散逆时间SDE演化中的错误。我们还推导出一个等价的神经常微分方程(ODE),从与SDE采样相同的分布, 但额外实现了精确的可能性计算和改进的采样效率。此外,我们提供了使用基于分数模型求解反问题的新方法,通过对类别条件生成、图像修复和上色实验的演示。结合多种架构改进,我们在CIFAR-10上实现了无条件图像生成的创纪录性性能,Inception分数达到9.89,FID为2.20,可能性为2.99比特/维,并且首次使用基于分数的生成模型实现了1024 x 1024图像的高保真生成。
SDE模型可以使用连续的噪声调度程序,例如:
用于推理。
请查看以下代码:
# !pip install diffusers from diffusers import DiffusionPipeline model_id = "google/ncsnpp-ffhq-1024" # load model and scheduler sde_ve = DiffusionPipeline.from_pretrained(model_id) # run pipeline in inference (sample random noise and denoise) image = sde_ve()["sample"] # save image image[0].save("sde_ve_generated_image.png")
有关如何编写自己的降噪循环的更多详细信息,请参阅 pipeline_score_sde_ve 。有关如何在推理中使用扭曲器的更多信息,请参阅 official inference example