A Review of Change of Variable Formulas for Generative Modeling

https://arxiv.org/pdf/2308.02652

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

摘要

变量变换(Change-of-variables (CoV))公式允许通过具有可处理的雅可比行列式确定的变换来将复杂的概率密度简化为更简单的形式。因此,它们是最大似然学习、贝叶斯推断、异常值检测、模型选择等的强大工具。已经为各种模型类型推导出了CoV公式,但这些信息分散在许多不同的工作中。我们从编码器/解码器架构的统一视角出发,系统地处理了这个问题,将28个CoV公式汇集在一个地方,揭示了看似不同方法之间的有趣关系,强调了文献中不总是清楚的重要区别,并确定了未来研究的惊人空白。

7章:Blau 和 Michaeli (2019) 的关键见解是证明了在 (104) 中同时最小化所有三个项是不可能的。

Change-of-variables formulas have become popular because they play a central role in the training and application of normalizing flows (NFs).

Horvat和Pfister(2022)最近提出了一个有前途的替代方案。作者观察到,在对数据进行加性噪声增强时,核心和细节子空间中的潜在维度表现出明显不同的行为

7. 与编码理论的关系

编码器-解码器结构是编码理论或压缩理论(Cover & Thomas, 2006)的经典主题。它涉及设计可以有效传输到有限容量通信信道上的编码。香农发展的经典编码理论考虑了速率(平均压缩量)和失真(预期重建误差)之间的权衡。然而,最近从生成建模的角度出发的研究揭示了实际上涉及到第三个组成部分的权衡:原始数据和解码数据之间的分布偏移(Blau & Michaeli, 2019)。第三个组成部分也被称为“感知质量”,因为它衡量了重建数据的感知逼真程度,即对细节的忠实表示和缺少人工痕迹。例如,感知质量由GAN的鉴别器来衡量和鼓励,而低失真则由自编码器的重建误差来优化。

为了说明这些概念对我们的生成模型分类的相关性,我们首先回顾一些重要的定义。编码器-解码器模型涉及三个随机变量 X(原始数据)、Z(编码)和(重建数据),它们的联合分布被定义为:

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
对于某些距离 δ(例如汉明距离、平方距离或感知距离),失真度量了个体实例的预期重建误差。

类似地,对于某些散度 ∆(例如 KL 散度、总变差、Wasserstein 距离),感知质量指数衡量了真实数据和生成数据之间的分布偏移。

Blau 和 Michaeli (2019) 现在将速率失真感知函数定义为

其中,I 是原始数据和重建数据之间的互信息,最小化是针对我们选择的编码器和解码器族中的所有可能编码器和解码器进行的。互信息有效地衡量了编码 Z 的容量,因此取决于瓶颈大小。经典的率失真函数通过设定 ∆max = ∞ 来恢复,即忽略感知质量指数。

Blau 和 Michaeli (2019) 的关键见解是证明了在 (104) 中同时最小化所有三个项是不可能的。例如,在固定率的情况下最小化失真会导致简化的、卡通般的重建,缺乏逼真感,并且很容易被识别为合成的,见图 2。幸运的是,这种权衡相当温和:失真和逼真之间的冲突通常只在相对低的速率下表现出来。此外,Blau 和 Michaeli (2019) 证明了对于 平方重建误差,,以固定速率实现完美逼真总是可以在不增加两倍以上失真的情况下实现 。我们四种类型的生成模型代表了随后的三重权衡的不同解决方案:

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

- 可逆流在无损编码的代价下实现了零失真和零分布偏移。

- 注入流允许调整压缩率同时保持低重建误差,但牺牲了重建数据的多样性: 限制在解码器流形 M 中,并且不覆盖整个数据域 X 。

- 随机流在任何压缩率下生成正确的数据分布 ,但导致非确定性编码 。这会导致重建误差的增加。甚至可能存在()解码器忽略编码并且作为目标分布的无条件生成模型,此时输入和重建不相关,且期望重建误差达到最大值。

- 分裂流允许自由调整三个目标之间的权衡。在 (Agustsson 等人,2023) 中提出了一种初始的、尽管经过了重度工程设计的、具有逼真和失真之间可调整的架构。

核心公式:

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

1 引言

变量变换(CoV)公式允许我们将复杂的概率密度p(X)表示为更简单且已知的p(Z),利用变量X和Z之间的适当变换。变量变换公式之所以流行,是因为它们在正规化流(NFs)的训练和应用中发挥着核心作用。不太为人所知的是,像自动编码器和变分自动编码器这样的瓶颈架构,以及许多其他模型类型,也允许类似的公式。此外,现有的综述,例如(无),只涵盖了单一模型类型的变量变换公式。这激发了我们对所有模型架构进行系统性综述的动力,其结果在本文中呈现。

允许变量变换公式的模型能够进行密度估计——即,它们可以有效地计算给定数据实例x的概率密度p(X = x)。密度估计是各种下游任务的重要推动者,例如贝叶斯数据推断、异常值检测、竞争假设的比较,或者组合成更大的统计模型,仅举几例。它还使得最大似然训练成为可能,这是一种理论上吸引人的方法,通过最小化真实分布和近似分布之间的KL散度KL[p*(X)|| p(X)]来优化模型性能。

为了理解变量变换公式之间的共性和差异,我们考虑它们在生成模型的背景下——即,不仅可以计算给定数据实例的密度,还可以根据感兴趣的密度创建合成数据x ~ p(X)的模型。这两个任务对应于相反的模型执行方向:密度估计将数据从X空间转换到Z空间(称为编码),而生成则相反(解码)。因此,我们称Z变量为代码codes,它们与数据X的关系可以是确定性的,x = g(z),或随机的,x ~ p(X | Z =z)(见第2节的符号细节)

联合处理编码和解码是有益的,因为两个方向之间的一致性(或不一致性)是分析和理解模型属性的强大工具。变量变换公式对于不同的模型架构采取许多不同的形式,这取决于:

• Z的维度是小于、大于还是等于X的维度,

• 模型是随机的还是确定性的,

• 变换是作为函数的有限组合实现的(例如神经网络的层),还是作为无限小步骤序列实现的(例如常微分方程),

• 代码及其与数据的关系是否事先已知(支持监督学习),或不是(需要无监督学习)。

由这些差异引导的分类使我们识别出四种基本的模型类型:

双射流:解码器实现了从代码到数据空间的确定性双射映射,编码器是其逆映射。数据和代码具有相同的维度,编码是无损的。可逆神经网络和扩散模型是这类模型的流行实例(见第3节)。

注入流:注入模型具有瓶颈架构——即,代码的维度少于数据。因此,编码通常是有损的,除非数据最初就“位于”一个更低维度的子空间中。解码器和编码器都是确定性的。解码器将代码注入性地映射到嵌入在数据空间中的流形上,编码器是(或在实践中,近似是)其满射伪逆。自动编码器是这种架构的主要例子(第5节)。“注入流”一词由Kumar等人(2020)首次提出。

分割流:这种模型类型结合了双射流和注入流的特性,支持无损和有损编码。在无损模式下,分割流以双射方式工作,但将代码空间分割成“核心”和“细节”部分。前者编码数据的基本属性,后者编码与核心行为的偏差。在有损模式下,忽略编码器的细节输出,并只考虑核心维度作为代码。解码器将这些核心代码映射到嵌入在数据空间中的流形上,但还额外采样适当的流形外偏差以重建完整的数据分布。因此,分割流结合了确定性编码器和随机解码器。这种模型类型在深度学习的背景下相对少有人关注,去噪正规化流(Horvat & Pfister, 2021,见第6.3节)和一般不可压缩流(GIN,Sorrenson等人,2019,见第3.1节)是我们所知道的两个值得注意的例子。

随机流:在这里,编码器和解码器都是随机的,并且分别实现条件概率p(Z | X)和p(X | Z),而不是函数z = f(x)和x = g(z)。因此,给定数据实例没有唯一的代码,给定代码也没有唯一的数据点,编码始终是有损的。这种模型类型可能采用瓶颈(如变分自动编码器,第4.2节)或保留数据维度(如随机微分方程的扩散,第4.3节)。

有趣的是,这些类型代表了现代编码理论确定的三重权衡之间的替代解决方案,即编码速率、重建误差和生成数据的感知质量之间的权衡。我们将在第7节讨论这种联系。

between coding rate, reconstruction error, and perceptual quality of the generated data

让我们用一个二维高斯数据分布来说明这四种类型之间的差异。

1. 双射流通过可逆确定性变换从标准正态代码分布完美地生成此分布

打开网易新闻 查看精彩图片

此外,代码空间的任何旋转(以及 z 的任何其他保持分布的变换)也将产生有效的双射流。

2.单射流可以实现为具有一维代码空间的自动编码器。由于解码器是确定性的,因此它只能生成数据分布的一维近似值。当该近似与数据的主轴(即 x1 方向)对齐时,平方重建误差将最小化:

打开网易新闻 查看精彩图片

其中ρ是X1和Z之间的相关性。很容易看出,这准确地生成了p*(X)。编码器和解码器不再是确定性函数,而是条件概率

打开网易新闻 查看精彩图片

边缘代码分布再次为标准正态分布,p(Z) = N (0, 1)。随机流的主要特征是可以从(无限多个)不同的 z 生成相同的 x,或者等效地,可以将多个代码分配给任何给定的 x。

4. 分割流扩展了自动编码器:它添加了第二个随机解码器阶段,以恢复因代码瓶颈而产生的缺失维度并生成完整分布 p*(X)。(3) 中的编码器和解码器的第一级保持不变:

打开网易新闻 查看精彩图片

在这个例子中,x2与x1是独立的,但这只是一个巧合。分割流与随机流的区别在于它保持了一个确定性的编码器,因此为每个x分配了恰好一个代码。分割流可以通过强制将双射流的代码空间分割为核心和细节部分来派生。在(2)中的代码空间碰巧是这样排序的。因此,(6)的行为可以通过在编码后丢弃代码变量z2,并在解码前采样一个新的值z2 ~ N(0, 1)来使用我们的双射流复制。同样,通过在解码前设置z2 = 0,可以获得(3)中自动编码器的行为。这很好地说明了分割流支持的不同模式。

打开网易新闻 查看精彩图片

另一个玩具示例是考虑一个二维的均匀分布,该分布在一个内部(内部)半径R0 = 3和外部(外部)半径R1 = 8的甜甜圈上,如图1a所示。根据构造,甜甜圈上的真实(均匀)密度是面积的倒数。

四种模型类型以根本不同的方式表示这种分布。一个双射流(图1b)从标准正态分布中采样代码(灰色点),并将它们径向传输到均匀甜甜圈分布的适当位置。一个作为标准自动编码器实现的注入流(图1c),具有一维瓶颈,通过最小化平方重建误差,在一维子集上生成数据。由于问题的对称性,代码跨越区间[0, 2π),重建是半径约为RM ≈ 5.88的圆上均匀分布。扩展自动编码器,一个分割流(图1d)首先在圆上均匀采样点,形成数据的“核心”(灰色),但然后通过从“细节”分布(蓝色)中第二次随机抽取,径向移动这些点。类似地,一个随机流(图1e)首先在“核心”圆上采样(灰色),但然后在甜甜圈的一个楔形段内二维移动点(蓝色)。模型(b)、(d)和(e)都精确地生成目标分布,而模型(c)是一个近似值。我们将在附录A中为这些示例推导出确切的分析变量变换公式。

在本文中,我们旨在以系统的方式呈现各种变量变换公式。具体来说,我们将阐明解码器架构和诱导的CoV公式之间的关系,讨论高效的CoV计算,并指出学习和推断中可能出现的一些新后果。我们认为,感兴趣的研究人员将从统一而全面的介绍中受益,了解这些公式隐藏的广泛可能性和重要的潜在陷阱。已经熟悉双射映射的经典CoV公式的读者可能想要关注第5节和第6节,这些部分将这些概念推广到注入和分割架构。

2 基本概念

符号:大写字母X, Z表示随机向量,小写字母x, z表示它们对应的实现(实例)。大写字母也用于表示矩阵,但区别应该总是从上下文中清楚。冒号符号Xi:j选择X的子向量,索引从i到j(包括)。向量被理解为列向量,对向量的导数作为行向量,这样雅可比矩阵 的维度为dim(x) × dim(z)。算子diag(x)从向量x构造一个对角矩阵。符号✶[条件] = 1(如果条件=true)和0(如果条件=false)是给定条件的指示函数。函数或概率度量的定义域用dom(.)表示。我们写!=来表示一个不普遍成立的等式,但必须通过模型设计和/或训练强制执行。同样,?=表示一个假设的等式,在当前上下文中结果证明是不正确的。

打开网易新闻 查看精彩图片

为了导出这些生成模型的理论并在实践中训练它们,定义互补编码器很有用,它反转解码器的动作并将数据 x 转换为相应的代码 z。“invert”的具体含义取决于解码器的具体类型,并通过自洽要求来表达。在确定性情况下,编码器是一个满足以下条件的函数 z = f(x)

打开网易新闻 查看精彩图片

随机编码器由条件 z ∼ p(Z | X) 表示。这里,自一致性意味着编码器和解码器导出的 x 和 z 的联合分布必须相同:

这是 ELBO 目标针对变分自动编码器训练优化的标准。当编码器和解码器为独立模型时,自洽公式(10)至(12)往往只能近似满足,偏差程度是模型不准确的重要指标。

请注意,我们将用概率密度 p(X) 来表达变量变化公式,而在实践中,它们主要以对数密度 log p(X) 的等价但在数值上更稳健的形式使用。所有结果都可以轻松地转移到该约定中。

3 双射流

双射流是变量变换公式出现的典型设置。它们也被称为正规化流normalizing flows,因为CoV公式确保推断出的密度p(X)被正确地正规化。这两个术语都指的是解码器是从Z到X的确定性双射映射的模型。显然,这要求dim(X) = dim(Z),并导致将x无损地编码为z再反向转换。normalizing flows正规化流的概念由(Rezende & Mohamed, 2015)引入到机器学习中,有关近期综述见()。

3.1 有限组合:双射解码器函数

有限组合通过有限序列的更简单的双射层,明确表示双射解码器函数x = g(z),例如通过可逆神经网络将复杂的双射变换简化。为了使模型自洽,编码器必须实现解码器的确切逆函数,由于双射性,我们知道这个逆函数必定存在。许多成功的架构首先通过实现编码器不是作为一个独立的函数,而是简单地反向运行解码器,来避免潜在的不一致性。

代码分布的最流行选择是标准正态分布, ,但其他代码分布也被成功使用过,例如学生t分布、张量列(Khoo et al., 2023)或高斯混合体(见下文和第4.1节)。关键要求是p(Z)必须是已知的并且易于处理的。然后,生成数据分布在推导(8)中给出,导致著名的双射变量变换公式(这是积分的一般变量变换公式的直接结果)

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

通过保持各个行列式恒定(线性层)、将它们扩展为截断级数(残差层)或强制执行三角雅克比行列式(耦合和行为范数层),可以提高各个行列式的计算效率。第 8 节提供了有关雅可比行列式计算的更多细节。不可压缩流避免了有效行列式计算的复杂性,不可压缩流的设计使得 对于所有 x 和 z,因此 我们得到

不可压缩流可以通过将 g(z) 限制为等距(例如,x = Q · z + µ 以及 PCA、逆傅里叶变换或小波变换中的正交矩阵 Q)来实现,或者使用保证单位的特殊架构 决定因素,例如 NICE(Dinh 等人,2014)或 GIN(Sorrenson 等人,2019)。然而,不可压缩流的表现力比无约束流要低得多。例如,他们无法更改 p(Z) 和 p(X) 之间的模式数量。

另一方面,可以通过更复杂的代码分布来提高模型的表达能力。有两种流行的选择:高斯混合模型 (GMM) 和矢量量化 (VQ)。在GMM flows ()中,代码分布定义为

打开网易新闻 查看精彩图片

数据实例具有自然标签(例如 MNIST 数字或 ImageNet 类别)时,GMM 流特别有用。这允许对潜在结构进行监督学习:类 k 的实例仅影响相应的混合分量,而所有类共享相同的流 f(x)。然而,当混合成分的协方差也被学习时,损失可能会发散。通过使用不可压缩流可以避免这种情况(Sorrenson 等人,2019)。对 GMM 流进行无监督学习的尝试尚无定论(例如,Willetts & Paige,2021 年的附录 F)。

可微分曲面细分 (Chen et al., 2022) 和 VQ 流 (Sidheakh et al., 2022) 不是将数据点软分配给混合组件,而是使用类似于 K-means1 的硬聚类分配。为此,VQ 流训练一个附加的聚类分配函数 k = h(x),该函数返回实例 x 的(唯一)聚类标签。然后,为每个簇学习单独的归一化流 。我们将在第 5.4 节中更详细地讨论该方法,并且仅在此处报告所得的变量变化公式: 当数据分布 p*(X) 由多个不相连的分量组成时,此方法特别有用。标准标准化流很难表示这种分布,因为它们会导致雅可比行列式爆炸或消失。然而,VQ 流的主要用例是嵌入式流形的建模,我们将在 5.4 节中对此进行讨论。

3.2 无穷小组合:确定性扩散过程

在这种设置中,编码器和解码器不是由双射神经网络定义的,而是由在目标分布 p(X) 和潜在分布 p(Z) (). 之间隐式转换的连续扩散过程定义的。请注意,我们反转了这些论文中使用的时间方向,以便与第 4 节中的马尔可夫链和随机微分方程模型保持一致。无穷小归一化流的编码器由常微分方程 (ODE) 定义

打开网易新闻 查看精彩图片

因此,连续流的总变量变化可以通过在时间上向前积分该表达式来获得,就像流本身一样:

打开网易新闻 查看精彩图片

4 随机流

随机流的特点是给定的 x 不是分配给唯一的代码 f(x),而是分配给从条件编码器分布 z ∼ p(Z | X = x) 中提取的一组代码。这导致了一个重要的结果:联合编码器分布 pE(X, Z) = p(X) p(Z | X) 是非退化密度,而双射编码器具有退化联合密度 pE(X, Z) = p(X) δ z − f(x) 。为了根据方程(12)实现自一致性,解码器现在也必须是随机的,并生成相同的联合分布

打开网易新闻 查看精彩图片

定义随机流的生成分布 p(X) 的一种直接可能性是边缘化 Z 上的联合解码器分布 pD(X, Z)

然而,这种表达虽然乍一看很简单,但在实践中却往往很棘手。下面,我们首先讨论一个重要的易处理变体,即离散混合模型,然后考虑在数值上更简单的 p(X) 的替代展开式。

4.1 混合模型

打开网易新闻 查看精彩图片

编码器对应于后验 p(Z = k | X = x),其中每个代码 k 的概率表示 x 在相应分量 中的隶属度。因此,当通过贝叶斯规则隐式定义编码器时,自动确保了自身一致性

可能会让人惊讶的是,众所周知的GMM方程(27)被解释为变量变换公式,但X和Z之间的关系恰恰符合我们对随机编码器/解码器架构的定义。稍后我们将看到,这种观点也为其他经典模型带来了有趣的新视角。

GMM和NF的思想可以结合在一起,形成GMM流,即其编码分布是GMM而不是标准正态分布的NF。尽管我们已经在第3.1节中介绍了这些模型,但在这里我们采取了稍微不同的视角:与当前讨论一致,我们使用GMM的混合成分标签来定义一个有限的代码集合Z ∈ {1, ..., C}。因此,我们必须将流的潜变量(在第3.1节中充当代码的角色)重命名为Sx。以这种方式表达,GMM流变成了数据和代码的联合分布上的随机流。以随机解码器为条件,重新编写它们,给出

当然,这种重新解释并没有改变边际数据分布p(X),它仍然由变量变化公式(18)给出。然而,它表明 GMM 流的解码器可以解释为具有联合分布

4.2 贝叶斯模型和马尔可夫链

打开网易新闻 查看精彩图片

如果满足自洽要求(12),我们就可以避免棘手的边缘化(26),而是通过重新排列贝叶斯规则来写 p(X):

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

在自洽随机流中,这种差异应该为零。它可以通过 KL 散度的二阶泰勒展开来轻松估计,它给出

打开网易新闻 查看精彩图片

自洽性意味着当初始状态固定为X = x时,编码器链的每个执行路径z1,..., zT的右手边给出相同的值。

通过对Z1,..., ZT −1进行边际化并令Z := ZT,可以恢复出一个一步贝叶斯编码器/解码器对。相反,让T → ∞导致连续时间模型表达为随机微分方程,参见第4.3节。关于马尔可夫链编码器/解码器的深入讨论可以在(Hagemann等人,2022)中找到,其名称为随机归一化流。在(Wu等人,2020)中考虑了有趣的特殊情况,他们提出了交替确定性(耦合)和随机层的归一化流,并展示了该架构的卓越表达能力。他们工作的一个关键贡献是推导出单个随机层的变量变换贡献的简单解析表达式。

打开网易新闻 查看精彩图片

不幸的是,很难将此表达式转换为变量变化公式,因为 上的边际化很棘手,并且编码器链的互补条件 是未知的,因此 (36) 不适用。

4.2.1 变分自编码器

贝叶斯编码器/解码器架构的典型示例是变分自动编码器(VAE,Kingma & Welling,2014),它通常包含瓶颈 dim(Z) < dim(X)。其边缘码分布是标准正态分布,编码器和解码器条件通常定义为对角高斯分布,其参数分别为

是确定性函数,即 该模型实现了平均场近似。贝叶斯 CoV 公式 (30) 专门用于

其中,对于所有 z 和固定 x,RHS 必须再次保持不变。另一方面,当 很小时,可以有效地忽略代码和数据的可变性,这将 VAE 变成确定性自动编码器的近似,请参见第 5.2 节。

4.2.2 成对条件标准化流

VAE 对对角高斯的限制可以通过更具表现力的架构来避免,特别是条件归一化流 ()。条件 NF 实现了类似于 (29) 的条件前推,但它们不是调节潜在分布,而是使用 z 来参数化变换 g(.):

再次说明,Sx表示流的潜变量,其维度为dim(Sx) = dim(X),并且其已知分布为p(Sx),通常是标准正态分布。与方程(29)中的编码分布的GMM表示形成对比,Z不再限制为离散的。函数g(sx; z)必须相对于其第一个参数可逆,但不一定对于第二个参数可逆。这个条件推进的存在由强函数表示引理(Li & El Gamal, 2018)保证。它推广了VAE的参数重参数化技巧,并且也被称为“噪声外包”(Bloem-Reddy & Teh, 2020),因为在固定z后剩余的X中的不确定性被通过逆函数g−1(x; z)“委派”给了辅助变量Sx。现在可以通过条件变量变换公式来表达解码器分布。

打开网易新闻 查看精彩图片

我们不知道现有的工作中是否使用了条件归一化流的编码器/解码器对进行无监督学习编码,但在基于模拟的推断(SBI,Cranmer等人,2020)的背景下,该方法显示出了作为监督学习方法的巨大潜力:可以将(39)中的函数g(.)解释为具有结果x的模拟程序(例如,常微分方程组,ODEs)。这里的变量z扮演着可调整的模拟参数的角色,其先验分布为p(Z)(例如,ODE的系数和初始条件),而sx是一个具有分布p(Sx)的随机向量,表示观测噪声。原则上,可以直接使用模拟作为概率解码器,但(40)中的雅可比矩阵通常难以计算。相反,可以使用模拟生成一个训练集,其中包含参数-结果对{(zi, xi)}N_i=1,以便对条件NF编码器/解码器对进行监督学习。得到的解码器p(X | Z)用作原始模拟的概率替代,而编码器p(Z | X)则表示给定观测的参数后验分布。这项技术由(Radev等人,2023)深入探讨,他们表明条件NF对可以实现高度的自洽性。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

4.3 随机微分方程

随机微分方程(SDEs)是马尔可夫链的连续对应物,就像常微分方程(参见第3.2节)是归一化流的连续版本一样。这种方法首先通过Wiener过程dw()定义一个逐渐向数据添加高斯噪声的编码器。

打开网易新闻 查看精彩图片

(Song et al., 2021) 中讨论的第二种策略根据以下公式将解码器 SDE 简化为常微分方程(如第 3.2 节所述)

打开网易新闻 查看精彩图片

4.4 增强代码Augmented Codes

当代码维度大于数据维度时,我们称之为具有增强代码的模型。这必然导致随机流动,因为模型至少有C > D个独立变量。这种想法的一个有趣实例是增强的规范化流(Huang et al .,2020)。它通过将分布为p *(Y)(通常为标准正态)的噪声向量与原始数据X连接起来,在数据空间中定义了一个新的变量 。由于噪声与数据无关,因此增广变量的真实分布是其成分的乘积

现在通过标准归一化流程学习此分布,从而得出通常的双射变量变化公式

打开网易新闻 查看精彩图片

增强规范化流程背后的思想是,扩大的数据空间有助于将 转换为标准的正常代码分布p(Z)。然而,由于自然数据的内在维度往往比环境维度小得多,因此已经有足够的备用空间来准确学习转换而无需增加。因此,尚不清楚在何种条件下增大的标准化流量更优越。

5 单射流

一个可逆流的定义特性是潜变量维度小于数据维度,即dim(Z) < dim(X),也就是说,编码形成了一个信息瓶颈(Tishby等人,2000)。一般来说,这导致了一种有损编码,并鼓励编码器集中于数据的核心特性。与随机流相比,后者是通过随机编码器实现瓶颈的,本节讨论具有确定性编码器的模型。这样的架构已经在(Nielsen等人,2020)中进行了深入研究,以SurVAE流的名称出现,这个术语强调了编码器的满射性质。有趣的是,确定性瓶颈编码器可以与确定性或随机解码器结合使用,从而产生基本不同的“可逆流”(在此处讨论)和“分裂流”(在第6节讨论)。

可逆流的典型例子是自编码器。根据(10),自编码器的自洽性要求解码器是一个可逆函数,而编码器是它的伪逆(精确地说是左逆)满射函数。由于我们假设X具有完整维度D,维度C < D的可逆流不能为X中的每个x ∈ X 定义p(X),而只能为解码器可达的子集定义,即解码器流形:

打开网易新闻 查看精彩图片

我们将 x ∈ M 缩写为 xM。自我一致性要求现在可以等价地表示为 换句话说,点 xM 被无损失压缩,而所有其他 x 都经历有损压缩。映射到相同代码 z 的实例 x 的等价类分别称为z resp. x

我们以 作为纤维F(x)的代表。纤维 的并集跨越整个空间 X 。由于来自同一光纤的点的编码器输出相等,因此我们将光纤解释为编码器的零空间,类似于线性投影的零空间。请注意,编码器表示的伪逆并不是唯一的 - 它必须只是解码器在流形上的精确逆。因此,即使流形是固定的,不同的编码器也可能会导致不同的光纤几何形状。反之亦然:如果编码器是固定的,则这确定了纤维,但生成器仍然可以自由选择给定纤维中的任何点作为其代表。

5.1 学习代码分布

为了使自动编码器能够用作生成模型,必须确保代码分布 p(Z) 已知。当通过最小化某种形式的重建损失来以标准方式训练自动编码器时,情况并非如此,因为这会导致未知且通常复杂的诱导代码分布

解决这个问题有两种基本策略:将额外的损失项纳入训练目标中,或者后期学习pE(Z)。为了实现第一种策略,Zhao等人(2019)提出最小化最大均值差异(MMD)MMD(pE(Z), p(Z))来将pE(Z)拉向期望的p(Z),而Saha等人(2022)最小化了Jensen-Shannon散度的核近似,而(Sorrenson等人,2023)则使用重构误差和最大似然损失的线性组合。感知生成自编码器(Zhang等人,2020)添加损失项以在先验和诱导编码分布下强制自编码器自洽性。在收敛时,这意味着pE(Z) = p(Z)。可逆GAN(Ghosh等人,2022)增强了标准GAN,使鉴别器也扮演编码器的角色,即它使用额外的输出头将数据点x转换为相应的代码z,除了将其分类为真实或虚假。现在,Z空间中的重构损失确保pE(Z)收敛到GAN的先验p(Z)。

后期策略建立在传统训练的自编码器之上,并为pE(Z)添加了一个独立的密度模型,然后定义p(Z) := pE(Z)。生成潜在流(Xiao等人,2019)和概率自编码器(B¨ohm和Seljak,2020)用归一化流对pE(Z)建模,将分布pE(Z)转换为第二个潜在空间Z',其中p(Z') = N(0, I)。现在,有效的编码器和解码器函数分别为z' = ϕ(f(x))和x = g(γ(z')),其中γ和ϕ = γ^(-1)表示归一化流学习到的双射。可逆解释网络(Esser等人,2020)应用相同的架构,其额外目标是使Z'在语义上解开。使用“潜在扩散”进行图像生成(Rombach等人,2022)(随后重新实现为“稳定扩散”)使用连续归一化流,其受到给定用户提示的条件约束,以引导代码分布朝向所需的语义内容。还使用了其他密度估计器,例如高斯分布和高斯混合(Ghosh等人,2020),能量模型(),或者向量量化后的离散分布,如VQ-VAEs(van den Oord等人,2017)。

打开网易新闻 查看精彩图片

5.2 自动编码器

在接下来的讨论中,我们假设自编码器具有已知的编码分布p(Z),因为这是它具有变量变换公式的前提条件。为了推导出相应的变量变换公式,需要注意到体积变化不能再由雅可比行列式来表示,因为雅可比矩阵现在是一个具有未定义行列式的矩形矩阵(相比之下,双射情况下的雅可比矩阵(13)是方阵)。事实证明,这个问题可以通过计算平方雅可比矩阵的行列式(其维度为C × C)并将体积变化与其平方根等价来解决。另一个关键的区别是自编码器的变量变换公式不代表单个数据点x的概率,而是整个纤维F(x)的概率,因为每个编码z收集了相应纤维F(z)的整个概率质量。因此,我们得到了()。

为了清晰起见,我们将在当前数据点处对行列式进行评估,记为Jg = Jg(z)。直觉上,p F(z)) 是一个虚拟数据集的密度,其中每个点x都被移动到其代表点xM = g(f(x))的位置。因此,公式(56)在流形M上定义了一个密度,而不是嵌入空间X上的密度,这与解码器仅具有dim(Z)自由度一致,而不是dim(X)所需的完全对X进行建模。图1c用一个简单的二维例子演示了这种行为。在实践中,如果所有数据点都非常接近M,即x ≈ xM时,可以将(56)解释为x的近似密度。第5.4节描述了针对确切位于已知流形上的数据的特定模型设计,第6节讨论了如何扩展公式(56)以覆盖整个空间X,以处理不在(或接近)M上的数据。

要理解为什么自编码器不能为整个空间X定义概率分布,考虑编码器的假设补充变量变换公式。

为了清晰起见,再次说明,Jf = Jf(x)。在双射情况下(13),编码器和解码器版本的变量变换公式是等价的,但这只对这里的点xM ∈ M成立。远离M,根据定义,所有点x ∈ F(x)的编码概率p(Z = f(x))都是恒定的,而纤维内的诱导概率仅由变化的行列式项引起变化。换句话说,这个概率仅由f(x)的几何形状确定,几乎肯定不会复制出沿着纤维的真实分布p∗(x ∈ F(x))的实际变化,因为这个表达式不是用于训练f(x)的重构损失的一部分。

已经研究了各种特殊情况,以使公式(56)中的雅可比行列式更易处理。Cunningham和Fiterau(2021)考虑了线性模型。在这里,解码器和编码器由大小为D × C的矩阵W以及其伪逆 定义:

打开网易新闻 查看精彩图片

原则上,这个公式将PCA中的降维转化为一个生成模型。然而,在实践中,这并不十分成功,因为PCA的基本假设——数据分布近似为高斯分布——很少得到满足。因此,公式(59)中的编码分布p(Z)通常是复杂的,并且必须通过对诱导编码分布 进行后期估计来学习,如第5.1节所述。如果我们简单地假设一个标准正态的编码分布,那么得到的生成模型将无法很好地逼近p∗(X)。

(Nielsen等人,2020)推导了用于基本满射操作的特殊变量变换公式——张量切片、绝对值、ReLU、四舍五入、最大/最小值和排序——以及它们的逆向对应表达式。这些公式主要用于定义多层架构中的特殊层。例如,M流(Brehmer和Cranmer,2020)和矩形流(Caterini等人,2021)将填充(切片的逆操作)与两个双射函数结合起来定义解码器和编码器,如下所示:

打开网易新闻 查看精彩图片

5.3 有限代码自动编码器

当考虑有限代码 Z ∈ {1, ..., K} 时,自动编码器无法生成整个空间 X 的问题变得更加明显。F(k) 现在更恰当地称为面,并且具有与 X 相同的维度。他们定义了 X 的分区,使得 流行的面类型的示例包括网格的像素、Voronoi K 均值聚类的区域,以及直方图或密度树的箱。因此,这些方法和其他经典方法是本节意义上的单射流。 不再是流形,而是表示 的有限集合,例如面的几何质心或其概率质量中心。编码器和解码器功能变为

当facets被定义为Voronoi区域时,数据被分配给相对于某些范数(通常是欧几里德)的最接近的代表

打开网易新闻 查看精彩图片
面的 CoV 公式是 delta 分布的混合,由代码概率加权,以便采样返回代表 及其适当的频率。我们将该公式称为“K-means CoV”,但它同样适用于提到的其他离散化方法。
打开网易新闻 查看精彩图片

打开网易新闻 查看精彩图片

VQ 自动编码器解决了标准 K-means 的一个主要问题:由于 K-means 根据代表的 Voronoi 区域定义了数据空间分区,因此它需要一个根据数据实例的语义相似性对数据实例进行分组的度量。在大多数应用中,没有这样的度量是已知的,而是采用标准度量(例如欧几里得距离),而这些度量通常无法产生有意义的分组。相反,学习的预编码重新排列数据,使得欧几里德距离在嵌入空间中变得在语义上有意义,从而将数据实例更有用地分配给代表。

为了实现图像等复杂数据类型的解码器输出的多样性,代码K的数量必须非常大。VQ 自动编码器通过使用相对较小(例如 K0 = 512)的本地代码集,并将原始输入表示为本地代码的低分辨率数组(大小为 w × h = 32 × 32 ... 128 × 128,取决于原始图像大小)。有效代码size 则为 ,并且先验 p(Z) 被分解为本地代码数组上的联合分布

然后通过自回归网络(例如 PixelCNN)(van den Oord 等人,2016)学习该分布。

为了用更少的代码确保分集,分布保持有损压缩(DPLC)提出优雅的随机解码器设计()。在其最简单的形式中,该方法假设代码位于一个有限的规则网格, 。那么解码器可以被训练来生成整个面的分布p(X = x |F(z))来自噪声码z' = z + s,s~uniform(–0.5,0.5)C,此外还返回未扰动代码z的良好代表为±2 .请注意,噪声的选择应确保z’不会泄漏到相邻面中。K = 22时该方法的结果.....212在第7部分的图2中示出。所得到的架构类似于分流,但仍然是内射流,因为解码器流形M的维度不能超过噪声8的维度。

打开网易新闻 查看精彩图片

5.4 嵌入式流形的数据

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

由于全局共形映射对于大多数感兴趣的问题来说限制性太大,(Ross & Cresswell,2021)建议将这一要求放宽到分段共形映射。这个想法的一个特别有趣的实现是 VQ 流(Sidheakh 等人,2022)。这里,M不是用单个图表来表示,而是用图集(即图表的集合)来表示。为了决定负责每个点 x 的图表,它们采用与 VQ 自动编码器相同的方法:附加编码器 将数据映射到某个特征空间,其中图表成员资格由最近的代表确定: 。因此,h(x) 返回图表标签,并且为每个图表学习一个单独的共形流

打开网易新闻 查看精彩图片

由于图表可以任意缩小,每个共形变换ϕk只负责M的几何的一小部分,这缓解了全局共形映射的限制。Sidheekh等人(2022年)报告了嵌入3D中的二维流形的非常好的结果,但目前还不清楚该方法如何扩展到更高维度(请参阅Alberti等人,2023年的讨论)。

标准归一化流不能精确表示嵌入流形上的分布,因为维度不匹配会阻止映射成为双射。然而,它们可以使用SoftFlow方法(Kim等人,2020年)或等效地,条件去噪NFs(Loaiza-Ganem等人,2022年)以高精度近似地学习这些分布。这些方法不是学习p(x ∈ M),而是学习噪声数据p(x + ϵ)的模型,其中 是高斯分布。由于x + ϵ是一个D维集合,它可以被归一化流学习。关键是,这个归一化流是根据噪声水平σ进行条件化的,并且在训练过程中,噪声水平根据某些先验分布(如σ∼Uniform(σmin, σmax))进行变化。通过这种方式,条件归一化流学习了数据在M周围的扩散如何随给定的噪声水平σ而变化。为了近似生成M上的数据,收敛的模型在噪声水平 下执行,给出变量变换公式。

然而,Loaiza-Ganem等人(2022年)的实验表明, 不能像人们希望的那样被设置得非常小——模型的性能在某个下限处饱和,并且通过减小 并不会进一步改善。

6 分割流

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

标准化自编码器(Yoon等人,2021年)是式(75)的直接实现,尽管该论文没有以这种方式呈现该方法。作者建议通过一个基于数据点及其重构之间的平方距离的Gibbs分布来实现纤维条件: 其中B是归一化常数,T是温度。这相当于假设纤维中的数据密度是以M为中心的高斯分布。由于这个分布是假设的而不是学习的,他们的训练算法作用于编码器函数f(x),并操纵了纤维的几何结构,即改变了代表点bx的放置位置以及将哪些点投影到每个代表点上。他们方法的样本看起来很有希望,但这只是初步的,因为该论文的重点是异常值检测,而不是生成建模。

6.1 离散和线性分流流

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

因此,Cunningham 和 Fiterau (2021) 得出以下变量变化公式,它是 (59) 的扩展和 (75) 的特例

打开网易新闻 查看精彩图片

6.2 使用预定义编码器分割流

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

6.3 学习标准化流中的分割

虽然着色和上采样示例使用预定义的转换φ(例如,RGB到Lab转换,小波变换),但各种作者已将这个想法推广到作为有限或连续归一化流学习的φ。我们将这个模型类称为分裂归一化流,因为分裂流的概念是通过一个归一化流实现的,其编码空间Z被分割为一个C维核心部分Zc和一个(D - C)维细节部分Zd。这两个子空间定义了一个解码器流形M和纤维F(zc),其关系如下:

打开网易新闻 查看精彩图片

很容易看出,(81) 是这些具有线性 的公式的特例。这些定义的关键属性是双射性保证一根光纤的前推 (87) 永远不会泄漏到另一根光纤中的点。换句话说,分割规范化流是通过构造分割流。这分割 NF 的确定性编码器定义为

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

在第二个方程中,我们根据第13和40式展开了编码概率。Brehmer和Cranmer(2020年)在M-flow实验中表现良好,尽管没有学习ψd,但两阶段的训练过程——首先通过最小化重构损失(89)来学习b φ,然后通过最大化数据似然性(94)来学习ψc和ψd。此外,一些最近的结果表明,改进的优化方法也将允许φ和ψc的联合学习(Caterini等人,2021年)。

另一种训练策略由去噪归一化流(Horvat & Pfister,2021年)提出,它使用了方程(91)和(92)的简化版本,将ψd作为恒等函数,从而从(94)中消除了 。作者做出了关键假设,即数据集中在嵌入流形M附近,这意味着在流形内的数据变化要比垂直于流形的数据变化大得多。换句话说,存在一系列方差 ,使得 大于流形外的数据方差,但σ^2_2仍然远小于流形内的方差。当现在的数据被高斯噪声在 和 间增加时,噪声不会明显改变M内的观察方差,但会显著增加M的零空间内的方差。因此,他们通过对核心维度上的M-flow的重构损失与整个编码的最大似然损失相结合的训练目标来检测核心维度,同时对细节受到噪声的影响。实验表明,在像2-D螺旋或StyleGAN生成的图像等具有挑战性的数据集上,核心和细节之间有良好的分离。

通过归一化流将代码空间分割为核心和细节维度的分裂流的实现,突显了该方法的双重性质:当我们一起考虑核心和细节时,模型的行为类似于具有无损双射编码的标准归一化流。然而,当我们将代码的细节部分归零并仅保留核心时,我们得到的是一个有损满射编码。然后,从它们的潜在分布中对新的细节进行采样会得到一个保留原始数据实例本质但在细节上有所不同的重构。

6.4 解缠结的标准化流

打开网易新闻 查看精彩图片

嵌套 dropout 归一化流(Bekasovs & Murray,2020)通过对代码维度应用 dropout 来强制执行代码维度的重要性排序:在每次训练迭代中,从整数 1...C 上的几何分布中采样索引 k,并且 在解码之前,所有代码维度 z>k 都设置为零。所得重建的平方误差用作训练目标,如 M 流中一样。但与 M 流不同的是,这里的核心维度集并不是预先固定的。相反,很少被丢弃的维度(即那些索引较小的维度)将学习表示关键信息,自然地导致所需的排序。此外,Bekasovs 和 Murray (2020) 将基于 dropout 的重建目标与通常的最大似然目标相结合,使得模型也能够在没有 dropout 的情况下学习生成完整的数据分布。实验清楚地表明,随着 活动代码维度的数量增加,但目前还不清楚这种排序在多大程度上对应于语义解缠结,如 GIN 中那样。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

第一个因子表示Z的各个维度(即T的叶子)的变量变化贡献,第二个因子表示根据T的剩余节点的这些维度之间的相互作用。请注意,该公式对任何树分解T都有效。解缠结等同于要求相互作用消失,因此 .引用的论文通过将(95)中的等式作为训练目标中的附加正则项来实现这一点。然后,他们通过雅可比矩阵的相应行的范数超过阈值的性质来定义核心子空间, ,类似于线性PCA的变量选择。

Horvat和Pfister(2022)最近提出了一个有前途的替代方案。作者观察到,在对数据进行加性噪声增强时,核心和细节子空间中的潜在维度表现出明显不同的行为 。细节维度的雅可比行范数倾向于与添加噪声的强度成比例(反映了由于垂直于数据流形的噪声分量而导致数据流形的扩展),而核心维度的范数保持大致恒定(表明只要噪声不太强,流形内的噪声分量几乎不会产生影响)。因此,可以根据在增加噪声量时各自行范数的稳定性对潜在维度进行分类,而这个标准在不同数据集中似乎非常稳健。

任一标准最终都会产生一个 CoV 公式,该公式是一维贡献的产物

打开网易新闻 查看精彩图片

第一个product指的是由核心维度跨越的流形 Mc,而第二个product指的是对于固定的 zc 由细节维度定义的纤维 F(zc)。由于(95),在分解流中,CoV 公式(13)和(98)是等价的,可以根据特定应用选择更便宜的变体进行计算。然而,如何将这种方法有效扩展到更高维度,并且在哪些条件下可以识别出良好的分解,仍然是一个未解决的问题(Hyvarinen等人,2023)。

8 雅可比行列式的高效计算

变量转换公式在实践中只有在雅可比行列式可以有效地计算并调整局部体积的收缩或扩展的概率时才有用。最简单的特殊情况是不可压缩流,其设计是使得对于所有的 x 和 z,都有 ,因此 。另一个简单的情况是线性解码器/编码器对。

打开网易新闻 查看精彩图片

当 f(z) 和 g(z) 是非线性的时候,对于每个数据点必须重新计算 。虽然从原理上来说,使用现代自动微分库是很容易做到的,但对于低维和中等维度而言,在多个时期的每次训练迭代中重复计算在计算上是不可行的。当雅可比矩阵具有特殊结构时,可以大大减少这一工作量。一个常见的技巧是为 x 的每个元素单独定义 g(x)。为此,目标分布 p(X) 根据贝叶斯链规则被分解。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

类似地,三角形行列式公式(109)同样适用。对于因果分解,函数 比替代的索引顺序更简单,而 SCM 的学习是因果推断中的一个热门话题,例如(),与自回归流的联系在(Khemakhem 等人,2021)中得到了明确探讨。

目前非常流行的架构之一,似乎更容易学习,将 g(z) 分解成一系列 L 个更简单的双射层:

打开网易新闻 查看精彩图片

这种设计被称为 RealNVP(Dinh 等人,2017)和 GLOW(Kingma & Dhariwal,2018)。改进的变体用更复杂的可逆函数替换了(113)中的仿射变换,例如二次或三次 B 样条()、线性-有理或有理-二次样条()或平方和多项式(Jaini 等人,2019),同时保持 Jg 的三角形式,从而保证了行列式的高效计算。

在没有特殊结构的情况下,雅可比行列式的高效计算要困难得多,是一个热门的研究课题。许多想法都建立在以下等式的基础上:

对于非奇异方阵 J,矩阵 log(J) 现在被一些矩阵表达式 A 近似,例如使用切比雪夫多项式(Han 等人,2015)、截断幂级数()、或黎曼-斯蒂尔切斯积分(Ubaru 等人,2017)。最后,通过随机化估计 A 的迹。 其中 。这被称为 Hutchinson 的迹估计器(Hutchinson,1989)。与计算 tr(log(J)) 相比的关键优势在于,结果表达式 可以仅通过雅可比向量和向量-雅可比乘积来计算,现代自动微分库可以高效地实现这些操作,而无需构建 J 或 log(J)。这些技术主要适用于在已训练模型上进行推断,并且如果在最大似然学习过程中使用,则会增加显著的计算开销。

由于通过梯度下降进行学习需要计算对可学习参数 θ 的对数行列式的导数,因此在训练过程中直接近似 ∇θ log(det(J)) 更为有效。如果模型受到全连接限制且没有残差连接,那么可以通过将加性参数更新替换为乘法更新(Gresele 等人,2020),或者通过同时学习权重矩阵的逆矩阵(Keller 等人,2021)来便宜地获得这一导数。这些方法也可以扩展到卷积网络。

对于实现自编码器 CoV(56)的无约束注入流,(Caterini 等人,2021)提出了上述随机迹估计器的导数的类似物。它基于身份:

其中 θ 是解码器的可学习参数。该迹线可以通过蒙特卡罗采样来近似:

打开网易新闻 查看精彩图片

事实证明,M = 1 足以使该估计器在随机优化的背景下有效,因此单射流中训练批次的处理时间仅为相应传统自动编码器的两倍左右,传统自动编码器的训练时间为 仅重构误差。