最近在学习Diffusion,今天在coding的过程中,看到了一个参数prediction_type
,目前代码里面是有三种类型,分别是sample
、epsolon
和v_prediction
,在好奇心的驱使下,我想要对prediction_type
一探究竟,在这里也顺便记录一下。
什么是prediction_type
prediction_type
是扩散模型中调度器(scheduler)的一个重要参数。它决定了模型在训练和推理过程中如何预测噪声或潜在变量,不同的预测类型会影响模型的性能和生成效果。
prediction_type
的类型以及作用
epsilon
作用:epsilon
类型是直接预测添加到原始图像中的噪声。模型学习预测在扩散过程中每个时间步添加到图像中的噪声值。在去噪过程中,根据模型预测的噪声来逐步去除噪声,恢复原始图像。
通常应用于传统的扩散模型,如原始的DDPM(Denoising Diffusion Probabilistic Models)模型。它是一种较为直观的预测方式,通过预测噪声的方式来逼近真实的无噪声图像。
举例:在Stable Diffusion v1.x模型中,通常使用epsilon
作为预测类型。例如,当使用预训练的Stable Diffusion v1.x模型进行图像生成时,模型的调度器会根据epsilon