Score-based Generative models
Generative Modeling by Estimating Gradients of the Data Distribution | Yang Song (yang-song.net)
1 Introduction
Yang Song.
这篇文章最近读了很多遍,每一遍都能有一些新的想法,而且可以有一些迁移。
目前的生成模型按照他们表示概率的方式可以被分成:
- likelihood-based models: normalizing flows, EBMs, VAE
- implicit generative models: GANs
对什么东西进行建模是至关重要的问题。
2 Key Words
Score Function: gradients of log probaility density fucntions
Score Function可以翻译成得分函数,定义为对数概率密度函数的梯度。
3 Method
给定一个数据集
要实现这个目标,我们首先需要确定一种表示概率分布的方法,第一种方法是直接建模概率密度函数(pdf)或者概率质量函数(pmf). 考虑一个由一组可学习参数的
定义这样一个函数有什么好处呢? 对于
但是这个配分函数一般来说是很难求解的,而且在神经网络的优化过程中,由于
3.1 梯度函数+朗之万动力学
如果我们去建模
明确了我们要学习一个神经网络
当我们有了一个近似的得分函数
其中z_i服从标准正态分布。 这个x_i+1在K趋近无穷大的时候会收敛到p(x)
3.2 Multi-scale noise perturbations
我们学习到的得分函数在数据集经常出现的区域会比其他区域准确。 而在数据集样本点稀疏的区域,梯度不准确,就会导致采样的过程难以收敛。
这里给出的解决办法是对数据点加噪音,加噪过后的数据点就会填充低密度的区域,让这些区域的梯度更加准确。 而为了让更多的区域都能够在信息加噪的过程中获益,这里采用了同时进行多个独立高斯分布进行加噪音。
加噪音之后原数据分布从
然后我们拟合的过程也就变成了多个噪音分布下的概率拟合的加权平均。
3.3 Perturbing data with SDE
用随机微分方程对数据进行加噪音。 并且将离散的加噪转化为连续时间步的加噪。