[DDPM] Denoising Diffusion Probabilistic Models

        直接看paper云里雾里,一些推荐的讲解:

        The Annotated Diffusion Model

        生成扩散模型漫谈(一):DDPM = 拆楼 + 建楼

        生成扩散模型漫谈(二):DDPM = 自回归式VAE

        生成扩散模型漫谈(三):DDPM = 贝叶斯 + 去噪

1、目的

        已知确定的forward / diffusion过程:训练图像x_{0},逐步加噪声,最终得到高斯噪声图像x_{t}

        求解reverse过程:采样高斯噪声图像x_{t},逐步去噪,最终得到生成的图像

        其中,x_{0} ~ x_{t}的尺寸均一致

                    [DDPM] Denoising Diffusion Probabilistic Models_第1张图片 

        为什么不直接一步到位?类比建楼和拆楼过程。我们想要把建筑原材料建设成高楼大厦是很难的,那么不妨考虑将高楼大厦一步步拆为砖瓦水泥,然后逆向学习拆楼的一小步过程,从而一步步建楼。当然DDPM是建立在严格数学推导的基础之上的。

                                                [DDPM] Denoising Diffusion Probabilistic Models_第2张图片        

2、建模

        1)分布

                [DDPM] Denoising Diffusion Probabilistic Models_第3张图片            

                                    

         2)forward

                

                重参数化后,有x_{t} = \sqrt{1 - \beta_{t}}x_{t-1} + \sqrt{\beta_{t}}\epsilon_{t}

                该式的两个重要特性:马尔可夫过程,且系数平方和为1。基于这两点,经推导可得重要结论:

                

                 其中,

                 重参数化后,有:

                                  ......................................................(1)      

       注:要保证经过T步后,\bar{\alpha_{t}}\approx 0,此时x_{T}\approx \epsilon

        3)reverse

                

                 经推导可得重要性质:

                 ............................................(2)

        本文固定了forward和reverse过程中的方差

3、训练过程

        我们的目标是已知输入x_{t},去预测x_{t-1}。网络直接学习这样的映射关系比较困难,可以通过“输入x_{t} -> 预测\epsilon -> 根据公式(2)得到\mu -> 从N(\mu, \sigma)中采样出x_{t-1}”的方式来进行

        1)Training

        已知样本x_{0},随机取1~T中的一个时间t,可以根据公式(1)采样出x_{t},同时采样的\epsilon作为网络训练的标答

        [DDPM] Denoising Diffusion Probabilistic Models_第4张图片

        2)Sampling

        从高斯噪声x_{T}开始逐步采样至x_{0}

        [DDPM] Denoising Diffusion Probabilistic Models_第5张图片      

        注:训练数据需要线性放缩到[-1, 1]

4、网络结构

        1)U-Net

        2)group normalization

        3)在16 x 16分辨率的特征图上使用self-attention

        4)不同time共享一套网络结构和网络参数。time经过Transformer sinusoidal position embedding输入网络

你可能感兴趣的:(深度学习)