首页 科技数码 正文内容

深度解析DDPM:探讨StableDiffusion中的挖掘算法

雅典娜 科技数码 2023-05-26 23:05:24 2 0

stable diffusǐon 在 讲述完auto-encoder Stable Diffusǐon中挖呀挖呀挖(一) 过程之后,即进入 latent diffusǐon model 过程,在隐空间中使用DDPM 过程, 下miàn重点讲清楚DDPM (Denoisǐng Diffusǐon Probabilistic Models)过程.

深度解析DDPM:探讨StableDiffusion中的挖掘算法

DDPM 过程

如图,扩散过程) 的 逆过程 即加噪声过程,即由一个高斯随机噪声,经过个步骤,逐步加噪声,得到,然后去噪过程,由个随机噪声,逐步降噪生成的过程。

DDPM 整篇论文讲的推导非常复杂,但是这里我希望读者们知道,DDPM 到底干了一件什么事情,重点先看一下《Denoisǐng Diffusǐon Probabilistic Models》本文重点:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

DDPM 训练以及采样推理过程

这里我重点文章重点: DDPM 扩散加噪声过程就是一个简单生成训练标签数据过程, 在这个过程中学习到了这个函数,然后在推理(论文中sample)过程中,利用好训练过程中学习到的函数,有一个服从的中正态分布中采样出, 代入到函数,迭代出的过程;而函数目前基本上由一个U-Net 结构的神经网络构成,即训练过程就是学习这个U-Net 参数的过程,如果大家不想看推导过程,那么diffusǐon 模型其实就是干了这么一件事情。

有兴趣读者可以继续往下看。

DDPM 上面本文重点推导过程,《扩散模型之DDPM》推导的非常详细,https://zhuanlan.zhihu.com/p/563661713. 整体过程文章重点为如下4个步骤:

1)由)推导出), 具体步骤如下:

地柜推导出

这里记:, 服从

上述推导过程利用到两个高斯分布和 的和服从的高斯分布,和 的概率表达式如下:

2) 反向过程,定义) 需要的学习参数,推导 )的后验分布;

深度解析DDPM:探讨StableDiffusion中的挖掘算法

这里由如下定义:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

这里, ) 为参数化的高斯分布,实际过程中需要训练学习出和,这里假设方差式 , 定义好之后暂时放一边。

下miàn来求解)的后验分布) 的表达式,直接求解固然无法求解,但是添加上条件的) 可以求解,这里定义如下:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

接下来会具体推导这个概率分布,依据贝叶斯公式如下:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

在扩散过程我们有:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

深度解析DDPM:探讨StableDiffusion中的挖掘算法

这里依据高斯分布性质推导出后验分布的方差和均值如下:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

深度解析DDPM:探讨StableDiffusion中的挖掘算法

3)定义问题求解的损失函数

依据ELBO 的推导过程:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

这里思路是极大似然估计,即要求由初始的逆向去噪过程中达到最大的的概率,最后一步不等式使用了Jensen&39;s inequality 不等式,对于网络训练来说,其训练目标为VLB取负:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

进一步转换为如下结构:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

最后这里转化为最优化问题转换为p 和q 的后验分布的KL散度问题,最小化问题

深度解析DDPM:探讨StableDiffusion中的挖掘算法

损失函数进一步转换为如下形式:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

深度解析DDPM:探讨StableDiffusion中的挖掘算法

带入q 的后验分布的均值的表达式,得到如下式子,

深度解析DDPM:探讨StableDiffusion中的挖掘算法

结合q 的后验分布转换为如下式子。

上面的式子揭示了我们最初需要学习均值的网络转变为需要预测噪声;即对上式进行参数重新设定转化为下miàn公式:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

此时 函数即定,预测.

进一步带入得到:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

这即最终的训练损失函数,回到最初始本文重点的地方。

4)采样推理过程

此时就非常容易了,由最开始

深度解析DDPM:探讨StableDiffusion中的挖掘算法

深度解析DDPM:探讨StableDiffusion中的挖掘算法

深度解析DDPM:探讨StableDiffusion中的挖掘算法

将,即得到最开始采样的表达式:

深度解析DDPM:探讨StableDiffusion中的挖掘算法

DDPM 采样过程

上面即讲完了,整个DDPM 的算法过程,大家如果喜欢我的分享,请点赞收藏转发,接下来将会介绍stable diffusǐon 算法中,的网络U-Net 具体结构,敬请收藏!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。 E-MAIL:admin@bb1314.com 

欢迎 发表评论:

请填写验证码
文章目录
    搜索

    版权声明   免责声明  举报投诉

    Powered by https://www.haoqunkj.cn     湘ICP备19000562号-3