1. diffusion模型的应用
diffusion模型在计算机视觉、自然语言处理等方面有广泛的研究和应用。下图为diffusion模型在不同领域的一些研究与应用。
超分辨率
图像修复
多模态学习
分子图
2. diffusion模型与其他模型的对比
扩散模型的灵感来自非平衡热力学。扩散模型定义了一个扩散的马尔可夫链,并缓慢地将随机噪声添加到数据中,然后学习反扩散过程以从噪声中构建所需的数据样本。与 VAE 或流模型不同,扩散模型是通过固定过程学习的,且扩散过程中变量具有和原始变量相同的维度。
2.1 VAE与diffusion模型对比
变分自动编码器旨在学习编码器和解码器,以将输入数据映射到连续潜在空间中的值。在这些模型中,嵌入可以解释为概率生成模型中的潜在变量,概率解码器可以通过参数化似然函数来表示。此外,假设数据 x 是由一些未观察到的隐变量 z 使用条件分布 生成的,并且用于近似推断 z。为了保证有效的推断,我们使用变分贝叶斯方法来最大化证据下限:
DDPM 可以被视为多层马尔可夫 VAE。正向过程表示编码器,反向过程表示解码器。此外,DDPM 跨多个层共享解码器,并且所有隐变量的大小都与样本数据相同。在连续时间的条件下,优化扩散模型可以看作是训练一个无限的、深度的、多层的的 VAE。这证明了人们普遍认为扩散模型可以解释为分层 VAE 的连续极限。
2.2 diffusion模型推导过程
扩散模型包括两个过程:前向过程(forward process)和反向过程(reverse process),其中前向过程又称为扩散过程(diffusion process),如下图所示。无论是前向过程还是反向过程都是一个参数化的马尔可夫链(Markov chain),其中反向过程可以用来生成数据,这里我们将通过变分推断来进行建模和求解。
前向过程:给出一个从真实数据分布中采样的数据点。我们定义经过步添加高斯噪声的前向扩散过程,生成一系列噪声样本
随着的增加,逐渐失去了其辨识性特征。当
扩散过程的一个良好性质是任意时刻的都可以由重参数技巧获得。另且
反向过程:如果我们可以将上述过程反向,并从,我们就可以从输入的高斯噪声()重建真实采样。注意如果足够小,那么也是高斯分布。但我们不能估计,因为这需要用到所有数据集的信息。所以我们需要学习一个来近似这个条件概率,这样就可以完成反向扩散。
当给出时,反向条件概率是可知的:
通过贝叶斯定理,有
其中是不包含的方程。因而可以不考虑。
所以均值和方差为
且有
我们可以优化负对数似然函数
可以进一步写为
其每个组成部分可以重新写为
其中是常量可以忽略,可以视为拉近两个分布 和。
我们需要用神经网络来近似反向扩散的条件概率,得到
所以可以写作
进一步地,简化,发现忽视掉权重项之后,训练过程更好
最终目标是
算法为
训练过程可以看做:
-
获取输入,从 随机采样一个 . -
从标准高斯分布采样一个噪声.
-
最小化
长按下图并点击“识别图中二维码”
即可关注北邮 GAMMA Lab 公众号
原文始发于微信公众号(北邮 GAMMA Lab):diffusion model模型应用与理解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论