Latent Diffusion 模型

一、基本知识

1、概率:一件事情发生的可能性。

2、分布:描述一组数据值的频率和规律。

3、概率分布:描述了随变量取不同值的概率分布。有离散和连续之分。

4、概率密度函数:用表达式描述出来的概率分布。

5、可调参数:高斯分布的可调参数魏方差和均值。

6、似然:通过样本估计参数。

7、极大似然:似然估计的最优解。把观测样本看作独立同分布的联合概率,用模型连乘求导,让导数为零建立方程即可求出。

8、联合分布:是指两个事件同时发生的概率。

9、重采样:将分布写成具有显示表达式的形式。

10、高斯分布:单高斯分布分为一维和多维。

11、对数运算:数据处理过程使用对数会带来很大便利。

12、KL散度:用来度量两个概率分布函数之间的距离。

二、Diffusion模型

        diffusion利用噪声的叠加来生成图片。先考虑一个正向过程,往一张照片中不断加入噪声,直至该图片完全变成噪声。此时的加入噪声应该越来越大,用beta来代表噪声权重。

        令:

\alpha _t=1-\beta _t

        则:

x_t=\sqrt{\alpha _t}x_{t-1}+\sqrt{1-\alpha _t}z_1

x_t=\sqrt{\alpha _t\alpha _{t-1}}x_{t-2}-\sqrt{1-\alpha _t\alpha _{t-1}}\overline{z _2}

x_t=f(x_{t-1})=f(f(x_t-2))=...=f_t(x_0)

        再考虑一个反向过程,反向过程从一张图片开始,逐步猜测前一张图片,最终猜测原图。函数g没有显示的表达式,但是gs有显示的表达式,故推到gs的表达式,gs中只有噪声是未知的,需要设计一个噪声预测器,使用前向过程进行训练。

x_0=g(x_t,t,z_t)
x_{t-1}=g_s(x_t,t,z_t)

        训练阶段,用图片加噪声的方式做一遍前向过程,放入Unet网络预测得到的噪声,反求梯度下降。测试阶段,随机输入噪声即可,每次输入的噪声不一致,故每次生成的图像也不一致,但图像之间会有相似性。

        非条件生成与条件生成,非条件生成的过程即如上图所示,条件生成在训练的时候对数据集进行分类,在gs函数中添加一个代表类别的变量,便可通过引导类别的方式来生成图像。即改变gs函数,如下所示,其中c_i表示不同图片的类别。

x_{t-1}=g_s(x_t,t,z_t,c_i)

(二)、基本流程

(三)、Unet

1、网络架构

2、网络原理

        作者以FCN全卷积神经网络为基础设计了Unet,其中包含两条串联的路径:contracting path用来提取图像特征,捕捉context,将图像压缩为由特征组成的feature maps;expanding path用来精准定位,precise localization,将提取的特征解码为与原始图像尺寸一样的分割后的预测图像。

        与FCN不同的是,在上采样过程中保留了大量的特征通道(feature channels),从而使更多的信息能流入最终复原的分割图像中。另外,为了降低在压缩路径上损失的图像信息,还将contracting path和expanding path同尺寸的feature map进行叠加,再继续进行卷积和上采样工作,以此整合更多信息进行图像分割。

(五)、学习资料

1、学习笔记

2、学习视频

3、Unet原文

猜你喜欢

转载自blog.csdn.net/ekekex/article/details/131612199