生成模型简介

1. 生成模型的简介

1.1 生成模型的目标是什么?

给定观测样本 x x x,令其真实数据分布为 p ( x ) ⏟ u n k n o w n \underbrace{p(x)}_{\text unknown} unknown p(x),生成模型的目标是设计模型来学习真实数据分布 p ( x ) p(x) p(x)。为了实现模型生成的可控性,我们需要建模学习条件概率分布 p ( x ∣ y ) p(x\vert y) p(xy)

1.2 生成模型有什么用?

  1. 我们可以利用训练好的生成模型采样得到新的样本,因为训练好的生成模型能够近似真实数据分布 p ( x ) p(x) p(x)
  2. 在一些形式下,我们可以使用训练好的生成模型评估观测样本或者采样样本的似然 p ( x ∣ θ ) p(x \vert \theta) p(xθ)

2. 生成模型类别

生成模型的分类标准有很多,下面我们从模型底层的原理对现有的生成模型进行划分。

2.1 Likelihood-Based Models

Likelihood-Based Models包括:

  • 自回归(Autoregressive)模型
  • 归一化流(Normalizing Flows)模型
  • 变分自编码(Variational Autoencoders)模型
  • 层次化变分自编码器(Hierarchical Variational Autoencoders)
  • 变分扩散模型(Variational Diffusion Models)。

2.2 Adversarial-Based Models

基于对抗(Adversarial)的模型包括:GANs

2.3 Energy-Based Models

基于能量(Energy-Based)的模型,真实数据分布 p ( x ) ⏟ u n k n o w n \underbrace{p(x)}_{\text unknown} unknown p(x)被认为服从以下形式的分布:
p ( x ) = 1 Z θ e f ( x )  ,where  Z θ = ∫ x e f ( x ) d x p(x) = \frac{1}{Z_{\theta}} e^{f(x)} \text{ ,where } Z_{\theta} = \int_{x}e^{f(x)}dx p(x)=Zθ1ef(x) ,where Zθ=xef(x)dx
其中, f ( x ) ⏟ u n k n o w n \underbrace{f(x)}_{\text unknown} unknown f(x)为Energy Function; Z θ Z_{\theta} Zθ为Partition Function。通常情况下无法直接计算 Z θ Z_{\theta} Zθ的值,尤其在未知 p ( x ) p(x) p(x)解析式的情况下。

2.4 Score-Based Models

Score-Based Models为了解决Energy-Based Models中无法计算 Z θ Z_{\theta} Zθ的问题,提出以下间接解决方案:
p ( x ) ≈ p θ ( x ) = 1 Z θ e − f θ ( x ) p(x) \approx p_{\theta}(x)= \frac{1}{Z_{\theta}} e^{-f_{\theta}(x)} p(x)pθ(x)=Zθ1efθ(x)
   ⟹    log ⁡ p θ ( x ) = − log ⁡ Z θ ⏟ c o n s t a n t − f θ ( x ) \implies\log{p_{\theta}(x)} = -\log{\underbrace{Z_\theta}_{\text constant}} - f_{\theta}(x) logpθ(x)=logconstant Zθfθ(x)
   ⟹    ∇ x log ⁡ p θ ( x ) ⏟ S θ ( x ) = − ∇ x f θ ( x ) \implies\underbrace{\nabla_{x}\log{p_{\theta}(x)}}_{S_{\theta}(x)} = -\nabla_{x}{f_{\theta}(x)} Sθ(x) xlogpθ(x)=xfθ(x)
最终的目标函数转换为:
θ = arg min ⁡ θ E p ( x ) ∥ S θ ( x ) − ∇ x log ⁡ p ( x ) ⏟ u n k n o w n ∥ 2 2 \theta = \argmin_{\theta} \mathbb{E}_{p(x)}\lVert S_{\theta}(x) - \underbrace{\nabla_{x}\log p(x)}_{unknown}\rVert _2 ^2 θ=θargminEp(x)Sθ(x)unknown xlogp(x)22
其中, S θ ( x ) S_{\theta}(x) Sθ(x)为Score Function,至此将Energy-Based Model转换为Score-Based Model。但是,真实数据分布的 ∇ x log ⁡ p ( x ) \nabla_{x}\log p(x) xlogp(x)未知,可通过Score Matching方法近似求解该目标。

以上是我对生成模型的概述,后续我会按照类型详细讲解各种生成模型的来龙去脉,欢迎关注和讨论。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值