1. 归一化流与能量模型概述
深度生成模型近年来取得了显著进展,其中归一化流(Normalizing Flows)和能量模型(Energy-Based Models)作为两种重要的生成范式,在密度估计和样本生成任务中展现出独特优势。与VAE和GAN不同,这两种方法提供了更严谨的概率理论基础和更灵活的建模能力。
归一化流通过一系列可逆变换将简单分布(如高斯分布)转换为复杂数据分布,其最大特点是能够精确计算数据的对数似然。想象你有一团橡皮泥(简单分布),通过一系列精心设计的拉伸、挤压和折叠(可逆变换),可以将其塑造成任何复杂形状(数据分布)。这种方法的优势在于:
- 精确的密度估计能力
- 可逆的生成过程
- 稳定的训练特性
能量模型则采用完全不同的思路,通过定义能量函数来刻画数据分布。数据点的能量越低,其出现的概率越高。这种方法的优势在于:
- 理论框架优雅统一
- 建模灵活性高
- 与其他生成模型有深刻联系
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 归一化流数学原理详解
2.1 变量变换公式
归一化流的理论基础是概率论中的变量变换公式。设z = f(x)是一个可逆变换,其中z服从简单先验分布p_Z(z),那么x的分布可以通过以下公式计算:
p_X(x) = p_Z(f(x)) · |det ∂f(x)/∂x|
这个公式揭示了如何通过变换的雅可比行列式来"校正"概率密度。在实际应用中,我们通常使用对数概率进行计算:
log p_X(x) = log p_Z(f(x)) + log |det ∂f(x)/∂x|
2.2 可逆神经网络设计
构建可逆神经网络需要满足三个关键要求:
- 变换必须是双射(一一对应)
- 雅可比行列式易于计算
- 变换具有足够的表达能力
常用的可逆变换包括:
- 仿射耦合层(Affine Coupling Layer)
- 加性耦合层(Additive Coupling Layer)
- 可逆1×1卷积
- 激活归一化(ActNorm)
3. 经典流模型架构解析
3.1 RealNVP模型
RealNVP是2017年提出的开创性工作,其核心创新是仿射耦合层。该模型采用多尺度架构,通过逐步将部分维度直接输出,降低了计算复杂度。具体实现中:
- 使用通道维度分割策略
- 引入批量归一化
- 采用交替掩码模式确
