|
好的,我们来用概率建模的形式化方法解释生成建模问题。核心思想是将数据看作由某个潜在概率分布生成的样本,我们的目标是学习这个分布,从而能生成新样本。
**核心概念:**
1. **数据分布**:真实世界数据(如图片、文本)是从一个未知的、复杂的真实概率分布 \(p_{data}(\mathbf{x})\) 中采样得到的。这里 \(\mathbf{x}\) 代表一个数据点(如一张图片的像素向量)。
2. **模型分布**:我们构建一个参数化的概率分布 \(p_{model}(\mathbf{x}; \theta)\) 来近似 \(p_{data}(\mathbf{x})\)。参数 \(\theta\) 是需要学习的(如神经网络的权重)。
3. **目标**:找到最优参数 \(\theta^*\),使得模型分布 \(p_{model}(\mathbf{x}; \theta)\) 尽可能地接近真实数据分布 \(p_{data}(\mathbf{x})\)。
4. **生成**:一旦学到了好的 \(\theta^*\),我们就可以从 \(p_{model}(\mathbf{x}; \theta^*)\) 中采样,得到看起来像是从 \(p_{data}(\mathbf{x})\) 中采样的新数据点 \(\mathbf{x}_{new}\)。
**形式化目标:最大似然估计 (MLE)**
最常用的方法是最大似然估计:
1. **数据集**:我们有 \(N\) 个独立同分布 (i.i.d.) 的样本 \(\mathcal{D} = \{\mathbf{x}^{(1)}, \mathbf{x}^{(2)}, ..., \mathbf{x}^{(N)}\}\) 来自 \(p_{data}(\mathbf{x})\)。
2. **似然函数**:模型在参数 \(\theta\) 下生成整个数据集的概率是每个样本概率的乘积(因为独立):
\(L(\theta; \mathcal{D}) = p_{model}(\mathcal{D}; \theta) = \prod_{i=1}^{N} p_{model}(\mathbf{x}^{(i)}; \theta)\)
3. **对数似然**:乘积计算复杂且易下溢,我们最大化对数似然(乘积变求和,单调性不变):
\(\log L(\theta; \mathcal{D}) = \sum_{i=1}^{N} \log p_{model}(\mathbf{x}^{(i)}; \theta)\)
4. **优化目标**:找到参数 \(\theta^*\) 最大化对数似然:
\(\theta^* = \arg\max_{\theta} \sum_{i=1}^{N} \log p_{model}(\mathbf{x}^{(i)}; \theta)\)
**关键挑战与模型类型:**
直接建模高维、复杂的 \(p_{model}(\mathbf{x}; \theta)\) 非常困难。不同生成模型的核心区别在于如何设计/表示 \(p_{model}(\mathbf{x}; \theta)\) 并解决其计算难题:
1. **显式密度模型 (Explicit Density Models)**:直接定义可计算的 \(p_{model}(\mathbf{x}; \theta)\)。
* **易处理密度 (Tractable Density)**:如自回归模型 (PixelCNN, WaveNet)。将高维联合分布分解为条件分布的乘积:
\(p_{model}(\mathbf{x}; \theta) = \prod_{d=1}^{D} p_{model}(x_d | \mathbf{x}_{<d}; \theta)\)
能精确计算似然,但采样是顺序的(慢)。
* **近似密度 (Approximate Density)**:如变分自编码器 (VAE)。引入难以计算的隐变量 \(\mathbf{z}\),模型为:
\(p_{model}(\mathbf{x}; \theta) = \int p_{model}(\mathbf{x} | \mathbf{z}; \theta) p_{model}(\mathbf{z}; \theta) d\mathbf{z}\)
直接最大化似然难,转而最大化其变分下界 (ELBO)。
2. **隐式密度模型 (Implicit Density Models)**:如生成对抗网络 (GAN)。不直接定义密度函数 \(p_{model}(\mathbf{x}; \theta)\)。
* 定义一个从简单分布 \(p(\mathbf{z})\)(如高斯)到复杂数据空间的确定性变换(生成器):
\(\mathbf{x} = G(\mathbf{z}; \theta_g)\)
* 通过判别器 \(D(\mathbf{x}; \theta_d)\) 进行对抗训练,使生成分布逼近真实分布。优化目标(极小极大博弈):
\(\min_{\theta_g} \max_{\theta_d} [ \mathbb{E}_{\mathbf{x} \sim p_{data}} \log D(\mathbf{x}) + \mathbb{E}_{\mathbf{z} \sim p(\mathbf{z})} \log (1 - D(G(\mathbf{z})))]\)
* 优点是采样快,但无法直接计算样本的密度值。
**总结形式化:**
生成建模问题可以形式化为:
给定:数据集 \(\mathcal{D} = \{\mathbf{x}^{(i)} \sim p_{data}(\mathbf{x})\}_{i=1}^N\)
目标:学习一个参数化概率模型 \(p_{model}(\mathbf{x}; \theta)\)
优化准则:最大化训练数据的对数似然(或相关替代目标如ELBO、对抗损失)
\(\theta^* = \arg\max_{\theta} \sum_{i=1}^{N} \log p_{model}(\mathbf{x}^{(i)}; \theta) \quad \text{(或等价目标)}\)
最终能力:从 \(p_{model}(\mathbf{x}; \theta^*)\) 中采样生成新样本 \(\mathbf{x}_{new} \sim p_{model}(\mathbf{x}; \theta^*)\),期望 \(\mathbf{x}_{new}\) 与 \(\mathcal{D}\) 中的样本相似(即 \(p_{model} \approx p_{data}\))。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|