模型:
google/ncsnpp-church-256
论文: Score-Based Generative Modeling through Stochastic Differential Equations
作者:Yang Song,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-church-256" # 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 。