趋近智
通过可逆函数映射随机变量的数学基础是变量替换定理。单个数学变换往往不足以对图像或音频等极其复杂的数据分布进行建模。为了构建高度灵活的生成模型,可以将多个简单变换链接在一起。这种操作序列便构成了规范化流(Normalizing Flow)。
规范化流在形式上被定义为一系列可逆且可微的映射。假设初始随机变量 采样自一个简单且易于处理的基分布 。通常,这个基分布是各向同性高斯分布。我们应用一系列共 个可逆函数,记为 。这一系列变换产生最终样本 :
或者,使用函数复合符号,我们将这条生成路径写作:
设 代表最终复杂的 Scand 目标变量,例如生成的图像。从简单基分布到复杂分布的映射构成了生成过程。
术语本身也揭示了模型的工作机制。“规范化”(Normalizing)意味着如果我们反转生成过程,就可以将复杂数据 通过逆函数 映射回简单的“正态”(Normal)基分布,从而评估其概率密度。“流”(Flow)则描述了样本依次通过一系列变换时所经历的路径。
规范化流中的有向变换序列,将简单基分布映射到复杂目标分布。
为了计算最终变量 的概率密度,我们反复应用变量替换定理。最终样本的密度 可以通过评估基分布密度 并将其乘以序列中每一步变换的雅可比矩阵行列式的绝对值来计算。
由于在软件实现中处理概率乘积通常会导致数值下溢,我们改为计算对数似然。取对数将雅可比行列式的乘积转换为求和。使用前向变换,数据点 的对数概率定义为:
为了使规范化流在数学上成立且在计算上可行,每个函数 必须满足特定标准。
首先, 必须是双射。它必须将每个输入向量 (vector)精确映射到一个输出向量。这确保了逆函数 存在,使我们能够重建生成给定数据点 的确切噪声向量 。
其次,函数及其逆函数都必须是可微的。具有可微逆函数的双射可微函数在数学上被称为微分同胚(Diffeomorphism)。这一性质确保了我们可以使用标准的梯度下降 (gradient descent)技术来优化函数参数 (parameter)。
第三,我们必须能够高效地计算雅可比矩阵的行列式。在机器学习 (machine learning)任务中, 通常具有数千个维度。在一般情况下,计算 雅可比矩阵的行列式需要 次数学运算,这对于大型模型来说计算成本太高。设计规范化流架构的一个重点是构建操作结构,使其雅可比矩阵为三角矩阵。三角矩阵的行列式只是其对角线元素的乘积。这种结构约束将时间复杂度从 降低到 。
在 PyTorch 中,我们将规范化流实现为一种专门的神经网络 (neural network)。流层的前向传播不仅要返回变换后的张量,还必须返回该变换的雅可比对数行列式。当我们堆叠这些层时,我们会累加序列中所有层的对数行列式。这个累加值随后直接传递到损失函数 (loss function)中,用于极大似然估计。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•