Diffusion Models 10 篇必读论文(1)DDPM

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

第 1 篇:《Denoising Diffusion Probabilistic Models》

摘要

前一篇介绍了 diffusion model 的设计灵感和主要的思想。这篇沿用了之前的想法,用一个马尔科夫链来构成一个生成模型,训练是是把原始分布逐步扩散到一个噪声分布,然后学习其逆扩散的过程。不同的是此处把模型的逆扩散过程更加形象地看成是去噪过程(DDPM),并优化了训练目标,使得训练和生成过程更加清晰简洁,后面很多论文都是基于这篇论文优化发展的。
模型生成可以看成是去噪过程

1、背景回顾

1、 扩散(diffusion)

扩散过程
(1) 每一步的新数据都是由上这次的扩散核作用在上一次数据上产生的,(2)扩散核,也就是扩散过程的规则,(3)最终的联合分布。

1.2 反向传播

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

2、 模型具体特性

2.1 扩散过程

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

2.2 逆扩散过程

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

3、 优化目标

此模型采用了最大化对数似然(交叉熵)来进行优化训练:
优化目标
经过一些骚作后转化成:
优化目标转化

  1. Lt 在训练中是确定的常数,所以可以忽略
  2. L0 根据图像的取值范围和归一化范围设定成
    L0
  3. 设q(xt|xt-1) 为扩散的过程,则 p(xt-1|xt) 都为同形式的高斯生成过程:
    逆扩散和生成
    其中的 p(xt-1|xt) 中的方差 σ 可以取 2.2 (2)中 β,也可以取值波浪β,结果差别不大,根据两个高斯分布的KL散度公式可得
    Lt-1
    根据 2.2 的 (1)得
    Lt-1 - C
    所以最小化 Lt-1 则是让 μθ 来预测
    用 u 来预测 Lt-1
    所以
    uθ
    其中的Eθ 便是用神经网络来根据xt 预测出来的噪声,则取样结果为(z是标准正态分布,加上 σz 是为了把方差转变成 σ):
    xt-1
    然后模型最终的优化目标可以简化成:
    最终的优化目标
    但在训练中发现,去掉其中的系数能简化训练:
    简化后的优化目标

算法流程

算法流程

4.1 训练过程

不断取样本x0q(x0)和一个随机正态分布的噪声E,利用1T 步中由神经网络输出的噪声和E计算误差来训练,直到网络收敛。神经网络的输入则是扩散过程中每一步扩散得到的 xt。

4.2 生成过程

训练中计算的 1~T 步中扩散的 方差 p(xt-1|xt) 中的方差 σ^2 ,然后先生成一个随机高斯噪声,再逐步利用训练得到的噪声E和方差,使用第4 步的式子来计算。在 x1->x0时,z 则取值为0。

结论

这篇文章把模型的逆扩散过程更加形象地看成是去噪过程(DDPM),并优化了训练目标,使得训练和生成过程更加清晰简洁,使得模型能生成质量更高的图像。由于在图像数据上出色的inductive biases, diffusion model 后续的在生成模型的发展上大放异彩,甚至超越了 GANs.

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值