Diffusion Models 10 篇必读论文(0)DPM

【导语】Diffusion Models 是近期人工智能领域最火的方向,也衍生了很多实用的技术。最近开始整理了几篇相关的经典论文,加上一些自己的理解和公式推导,分享出来和大家一起学习,欢迎讨论:702864842(QQ),https://github.com/Huangdebo

第 0 篇:《Deep Unsupervised Learning using Nonequilibrium Thermodynamics》

摘要

之前想拟合数据分布的时候,基本都是想一步到位,使用一个复杂的函数来拟合,但往往这个函数不可解析计算或者计算太复杂。而一些可解析的分布函数又难以表征比较复杂的数据分布。这篇文章从热力学扩散中得到灵感,提出一种扩散模型(diffusion model),把原始信息逐步扩散到一个简单明了并能解析计算的分布(比如正态分布),然后学习这个扩散(diffusion)过程,最后在进行反传(reverse diffusion),从一个纯噪声逐步恢复出原始信息。

1、 扩散(diffusion)

扩散模型巧妙地把学习数据分布的过程转化成学习数据分布的扩散过程,因为每一步的扩散都是很小的扰动,所以很好学习,而且能表征任意形式的数据分布。作者使用马尔科夫链来实现这个扩散过程,每一步的分布都是在上一步的分布上加上一定的噪声得到:
,扩散过程
(1) 每一步的新数据都是由上这次的扩散核作用在上一次数据上产生的
(2)扩散核,也就是扩散过程的规则,
(3)q(x0) 表示x0的分布概率,q(xt|xt-1)表示马尔科夫链中的扩散核,这个式子表示一个马尔科夫过程:q(x0…T)是初始状态为q(x0)的马尔科夫链的所有状态的联合分布概率=q(x0)q(x1)…*q(xT),后面的可以使用累乘表示。

2、 反向传播

反向传播
在扩散率 β 很小的情况下,可以把正向扩散和反向传播的每一步都可以看成是同一种形式(比如高斯扩散)。而这个反向传播中高斯扩散的均值和方差便可以作为参数进行训练。

3、 训练

3.1 优化目标

此模型采用了最大化对数似然(交叉熵)来进行优化训练:
交叉熵
经过一些骚作后得到 L 的下限,最大化 L 其实就是最大化其下限 K:
K的下限
KHp-Hq
那如何来最大化 K ,这就需要把 q 和 p 的解释式显式化,接下来详细讲解。

3.2 扩散特性

扩散过程是一个马尔科夫高斯扩散,每个时刻的分布只和前一个分布和扩散核有关:
q(x|x-1)
设 αt = 1 - βt,则:
x/x-1
将以上两个式子联立,带入,可以得到:
xt
两个独立同分布的高斯分布相加之后有以下公式:
N
最终可以简化并推导可得:
简化结果

3.3 逆扩散过程q(xt|xt-1)

q(xt|xt-1) 为扩散的过程,则 q(xt-1|xt) 为理想的逆扩散过程,利用贝叶斯可求解,而且当 β 足够小时候,逆扩散扩展可以看成和扩散过程一样的高斯扩散形式:
逆扩散标准正态分布的展开为:
标准高斯形式
对比上面两式子可得:
13
根据 3.2 的扩散特性可消掉 x0,得
消掉x0
最终得到 q(xt|xt-1) 的表达形式(其中的噪声则是正向扩散时添加的噪声):
q的最终表达式

3.4 生成过程 p(xt|xt-1)

目前在 K 的表达式中还需要计算 p(xt|xt-1) 的解析式,设生成过程和扩散过程一样,是使用高斯核的马尔可过程,其高斯核的均值和方差则有多层网络根据该步生成的 xt 的回归通过一些计算间接得出:
网络结构图
首先输入 Xt,由多层网络输出一个多通道 y,然后在通道维度分成两部分,一部分用以计算均值,另一部分计算方差。
均值和方差

3.5训练目标

经过上面几个步骤,q(xt|xt-1) 、q(xt-1|xt) 和 p(xt-1|xt) 的解析表达式都得到,这样就可以带入3.1 中的 K 中,使用梯度下降法来最大化 K 了。训练完毕后,便可以使用训练好的网络来计算 p(xt-1|xt) 中的均值和方差,便可以一步一步地从 π(xt)中生成样本。
训练目标

4、总结

文章从热力学扩散中得到灵感提出了一个很新颖的扩散模型来表征数据的分布,把学习数据分布的过程转化成学习数据分布的扩散过程。通过马尔科夫扩散链,逐步把原始分布扩散到一个纯噪声分布,相当于学习到了原始分布到噪声分布的映射。因为每一个马尔科夫过程都是很小的扰动,所以比较容易学习,并且能灵活地表征任意数据的分布。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]: Stable Diffusion是一个基于Latent Diffusion Models(潜在扩散模型,LDMs)的文图生成(text-to-image)模型。Stable Diffusion在LAION-5B的一个子集上训练了一个Latent Diffusion Models,该模型专门用于文图生成。\[1\]引用\[2\]: 在潜在表示空间上做diffusion操作其主要过程和标准的扩散模型没有太大的区别,所用到的扩散模型的具体实现为time-conditional UNet。\[2\]引用\[3\]: 高分辨率图像合成的普及diffusion models属于基于似然的模型类,其模式覆盖行为使它们容易花费过多的容量(从而计算资源)来建模数据的难以察觉的细节。尽管重加权变分目标旨在通过对初始去噪步骤进行欠采样来解决这一问题,但diffusion models仍然需要计算量,因为训练和评估这样的模型需要在RGB图像的高维空间中反复进行函数评估(和梯度计算)。\[3\] 问题: Latent Diffusion Models是什么? 回答: Latent Diffusion Models(潜在扩散模型,LDMs)是一种用于文图生成的模型。在潜在表示空间上进行diffusion操作,其过程与标准的扩散模型类似。具体实现中使用了time-conditional UNet。这种模型的训练和评估需要在RGB图像的高维空间中进行函数评估和梯度计算,因此需要大量的计算资源。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [Latent Diffusion Models](https://blog.csdn.net/weixin_43135178/article/details/127972532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值