扩散模型:DDPM和SMLD的联系和区别

一、DDPM

前向过程

在初始数据分布上链式加噪,最终变为一个各向独立的高斯分布。

  • 加噪方案:高斯分布请添加图片描述
  • 重要性质:给定初始分布,任意t时刻的高斯分布可表达请添加图片描述

逆向过程

从高斯噪声中逐步恢复原始数据,用于生成目标分布的样本。

  • 去噪过程:高斯分布请添加图片描述
    -重要公式:后验的扩散条件概率,给定x0和x_t的情况下,可以用高斯分布近似表达x_{t-1}的分布请添加图片描述
    该后验概率的方差为一个由超参数确定的固定值,每一时刻都可以计算:
    请添加图片描述
    均值为:请添加图片描述
    逆过程建模目标是使逆过程的高斯分布逼近上述后验高斯分布。

建模过程

目标损失函数可以化简为求下面这条公式的最小值:
请添加图片描述
因此可以涉及一个黑箱神经网络,输入x_t和t,输出取决于建模目标:
目标一:预测均值,即预测后验分布的期望值
目标二:直接预测原始数据x_0(效果比较差)
目标三:预测噪声z_t/eplsion(根据下面这个变量代换)请添加图片描述
请添加图片描述
于是简化版目标损失函数:请添加图片描述
最终目的都是预测后验分布的均值

二、SMLD

分数和生成模型结合的方法

  • 什么是分数:分布的梯度

  • 加噪方法:加入不同量级的噪音
    请添加图片描述

  • 用Langevin从分数对应的分布中采样

  • 训练目标:score matching学习分数
    由于计算量很大,用去噪分数匹配denoising score matching简化计算,但条件是加的噪声很小,导致在数据密度较低的区域分数估计不准确。

改进方法:Noise Conditional Score Networks(NCSN)

对数据加不同量级的噪音,用网络去估计所有加噪后数据分布的分数。

请添加图片描述

NCSN的采样:退火Langevin动力学采样
请添加图片描述请添加图片描述

三、用SDE统一加噪过程

连续的情况下,加噪过程可以用随机微分方程来表达,生成样本过程:写出扩散过程SDE的表达式,用数值解法求解逆过程SDE的数值解生成样本。
生成数据的三种方法:

  • 欧拉方法请添加图片描述
  • 欧拉数值解法+Langevin动力学采样(Predictor- Corrector)生成更高质量的数据请添加图片描述
  • 伴随常微分方程数值解法请添加图片描述

四、两者的区别和联系

1.扩散生成模型

对原始数据添加扰动,通过神经网络对加噪后的数据进行建模并最终学导目标(原始)数据分布的过程。

2.SMLD关键点

  • 对数据加不同量级的噪声目的是更好地估计分数
  • 都是在原始数据x_0上加噪,最终的分布趋向于N(0,sigma^2)
  • 运用分数匹配的方法训练网络,从而使NCSN能够估计任意加噪分布的分数
  • 基于任意加噪的分数和退火Langevin采样,生成准确的新样本

3.DDPM关键点

  • 通过离散马尔可夫链进行加噪
  • 加噪量级均在0~1之间,并且beta_t逐渐增大
  • 训练过程是用高斯分布近似反推前向过程,训练目标是对数似然的下界
  • 如果将目标函数用分数来表示,那么分数匹配的loss的系数和SMLD中的一致,都是在原始分布上加噪后的分布的方差,但采样的公式和Langevin动力采样有区别

4.通过SDE来刻画SMLD和DDPM

  • SMLD:VE-SDE请添加图片描述
  • DDPM:VP-SDE

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值