趋近智
正规化流具有非常有用的双重特性。由于定义流的数学变换是严格可逆的,我们可以从两个不同的方向处理模型中的数据。在机器学习 (machine learning)中,每个方向都有其独特且用途。我们将这两个方向定义为前向传播(forward pass)和反向传播 (backpropagation)(inverse pass)。
前向传播将复杂的数据点映射到简单的隐空间。我们主要使用这个方向来计算数据的精确概率密度。在训练正规化流模型时,我们的目标是使观测到的训练数据的似然性最大化。为此,我们选取一个数据点 ,并通过变换函数 将其转换为隐变量 。
获得 后,我们在基础分布(通常是标准高斯分布)下计算其概率。随后,我们应用变量变换定理,以考虑由 引起的空间拉伸和压缩。数据点 的精确对数概率是通过雅可比矩阵的对数行列式计算得出的。
通过执行前向传播,我们获得了计算损失函数 (loss function)和更新模型权重 (weight)所需的精确密度值。这种计算精确密度而非近似值的能力,是将正规化流与生成对抗网络(GAN)或变分自编码器(VAE)等其他生成模型区分开来的标志。
正规化流模型中数据空间与隐空间之间的双向映射。
反向传播的运行方向完全相反。它将简单隐空间中的值映射回复杂的数据空间。这个方向用于生成建模,使我们能够从学到的分布中采样出全新的合成数据点。
为了生成一个新的数据点,我们首先从基础分布中采样一个随机值 。然后,我们对该隐变量应用逆函数 。
由于模型经过训练可以将真实数据映射到基础分布中,因此将基础分布中的随机样本通过逆函数处理后,会得到一个与原始训练数据非常相似的值。
正规化流的性能表现很大程度上取决于这两个过程的实现方式。在某些架构中,前向传播所需的数学运算速度极快,使得密度估计和训练非常高效。然而,这些模型对应的反向传播可能需要序列化的迭代计算,导致采样时间较慢。其他架构则采取了相反的权衡,优先考虑快速反向传播以实现快速数据生成,代价是训练速度较慢。
在编写流层的 PyTorch 代码时,通常会定义一个同时包含前向方法和反向方法的模块。这两个方法都必须跟踪并返回其各自变换的雅可比对数行列式。前向方法计算 的雅可比矩阵,而反向方法计算 的雅可比矩阵。通过保持两个方向的严密对应,可以确保变量变换定理的数学保证在整个模型层级中保持完整。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•