写在前面:

扩散模型有不同的描述视角和形式化方法:

概率扩散视角:

  • 基于马尔可夫链
  • 逐步添加高斯噪声
  • 关注条件概率分布
  • 例如DDPM的形式化

Score-Based视角:

  • 关注概率密度梯度

  • 基于朗之万动力学

  • 强调得分函数估计

  • 连续时间形式化

两者本质是相同的,一个是离散的形式,一个是积分连续的形式。

参考视频:Diffusion Models From Scratch 数学原理解释_哔哩哔哩_bilibili

基于分数的生成扩散模型。

  • Score

  • Score Matching

  • Noise Perturbation

  • Denoising Score Matching

  • Sampling

  • Multiple Noise Perturbations

  • Differential Equations

  • Link to diffusion models

学习一个数据集的概率分布,可以从中采样生成新的数据点,尝试估计数据的概率密度函数。
在这里插入图片描述

需要知道数据的PDF函数,但是他是未知的

下面的函数是正态分布的PDF,有两个未知参数。

N ( x ∣ μ , σ ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 \mathcal{N}(x|\mu,\sigma)=\frac1{\sqrt{2\pi\sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}} N(x∣μ,σ)=2πσ2 ​1​e−2σ2(x−μ)2​

对于一个数据,我们可以先假设其PDF有多少参数,符合那种分布函数。

PDF有两个约束:

  1. 非负性
  2. 综合为1

p ( x ) p(x) p(x)-> p θ ( x ) = e − f θ ( x ) Z θ p_\theta(x)=\frac{e^{-f_\theta(x)}}{Z_\theta} pθ​(x)=Zθ​e−fθ​(x)​

参数化,对于x的操作一般有非负性 f θ ( x ) f_\theta(x) fθ​(x)和归一化 Z θ Z_\theta Zθ​(使PDF积分为1)。

f θ ( x ) f_\theta(x) fθ​(x)可以学习输出x周围的概率密度

在这里插入图片描述

高值意味着数据集的密集区域,低值意味着稀疏的区域。

计算 Z θ Z_\theta Zθ​需要对整个空间进行积分。

我们需要遍历整个概率空间,维度高和计算成本会比较昂贵。

Score

我们需要不断的优化

f θ ( x ) f_\theta(x) fθ​(x)和 Z θ Z_\theta Zθ​的值。
∇ x log ⁡ p θ ( x ) = ∇ x log ⁡ e − f θ ( x ) Z θ \nabla_x\log p_\theta(x)=\nabla_x\log\frac{e^{-f_\theta(x)}}{Z_\theta} ∇x​logpθ​(x)=∇x​logZθ​e−fθ​(x)​

在这里插入图片描述

在这里插入图片描述

说明:因为我们不知道原始数据的概率分布的类型。我们只能获取一个估计值,所以我们要去替代原概率分数的估计。

得分匹配意味着近似原始分布的得分与来自 s θ ( x ) s_\theta(x) sθ​(x)的预测得分一样。

最小化原始和预测得分之间的差异。

在这里插入图片描述

Score Matching

评分函数告诉应该向哪个方向移动数点来增加概率。

对数(单调的)概率意味着,数据向哪个方向移动接近实际数据点

在这里插入图片描述

在图像中的高斯采样分布中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

x是一个随机的高斯噪声图像。

在 s θ ( x ) s_\theta(x) sθ​(x)会给出

在这里插入图片描述

用期望的积分形式
在这里插入图片描述

1 2 E p ( x ) [ ∥ ∇ x log ⁡ p ( x ) − s θ ( x ) ∥ 2 2 ] = 1 2 ∫ p ( x ) ( ∇ x log ⁡ p ( x ) − s θ ( x ) ) 2 d x \frac12\mathbb{E}_{p(x)}[\|\nabla_x\log p(x)-s_\theta(x)\|_2^2]\\=\frac12\int p(x)(\nabla_x\log p(x)-s_\theta(x))^2dx 21​Ep(x)​[∥∇x​logp(x)−sθ​(x)∥22​]=21​∫p(x)(∇x​logp(x)−sθ​(x))2dx
( a − b ) 2 = a 2 + b 2 − 2 a b \boxed{\begin{array}{c}(a-b)^2=a^2+b^2-2ab\\\hline\end{array}} (a−b)2=a2+b2−2ab​​​
= 1 2 ∫ p ( x ) ∇ x log ⁡ p ( x ) 2 + s θ ( x ) 2 − 2 ⋅ ∇ x log ⁡ p ( x ) ⋅ s θ ( x ) d x =\frac12\int p(x) \nabla_x\log p(x)^2+s_\theta(x)^2-2\cdot\nabla_x\log p(x)\cdot s_\theta(x) dx =21​∫p(x)∇x​logp(x)2+sθ​(x)2−2⋅∇x​logp(x)⋅sθ​(x)dx

= 1 2 ∫ p ( x ) ⋅ ∇ x log ⁡ p ( x ) 2 d x + 1 2 ∫ p ( x ) ⋅ s θ ( x ) 2 d x − 1 2 ∫ p ( x ) ⋅ 2 ⋅ ∇ x log ⁡ p ( x ) ⋅ s θ ( x ) d x =\frac12\int p(x)\cdot\boxed{\nabla_x\log p(x)^2}dx+\frac12\int p(x)\cdot\boxed{s_\theta(x)^2}dx-\frac12\int p(x)\cdot\boxed{2\cdot\nabla_x\log p(x)\cdot s_\theta(x)}dx =21​∫p(x)⋅∇x​logp(x)2​dx+21​∫p(x)⋅sθ​(x)2​dx−21​∫p(x)⋅2⋅∇x​logp(x)⋅sθ​(x)​dx

对于最后一项,进行化简,对数求导。
∫ p ( x ) ⋅ ∇ x log ⁡ p ( x ) ⋅ s θ ( x ) d x ∇ x p ( x ) p ( x ) \int p(x)\cdot\boxed{\nabla_x\log p(x)}\cdot s_\theta(x)dx\\\frac{\nabla_xp(x)}{p(x)} ∫p(x)⋅∇x​logp(x)​⋅sθ​(x)dxp(x)∇x​p(x)​

= ∫ p ( x ) ⋅ ∇ x p ( x ) p ( x ) ⋅ s θ ( x ) d x = ∫ ∇ x p ( x ) ⋅ s θ ( x ) d x =\int p(x)\cdot\frac{\nabla_{x}p(x)}{p(x)}\cdot s_{\theta}(x)dx =\int\nabla_{x}p(x)\cdot s_{\theta}(x)dx =∫p(x)⋅p(x)∇x​p(x)​⋅sθ​(x)dx=∫∇x​p(x)⋅sθ​(x)dx

使用分部积分法则
∫ d v u = u v ∣ a b − ∫ v d u \int dv u=uv|_a^b-\int v du ∫dvu=uv∣ab​−∫vdu
把p(x)的微分放在dx上。
∫ ∇ x p ( x ) ⋅ s θ ( x ) d x = p ( x ) ⋅ s θ ( x ) ∣ x = − inf ⁡ inf ⁡ + ∫ p ( x ) ⋅ ∇ x s θ ( x ) d x \int\nabla_xp(x)\cdot s_\theta(x)dx=p(x)\cdot s_\theta(x)|_{x=-\inf}^{\inf}+\int p(x)\cdot\nabla_xs_\theta(x)dx ∫∇x​p(x)⋅sθ​(x)dx=p(x)⋅sθ​(x)∣x=−infinf​+∫p(x)⋅∇x​sθ​(x)dx

s θ ( x ) ∣ x = − inf ⁡ inf ⁡ s_\theta(x)|_{x=-\inf}^{\inf} sθ​(x)∣x=−infinf​该项区域0,因为在正无穷和负无穷处,概率密度密度函数趋向于0

所以结果为如下的
∫ ∇ x p ( x ) ⋅ s θ ( x ) d x = ∫ p ( x ) ⋅ ∇ x s θ ( x ) d x \int\nabla_xp(x)\cdot s_\theta(x)dx=\int p(x)\cdot\nabla_xs_\theta(x)dx ∫∇x​p(x)⋅sθ​(x)dx=∫p(x)⋅∇x​sθ​(x)dx
对于第一个式子是没有待求参数 θ \theta θ的,所以可以视为常数。
= 1 2 ∫ p ( x ) ⋅ ∇ x log ⁡ p ( x ) 2 d x + 1 2 ∫ p ( x ) ⋅ s θ ( x ) 2 d x − ∫ p ( x ) ⋅ ∇ x s θ ( x ) d x n o s θ ( x ) \begin{aligned}&=\boxed{\frac12\int p(x)\cdot\nabla_x\log p(x)^2dx}+\frac12\int p(x)\cdot s_\theta(x)^2dx-\int p(x)\cdot\nabla_xs_\theta(x)dx\\&\mathbf{no}s_\theta(x)\end{aligned} ​=21​∫p(x)⋅∇x​logp(x)2dx​+21​∫p(x)⋅sθ​(x)2dx−∫p(x)⋅∇x​sθ​(x)dxnosθ​(x)​

将积分重新写回期望 的形式
= 1 2 ∫ p ( x ) ⋅ s θ ( x ) 2 d x − ∫ p ( x ) ⋅ ∇ x s θ ( x ) d x = 1 2 E p ( x ) [ s θ ( x ) 2 ] + E p ( x ) [ ∇ x s θ ( x ) ] \begin{gathered} \begin{aligned}= \frac{1}{2}\int p(x)\cdot s_\theta(x)^2dx -&\int p(x)\cdot\nabla_xs_\theta(x)dx\end{aligned} \\ = \frac{1}{2}\mathbb{E}_{p(x)}[s_\theta(x)^2]+\mathbb{E}_{p(x)}[\nabla_xs_\theta(x)] \end{gathered} =21​∫p(x)⋅sθ​(x)2dx−​∫p(x)⋅∇x​sθ​(x)dx​=21​Ep(x)​[sθ​(x)2]+Ep(x)​[∇x​sθ​(x)]​

比较化简的结果:

因为我们无法访问原始的 l o g p ( x ) log p(x) logp(x)通过等价,构造了不需要原始概率的期望优化。
1 2 E p ( x ) [ ∥ ∇ x log ⁡ p ( x ) − s θ ( x ) ∥ 2 2 ] = 1 2 E p ( x ) [ s θ ( x ) 2 ] + E p ( x ) [ ∇ x s θ ( x ) ] \begin{gathered} \frac12\mathbb{E}_{p(x)}[\|\nabla_x\log p(x)-s_\theta(x)\|_2^2] \\ =\frac12\mathbb{E}_{p(x)}[s_\theta(x)^2]+\mathbb{E}_{p(x)}[\nabla_xs_\theta(x)] \end{gathered} 21​Ep(x)​[∥∇x​logp(x)−sθ​(x)∥22​]=21​Ep(x)​[sθ​(x)2]+Ep(x)​[∇x​sθ​(x)]​
这个式子和常数C等价。

我们要最小化第一个式子。

我们希望达到梯度模型的最优点,即梯度计算为0的点。

数据点的得分模型的梯度为零 ∇ x s θ ( x ) \nabla_xs_\theta(x) ∇x​sθ​(x) x应该是一个局部的极值。

第一个期望,希望得分模型的预测得分在数据点上为0

在这里插入图片描述

对于目标函数的最优解的计算代价很高。

因为 ∇ x s θ ( x ) \nabla_xs_\theta(x) ∇x​sθ​(x) 是一个雅可比矩阵。需要对每个输入变量进行单独的后向传播。

当输入空间很大的时候,计算量非常大。图象有数百万像素。

在这里插入图片描述

这个论文提出了,克服的方法。

切片得分匹配。不在经典大规模生成AI领域中使用。

当模型在收敛的极值训练区域时,数据点将会很好的符合原图像的分布特征。

但是采样的时候,是从随机未知开始的。不知道数据密度的方向在哪里。

对于数据的这种采样,当选取到非密集区域时,数据会跌落优化到密度区域之间。

在这里插入图片描述

这就是两个问题

昂贵的训练成本

数据空间的低覆盖率。分数模型没有训练在空间的整个输入上。

在这里插入图片描述

Noise Perturbation

噪声扰动。

所以添加噪声。

给源数据添加噪声,使得数据的分布更加广

在这里插入图片描述

x ~ = x + ϵ ϵ ∼ N ( 0 , σ 2 I ) \tilde{x}=x+\epsilon \\ \epsilon\sim\mathcal{N}(0,\sigma^2I) x~=x+ϵϵ∼N(0,σ2I)
对所有的数据点,添加高斯噪声。

对于新的添加噪声的数据分布模式
p ( x ) → n o i s e p σ ( x ~ ) p(x)\xrightarrow{\mathrm{noise}}p_\sigma(\tilde{x}) p(x)noise ​pσ​(x~)

这个方式解决了第二个数据分布稀疏的问题。添加的噪声量取决于标记为 σ \sigma σ的变量。噪声调度

在这里插入图片描述

我们简单地只使用方差作为超参数。过大会影响原始的数据分布。过小

如何解决运算昂贵的问题,梯度求解。

在这里插入图片描述

Denoising Score Matching

分数匹配和去噪自编码器的联系(pascal vinvent)。

在这里插入图片描述

去噪自编码器之前被用来学习数据点代表性特征。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在中间的瓶颈处添加噪声,并交给解码器。

解码器预测原始输入,分离噪声和数据来完成任务。

一段很长的推导,将会把分数匹配和噪声自编码结合起来。
1 2 E p σ ( x ~ ) [ ∥ ∇ x ~ log ⁡ p σ ( x ~ ) − s θ ( x ~ ) ∥ 2 2 ] Start 1 2 E x ∼ p ( x )   , x ~ ∼ p σ ( x ~ ∣ x ) [ ∣ ∣ s θ ( x ~ ) − ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ∣ ∣ 2 2 ] Goal \begin{gathered} \boxed{\frac12\mathbb{E}_{p_\sigma(\tilde{x})}[\|\nabla_{\tilde{x}}\log p_\sigma(\tilde{x})-s_\theta(\tilde{x})\|_2^2]}_{\textbf{Start}} \\ \boxed{\frac12\mathbb{E}_{x\sim p(x)\mathrm{~,}\tilde{x}\sim p_\sigma(\tilde{x}|x)}[||s_\theta(\tilde{x})-\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}|x)||_2^2]}_{\textbf{Goal}} \end{gathered} 21​Epσ​(x~)​[∥∇x~​logpσ​(x~)−sθ​(x~)∥22​]​Start​21​Ex∼p(x) ,x~∼pσ​(x~∣x)​[∣∣sθ​(x~)−∇x~​logpσ​(x~∣x)∣∣22​]​Goal​​
将 ∇ x ~ log ⁡ p σ ( x ~ ) \nabla_{\tilde{x}}\log p_\sigma(\tilde{x}) ∇x~​logpσ​(x~)转变为下面的 ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) \nabla_{\tilde{x}}\log p_\sigma(\tilde{x}|x) ∇x~​logpσ​(x~∣x)

我们可以直接评估这个分数.

推导过程

1 将目标重新写为积分,此处的对象是添加了噪声的原始数据
= 1 2 ∫ p σ ( x ~ ) ( ∇ x ~ log ⁡ p σ ( x ~ ) − s θ ( x ~ ) ) 2 d x ~ =\frac{1}{2}\int p_{\sigma}(\tilde{x})(\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x})-s_{\theta}(\tilde{x}))^{2}d\tilde{x} =21​∫pσ​(x~)(∇x~​logpσ​(x~)−sθ​(x~))2dx~
直接开平方
= 1 2 ∫ p σ ( x ~ ) ⋅ ( ∇ x ~ log ⁡ p σ ( x ~ ) ) 2 d x ~ + 1 2 ∫ p σ ( x ~ ) ⋅ s θ ( x ~ ) 2 d x ~ − 1 2 ∫ p σ ( x ~ ) ⋅ 2 ⋅ ∇ x ~ log ⁡ p σ ( x ~ ) ⋅ s θ ( x ~ ) d x ~ \begin{aligned} &=\frac{1}{2}\int p_{\sigma}(\tilde{x})\cdot(\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x}))^{2}d\tilde{x} \\ &+\frac12\int p_\sigma(\tilde{x})\cdot s_\theta(\tilde{x})^2d\tilde{x} \\ &-\frac12\int p_\sigma(\tilde{x})\cdot2\cdot\nabla_{\tilde{x}}\log p_\sigma(\tilde{x})\cdot s_\theta(\tilde{x})d\tilde{x} \end{aligned} ​=21​∫pσ​(x~)⋅(∇x~​logpσ​(x~))2dx~+21​∫pσ​(x~)⋅sθ​(x~)2dx~−21​∫pσ​(x~)⋅2⋅∇x~​logpσ​(x~)⋅sθ​(x~)dx~​
对最后一项进行化简
∇ x ~ log ⁡ p σ ( x ~ ) = ∇ x ~ p σ ( x ~ ) p σ ( x ~ ) ( log ⁡ a x ) ′ = 1 x ln ⁡ a \nabla_{\tilde{x}}\log p_\sigma(\tilde{x})=\frac{\nabla_{\tilde{x}}p_\sigma(\tilde{x})}{p_\sigma(\tilde{x})}\\ \begin{pmatrix}\log_ax\end{pmatrix}'=\frac{1}{x\ln a} ∇x~​logpσ​(x~)=pσ​(x~)∇x~​pσ​(x~)​(loga​x​)′=xlna1​

− ∫ p σ ( x ~ ) ⋅ ∇ x ~ p σ ( x ~ ) p σ ( x ~ ) ⋅ s θ ( x ~ ) d x ~ = − ∫ ∇ x ~ p σ ( x ~ ) ⋅ s θ ( x ~ ) d x ~ Marginalization p σ ( x ~ ) = ∫ p ( x ) p σ ( x ~ ∣ x ) d x -\int p_\sigma(\tilde{x})\cdot\frac{\nabla_{\tilde{x}}p_\sigma(\tilde{x})}{p_\sigma(\tilde{x})}\cdot s_\theta(\tilde{x}) d\tilde{x} \\ =-\int\nabla_{\tilde{x}}p_\sigma(\tilde{x})\cdot s_\theta(\tilde{x})d\tilde{x} \\ \text{Marginalization}\\p_\sigma(\tilde{x})=\int p(x) p_\sigma(\tilde{x}|x) dx −∫pσ​(x~)⋅pσ​(x~)∇x~​pσ​(x~)​⋅sθ​(x~)dx~=−∫∇x~​pσ​(x~)⋅sθ​(x~)dx~Marginalizationpσ​(x~)=∫p(x)pσ​(x~∣x)dx

边缘分布:因为关注的是不同时间步或不同噪声水平下的数据分布,而不仅是原始数据的分布。生成带噪声数据 $\tilde{x} $的条件下,该点来自于原始数据分布的概率。

  1. 生成带噪声的数据分布:通过边缘化可以得到在加入噪声后的数据分布 p σ ( x ~ ) p_\sigma(\tilde{x}) pσ​(x~),这表明了加入噪声后的数据在不同状态下的概率分布。这一步生成的分布让模型能够估计在特定噪声强度下的样本分布。

  2. 平滑目标:边缘分布使模型更容易在训练过程中学习到平滑的分布,从而在逆扩散(生成样本)时更平稳地从带噪声的数据恢复出清晰的样本。

  3. 噪声对不同数据的平均影响:边缘分布通过对所有潜在的干净数据 $ x $ 进行积分,使模型能够了解在噪声影响下所有数据点的综合分布。这有助于在不同噪声水平上训练模型,让它更具泛化能力。

简单来说,边缘分布 $ p_\sigma(\tilde{x}) $帮助模型在不同噪声水平下生成符合真实分布的样本,并在逆过程时更好地恢复原始数据。

式子进行回代

莱布尼茨:因为梯度求解的变量不是积分变量,可以放在积分内部。
− ∫ ∇ x ~ ( ∫ p ( x ) p σ ( x ~ ∣ x ) d x ) ⋅ s θ ( x ~ ) d x ~ = − ∫ ( ∫ p ( x ) ∇ x ~ p σ ( x ~ ∣ x ) d x ) ⋅ s θ ( x ~ ) d x ~ 一 个 变 式 : ∇ x ~ p σ ( x ~ ∣ x ) = p σ ( x ~ ∣ x ) ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) -\int\nabla_{\tilde{x}}(\int p(x) p_{\sigma}(\tilde{x}|x) dx)\cdot s_{\theta}(\tilde{x}) d\tilde{x}\\ =-\int(\int p(x) \nabla_{\tilde{x}}p_{\sigma}(\tilde{x}|x) dx)\cdot s_{\theta}(\tilde{x}) d\tilde{x} \\ 一个变式:\nabla_{\tilde{x}}p_\sigma(\tilde{x}|x)=p_\sigma(\tilde{x}|x)\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}|x) −∫∇x~​(∫p(x)pσ​(x~∣x)dx)⋅sθ​(x~)dx~=−∫(∫p(x)∇x~​pσ​(x~∣x)dx)⋅sθ​(x~)dx~一个变式:∇x~​pσ​(x~∣x)=pσ​(x~∣x)∇x~​logpσ​(x~∣x)
导数公式的逆用和回代
∇ x f ( x ) = f ( x ) ⋅ ∇ x log ⁡ f ( x ) \nabla_xf(x)=f(x)\cdot\nabla_x\log f(x) ∇x​f(x)=f(x)⋅∇x​logf(x)
因为积分的无关性,次序的调换

最终经过对数法则,边缘分布,莱布尼茨,积分的线性性质
− ∫ ∫ p ( x ) p σ ( x ~ ∣ x ) ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ⋅ s θ ( x ~ ) d x d x ~ -\int\int p(x) p_\sigma(\tilde{x}|x)\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}|x) \cdot s_\theta(\tilde{x}) dx d\tilde{x} −∫∫p(x)pσ​(x~∣x)∇x~​logpσ​(x~∣x)⋅sθ​(x~)dxdx~
拆开的步骤,不如图像来的清晰。想看过程可以看上面的具体过程。
在这里插入图片描述

将积分重新写为期望:
= 1 2 ∫ p σ ( x ~ ) ⋅ ( ∇ x ~ log ⁡ p σ ( x ~ ) ) 2 d x ~ + 1 2 ∫ p σ ( x ~ ) ⋅ s b ( x ~ ) 2 d x ~ − ∫ ∫ p ( x ) p σ ( x ~ ∣ x ) ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ⋅ s b ( x ~ ) d x d x ~ = 1 2 E x ~ ∼ p σ ( x ~ ) ∣ ∣ [ ∇ x ~ log ⁡ p σ ( x ~ ) ∣ ∣ 2 2 ] + 1 2 E x ~ ∼ p σ ( x ~ ) [ ∣ ∣ s θ ( x ~ ) ∣ ∣ 2 2 ] − E x ∼ p ( x ) , x ~ ∼ p σ ( x ~ ∣ x ) [ ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ⋅ s θ ( x ~ ) ] =\frac{1}{2}\int p_{\sigma}(\tilde{x})\cdot(\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x}))^{2}d\tilde{x}+\frac{1}{2}\int p_{\sigma}(\tilde{x})\cdot s_{b}(\tilde{x})^{2}d\tilde{x}-\int\int p(x) p_{\sigma}(\tilde{x}|x)\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x}|x) \cdot s_{b}(\tilde{x}) dx d\tilde{x}\\=\frac{1}{2}\mathbb{E}_{\tilde{x}\sim p_{\sigma}(\tilde{x})}||[\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x})||_{2}^{2}]+\frac{1}{2}\mathbb{E}_{\tilde{x}\sim p_{\sigma}(\tilde{x})}[||s_{\theta}(\tilde{x})||_{2}^{2}]-\mathbb{E}_{x\sim p(x)},\tilde{x}\sim p_{\sigma}(\tilde{x}|x)[\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x}|x)\cdot s_{\theta}(\tilde{x})] =21​∫pσ​(x~)⋅(∇x~​logpσ​(x~))2dx~+21​∫pσ​(x~)⋅sb​(x~)2dx~−∫∫p(x)pσ​(x~∣x)∇x~​logpσ​(x~∣x)⋅sb​(x~)dxdx~=21​Ex~∼pσ​(x~)​∣∣[∇x~​logpσ​(x~)∣∣22​]+21​Ex~∼pσ​(x~)​[∣∣sθ​(x~)∣∣22​]−Ex∼p(x)​,x~∼pσ​(x~∣x)[∇x~​logpσ​(x~∣x)⋅sθ​(x~)]
最后一项是两次积分

对第二项进行操作,为了进行合并操作,我们需要对前面的项扩展积分项。

边缘分布
1 2 E x ~ ∼ p σ ( x ~ ) [ ∣ ∣ s θ ( x ~ ) ∣ ∣ 2 2 ] 1 2 E x ∼ p ( x ) , x ~ ∼ p σ ( x ~ ∣ x ) [ ∣ ∣ s θ ( x ~ ) ∣ ∣ 2 2 ] \boxed{\frac{1}{2}\mathbb{E}_{\tilde{x}\sim p_{\sigma}(\tilde{x})}[||s_{\theta}(\tilde{x})||_{2}^{2}]} \\ \frac12\mathbb{E}_{x\sim p(x) ,\tilde{x}\sim p_\sigma(\tilde{x}|x)}[||s_\theta(\tilde{x})||_2^2] 21​Ex~∼pσ​(x~)​[∣∣sθ​(x~)∣∣22​]​21​Ex∼p(x),x~∼pσ​(x~∣x)​[∣∣sθ​(x~)∣∣22​]

在这里插入图片描述

怕不够清晰。
= 1 2 E x ~ ∼ p σ ( x ~ ) [ ∥ ∇ σ log ⁡ p σ ( x ~ ) ∥ 2 2 ] + 1 2 E ∥ x ∼ p ( x ) , x ~ ∼ p σ ( x ~ ) ∥ 2 [ ∥ s θ ( x ~ ) ∥ 2 2 − 2 ⋅ ∇ x log ⁡ p σ ( x ~ ∣ x ) ⋅ s θ ( x ~ ) ] + ∥ ∇ x log ⁡ p σ ( x ~ ∣ x ) ∥ 2 2 − ∥ ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ∥ 2 2 ] =\frac12\mathbb{E}_{\tilde{x}\sim p_\sigma(\tilde{x})}[\|\nabla_\sigma\log p_\sigma(\tilde{x})\|_{2}^2]+\frac12\mathbb{E}_{\|x\sim p(x),\tilde{x}\sim p_\sigma(\tilde{x})\|_2}[\|s_\theta(\tilde{x})\|_2^2-2\cdot\nabla_x\log p_\sigma(\tilde{x}|x)\cdot s_\theta(\tilde{x})]+\|\nabla_x\log p_\sigma(\tilde{x}|x)\|_2^2-\|\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}|x)\|_2^2] =21​Ex~∼pσ​(x~)​[∥∇σ​logpσ​(x~)∥22​]+21​E∥x∼p(x),x~∼pσ​(x~)∥2​​[∥sθ​(x~)∥22​−2⋅∇x​logpσ​(x~∣x)⋅sθ​(x~)]+∥∇x​logpσ​(x~∣x)∥22​−∥∇x~​logpσ​(x~∣x)∥22​]
合并了后两项,又添加了一个0的变式:
∣ ∣ ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ∣ ∣ 2 2 − ∣ ∣ ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ∣ ∣ 2 2 ] ||\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x}|x)||_{2}^{2}-||\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x}|x)||_{2}^{2}] ∣∣∇x~​logpσ​(x~∣x)∣∣22​−∣∣∇x~​logpσ​(x~∣x)∣∣22​]
在这里插入图片描述

对平方公式进行逆用.
= 1 2 E x ~ ∼ p σ ( x ~ ) ∣ ∣ ∇ x ~ log ⁡ p σ ( x ~ ) ∣ ∣ 2 2 + 1 2 E x ∼ p ( x ) , x ~ ∼ p σ ( x ~ ∣ x ) [ ∣ ∣ s θ ( x ~ ) − ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ∣ ∣ 2 2 − ∣ ∣ ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ∣ ∣ 2 2 ] =\frac{1}{2}\mathbb{E}_{\tilde{x}\sim p_{\sigma}(\tilde{x})}||\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x})||_{2}^{2}+\frac{1}{2}\mathbb{E}_{x\sim p(x),\tilde{x}\sim p_{\sigma}(\tilde{x}|x)}[||s_{\theta}(\tilde{x})-\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x}|x)||_{2}^{2}-||\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x}|x)||_{2}^{2}] =21​Ex~∼pσ​(x~)​∣∣∇x~​logpσ​(x~)∣∣22​+21​Ex∼p(x),x~∼pσ​(x~∣x)​[∣∣sθ​(x~)−∇x~​logpσ​(x~∣x)∣∣22​−∣∣∇x~​logpσ​(x~∣x)∣∣22​]
对最后一项,从积分中分离。
= 1 2 E x ~ ∼ p σ ( x ~ ) ∥ ∇ x log ⁡ p σ ( x ~ ) ∥ 2 2 + 1 2 E x ∼ p ( x ) , x ~ ∼ p σ ( x ~ ∣ x ) [ ∥ s θ ( x ~ ) − ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ∥ 2 2 − 1 2 E x ∼ p ( x ) , x ~ ∼ p σ ( x ~ ∣ x ) [ ∥ ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ∥ 2 2 ] =\frac12\mathbb{E}_{\tilde{x}\sim p_\sigma(\tilde{x})}\|\nabla_x\log p_\sigma(\tilde{x})\|_2^2+\frac12\mathbb{E}_{x\sim p(x),\tilde{x}\sim p_\sigma(\tilde{x}|x)}[\|s_\theta(\tilde{x})-\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}|x)\|_2^2-\frac12\mathbb{E}_{x\sim p(x),\tilde{x}\sim p_\sigma(\tilde{x}|x)}[\|\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}|x)\|_2^2] =21​Ex~∼pσ​(x~)​∥∇x​logpσ​(x~)∥22​+21​Ex∼p(x),x~∼pσ​(x~∣x)​[∥sθ​(x~)−∇x~​logpσ​(x~∣x)∥22​−21​Ex∼p(x),x~∼pσ​(x~∣x)​[∥∇x~​logpσ​(x~∣x)∥22​]
这三个式子,可以用来进行(以参数( θ \theta θ))最小化优化得分模型

因为第一项和第三项,不包含参数,所以视为常数。得到之前的目标的函数。
= 1 2 E x ∼ p ( x ) , x ~ ∼ p σ ( x ~ ∣ x ) [ ∣ ∣ s θ ( x ~ ) − ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) ∣ ∣ 2 2 \boxed{= \frac{1}{2}\mathbb{E}_{x\thicksim p(x) ,\tilde{x}\thicksim p_\sigma(\tilde{x}|x)}[||s_\theta(\tilde{x})-\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}|x)||_2^2} =21​Ex∼p(x),x~∼pσ​(x~∣x)​[∣∣sθ​(x~)−∇x~​logpσ​(x~∣x)∣∣22​​
该式子的优势,如何计算 x ~ \tilde{x} x~的梯度,给定 x x x, x ~ \tilde{x} x~,的 p σ p_\sigma pσ​.连接到去噪自编码器上。

请添加图片描述
p σ ( x ~ ∣ x ) = 1 ( 2 π ) d / 2 σ 2 e − 1 2 σ 2 ∣ ∣ x ~ − x ∣ ∣ 2 p_\sigma(\tilde{x}|x)=\frac1{(2\pi)^{d/2}\sigma^2}e^{-\frac1{2\sigma^2}||\tilde{x}-x||^2} pσ​(x~∣x)=(2π)d/2σ21​e−2σ21​∣∣x~−x∣∣2
构造出的数据满足上面这个正态分布,多维高斯分布的pdf。

这个就是目标式子的一部分,
∣ ∇ x ~ log ⁡ ∇ x ~ log ⁡ p σ ( x ~ ∣ x ) = ∇ x ~ log ⁡ 1 ( 2 π ) d / 2 σ 2 e − 1 2 σ 2 ∣ ∣ x ~ − x ∣ ∣ 2 \left|\nabla_{\tilde{x}}\log\right.\\\nabla_{\tilde{x}}\log p_{\sigma}(\tilde{x}|x)=\nabla_{\tilde{x}}\log\frac{1}{(2\pi)^{d/2}\sigma^{2}}e^{-\frac{1}{2\sigma^{2}}||\tilde{x}-x||^{2}} ∣∇x~​log∇x~​logpσ​(x~∣x)=∇x~​log(2π)d/2σ21​e−2σ21​∣∣x~−x∣∣2

在这里插入图片描述

上面的过程包含对数拆分,归零,对数和指数抵消,微分的链式法则
Chain Rule d d x f ( g ( x ) ) = f ′ ( g ( x ) ) ⋅ g ′ ( x ) \begin{aligned}&\text{Chain Rule}\\&\boxed{\frac d{dx}f(g(x))=f'(g(x))\cdot g'(x)}\end{aligned} ​Chain Ruledxd​f(g(x))=f′(g(x))⋅g′(x)​​

∇ x ~ ( − 1 2 σ 2 ∣ ∣ x ~ − x ∣ ∣ 2 ) = − 1 σ 2 ( x ~ − x ) \nabla_{\tilde{x}}(-\frac1{2\sigma^2}||\tilde{x}-x||^2)=-\frac1{\sigma^2}(\tilde{x}-x) ∇x~​(−2σ21​∣∣x~−x∣∣2)=−σ21​(x~−x)

代入噪声理解:
= 1 σ 2 ( x − x − ϵ ) = 1 σ 2 ( − ϵ ) =\frac1{\sigma^2}(x-x-\epsilon)=\frac1{\sigma^2}(-\epsilon) =σ21​(x−x−ϵ)=σ21​(−ϵ)

这是在目标函数中需要的真实值的梯度,我们得到一个新的目标函数。
1 2 E x ∼ p ( x ) , x ~ ∼ p σ ( x ~ ∣ x ) [ ∣ ∣ s θ ( x ~ ) − 1 σ 2 ( x − x ~ ) ∣ ∣ 2 2 ] \boxed{\frac12\mathbb{E}_{x\sim p(x) ,\tilde{x}\sim p_\sigma(\tilde{x}|x)}[||s_\theta(\tilde{x})-\frac1{\sigma^2}(x-\tilde{x})||_2^2]} 21​Ex∼p(x),x~∼pσ​(x~∣x)​[∣∣sθ​(x~)−σ21​(x−x~)∣∣22​]​
(和条件概率函数相比)此处不需要评估n个单独的后向传递.
1 2 E x ∼ p ( x ) , x ~ ∼ p σ ( x ~ ∣ x ) [ ∣ ∣ s θ ( x ~ ) + 1 σ 2 ϵ ∣ ∣ 2 2 ] \boxed{\frac12\mathbb{E}_{x\sim p(x) ,\tilde{x}\sim p_\sigma(\tilde{x}|x)}[||s_\theta(\tilde{x})+\frac1{\sigma^2}\epsilon||_2^2]} 21​Ex∼p(x),x~∼pσ​(x~∣x)​[∣∣sθ​(x~)+σ21​ϵ∣∣22​]​
S θ ( x ) S_\theta(x) Sθ​(x)模型接收噪声输入,并试图预测(期望是) − ϵ -\epsilon −ϵ

请添加图片描述

也是下面这个过程,预测负噪声的模型指向了数据流形。数据的似然性增加,这就是分数匹配算法的核心理念。

在这里插入图片描述

在这里插入图片描述

综上,上述的过程,解决了训练过程的昂贵的训练的问题

在这里插入图片描述

通过增加和减少噪声来作为解决第二个问题的一种方案。

在这里插入图片描述

这实际上并非最优的解决方法。

Sampling

只进行一次采样,并沿着那个方向进行延申,我们可以发现误差会很大,采用多次采样并进行小步移动。

在这里插入图片描述

初始化大量的点,用刚刚的公式进行采样,他们会最终都到达极值点。该值会是数据的平均值。得分函数向梯度方向移动,所以最终都会是正态分布,且值在均值附近(二维均值就是极值点核心)。

让我从物理和数学的角度来解释扩散方程(也叫热方程)为什么会趋向平均值。

在这里插入图片描述

这个现象可以从以下几个角度理解:

  1. 物理角度:
  • 类比热传导,高温区域会向低温区域传递能量
  • 系统总是趋向于最大熵的状态,也就是最混乱、最均匀的状态
  • 这种趋向平均的过程是不可逆的,符合热力学第二定律
  1. 数学角度:
  • 扩散方程是一个抛物型偏微分方程
  • 其解具有"平滑效应",会逐渐消除局部的不规则性
  • 从傅里叶分析的角度看,高频分量会比低频分量衰减得更快
  1. 概率角度:
  • 可以将扩散过程看作是随机行走
  • 大量粒子的随机运动最终会导致均匀分布
  • 这符合大数定律,系统会趋向于期望值

我创建的可视化展示了这个过程:

  • 蓝色线代表不同的采样点
  • 随着时间推移,你可以看到这些点逐渐向平均值(红线)靠拢
  • 最终所有点会在平均值附近达到稳定状态

这种现象在自然界中很常见,比如:

  • 墨水滴入水中的扩散
  • 气体在空间中的扩散
  • 热量在物体中的传导

你可以观察模拟中,起初差异很大的点是如何随着迭代逐渐趋向平均值的。这个过程很好地展示了扩散方程的基本特性。

使用郎之万动力学方程(寿命动力学方程):

Langevin D y n a m i c s S a m p l i n g x ~ i + 1 ← x ~ i + α ⋅ s θ ( x ~ i ) + 2 α ⋅ ϵ i = 0 , 1 , ⋯   , K \begin{gathered} \text{Langevin} \\ DynamicsSampling \\ \tilde{x}_{i+1}\leftarrow\tilde{x}_{i}+\alpha\cdot s_{\theta}(\tilde{x}_{i})+\sqrt{2\alpha}\cdot\epsilon \\ i=0,1,\cdots,K \end{gathered} LangevinDynamicsSamplingx~i+1​←x~i​+α⋅sθ​(x~i​)+2α ​⋅ϵi=0,1,⋯,K​
有推导过程,但是我不想看了。数值非常小。使用这个进行采样,可以得到一个不达到极值的输出。

最开始还以为和寿命有关是,采样过程随着一些过程的进行就中止了。

请添加图片描述

可以搜索wiki : Langevian Dynamics

此处给出一些直观的可能解释(ai给的)

α (alpha) 的含义:

  • 表示时间步长或学习率
  • 控制每步更新的大小
  • 类似于欧拉方法中的步长
  • 影响采样的稳定性和效率

2 a \sqrt{2a} 2a ​的物理意义:

  • 来自于维纳过程的标准差
  • 保证噪声项的正确尺度
  • 与时间步长的平方根成比例
  • 确保数值方法的收敛性

为什么是 2 a \sqrt{2a} 2a ​

  • 保证离散化的准确性
  • 维持正确的方差增长率
  • 满足中心极限定理
  • 确保采样的有效性

数学原理:

  • 源自Langevin动力学
  • 是连续随机微分方程的离散形式
  • 满足Einstein关系
  • 保证正确的平衡分布

在这里插入图片描述

三者对于 σ \sigma σ 的权衡
在这里插入图片描述

使用高噪声水平,中等噪声水平和低噪声水平来训练模型。

设置在预定义的范围内 [ 0.01 , 25 ] [0.01,25] [0.01,25]变化。

给评分模型也添加上噪声参数

s θ ( x ~ , σ ) s_\theta(\tilde{x},\sigma) sθ​(x~,σ)

在这里插入图片描述

从随机点开始,在最高分布的噪声尺度上,向数据分布移动,同时减低噪声尺度。

Generative Modeling by Estimating Gradients of the Data Distribution: https://arxiv.org/pdf/1907.05600

本文提到的使用了1000个噪声扩散。

在扩散模型中,取数据点并使用不同的数量来扰动。

当噪声水平的数量增加到无穷大时,噪声变成了一个随机过程。

在这里插入图片描述

Multiple Noise Perturbations

DDPM(Denoising Diffusion Probabilistic Models)

DDIM(Denoising Diffusion Implicit Models)

EDM(Elucidated Diffusion Models)

在这里插入图片描述

DDPM:

  • 定义了固定的噪声添加过程

  • 训练网络学习去噪

  • 使用马尔可夫链进行采样

EDM (Elucidated Diffusion Models):

  • 创新点:
    • 重新设计扩散过程
    • 优化训练目标
    • 改进采样策略
    • 提供理论解释

这个视频提供的是上面这几个论文的基础的数学推导方式

在这里插入图片描述

无穷大会提供一个随机过程(Stochastic process)

在这里插入图片描述

随机过程:如股票市场和气候模型

在这里插入图片描述

可以使用随机微分方程来建模随机过程

Differential Equations

在这里插入图片描述

f ( x , t ) 漂 移 参 数 d r i f t     c o e f f i c i e n t g ( t ) 扩 散 参 数 d i f f u s i o n     c o e f f i c i e n t w 表 示 布 朗 运 动    是 一 个 维 纳 过 程 是 正 态 分 布 的 噪 声 d w    指 噪 声 的 无 限 小 变 化 扩 散 系 数 描 述 随 机 性 随 时 间 的 影 响 f(x,t)漂移参数 drift \ \ \ coefficient\\ g(t) 扩散参数 diffusion \ \ \ coefficient \\ w表示布朗运动 \ \ 是一个维纳过程 是正态分布的噪声\\ dw \ \ 指噪声的无限小变化 \\ 扩散系数描述随机性随时间的影响 f(x,t)漂移参数drift   coefficientg(t)扩散参数diffusion   coefficientw表示布朗运动  是一个维纳过程是正态分布的噪声dw  指噪声的无限小变化扩散系数描述随机性随时间的影响
在早期,x由于随机性而不经历太多变化,随着时间的增长,扩散系数增加。

我们有了一种方法来确定我们想要的数据如何随时间变化。
x ~ = x + ϵ ϵ ∼ N ( 0 , σ t 2 I ) \boxed{\tilde{x}=x+\epsilon\quad\epsilon\sim\mathcal{N}(0,\sigma_t^2I)} x~=x+ϵϵ∼N(0,σt2​I)​
随着噪声项的增加,x的增加,只有随着t的改变的 σ \sigma σ 。没有drift系数,只有,扩散系数的随机方程。

d x = g ( t )   d w \mathrm{d}x=g(t)\mathrm{~d}w dx=g(t) dw

在这里插入图片描述

Reverse SDE
d x = [ f ( x , t ) − g 2 ( t ) ∇ x log ⁡ p σ ( x ) ] d t + g ( t ) d w \mathrm{d}x=[f(x,t)-g^2(t)\nabla_x\log p_\sigma(x)] \mathrm{d}t+g(t) \mathrm{d}w dx=[f(x,t)−g2(t)∇x​logpσ​(x)]dt+g(t)dw
布莱恩安德森提出了一种通用的反向SD方法,从前向SD中,推出反向SD。

具体参考这篇论文

Yang Song Blog Post on Score Matching: https://yang-song.net/blog/2021/score/

此处不给出推导,而认为是已知条件。

得分函数

在这里插入图片描述

在这里插入图片描述

ddpm的x包括原始x和从标准正态分布中抽取的噪声之间的插值

噪声行为的随机过程和之前不同,原始的x被修改了。

DDPM是离散的,怎么把这个转化为连续情况。

在这里插入图片描述

D D P M x t = 1 − β t x t − 1 + β t ϵ ϵ ∼ N ( 0 , I ) x t − x t − 1 = 1 − β t x t − 1 + β t ϵ − x t − 1 ∣ − x t − 1 泰 勒 展 开 − 1 − β t = 1 − 1 2 β t     ( 1 − x ) 1 2 ( 1 + x ) a = 1 + a 1 ! x + a ( a − 1 ) 2 ! x 2 + a ( a − 1 ) ( a − 2 ) 3 ! x 3 + o ( x 3 ) x t − x t − 1 = ( 1 − 1 2 β t ) x t − 1 + β t ϵ − x t − 1 x t − x t − 1 = x t − 1 − 1 2 β t x t − 1 + β t ϵ − x t − 1 x t − x t − 1 = − 1 2 β t x t − 1 + β t ϵ As  x t − x t − 1 → 0     d x = − 1 2 β ( t ) x d t + β ( t ) d w \mathbf{DDPM}\quad x_{t}=\sqrt{1-\beta_{t}} x_{t-1}+\sqrt{\beta_{t}} \epsilon\quad\epsilon\sim\mathcal{N}(0, I)\\x_{t}-x_{t-1}=\sqrt{1-\beta_{t}} x_{t-1}+\sqrt{\beta_{t}} \epsilon-x_{t-1}\quad| -x_{t-1}\\ 泰勒展开 -\sqrt{1-\beta_t}=1-\frac12\beta_t \ \ \ (1-x)^{\frac{1}{2}} \\ \left(1+x\right)^a=1+\frac{a}{1!}x+\frac{a\left(a-1\right)}{2!}x^2+\frac{a\left(a-1\right)\left(a-2\right)}{3!}x^3+o\left(x^3\right) \\\begin{aligned} &x_t-x_{t-1} =\left(1-\frac{1}{2}\beta_{t}\right)x_{t-1}+\sqrt{\beta_{t}} \epsilon-x_{t-1} \\ &x_t-x_{t-1} \begin{aligned}=x_{t-1}-\frac{1}{2}\beta_tx_{t-1}+\sqrt{\beta_t} \epsilon-x_{t-1}\end{aligned} \\ &x_t-x_{t-1} \begin{aligned}&=-\frac{1}{2}\beta_tx_{t-1}+\sqrt{\beta_t} \epsilon\end{aligned} \end{aligned} \\ \text{As }x_t-x_{t-1}\to0 \ \ \ \mathrm{d}x=-\frac{1}{2}\beta(t) x \mathrm{d}t+\sqrt{\beta(t)} \mathrm{d}w DDPMxt​=1−βt​ ​xt−1​+βt​ ​ϵϵ∼N(0,I)xt​−xt−1​=1−βt​ ​xt−1​+βt​ ​ϵ−xt−1​∣−xt−1​泰勒展开−1−βt​ ​=1−21​βt​   (1−x)21​(1+x)a=1+1!a​x+2!a(a−1)​x2+3!a(a−1)(a−2)​x3+o(x3)​xt​−xt−1​=(1−21​βt​)xt−1​+βt​ ​ϵ−xt−1​xt​−xt−1​=xt−1​−21​βt​xt−1​+βt​ ​ϵ−xt−1​​xt​−xt−1​​=−21​βt​xt−1​+βt​ ​ϵ​​As xt​−xt−1​→0   dx=−21​β(t)xdt+β(t) ​dw
把上面的离散形式,给转化为随机微分方程的形式。

在这里插入图片描述

从SDE的随机微分方程到最后的离散形式,使用了欧拉-马鲁亚纳方法。

在这里插入图片描述

可以说,通过随机方程的前向和后向传播公式,把离散的噪声过程和噪声采样(反解)过程给构建了起来。

Link to diffusion models

扩散模型中的采样方法。

在这里插入图片描述

解决一般反向SD 的不同方式
Reverse   SDE d x = [ f ( x , t ) − g 2 ( t ) ∇ x log ⁡ p σ ( x ) ] d t + g ( t ) d w \textbf{Reverse SDE}\\\mathrm{d}x=[f(x,t)-g^2(t)\nabla_x\log p_\sigma(x)] \mathrm{d}t+g(t) \mathrm{d}w Reverse SDEdx=[f(x,t)−g2(t)∇x​logpσ​(x)]dt+g(t)dw
猜想:因此,视频提出了,不同的融合模式,即不同的噪声产生形式融合。

Summary

如果我们有一些潜在的函数可以代表和生成这些数据。

在这里插入图片描述

学习函数,来生成符合现有数据集的新数据。

在这里插入图片描述

p ( x ) → learn p θ ( x ) = e − f θ ( x ) Z θ p(x)\xrightarrow{\text{learn}}p_\theta(x)=\frac{e^{-f_\theta(x)}}{Z_\theta} p(x)learn ​pθ​(x)=Zθ​e−fθ​(x)​
对于函数的密度分布函数给出一个估计,有两个限制条件:

非负,且和为1.

我们希望构建从数据到评估函数的期望,但是因为,原数据分布的解析式无法描述。
1 2 E p ( x ) [ ∥ ∇ x log ⁡ p ( x ) − s θ ( x ) ∥ 2 2 ] \frac12\mathbb{E}_{p(x)}[\|\nabla_x\log p(x)-s_\theta(x)\|_2^2] 21​Ep(x)​[∥∇x​logp(x)−sθ​(x)∥22​]
即 p ( x ) p(x) p(x)未知,通过一些等效的方式
1 2 E p ( x ) [ s θ ( x ) 2 ] + E p ( x ) [ ∇ x s θ ( x ) ] \frac12\mathbb{E}_{p(x)}[s_\theta(x)^2]+\mathbb{E}_{p(x)}[\nabla_xs_\theta(x)] 21​Ep(x)​[sθ​(x)2]+Ep(x)​[∇x​sθ​(x)]
我们构建了一个只和构造的 ∇ x s θ ( x ) \nabla_xs_\theta(x) ∇x​sθ​(x)有关的目标函数。

为了解决雅克比矩阵的反向传递的高额代价,还有数据分布的局部性。
在这里插入图片描述

引入噪声扰动来解决分布局限的问题。

通过一系列化简。

把自编码器和这个过程进行了结合

在这里插入图片描述

在这里插入图片描述

上述等效转化,解决了第一个问题。

在这里插入图片描述

对于第二个问题,

通过变式的噪声规模,和郎之万动力方程,或者diffusion模型的思想,从有限采样,到无限采样,最终使用随机方程,构建了一个从离散采样到不同的正向和逆向过程的桥梁。

本篇只看了这个视频,只见树木,不见森林,可参考其他的文档

Diffusion Model - 知乎

生成模型概述 - 知乎

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐