为什么高斯分布统治了机器学习的隐空间:从中心极限定理到扩散模型的数学真相

打开任何一个深度学习模型,你会发现高斯分布无处不在:权重初始化服从$\mathcal{N}(0, \sqrt{2/n})$,VAE的隐变量被约束为$\mathcal{N}(\mu, \sigma^2)$,扩散模型的前向过程逐步添加高斯噪声,连随机梯度下降的噪声都被近似为高斯分布。这不是巧合,也不是习惯使然——高斯分布对机器学习的统治,源于数学深处的必然性。

从一个隐空间说起

变分自编码器(VAE)要求编码器输出的隐变量服从高斯分布。为什么?理论上,隐变量可以服从任何分布——均匀分布、拉普拉斯分布、甚至一个无解析形式的复杂分布。但几乎所有实现都选择了高斯分布。

这个选择背后有三个相互纠缠的原因。

第一,重参数化技巧要求分布能够被"分解"。如果要从分布$q(z|x)$中采样,然后通过这个采样点反向传播梯度,我们需要一种方式让随机性外生化。对于高斯分布,这极其自然:

$$z = \mu + \sigma \cdot \epsilon, \quad \epsilon \sim \mathcal{N}(0, 1)$$

这里$\mu$和$\sigma$是确定性函数,$\epsilon$是一个外部噪声源。梯度可以顺畅地流过$\mu$和$\sigma$,而随机性被隔离在$\epsilon$中。但如果我们选择一个无法这样分解的分布——比如一个离散分布——重参数化就会变得极其复杂甚至不可能。

第二,KL散度有闭式解。VAE的训练目标包含一个正则项:

$$D_{KL}(q(z|x) \| p(z))$$

当$q(z|x)$和先验$p(z)$都是高斯分布时,这个KL散度有精确的解析表达式:

$$D_{KL}(\mathcal{N}(\mu_1, \sigma_1^2) \| \mathcal{N}(\mu_2, \sigma_2^2)) = \log\frac{\sigma_2}{\sigma_1} + \frac{\sigma_1^2 + (\mu_1 - \mu_2)^2}{2\sigma_2^2} - \frac{1}{2}$$

这个公式可以直接在GPU上高效计算,无需蒙特卡洛估计。如果选择一个非高斯分布,KL散度通常需要通过采样来估计,带来额外的方差和计算开销。

第三,高斯分布是给定均值和方差约束下的最大熵分布。这意味着,如果我们只知道隐变量的均值和方差,高斯分布是对"未知信息"最诚实的假设——它不引入任何额外的假设或偏见。

这三个原因——可重参数化、KL散度可解析计算、最大熵原理——共同指向一个更深层的事实:高斯分布具有独特的数学友好性。这种友好性不是任意的选择,而是指数函数族和高斯积分特殊性质的必然结果。

graph TB
    subgraph VAE架构
        X[输入数据 x] --> E[编码器 Encoder]
        E --> MU[均值 μ]
        E --> LOGVAR[对数方差 log σ²]
        
        MU --> Z[隐变量 z]
        LOGVAR --> Z
        EPS[随机噪声 ε ~ N0,1] --> Z
        
        Z --> D[解码器 Decoder]
        D --> XHAT[重构数据 x̂]
    end
    
    subgraph 重参数化技巧
        Z_FORMULA["z = μ + σ · ε"]
    end
    
    subgraph 损失函数
        RECON["重构损失: E[log p(x|z)]"]
        KL["KL散度: D_KL(q(z|x) || p(z))"]
        LOSS["总损失 = 重构损失 + KL散度"]
    end
    
    XHAT --> RECON
    MU --> KL
    LOGVAR --> KL
    RECON --> LOSS
    KL --> LOSS

中心极限定理:自然的统计学解释

但数学友好性只是故事的一半。另一半来自统计学的基本定理:中心极限定理。

中心极限定理陈述了一个简单却深刻的事实:当我们把大量独立同分布的随机变量相加并适当归一化后,其和的分布会收敛到高斯分布,无论原始随机变量服从什么分布(只要方差有限)。

形式化地说,设$X_1, X_2, \ldots, X_n$是独立同分布的随机变量,均值为$\mu$,方差为$\sigma^2 < \infty$。定义标准化和:

$$S_n = \frac{\sum_{i=1}^n X_i - n\mu}{\sigma\sqrt{n}}$$

那么当$n \to \infty$时,$S_n$的分布收敛到标准正态分布$\mathcal{N}(0, 1)$。

这个定理解释了为什么高斯分布在自然界中如此普遍。考虑身高:一个人的身高受到数百个基因的影响,每个基因贡献一个小的随机效应。这些效应近似独立地叠加,根据中心极限定理,最终身高分布接近高斯。

同样的逻辑适用于测量误差、热噪声、布朗运动。任何由大量微小独立因素叠加而成的量,都天然倾向于高斯分布。

在机器学习中,这个定理有直接的对应物。神经网络的预激活值可以看作大量输入特征与权重的加权和:

$$z = \sum_{i=1}^n w_i x_i + b$$

如果权重和输入是独立的随机变量,根据中心极限定理,当$n$足够大时,$z$的分布接近高斯。这正是Xavier初始化和He初始化的理论基础:通过控制权重的方差,我们可以精确控制预激活值的方差,从而稳定梯度流动。

更深刻的是,中心极限定理的推广形式——Lindeberg-Feller定理——放宽了"同分布"的假设。只要满足Lindeberg条件(粗略地说,没有一个随机变量主导其他变量),即使原始分布各不相同,和的分布仍然收敛到高斯。这解释了为什么高斯分布在如此多样的场景中都有效。

graph TD
    A[大量独立随机变量] --> B[求和与归一化]
    B --> C[收敛到高斯分布]
    
    D[自然现象] --> E[身高/测量误差/热噪声]
    E --> A
    
    F[机器学习] --> G[预激活值/梯度/噪声]
    G --> A
    
    H[CLT核心洞察] --> I[分布的具体形式不重要]
    I --> J[独立叠加是关键]
    J --> C

权重初始化:高斯分布的第一个关键应用

深度学习的权重初始化问题可以追溯到上世纪90年代。当时的研究者发现,如果权重初始化不当,深度神经网络的训练会极其困难——梯度要么消失,要么爆炸。

这个问题的根源在于前向传播和反向传播中的方差缩放。考虑一个简单的全连接层:

$$y = Wx$$

其中$x \in \mathbb{R}^{n_{in}}$,$W \in \mathbb{R}^{n_{out} \times n_{in}}$,$y \in \mathbb{R}^{n_{out}}$。假设$x$的每个元素独立同分布,均值为0,方差为$\sigma_x^2$;$W$的每个元素独立同分布,均值为0,方差为$\sigma_w^2$。

那么$y$的第$j$个元素为:

$$y_j = \sum_{i=1}^{n_{in}} W_{ji} x_i$$

由于$W_{ji}$和$x_i$独立,$y_j$的方差为:

$$\text{Var}(y_j) = n_{in} \sigma_w^2 \sigma_x^2$$

如果我们希望输入和输出的方差保持一致($\text{Var}(y_j) = \sigma_x^2$),那么:

$$\sigma_w^2 = \frac{1}{n_{in}}$$

这就是Xavier初始化的核心公式。权重应该从$\mathcal{N}(0, 1/n_{in})$或$\mathcal{N}(0, 2/(n_{in} + n_{out}))$中采样(后者同时考虑了前向和反向传播的方差稳定性)。

但为什么选择高斯分布初始化,而不是均匀分布?

技术上,Xavier初始化也可以用均匀分布$U(-\sqrt{3/n_{in}}, \sqrt{3/n_{in}})$实现(均匀分布的方差为$(b-a)^2/12$,令其等于$1/n_{in}$即可得到这个范围)。但在实践中,高斯分布有几个微妙的优势。

首先,高斯分布的无尾性使得权重的分布更加"柔和"——极端值出现的概率按指数衰减,而均匀分布在边界处突然截断。对于深度网络,这种柔和性有助于避免训练早期的数值不稳定。

其次,高斯分布与BatchNorm等归一化层更兼容。BatchNorm假设特征的分布近似高斯,然后进行标准化。如果权重初始化已经是高斯的,这个假设更容易成立。

He初始化进一步考虑了ReLU激活函数的影响。ReLU会将一半的激活值置为0,使得有效方差减半。因此,对于ReLU网络,权重的方差应该加倍:

$$\sigma_w^2 = \frac{2}{n_{in}}$$

这个简单的调整——将高斯分布的方差从$1/n_{in}$改为$2/n_{in}$——使得深度卷积网络(如ResNet)的训练成为可能。

从信息论角度看,高斯初始化还有一个有趣的性质。给定方差约束$\sigma^2$,高斯分布$\mathcal{N}(0, \sigma^2)$是最大熵分布。这意味着,在只知道权重方差的情况下,高斯分布是对"权重具体取什么值"这个问题最不武断的假设。这种"不武断性"可能有助于模型的泛化——初始化引入的归纳偏置最少。

graph LR
    subgraph 初始化方法对比
        A[输入层 n_in] --> B{激活函数类型}
        B -->|Sigmoid/Tanh| C[Xavier初始化]
        B -->|ReLU/LeakyReLU| D[He初始化]
        
        C --> E["σ² = 1/n_in 或 2/(n_in + n_out)"]
        D --> F["σ² = 2/n_in"]
    end
    
    subgraph 方差传播
        G[输入方差 σ_x²] --> H[权重方差 σ_w²]
        H --> I[输出方差]
        I --> J["Var(y) = n_in × σ_w² × σ_x²"]
    end
    
    subgraph 目标
        K[前向传播: 保持激活方差稳定]
        L[反向传播: 保持梯度方差稳定]
    end
    
    E --> K
    F --> K
    J --> K

变分推断:高斯分布的共轭性优势

变分推断是贝叶斯机器学习的核心技术,而高斯分布在其中扮演着不可替代的角色。

贝叶斯推断的核心问题是从后验分布中推断未知参数:

$$p(\theta | \mathcal{D}) = \frac{p(\mathcal{D}|\theta) p(\theta)}{p(\mathcal{D})}$$

在大多数情况下,这个后验分布没有闭式解。变分推断通过引入一个参数化的近似分布$q_\phi(\theta)$,将推断问题转化为优化问题:

$$\min_\phi D_{KL}(q_\phi(\theta) \| p(\theta|\mathcal{D}))$$

当数据服从高斯分布,且先验也是高斯分布时,后验分布同样是高斯分布——这就是共轭性。高斯分布是自己的共轭先验,这个性质使得贝叶斯更新有精确的闭式解。

具体来说,假设数据$x_1, \ldots, x_n \sim \mathcal{N}(\mu, \sigma^2)$,其中$\sigma^2$已知。如果我们选择共轭先验$\mu \sim \mathcal{N}(\mu_0, \sigma_0^2)$,那么后验分布为:

$$p(\mu | x_1, \ldots, x_n) = \mathcal{N}(\mu_n, \sigma_n^2)$$

其中:

$$\mu_n = \frac{\frac{1}{\sigma_0^2}\mu_0 + \frac{n}{\sigma^2}\bar{x}}{\frac{1}{\sigma_0^2} + \frac{n}{\sigma^2}}$$$$\sigma_n^2 = \frac{1}{\frac{1}{\sigma_0^2} + \frac{n}{\sigma^2}}$$

后验均值是先验均值和样本均值的加权平均,权重分别是先验精度(方差的倒数)和数据精度。后验方差则是先验精度和数据精度的和的倒数。

这个闭式解的美妙之处在于它的递归性质:每次收到新数据,我们可以用当前的后验分布作为新的先验,然后计算新的后验。整个过程不需要存储所有历史数据,只需要维护当前后验的均值和方差——两个标量。

在VAE中,共轭性被用于简化KL散度的计算。编码器输出$\mu(x)$和$\log \sigma^2(x)$,隐变量$z$的近似后验为$q(z|x) = \mathcal{N}(\mu(x), \sigma^2(x))$。先验设为标准高斯$p(z) = \mathcal{N}(0, I)$。KL散度项:

$$D_{KL}(q(z|x) \| p(z)) = \frac{1}{2}\sum_{j=1}^J \left(\mu_j^2 + \sigma_j^2 - \log \sigma_j^2 - 1\right)$$

其中$J$是隐空间的维度。这个公式是可微的,可以通过反向传播优化。

如果我们选择非高斯分布作为近似后验,比如拉普拉斯分布,KL散度就没有这么简洁的闭式解。虽然理论上可以用蒙特卡洛方法估计KL散度:

$$D_{KL}(q(z|x) \| p(z)) \approx \frac{1}{K}\sum_{k=1}^K \left[\log q(z_k|x) - \log p(z_k)\right], \quad z_k \sim q(z|x)$$

但蒙特卡洛估计引入了额外的方差,可能影响训练稳定性。更重要的是,对于复杂的分布族,即使采样本身也可能困难——如何从任意分布中高效采样本身就是一个研究课题。

高斯分布的另一个优势是其条件分布和边缘分布都有闭式解。在处理多变量高斯分布时,如果我们将变量分成两组$(x_A, x_B)$,联合分布为:

$$\begin{pmatrix} x_A \\ x_B \end{pmatrix} \sim \mathcal{N}\left(\begin{pmatrix} \mu_A \\ \mu_B \end{pmatrix}, \begin{pmatrix} \Sigma_{AA} & \Sigma_{AB} \\ \Sigma_{BA} & \Sigma_{BB} \end{pmatrix}\right)$$

那么条件分布$x_A | x_B$和边缘分布$x_A$都是高斯的,且参数有精确公式:

$$x_A | x_B \sim \mathcal{N}(\mu_{A|B}, \Sigma_{A|B})$$

其中:

$$\mu_{A|B} = \mu_A + \Sigma_{AB}\Sigma_{BB}^{-1}(x_B - \mu_B)$$$$\Sigma_{A|B} = \Sigma_{AA} - \Sigma_{AB}\Sigma_{BB}^{-1}\Sigma_{BA}$$

这些公式在高斯过程回归中至关重要:我们观测到部分点的函数值,想要推断未观测点的函数值。条件分布给出了预测及其不确定性估计,两者都有闭式解。

graph TB
    subgraph 贝叶斯更新流程
        A[先验分布 N(μ₀, σ₀²)] --> B[观测数据 x₁...xₙ]
        B --> C[计算后验]
        C --> D[后验分布 N(μₙ, σₙ²)]
    end
    
    subgraph 共轭性优势
        E[先验: 高斯] --> F[似然: 高斯]
        F --> G[后验: 高斯]
        H["闭式解: 无需MCMC"] --> G
    end
    
    subgraph 后验参数计算
        I["后验精度 = 先验精度 + 数据精度"]
        J["1/σₙ² = 1/σ₀² + n/σ²"]
        K["后验均值 = 精度加权平均"]
        L["μₙ = (μ₀/σ₀² + nx̄/σ²) / (1/σ₀² + n/σ²)"]
    end
    
    D --> I
    D --> K

扩散模型:高斯噪声的去噪艺术

2020年,Ho等人发表的DDPM(Denoising Diffusion Probabilistic Models)论文开启了图像生成的新纪元。扩散模型的核心思想极其优雅:通过逐步添加高斯噪声将数据变成纯噪声,然后学习逆向过程从噪声中恢复数据。

前向扩散过程定义为一个马尔可夫链:

$$q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t} x_{t-1}, \beta_t I)$$

其中$\beta_t$是噪声调度参数,控制每一步添加的噪声量。经过$T$步(通常$T=1000$),$x_T$近似服从标准高斯分布$\mathcal{N}(0, I)$。

关键洞察:由于每一步只添加少量高斯噪声,整个前向过程有闭式解。从$x_0$直接跳到$x_t$:

$$q(x_t | x_0) = \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t} x_0, (1-\bar{\alpha}_t)I)$$

其中$\alpha_t = 1 - \beta_t$,$\bar{\alpha}_t = \prod_{s=1}^t \alpha_s$。这个闭式解避免了实际执行$T$步扩散,大大提高了训练效率。

逆向过程才是扩散模型的精华。理论上,逆向过程的真实分布是:

$$p(x_{t-1} | x_t) = q(x_{t-1} | x_t, x_0)$$

当$\beta_t$足够小时,这个条件分布可以近似为高斯分布:

$$q(x_{t-1} | x_t, x_0) = \mathcal{N}(x_{t-1}; \tilde{\mu}_t(x_t, x_0), \tilde{\beta}_t I)$$

其中:

$$\tilde{\mu}_t(x_t, x_0) = \frac{\sqrt{\bar{\alpha}_{t-1}}\beta_t}{1-\bar{\alpha}_t}x_0 + \frac{\sqrt{\alpha_t}(1-\bar{\alpha}_{t-1})}{1-\bar{\alpha}_t}x_t$$$$\tilde{\beta}_t = \frac{1-\bar{\alpha}_{t-1}}{1-\bar{\alpha}_t}\beta_t$$

但$x_0$是未知的——这正是我们需要学习的内容。扩散模型用一个神经网络$\epsilon_\theta(x_t, t)$来预测添加的噪声。根据:

$$x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1-\bar{\alpha}_t} \epsilon, \quad \epsilon \sim \mathcal{N}(0, I)$$

可以反推:

$$x_0 = \frac{x_t - \sqrt{1-\bar{\alpha}_t}\epsilon}{\sqrt{\bar{\alpha}_t}}$$

因此,预测噪声等价于预测$x_0$。训练目标极其简单:

$$\mathcal{L} = \mathbb{E}_{t, x_0, \epsilon}\left[\|\epsilon - \epsilon_\theta(x_t, t)\|^2\right]$$

这里,高斯分布的性质再次发挥了关键作用。首先,前向扩散有闭式解,使得训练可以直接从任意时间步$t$开始,无需模拟完整的前向过程。其次,逆向扩散在高斯假设下可以精确推导,简化了理论分析和实现。最后,训练目标(预测噪声)是一个简单的均方误差损失,这与高斯分布下的最大似然估计等价。

为什么扩散模型选择高斯噪声,而不是其他类型的噪声?

从信息论角度,高斯噪声在给定功率约束下引入最大的不确定性(熵)。添加高斯噪声的过程可以看作逐步"遗忘"原始数据的信息,每一步遗忘的信息量由噪声调度$\beta_t$控制。当$x_T$变成纯高斯噪声时,关于$x_0$的所有信息都被抹除——这正是我们想要的,因为现在生成过程可以从任意的$x_T \sim \mathcal{N}(0, I)$开始,生成全新的数据。

从计算角度,高斯分布的可加性使得前向过程有闭式解。如果选择其他噪声模型,比如拉普拉斯噪声或泊松噪声,前向过程通常需要逐步模拟,计算代价会高得多。

从优化角度,均方误差损失是高斯分布下的最大似然估计。这个损失函数有良好的性质:凸、可微、梯度稳定。对于其他分布,损失函数可能更复杂,优化更困难。

graph LR
    subgraph 前向扩散过程
        A[原始数据 x₀] -->|添加噪声 β₁| B[x₁]
        B -->|添加噪声 β₂| C[x₂]
        C -->|...| D[xₜ₋₁]
        D -->|添加噪声 βₜ| E[xₜ]
        E -->|...| F[纯噪声 x_T ~ N0,I]
    end
    
    subgraph 闭式跳跃
        G["q(xₜ|x₀) = N(√ᾱₜx₀, (1-ᾱₜ)I)"]
        A -.->|直接采样| E
    end
    
    subgraph 逆向生成过程
        H[随机噪声 x_T ~ N0,I] -->|预测噪声 εθ| I[xₜ₋₁]
        I -->|预测噪声 εθ| J[xₜ₋₂]
        J -->|...| K[生成数据 x₀]
    end
    
    subgraph 训练目标
        L["L = E‖ε - εθ(xₜ,t)‖²"]
    end
    
    F --> H

高斯过程:无限维的高斯分布

高斯过程将高斯分布推广到函数空间。一个高斯过程是一个随机过程,其任意有限个点的联合分布都是高斯分布。形式化地说:

$$f \sim \mathcal{GP}(m(x), k(x, x'))$$

其中$m(x)$是均值函数,$k(x, x')$是协方差函数(核函数)。

给定训练数据$(X, y)$,我们想要预测新点$x_*$处的函数值$f_* = f(x_*)$。由于$f$是高斯过程,训练点和测试点的联合分布是高斯的:

$$\begin{pmatrix} y \\ f_* \end{pmatrix} \sim \mathcal{N}\left(\begin{pmatrix} m(X) \\ m(x_*) \end{pmatrix}, \begin{pmatrix} K(X, X) + \sigma^2 I & K(X, x_*) \\ K(x_*, X) & K(x_*, x_*) \end{pmatrix}\right)$$

其中$K$是由核函数定义的协方差矩阵,$\sigma^2$是观测噪声的方差。

条件分布$f_* | y$同样是高斯的:

$$f_* | y \sim \mathcal{N}(m_*, \sigma_*^2)$$

其中:

$$m_* = K(x_*, X)[K(X, X) + \sigma^2 I]^{-1}(y - m(X)) + m(x_*)$$$$\sigma_*^2 = K(x_*, x_*) - K(x_*, X)[K(X, X) + \sigma^2 I]^{-1}K(X, x_*)$$

这两个公式是高斯过程回归的核心。预测均值$m_*$是训练目标值的加权线性组合,权重由核函数定义的相似性决定。预测方差$\sigma_*^2$量化了预测的不确定性:离训练数据越远的点,不确定性越大。

高斯过程的强大之处在于它提供了完整的后验分布,而不仅仅是点估计。这使得高斯过程特别适合主动学习、贝叶斯优化等需要不确定性估计的应用。

贝叶斯优化使用高斯过程作为代理模型来近似昂贵的目标函数。在每一步,算法根据高斯过程的后验分布选择下一个评估点,平衡探索(高不确定性区域)和利用(高预测值区域)。这种策略通常比网格搜索或随机搜索高效得多,特别是当目标函数评估代价很高时(如训练大型神经网络)。

高斯过程的核心假设——函数值服从联合高斯分布——在什么情况下是合理的?

从频率派角度,如果函数值可以表示为大量独立基函数的线性组合,根据中心极限定理,函数值的分布接近高斯。这与神经网络的无限宽度极限等价:当隐藏层宽度趋于无穷大,神经网络的输出收敛到高斯过程。

从贝叶斯角度,高斯过程先验是对"平滑函数"的一种编码。核函数$k(x, x')$定义了相似性度量:相似的输入产生相似的输出。不同的核函数编码不同的平滑性假设——RBF核假设函数无限可微,Matern核假设有限次可微,周期核假设函数具有周期结构。

graph TB
    subgraph 高斯过程回归
        A[训练数据 X, y] --> B[构建核矩阵 K]
        B --> C[计算逆矩阵 K⁻¹]
        C --> D[预测新点 x*]
    end
    
    subgraph 预测输出
        D --> E[预测均值 m*]
        D --> F[预测方差 σ*²]
        E --> G[置信区间]
        F --> G
    end
    
    subgraph 核函数选择
        H[RBF核: 无限可微]
        I[Matern核: 有限可微]
        J[周期核: 周期结构]
        K[线性核: 线性趋势]
    end
    
    H --> B
    I --> B
    J --> B
    K --> B
    
    subgraph 应用场景
        L[贝叶斯优化]
        M[主动学习]
        N[时间序列预测]
    end
    
    G --> L
    G --> M
    G --> N

最大熵原理:信息论的视角

高斯分布在信息论中有特殊的地位:在给定均值$\mu$和方差$\sigma^2$的约束下,高斯分布$\mathcal{N}(\mu, \sigma^2)$是所有分布中熵最大的。

熵是分布不确定性的度量。对于连续分布,熵定义为:

$$H(p) = -\int p(x) \log p(x) dx$$

最大熵原理指出,在所有满足已知约束的分布中,应该选择熵最大的那个。这个原理的哲学基础是"最诚实":我们不应该对未知的信息做出武断的假设。

要证明高斯分布是给定均值和方差下的最大熵分布,需要求解约束优化问题:

$$\max_{p(x)} H(p)$$$$\text{s.t.} \int p(x) dx = 1$$$$\int x p(x) dx = \mu$$$$\int (x-\mu)^2 p(x) dx = \sigma^2$$

使用拉格朗日乘子法,构造:

$$\mathcal{L} = -\int p(x) \log p(x) dx + \lambda_1\left(\int p(x) dx - 1\right) + \lambda_2\left(\int x p(x) dx - \mu\right) + \lambda_3\left(\int (x-\mu)^2 p(x) dx - \sigma^2\right)$$

对$p(x)$求变分,令其为0:

$$\frac{\delta \mathcal{L}}{\delta p(x)} = -\log p(x) - 1 + \lambda_1 + \lambda_2 x + \lambda_3 (x-\mu)^2 = 0$$

解得:

$$p(x) = \exp\left(\lambda_1 - 1 + \lambda_2 x + \lambda_3 (x-\mu)^2\right)$$

这正是一个指数族分布的形式。代入约束条件求解$\lambda_1, \lambda_2, \lambda_3$,最终得到:

$$p(x) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)$$

这就是高斯分布。

最大熵原理为高斯分布提供了一个深刻的解释:当我们只知道分布的均值和方差时,高斯分布是最"保守"的选择。它不引入任何额外的结构或假设,仅仅反映了已知的约束。

在机器学习中,这个原理有多重应用。在权重初始化时,如果我们只知道权重的方差应该保持稳定(如Xavier初始化),高斯分布是最不武断的选择。在变分推断时,如果我们选择高斯分布作为近似后验,我们实际上在说:在所有具有相同均值和方差的分布中,高斯分布对后验形状做出最少的额外假设。

高斯混合模型:超越单峰假设

高斯分布是单峰的——它只能很好地表示一个"聚类"的数据。真实数据往往有多个聚类,这就是高斯混合模型(GMM)的用武之地。

高斯混合模型假设数据来自$K$个高斯分布的混合:

$$p(x) = \sum_{k=1}^K \pi_k \mathcal{N}(x; \mu_k, \Sigma_k)$$

其中$\pi_k$是混合系数,满足$\sum_k \pi_k = 1$。

GMM可以逼近任意连续分布(当$K \to \infty$时),同时保持高斯分布的计算优势。但训练GMM面临一个挑战:数据点的聚类标签是隐变量,无法直接观测。

期望最大化(EM)算法是解决这个问题的标准方法。EM算法交替执行两个步骤:

E步:计算隐变量的后验分布。对于每个数据点$x_i$,计算它属于每个聚类的概率:

$$\gamma_{ik} = P(z_i = k | x_i) = \frac{\pi_k \mathcal{N}(x_i; \mu_k, \Sigma_k)}{\sum_{j=1}^K \pi_j \mathcal{N}(x_i; \mu_j, \Sigma_j)}$$

M步:最大化期望对数似然,更新参数:

$$\mu_k = \frac{\sum_{i=1}^n \gamma_{ik} x_i}{\sum_{i=1}^n \gamma_{ik}}$$$$\Sigma_k = \frac{\sum_{i=1}^n \gamma_{ik} (x_i - \mu_k)(x_i - \mu_k)^T}{\sum_{i=1}^n \gamma_{ik}}$$$$\pi_k = \frac{1}{n}\sum_{i=1}^n \gamma_{ik}$$

EM算法保证对数似然单调不减,但只能收敛到局部最优。初始值的选择和聚类数$K$的设定是需要调优的超参数。

GMM的一个关键优势是它提供了软聚类——每个数据点以一定的概率属于每个聚类,而不是硬性地分配给某一个聚类。这种软分配在某些应用中更合理,比如当聚类边界模糊或数据点可能属于多个聚类时。

在语音识别中,GMM长期被用于建模声学特征。每个音素的声学特征用一个GMM建模,GMM的参数通过EM算法从训练数据中学习。虽然深度学习已经取代了GMM在语音识别中的地位,但GMM仍然是密度估计和聚类的经典工具。

graph TB
    subgraph GMM结构
        A[数据点 x] --> B{属于哪个聚类?}
        B -->|概率 π₁| C[高斯分布 N(μ₁, Σ₁)]
        B -->|概率 π₂| D[高斯分布 N(μ₂, Σ₂)]
        B -->|概率 πₖ| E[高斯分布 N(μₖ, Σₖ)]
        C --> F[混合密度 p(x)]
        D --> F
        E --> F
    end
    
    subgraph EM算法
        G[E步: 计算后验概率 γᵢₖ]
        H["M步: 更新参数 μₖ, Σₖ, πₖ"]
        G --> H
        H --> G
        I[收敛判断] --> H
    end
    
    subgraph 软聚类优势
        J[每个点有多个归属概率]
        K[边界模糊数据更合理]
        L[可逼近任意分布]
    end
    
    F --> G
    J --> G

高斯假设的局限与替代方案

尽管高斯分布在机器学习中无处不在,但它并非万能。在许多场景中,高斯假设会带来严重的问题。

金融市场的收益率分布是经典的反例。标准差为$\sigma$的高斯分布中,偏离均值超过$5\sigma$的事件概率约为$3 \times 10^{-7}$,即大约每百万次观测中出现0.3次。但金融市场历史上多次出现$10\sigma$甚至$20\sigma$的极端事件,如果收益率真的服从高斯分布,这些事件几乎不可能发生。

这表明金融收益率分布具有"厚尾"特性——极端事件的发生概率远高于高斯分布的预测。更合适的模型是Student-t分布或稳定分布,它们允许更厚的尾部。

对于异常值敏感的问题,拉普拉斯分布是高斯分布的一个有力替代。拉普拉斯分布的概率密度函数为:

$$p(x) = \frac{1}{2b}\exp\left(-\frac{|x-\mu|}{b}\right)$$

与高斯分布的二次衰减$(x-\mu)^2$不同,拉普拉斯分布的尾部线性衰减,这意味着异常值出现的概率更高,对模型的影响也更温和。

在损失函数设计中,这种差异尤为明显。高斯分布下的最大似然估计对应均方误差损失:

$$\mathcal{L}_{MSE} = \frac{1}{n}\sum_{i=1}^n (y_i - \hat{y}_i)^2$$

拉普拉斯分布下的最大似然估计对应平均绝对误差损失:

$$\mathcal{L}_{MAE} = \frac{1}{n}\sum_{i=1}^n |y_i - \hat{y}_i|$$

MAE对异常值的鲁棒性明显优于MSE。当数据中存在异常值时,MSE会被异常值主导,而MAE能够更好地抵抗异常值的影响。

Huber损失结合了两者的优点:

$$\mathcal{L}_\delta(y, \hat{y}) = \begin{cases} \frac{1}{2}(y - \hat{y})^2 & \text{if } |y - \hat{y}| \leq \delta \\ \delta|y - \hat{y}| - \frac{1}{2}\delta^2 & \text{otherwise} \end{cases}$$

对于小的误差,Huber损失是二次的(对异常值敏感);对于大的误差,Huber损失是线性的(对异常值鲁棒)。

在生成模型中,非高斯噪声的研究也在进行。一些研究者探索了使用重尾分布作为扩散模型的噪声来源,发现某些情况下可以提高生成质量和多样性。但这些方法通常需要更复杂的训练和采样算法,计算成本更高。

graph LR
    A[高斯分布假设] --> B{问题类型}
    
    B --> C[单峰对称数据]
    B --> D[厚尾分布]
    B --> E[异常值敏感]
    B --> F[多峰分布]
    
    C --> G[高斯分布适用]
    
    D --> H[Student-t分布]
    D --> I[稳定分布]
    
    E --> J[拉普拉斯分布]
    E --> K[Huber损失]
    
    F --> L[高斯混合模型]
    F --> M[非参数方法]

结语:高斯假设的代价与收益

高斯分布统治机器学习隐空间不是偶然。中心极限定理为其提供了统计学基础:大量独立因素的叠加自然产生高斯分布。最大熵原理为其提供了信息论辩护:在有限约束下,高斯分布最不武断。解析可处理性为其提供了计算优势:乘积、卷积、条件化都有闭式解。

这些优势在深度学习中体现得淋漓尽致。权重初始化利用高斯分布控制方差传播。VAE利用高斯分布实现重参数化和KL散度的解析计算。扩散模型利用高斯噪声实现高效的前向扩散和逆向生成。高斯过程利用高斯假设实现不确定性量化。

但高斯假设也有其代价。它假设数据分布是单峰、对称、薄尾的——这些假设在许多现实场景中不成立。厚尾分布、偏态分布、多峰分布都可能违反高斯假设,此时强行使用高斯模型会带来偏差甚至灾难性后果。

理解高斯分布的优势和局限,是机器学习工程师的基本功。选择分布不应该是一个无意识的默认行为,而应该是一个基于数据和任务的有意识的决策。在许多情况下,高斯分布确实是最佳选择;但在某些情况下,打破高斯假设可能带来显著的改进。

高斯分布统治机器学习隐空间的原因,归根结底是一个权衡:用"数学方便性"换取"模型表达能力"。在大多数情况下,这个权衡是值得的;但永远保持对替代方案的关注,是避免陷入教条主义的唯一方法。


参考文献

  1. Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. arXiv preprint arXiv:2006.11239.

  2. Kingma, D. P., & Welling, M. (2013). Auto-Encoding Variational Bayes. arXiv preprint arXiv:1312.6114.

  3. Glorot, X., & Bengio, Y. (2010). Understanding the difficulty of training deep feedforward neural networks. In Proceedings of the thirteenth international conference on artificial intelligence and statistics (pp. 249-256).

  4. He, K., Zhang, X., Ren, S., & Sun, J. (2015). Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. In Proceedings of the IEEE international conference on computer vision (pp. 1026-1034).

  5. Rasmussen, C. E., & Williams, C. K. I. (2006). Gaussian processes for machine learning. MIT press.

  6. Murphy, K. P. (2007). Conjugate Bayesian analysis of the Gaussian distribution. Technical report, University of British Columbia.

  7. Jaynes, E. T. (1957). Information theory and statistical mechanics. Physical review, 106(4), 620.

  8. Lindeberg, J. W. (1922). Eine neue Herleitung des Exponentialgesetzes in der Wahrscheinlichkeitsrechnung. Mathematische Zeitschrift, 15(1), 211-225.

  9. Dempster, A. P., Laird, N. M., & Rubin, D. B. (1977). Maximum likelihood from incomplete data via the EM algorithm. Journal of the Royal Statistical Society: Series B (Methodological), 39(1), 1-22.

  10. Taleb, N. N. (2020). Statistical consequences of fat tails: Real world preasymptotics, epistemology, and applications. STEM Academic Press.