当前位置:   article > 正文

【2023.08.18】ddpm重读_ddpm优化目标l0如何计算

ddpm优化目标l0如何计算

1.概述

本文关键是,通过reparameterizing 将训练目标由原有的用逆向过程的均值近似向\mu_\theta预计\hat{\mu_t},改为预计\epsilon(也可以预计x_0但实验证明效果并不好)。并且阐述了DDPM和score matching\autoregressive model之间的关系。在简化后的优化目标下,log likelihood、样本质量都优于已有的likelihoodbased 模型、生成模型。

diffusion  probabilistic model是指使用了参数化的马尔科夫链定义扩散过程,并且使用变分推断构造优化目标。马尔科夫链的终点能够被概率模型显性描述,并且扩散链条的每一步都有一个显式可计算的概率。

2.计算优化目标

step1: 定义扩散过程。inject noise according to variance schedule \beta_1...\beta_T,所以前向过程满足高斯分布:。假设步骤相互独立,则联合分布满足

step2:在给定x0的条件下,根据xt-1,xt分别与x0满足的前向分布简化,计算条件分布,并用该条件分布近似后向分布。

 step3:目标is minimize negtieve log likelihood,使用ELBO变形为L,拆分为L^T,L^t-1,L0

L^T:q(x^T),p(x^T) 均为高斯分布,DKL为常数。

为什么要单独定义L0:参照VAE的设计,确保离散数据能够被无损失的编码。

确保\beta尽可能小的原因: 根据前向分布定义,\beta越接近0,分布越接近正太分布。确保varaince scheduler尽可能小,是为了保证前向过程接近标准正态分布。即使是累积差距最大的q(X_T|X_0)

实验证明将协方差设为可学习的参数或isotropic矩阵效果均不如L simple,预计误差的效果。

为什么是increasing beta:可能为了符合每步加噪混乱程度增加。

--sampling z:

a generated random number z representing inverse(cdf), which belong to[-inf,inf]. so z~N(0,I)

Erf,-inf到0积分,输入符合标准正态分布。

 

3.和autoregressive model的关系:

将diffusion model的设定为一个autoregressive model。假设q(xt|xt-1)的概率密度在第t个坐标处均为零,则p(xt|x0)的概率密度在0-t个坐标处均为零。而p_\theta(x_{t-1}|x_t)不受限制。而训练目标使得p_\theta倾向于复制t+1....T部分的坐标,使用t+1...T部分的坐标预测第t个目标。

而Gaussian diffussian model可以被看做相比autoregressive有着更泛化的bit ordering。原有的bit ordering由于坐标的限制可能不能被完全表达。这可能是Gaussian diffusion model相比autoregressive model生成质量高的原因。

4.把扩散模型看作一种lossy compression:

一个传输sample x~p(x)平均需要使用bits,每次能近似解码。编码xT....x0平均需要的codelength为:

 

 而distortion用图像的根方差定义。rate由当前已经累积传输的bit定义,可以做出rate-distortion图。distortion图非常陡峭,表示初始时大部分rate用于编码不易察觉的大量distortion

 

---------------

1.codelength

编码器编码一次,输出的符号数量。在信息理论中,需要考虑不同信息占的codelength。

2.variational inference

在分布族中选择适合的变分参数,使得分布p近似分布q。而monte carlo方法是通过采样,用实验分布近似分布p。虽然不像MCMC确保有一解(consistent),但是计算速度快。

3. difference between function and functional

functional: take functions as input,output a number. function: input and output numbers.

4. FID score &inception score:用于衡量生成图像质量

inception score:

p(y|x):输入图像进入Inception v3,输出图像属于某类概率构成的向量。

p(y) :N 个生成的图片(N 通常取 5000),每个生成图片都输入到 Inception V3 中,各自得到一个自己的概率分布向量,把这些向量求一个平均,得到生成器生成的图片全体在所有类别上的边缘分布

A Note on the Inception Score (arxiv.org)

FID score: 由于没有考虑真实世界的图像分布,所以对Inception Score修改。由于通常使用Fréchet Distance和Wasserstein-2 distance衡量两个高斯分布之间的距离。因此比较真实图像分布(m,C)和合成图像分布(m_\omega,C_\omega):

 from:1706.08500.pdf (arxiv.org)

5.rate-distortion curves

每个symbol所需的最小bit数量为R,使得信息源的输入信号在接收器处被重建,且distortion 不超过D。体现了在编码器编码速率为R时,引入的distortion程度。

6.autoregressive and autoregressive decoder:

autoregressive指任何使用了某个时间步以前的信息来预测时间步之后的信息的方法。如用于预测价格的autoregressive model.

autoregressive decoder:使用某个时间步以前的值生成之后时间步的值。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/321873
推荐阅读
相关标签
  

闽ICP备14008679号