课程主页:https://deepgenerativemodels.github.io/

课件资料:https://github.com/Subhajit135/CS236_DGM,https://github.com/deepgenerativemodels/notes

视频地址:https://www.bilibili.com/video/av81625948?from=search&seid=4636291486683332935

这里回顾CS236 Lecture 5的课程内容,这一讲介绍了隐变量模型。

Main idea in Monte Carlo Estimation

假设我们想计算期望

如果直接计算很困难,那么可以使用蒙特卡洛模拟的思路进行计算上述值:从分布$P$中采样$x^{1}, \ldots, x^{T}$,然后利用下值近似上述期望

蒙特卡洛估计有如下性质:

  • 无偏性:

  • 收敛性:根据大数定律

  • 方差:

Extending the MLE principle to a Bayesian network

回到之前介绍的极大似然估计,现在给定$n$个变量的自回归模型

其中$pa(x_i)$表示$x_i$的父节点。

给定训练数据$\mathcal{D}=\left\{\mathbf{x}^{(1)}, \cdots, \mathbf{x}^{(m)}\right\}$,似然函数为

我们的目标是最大化

具体方法为使用梯度下降:

  1. 随机初始化$\theta^0$
  2. 计算$\nabla_{\theta} \ell(\theta)$
  3. $\theta^{t+1}=\theta^{t}+\alpha_{t} \nabla_{\theta} \ell(\theta)$

其中

如果$m$很大,那么计算上式的成本太大,所以实际中常用随机(小批量)梯度下降法。

Latent Variable Models

Latent Variable Models: Motivation

考虑人脸图像:

  1. 由于性别,眼睛颜色,头发颜色,姿势等原因,图像$\mathrm x$的变化很大。但是,除非对图像进行注释,否则这些变化因素无法直接得到。
  2. 思路:使用潜在变量对这些因素进行显式建模。

Deep Latent Variable Models

  1. $\mathbf{z} \sim \mathcal{N}(0, I)$
  2. $p(\mathbf{x} | \mathbf{z})=\mathcal{N}\left(\mu_{\theta}(\mathbf{z}), \Sigma_{\theta}(\mathbf{z})\right)$,其中$\mu_{\theta}, \Sigma_{\theta}$是神经网络

Mixture of Gaussians: a Shallow Latent Variable Model

考虑高斯混合模型:

  1. $\mathbf{z} \sim \text { Categorical }(1, \cdots, K)$
  2. $p(\mathbf{x} | \mathbf{z}=k)=\mathcal{N}\left(\mu_{k}, \Sigma_{k}\right)$

生成过程

  1. 通过采样$\mathrm z$选择混合成分$k$
  2. 通过从第$k$个高斯分布采样生成数据