网络知识 娱乐 杨立昆重磅论文:通往自主机器智能之路(七)

杨立昆重磅论文:通往自主机器智能之路(七)

4.3 训练基于能量的模型

在我们讨论 EBM 训练之前,重要的是要注意 EBM 的定义并没有提及概率建模。虽然许多的 EBM 可以很容易地转化为概率模型,比如通过 Gibbs 分布,但是这并不是必要的。因此,能量函数应被视为基本对象,并不假定隐含地表示概率分布的非归一化对数。

训练 EBM 包括构建一个架构(例如深度神经网络)来计算用参数向量 w 参数化的能量函数 。训练过程是寻找能够为能量函数提供正确形状的w向量。对于训练集中给定的 x,通过有效训练的能为训练集中与 x 相关联的y值产生较低的能量,而对其他y值产生较高的能量。

给定一个训练样本(x,y),训练 EBM 归结为设计一个合适的损失函数 ,它可以直接表示为参数向量 ,并且最小化这种损失将使训练样本 的能量低于任何不同于y的 的能量

降低训练样本的能量很容易:损失是能量的增函数,并且能量具有下限就足够了。

困难的问题是如何确保与 y 不同的 的能量高于 y 的能量。如果没有具体的约束来确保 ,则当 时,能源格局可能会崩溃:给定 x,能源格局可能会变得“平坦”,给出 y 的所有值基本上具有相同的能量。

哪些 EBM 架构容易崩溃? EBM 是否容易崩溃取决于其架构。图 10 显示了许多标准架构,并指出它们是否会崩溃。

图 10:一些标准架构及其崩溃的可能性分析。

(a) 确定性生成架构:不会崩溃,因为它只能产生单个输出。对于给定的 x,只有一个 y 值可能具有零能量:。如果当 大于零,则 y 的其他值将具有更高的能量。

(b)非确定性生成架构:当隐变量具有过多的信息容量时,可能会崩溃。如果对于给定的 x 和所有 y 存在产生零预测能量的一个 z(例如,如果 z 具有与 y 相同或更高的维度),则整个 y 空间将具有低能量。 z 的信息容量应该足够,以便在其集合上改变 z 将产生给定 x 的所有合理的

(c)自动编码器:如果系统学习了恒等函数,或者如果它可以正确地重建一个远大于高数据密度区域的 y 空间区域,则可能会崩溃,从而为过大的区域提供低能量.

(d)简单的联合嵌入架构:如果编码器忽略输入并产生保持恒定和相等的表示,或者如果编码器在空间的过宽区域上保持不变,则可能会崩溃。

常规的预测性或确定性生成架构(图 10(a))不会崩溃。对于任何 x,都会产生一个。每当时,能量为零。任何不同于的 y 都将具有更高的能量,只要当 y 不同于严格大于零。

当隐变量具有太多信息容量时,生成的隐变量架构(非确定性生成)(图 10(b))可能会崩溃。当隐变量 z 在集合 Z 上变化时,预测在集合上变化,它必须匹配与 x 兼容的 y 集合。如果 Z 太“大” ,则低能量区域 y 可能大于高数据密度区域。如果 z 与 y 具有相同的维度,则系统可以很好地为整个 y 空间提供零能量。

y具有太多信息容量时,自动编码器 (AE)(图 10(c))可能会崩溃。比如,如果的维度等于或高于y,自动编码器可能学习到一个恒等函数,在整个 y 空间上产生等于零的重构误差。

最后,携带的信息不足时,联合嵌入架构 (JEA)(图 10(d))可能会崩溃。如果编码器忽略输入,并产生恒定且相等的编码,则整个空间将具有零能量。

以下是架构的几个例子。

我们如何设计损失以防止崩溃?

有两种方法对比方法正则化方法。在下文中,我将论证对比方法存在缺陷,并且从长远来看,正则化(非对比)方法有可能更合适。

对比方法包括使用一个损失函数,用于最小化训练样本 (x,y) 的能量,并适当拉高“对比”样本的能量。对比样本的选取方式应确保 EBM 将更高的能量分配给高数据密度区域之外的点。这转化为设计一个损失函数,无论是否明显高于,损失函数都应该是的增函数,也是的减函数。有很多这样的对比损失的正则化方法函数,其中有的采用单个三元组,有的则需要一批y的正例和对比的反例。

图 11: EBM 训练的对比和正则化方法。左侧显示了能源的概念图。训练样本是蓝点。低能量区域以橙色显示(能量函数的水平集)。
对比方法(右上)压低训练样本的能量(蓝点)并拉高适当放置的对比样本的能量(绿点)。

正则化方法(右下)会降低训练样本的能量,并使用正则化项来最小化低能量区域的体积。在能量函数的灵活性允许的范围内,这种正则化具有将高数据密度区域“收缩包装”在低能量区域内的效果。

对比方法的一个问题是,只有放置对比样本的地方才能提高能量。必须设计一种方法,优先将对比样本放置在低能量区域,这就是 Monte-Carlo 和 MCMC 方法所做的。然而,对比方法的一个缺点是使能量表面采用良好形状所需的对比样本的数量可能会随着 y 空间的维度呈指数增长。

对比损失函数的一个简单示例如下:

其中 H 是的增函数,并且是的减函数,只要后者小于前者加上正边际函数。这种损失的一个简单例子是距离相关的铰链损失:

其中是当 a 为正时为a,否则为零。这使得能量至少随着与数据流形的距离成二次增长。

对比方法非常受欢迎,特别是对于经过对成对训练的 Siamese 体系结构,X 是 y 和的变化或扰动版本.这包括原始 Siamese 网络等方法,以及更新的方法,包括 DrLIM、PIRL、MoCO、SimCLR、CPT 等。对比方法还包括经典方法,例如以最大似然训练但未自动归一化的概率模型。对比样本通常使用蒙特卡洛方法、马尔可夫链蒙特卡洛方法或其近似版本(例如对比散度)生成。生成对抗网络也可以看作是对比方法,其中由可训练的生成网络生成。去噪自动编码器及其特殊情况 Masked Auto-Encoders 也是对比训练方法的示例,其中是通过破坏干净的 y 生成的。

但是对比方法有两个主要问题。首先,必须设计一个方案来生成或选择合适的。其次,当 y 处于高维空间时,如果 EBM 是灵活的,则可能需要非常大量的对比样本,以确保在未被局部数据分布占用的所有维度上能量更高。由于维度灾难,在最坏的情况下,对比样本的数量可能会随着表示的维度呈指数增长。这就是我反对对比方法的主要原因。

从长远来看,用于 EBM 训练的正则化方法比对比方法更有希望,因为它们可以避免困扰着对比方法的维度灾难。它们包括构建一个损失函数,该函数具有下推训练样本能量的效果,同时最小化模型与低能量相关联的y空间的体积。低能量区域的体积通过能量和/或损失中的正则化项来测量。通过在降低数据点能量的同时最小化这个正则化项,低能量区域将“收缩包裹”高数据密度区域。非对比正则化方法的主要优点是它们比对比方法更不可能成为维度灾难的受害者。主要问题正是如何设计这种体积最小化的正则化器。答案很大程度上取决于模型的架构,这将在下一节中讨论。然而,非对比方法已经存在了很长时间。示例包括稀疏建模、稀疏自动编码器和具有噪声隐变量的自动编码器,例如 VAE。

需要注意的是,对比方法和正则化方法并非互不兼容,可以在同一个模型上同时使用。

正则化方法如何应用于图 10(b-d) 的架构?

在隐变量生成架构中,限制z的信息容量将限制可以占用低能量的 y 空间的体积。如果z与可能的k值是离散的,则y空间中最多k个点的能量为零。如果Z是维数为d的流形,则y空间中能量为零的区域最多有d个维数。

类似地,在自动编码器架构中,限制的信息容量将限制 y 空间可以低能量重构的体积。

最后,在联合嵌入架构中,最大化包含的关于 x 的信息和包含的关于 y 的信息将最小化可以消耗低能量的 y 空间的体积。

在下文中,我们将关注 SSL 的架构,即联合嵌入预测架构 (JEPA),它可以看作是联合嵌入架构和隐变量生成架构的组合。 JEPA 是非生成的,因为它实际上并不预测y,而是根据的表示预测的表示。

4.4 联合嵌入预测架构(JEPA)

本节主要介绍一下联合嵌入预测架构 (JEPA)。 JEPA不是生成式的,因为它不能轻易地用于从 x 预测 y。它仅捕获 x 和 y 之间的依赖关系,而不显式生成 y 的预测值。


图 12:联合嵌入预测架构 (JEPA) 由两个编码分支组成。第一个分支计算,一个 x 的表示,第二个分支一个 y 的表示。编码器不需要相同。预测器模块在隐变量 z 的帮助下从预测。能量是预测的误差。 JEPA 的简单变体可以不使用预测器,强制将两个表示相等,或者可以使用没有隐变量的固定预测器,或者可以使用简单的隐变量,例如离散隐变量。

JEPA 的主要优点是它在表示空间中执行预测,避免了预测 y 的每个细节,并且能够通过编码器消除不相关的细节。更准确地说,这种表示多模态依赖关系的架构的主要优点是双重的:(1) 编码器函数可能具有不变性,这将使其对一组不同的 y 产生相同的 .这使得该集合上的能量恒定,并允许模型捕获复杂的多模态依赖性; (2) 隐变量 z 在集合 Z 上变化时,可以产生一组看似来合理的预测

如果 x 是汽车接近岔路口的视频剪辑,则可能分别代表岔路口前后汽车的位置、方向、速度和其他特征,忽略不相关的细节,例如与道路接壤的树木或人行道的纹理。 z 可以表示汽车是左转还是右转。

图 12 显示了一个通用的 JEPA。两个变量 x 和 y 被馈送到两个编码器,产生两个表示。这两个编码器可以不同。它们不需要拥有相同的架构,也不需要共享它们的参数。这允许 x 和 y 在本质上是不同的(例如视频和音频)。预测器模块根据 x 的表示预测 y 的表示。预测器可以利用隐变量 z。能量只是表示空间中的预测误差:

通过在 z 上最小化获得总能量:

JEPA 的主要优点是它在表示空间中执行预测,无需预测 y 的每个细节。这是因为 y 的编码器可以选择生成一个抽象表示,从中消除不相关的细节。

JEPA 可以通过两种方式表示与 x 兼容的 y 值的多样性。第一个是 y 编码器的不变性,第二个是隐变量 z,如下所述。

通过编码器的不变性实现多模态:编码器函数可能具有不变性。如果集合中的所有 y映射到相同的 s 值,则所有这些 y 将具有相同的能量。使用 JEPA,我们失去了直接生成输出的能力,但我们获得了一种强大的方法来表示输入和输出之间的多个模型之间的依赖关系。

基于隐变量的多模态预测器:预测器可以使用隐变量z来捕获预测中不存在的所需的信息。当z在集合Z上变化时,预测器产生一组看似合理的预测

例如,如果 x 是汽车接近岔路口的视频剪辑,则可能代表汽车的过去和未来的位置、方向、速度和其他特征,忽略不相关的细节,例如树木边缘道路或人行道的纹理。潜在 z 可能是一个二进制变量,指示汽车是走左分支(z=0)还是右分支(z=1)。如果汽车走左分支,则值 (z=0)将产生(z=1)较低的能量

4.5 训练JEPA

与任何 EBM 一样,可以使用对比方法训练 JEPA。但是,如上所述,对比方法往往在高维度上变得非常低效。

图 13:JEPA的非对比训练。

JEPA 的主要优势在于它们可以用非对比方法进行训练。这种训练的基本原则是 (1) 应该最大限度地提供关于 x 的信息; (2)应该最大限度地提供关于 y 的信息; (3)应该很容易从中预测; (4) z 应该具有最少的信息内容。标准 1、2 和 4 共同防止能量函数崩溃。 JEPA 训练的非对比的标准方案包括 VICReg 和 Barlow Twins。与每个 EBM 一样,JEPA 也可以使用对比方法进行训练。但是这样做会遇到维度灾难并限制的维度。

这里的相关的维度是的维度,它可能比 y 的维度小很多,但对于有效训练来说还是太高了。

之所以对 JEPA 特别感兴趣,是因为我们可以设计非对比方法来训练它们。如第 4.3 节所述,非对比方法使用正则化方法来测量可以采用低能量值的空间体积。在 JEPA 中,这可以通过以下四个标准来实现,如图 13 所示:

  1. 最大化关于 x的信息量
  2. 最大化关于 y的信息量
  3. 使易于从预测
  4. 最小化预测中使用的隐变量 z 的信息量。

标准1和2防止能量表面因信息崩溃而变得平坦。他们确保携带尽可能多的有关其输入的信息。如果没有这些标准,系统可以选择使保持不变,或者提供弱信息,这将使能量在输入空间的大范围内保持不变。

标准3由能量项来约束,并确保 y 可从表示空间中的 x 预测。

标准 4 通过强制模型在尽可能少的潜变量来预测y以防止系统成为另一种类型的信息崩溃的受害者。这个崩溃的类型可以通过下面的思想实验来理解。假设 z 与具有相同的维度。假设预测器是一个参数化函数(例如神经网络),它可以选择忽略并在其输出 上简单地复制 z。对于任何 ,可以设置 ,这将使能量 为零。这对应于完全平坦且塌陷的能量表面。

我们如何防止这种崩溃的发生?

通过限制或最小化隐变量的信息内容。

如何才能做到这一点?

通过使 z 离散、低维、稀疏或增加噪音等方法。

一些具体的例子可能有助于建立对该现象的直观理解。假设并且 z 是离散的,具有 K 个可能的整数值 [0, K - 1]。对于给定的 x, 只能有 K 个可能的值:

因此,这些可能是唯一的零能量值,并且只有 K 个。考虑从开始向移动的点 。它的能量将从零开始,随着远离呈二次方增加,直到。当变得相比更接近时,能量将减少,当 达到时能量将减小到零。在表示空间中,能量将是 K 个二次能量阱中的最小值。

类似地,假设 z 是一个向量,其维度 d 小于的维度。然后,假设是 z 的平滑函数,则可能的预测集至多是空间中的 d 维流形。

更重要的是,假设能量函数被 z 上的正则化项增强,形式为,即 z 的范数。这将使变得稀疏。与经典稀疏编码一样,这将导致低能量区域由低维流形的线性和(如果在 z 中是线性的,则为低维线性子空间的加和)来近似,其维度将被正则化器最小化。

通过让的随机采样符合最大熵的分布也将具有适当的正则化效果。变分自编码器和类似模型的就是以这个原理为基础的。

关于可以最小化隐变量信息内容的正则化器的更完整讨论超出了本文的范围。目前,我们可以提到四类方法:离散化/量化(如 VQ-VAE(Walker et al., 2021)、维数/秩最小化(如隐式秩最小化 AE(Jing et al., 2021))。 , 2020)、稀疏化(如线性稀疏建模(Olshausen 和 Field,1996)、LISTA(Gregor 和 LeCun,2010b)和非线性稀疏建模(Evtimova 和 LeCun,2022))和模糊化(如噪声 AE (Doi 等人,2007 年)、VAE(Kingma 和 Welling,2013 年)以及用于控制问题的变体(Henaff 等人,2019 年)。

JEPA 在表示空间中进行预测比直接预测 y 的生成模型更合适。在视频预测场景中,基本上不可能预测每个未来帧的每个像素值。地毯上的纹理细节、随风飘动的树叶、池塘的涟漪,都无法准确预测,至少在很长一段时间内无法准确预测,而且需要消耗大量资源。 JEPA 的一个相当大的优势是它可以选择性的忽略不易预测的输入细节。然而,标准 1 和 2 将确保忽略细节的信息内容保持在最低限度。

下面我们讨论如何实施标准1和2

也就是说,给定一个参数化确定性编码函数,我们如何最大化的信息内容?

如果是可逆的,则包含关于 y 的所有信息,但这对于标准 3 可能就不是最优的了,因为将包含许多关于 y 的不相关或难以预测的细节。更准确地说,如果函数 是最小满射的,即如果映射到相同的 y 集合的大小最小,则关于 y 的信息量最大。同样的推理也适用于 x 编码器。为了把这个标准变成一个可微的过程,我们需要做这些假设。

4.5.1 VICReg

图 14:使用 VICReg 训练 JEPA。

VICReg 是一种用于训练嵌入向量的非采样对比的方法。表示的信息内容首先通过扩展器(例如,具有几层的可训练神经网络)将它们映射到更高维的嵌入来最大化。损失函数将嵌入的协方差矩阵驱动到恒等式(例如,在批次上计算)。VICReg 可以看作是一种维度对比方法,而不是样本对比方法。

VICReg方法对的分布做出了一些假设。图形表示如图 14 所示。为了最大化的信息内容,VICReg 使用以下两个子标准

  1. 的分量不能是常数,
  2. 的分量必须是尽可能相互独立。

这首先通过可训练的扩展模块(例如,具有几层的神经网络)将非线性映射到更高维的嵌入并使用具有两个可微损失项的损失函数来在一个批次的样本上计算:

  1. 方差:铰链损失,使的每个分量的标准偏差在一个批次中保持在阈值以上。
  2. 协方差:一种协方差损失,其中的不同分量对之间的协方差被推向零。这具有分解相关分量的效果,这反过来会使的分量有些独立。

以上标准也适用于

VICReg 的第三个标准是表示预测误差。在 VICReg 的最简单实现中,预测器是常数(等于恒等函数),使得表示对于将 x 变为 y 的转换保持不变。在更复杂的版本中,预测变量可能没有隐变量,或者可能依赖于离散、低维或随机的隐变量。

当预测器使用其信息内容必须最小化的隐变量时,第四个标准是必要的,例如,其维度接近或超过的向量。

VICReg 学习不变表示的简单实例化包括使 x 和 y 成为相同内容的不同视图(或变形版本),将预测器设置为恒等函数,并定义 .

通过基于梯度的方法推断隐变量可能很繁琐。

对比方法可以确保批次中不同输入的表示不同,但 VICReg 在批次中对比表示的方法是不同的。 VICReg是对分量进行对比,而传统的对比方法是对向量进行对比,传统方法需要更大量的对比样本才有效。

使用 VICReg 和类似的非对比方法训练的 JEPA 最有希望学习分层预测世界模型,我们将在下一节中详细研究。

4.5.2 使 JEPA 偏向于学习“有用的”表示

使用上面列出的训练标准,JEPA 在表示的完整性和可预测性之间找到了权衡。什么是可预测的,什么不能被表示是由编码器和预测器的架构隐含地决定的。他们确定了一个归纳偏见,该偏见定义了哪些信息是可预测的。

但是,如果有一种方法可以使系统偏向于包含与一类任务相关的信息的表示,那将是有用的。这可以通过添加以作为输入并经过训练以预测易于从数据中导出并已知与任务相关的变量的预测头来完成。

下一节我们来讲解如何训练分级 JEPA(H-JEPA),欢迎*关注*点赞*收藏*,第一时间接受到更新。