统计生成模型 Statistical Generative Model

统计生成模型 Statistical Generative Model

统计生成模型(Statistical Generative Model)就是将生成模型视为一个概率分布\(p(x)\)

相应的,数据就是对\(p(x)\) 采样的结果,

先验知识就是参数形式、损失函数、优化算法等等

如果我们用\(X\)表示图像,\(Y\)表示标签,discriminative model 的目标是得到\(P(Y|X)\),而generative model则是为了得到\(P(X,Y)\)

概率分布的表示形式

我们希望得到\(p(x_1,...,x_n)\)的分布,直接的方法是列举所有的情形,然而代价过于昂贵

例如,假设\(x_i\sim Ber(p_i)\)\(1\leq i \leq n\),那么我们就需要\((2^n-1)\)个参数来表示\(p(x_1,...,x_n)\)的分布

所以我们可以采用其他方法

链式法则 Chain Rule

\[ p(x_1,...,x_n) = p(x_1)p(x_2|x_1)p(x_3|x_1, x_2)...p(x_n|x_1,..,x_{n-1}) \]

但是使用了链式法则不能减少参数数量,我们依然需要\((2^n-1)\)个参数

贝叶斯网络 Bayesian Network

我们可以尝试进行一些独立性假设,例如\(X_i\)\(X_{< i-1}\)均两两独立,那么 \[ \begin{align} p(x_1,...,x_n) &= p(x_1)p(x_2|x_1)p(x_3|x_1, x_2)...p(x_n|x_1,..,x_{n-1})\\ &=p(x_1)p(x_2|x_1)p(x_3|x_2)...p(x_n|x_{n-1}) \end{align} \] 此时我们仅需(2n-1)个参数

由此可见,独立性假设可以帮助我们减少参数:对于每个随机变量\(X_i\),假设其与集合\(\mathbf{X_{A_i}}\)中的随机变量有关,那么, \[ \begin{align} p(x_1,...,x_n) &= p(x_1)p(x_2|x_1)p(x_3|x_1, x_2)...p(x_n|x_1,..,x_{n-1})\\ &=\prod_i p(x_i|\mathbf{x_{A_i}}) \end{align} \] 变量之间复杂的独立性关系可以用一个有向无环图(Directed Acyclic Graph, DAG)表示,

对于一个有向无环图\(G=(V,E)\),如果:

  1. 节点\(i\in V\)表示随机变量\(X_i\)

  2. 每个随机变量只与其父节点的随机变量有关,即\(p(x_i|\mathbf{x_{A_i}})=p(x_i|\mathbf{x_{Pa(i)}})\)

这样的有向无环图\(G\)就被称为贝叶斯网络(Bayesian Network)

在贝叶斯网络的基础上, \[ p(x_1,...,x_n)=\prod_{i\in V}p(x_i|\mathbf{x_{Pa(i)}}) \]

神经网络模型 Neural Models

因为足够深的神经网络可以拟合任意的函数,所以我们没有必要研究变量之间的独立性关系,我们可以在链式法则展开后直接利用神经网络进行函数的拟合,即: \[ p(x_1,...,x_n) \approx p(x_1)p(x_2|x_1)p_{\mathrm{Neural}}(x_3|x_1, x_2)...p_{\mathrm{Neural}}(x_n|x_1,..,x_{n-1}) \]


统计生成模型 Statistical Generative Model
http://hmnkapa.github.io/2024/11/10/统计生成模型/
作者
呼姆奴库
发布于
2024年11月10日
许可协议