原论文标题:Generative modeling by estimating gradients of the data distribution

这篇论文其实早于01-DDPM中的DDPM出世。

背景

现有问题

现有生成方法可分为两类,而它们的缺陷为1

  • likelihood-based model

    • 包括:autoregressive models, normalizing flow models, energy-based models (EBMs), and variational auto-encoders (VAEs)
    • 缺陷:要么需要对模型结构进行严格限制,以确保似然计算的归一化常数(normalizing constant)具有可操作性(tractable),要么必须依赖替代目标近似最大似然来训练。
    • image.png
  • Implicit generative models

    • 常见为GANs
    • 缺陷:需要对抗训练,而对抗训练是出了名的不稳定,并可能导致模式崩溃
    • image.png

核心思想

关键思想是建模对数概率密度函数的梯度,这个量通常被称为(Stein score2)得分函数,基于得分的模型不需要有可处理的归一化常数,可以直接通过score matching进行学习。

方法

对于数据样本,假定它们相互独立且服从分布。给定数据样本集,生成模型的目标是构建模型拟合数据分布,当需要合成新数据的时候,从中采样。
为了构建这样的模型,第一步是需要表示数据分布,通常用概率密度函数(probability density function, PDF)来表示:

image.png

其中是由参数化的实值函数(其又被称为unnormalized probabilistic model, or energy-based model),是依赖于的归一化常量(normalizing constant),为了满足
训练时,最大化似然: image.png likelihood-based model必须要么限制它们的模型架构(例如,自回归模型中的因果卷积,normalizing flow models中的可逆网络)以使 可处理,要么近似归一化常量(例如,VAEs 中的变分推断或MCMC 采样),这可能会计算成本高昂。

对于概率密度函数,其score function定义为: image.png 为了估计这个得分函数,我们需要一个score-based model 来对其建模(去近似),以使(这里的score,全称为Stein score,这篇博客提到了和fisher score的区别。前者衡量的是对的梯度,而后者是对参数的梯度)。这样就没有处理的烦恼了。那么公式(1)可化为: image.png example1.gif

训练时,可通过最小化score-based model和数据分布的fisher divergence来优化参数: image.png

Footnotes

  1. The blog of Generative Modeling by Estimating Gradients of the Data Distribution

  2. Q. Liu, J. Lee, and M. Jordan. A kernelized stein discrepancy for goodness-of-fit tests. In International Conference on Machine Learning, pages 276–284, 2016.