模型:
google/ncsnpp-celebahq-256
论文: Score-Based Generative Modeling through Stochastic Differential Equations
作者:杨松,雅斯卡·索尔-迪克斯坦,迪德里克·P·金格马,阿布希什·库马尔,斯特凡诺·埃尔蒙,本·普尔
摘要:
从数据中产生噪音很容易;从噪音中产生数据是生成建模。我们提出了一个随机微分方程(SDE),通过缓慢注入噪音,将复杂的数据分布平滑地转换为已知的先验分布,以及相应的逆时间SDE,通过缓慢去除噪音将先验分布转换回数据分布。关键是,逆时间SDE仅取决于扰动的数据分布的时间依赖梯度场(也称为得分)。通过利用得分为基础的生成建模的进展,我们可以使用神经网络准确地估计这些得分,并使用数值SDE求解器生成样本。我们展示了这个框架包含了得分为基础的生成建模和扩散概率建模的先前方法,允许新的采样过程和新的建模能力。特别地,我们引入了一个预测修正框架来纠正离散化的逆时间SDE演化中的错误。我们还导出了一个相等的神经ODE,该ODE从与SDE相同的分布中进行采样,但还能够进行精确的似然计算和提高采样效率。此外,我们提供了一种使用得分为基础的模型求解逆问题的新方法,通过在类条件生成、图像修复和着色的实验中进行了演示。结合多种架构改进,我们在CIFAR-10上实现了无条件图像生成的最高性能,具有Inception分数为9.89和FID为2.20,竞争力的似然度为2.99 bits/dim,首次展示了从得分为基础的生成模型生成1024 x 1024图像的高保真度。
SDE模型可以使用连续的噪音调度器进行推理,例如:
用于推理。请看以下代码:
# !pip install diffusers from diffusers import DiffusionPipeline model_id = "google/ncsnpp-celebahq-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 。