Score-based Generative Models

Score-based Generative Models

最近在看Tutorial on Diffusion Models for Imaging and Vision,看到了Score-Matching Langevin Dynamics (SMLD) ,就去B站上跟着视频学了一下。

background

先前的生成模型基于极大似然的思想,即最大化样本的概率。
对于概率函数,必须满足非负积分为1两个条件。

定义,其中Z为归一化常数,

一般情况下,不容易求,所以最大化比较困难,这限制了这种方法的能力。

一个基本的想法是把消去。求导


这样就完成了我们的目标。

定义,为score function,我们需要让尽可能接近真实分布的S(x),这个过程就叫score matching
衡量两个函数的距离,可以用二范数。

难点是什么呢,我们不知道的具体样子,就没办法拟合。这个问题先按下不表。

Langevin Dynamics

假如我们进行了一系列神奇的方法得到了,如何生成最终的结果?

引入布朗运动


其中X(t)为粒子位置,U为能量函数,,这个形式也类似于一个梯度下降,粒子倾向于向能量低的地方运动。
转为差分形式

这是一个粒子的运动,对于大量的粒子,用P(x,t)指代粒子的分布。我们想让粒子分布处于稳态时,

回顾,这是Gibbs分布()的一个特例,

有公式

可以证明,当时,有

所以得到采样方程

让粒子群不断地随机游走,最终的分布就会落到P(x)上。

noise conditional

一张图像
但好的图像只存在于这个空间的一个r维流形上,空间中大部分的位置是不会被样本覆盖到的,意味着对的估计也是不准确的。
所以考虑给样本增加噪声
损失函数变为
会有不同的取值。

x'是原来的样本,x是加入噪声之后的样本,则有

  1. 是为了平衡对loss整体大小的影响,使得模型可以对不同的进行等权重的学习。
  2. 这里的可以看做一个噪声预测器,给定一个加噪的图片,预测出被加的噪声。这与DDPM的想法也是差不多的。

采样算法

从噪声强度最高开始,先找到大概的方向,逐渐降低噪声强度细化位置,采样的步长也随着噪声强度减小。

从SDE视角看生成模型

伊藤过程(Itô process):可看成为一般化的维纳过程,它直接把布朗运动理解为随机干扰,从而赋予了布朗运动最一般的意义。
表达式为

其逆过程也是一个SDE,表达式为

从SDE视角看DDPM

对于DDPM,有

现在令 则有

则其逆向过程

根据欧拉-丸山法,可以数值求解SDE(5),得到

(20)恰好就是DDPM的采样公式

从SDE视角看SMLD

SMLD的数据增造方法为:

也可以写成


使用欧拉丸山法,得到逆采样公式

预测矫正法

ODE

宋飏等人提出,对于任一 SDE 描述的扩散过程,都存在一个 ODE 描述的确定性过程与之有相同的边缘分布