抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

DDPM

  • DDPM的前向加噪过程

  • DDPM的反向去噪过程

  • DDPM的训练过程

    随机采样时间步t和前向噪声epsilon,用神经网络拟合该epsilon。

  • DDPM的采样过程

    首先从高斯分布采样初始噪声xt,然后每一步预测出epsilon来还原x_{t-1}。由于x_{t-1}是有均值方差的高斯分布,因此
    预测出epsilon还原出均值后,还需要从标准正态分布中随机采样一个z来加上方差。

  • DDPM的生成是随机性过程吗?

    是的。在DDPM的反向过程中,每一步都会采样一个噪声,然后利用这个噪声和前一步的输出来生成下一步的图像。这个过程是随机的,因为每一步都会引入新的随机性。

DDIM

  • DDIM的采样过程

    DDIM的采样过程是非马尔可夫的,且由于eta设置为0,每一步去噪无需重采样高斯噪声(除了第一步采样x_t),因此采样过程是一个确定性过程。

    单独DIIM并没有加速,加速使用respacing(按照一定间隔减小采样步数)。只不过respacing对DDPM使用会大幅降低生成效果,但是DDIM不会。所以DDIM+respacing又快又好。

  • DDIM的Inversion

    DDIM除了可以确定性去噪外,还可以确定性加噪,从而实现Image editing。

  • DDPM与DDIM的区别

    DDPM:固定sample方差为beta或者\hat{beta}。
    DDIM:固定方差为0,配合respacing实现加速。

V-Prediction

  • V-prediction的原理

    DDPM中,加噪过程公式为

    xt=αtx0+1αtϵx_t=\sqrt{\overline{\alpha_t}}x_0+\sqrt{1-\overline{\alpha_t}}\epsilon

    在V-prediction的表示中,该公式被写成

    xt=αtx+σtϵx_t=\alpha_tx+\sigma_t\epsilon

    这里的αt\alpha_t相当于DDPM中的αt\sqrt{\overline{\alpha_t}},x相对于DDPM中的x0x_0σt\sigma_t相当于DDPM中的1αt\sqrt{1-\overline{\alpha_t}}

    易知在单位圆上。速度v定义为这条半径的切线方向,也就是其导数:

    v=αtϵσtxv=\alpha_t\epsilon-\sigma_tx

    对v的公式和xtx_t的公式联立,利用αt2+σt2=1\alpha_t^2+\sigma_t^2=1,可得到预测的原图的表达式:

    x^=αtztσtvθ^(zt)\hat{x}=\alpha_tz_t-\sigma_t\hat{v_\theta}(z_t)

    其中x^\hat{x}为预测的原图,ztz_t为当前时间步的噪声,αtσt\alpha_t和\sigma_t参见上面定义,vθ^\hat{v_\theta}为去噪网络。

在训练阶段,依然使用DDPM给原图加噪,不过模型预测目标是v,并用公式计算出的结果监督。

在推理阶段,模型预测出速度v,可以用上边的x^\hat{x}计算出预测的原图,和xt加权求出xt-1再继续去噪。

从v的表达式来看,它是原图x0和噪声的加权求和,因此可以把对速度的预测看作介于直接预测原图和直接预测噪声中间的一个预测目标。

Score-based

DPMSolver,DPMSolver++

PNDM

Euler

UniPC