用对比学习优化本地监督:无辅助网络的高效方法

引言

反向传播(Backpropagation,简称 BP)自 1986 年提出以来,一直是深度学习的基本工具。然而,BP 存在两个固有的限制。首先,在正向和反向传播过程中需要权重对称,使得 BP 在生物学上难以实现(Liao et al., 2016)。虽然生物学上的逼真性和学习算法的有效性之间的因果关系尚未明确,但许多深度学习研究都尝试模拟人类的生物和认知过程(Fei et al., 2022;Taniguchi et al., 2022)。其次,正向传播只能在反向传播完全完成后才能启动(反向锁定),反之亦然(正向锁定),这导致计算效率低下,因为并行化受限。此外,由于权重梯度计算需要存储每一层的局部激活,内存使用也不高效。

为了解决这些问题,提出了几种 BP 替代方案。反馈对齐(Feedback Alignment,简称 FA)用固定的随机权重取代对称反馈权重,但仍受到正向/反向锁定的限制。其继任者直接反馈对齐(Direct Feedback Alignment,简称 DFA)直接将误差信号传播到每一层,以缓解反向锁定问题。然而,DFA 并没有解决正向锁定问题。为此,本地监督通过最小化局部损失来利用局部权重更新。具体而言,本地学习(Local Learning,简称 LL)使用模块化辅助网络进行局部 BP,以处理局部输出并与目标对齐进行局部损失计算。尽管辅助网络使现有的 LL 达到了与 BP 相当的性能,但每个模块都使用辅助网络显著增加了模型参数。

本地监督的新方向:前向学习

一种较新的本地监督方法完全消除了 BP 和辅助网络。本文称这种方法为前向学习(Forward Learning,简称 FL)。在 FL 中,每层的权重更新通过层特定的局部损失引导,避免了正向/反向锁定问题,显著提高了计算效率。在没有 BP 和辅助网络的情况下,实施 FL 的关键在于制定局部目标以进行损失计算。例如,前向前向算法(Forward-Forward,简称 FF)通过将独热编码标签叠加到图像上,定义局部目标,将它们视为图像中的单独像素。由于局部输出包含目标信息,基于 FF 的方法通过优化局部输出的自点积来实现对比学习目标。然而,这使得 FL 场景中的对比学习容易受到局部输出中与任务无关的信息的影响,导致性能不如 BP 和 LL。

我们的研究表明,辅助网络在减轻与任务无关信息的影响方面起着关键作用。针对没有辅助网络带来的挑战,我们提出了一种简单但有效的局部对比学习目标——词典对比学习(Dictionary Contrastive Learning,简称 DCL),它有效地将局部输出与标签嵌入向量对齐。我们评估了 DCL 的两个版本:一个使用静态标签嵌入向量,适用于 FL 场景;另一个使用自适应标签嵌入向量。值得注意的是,静态方法在 FL 场景中显著优于现有的 FL 基准,通过更有效地丢弃与任务无关的信息。而自适应方法展示了与 BP 和 LL 相当的性能,同时在参数和内存效率方面显著优于 LL。

相关工作

本地学习

当前的研究趋势包括 LL 领域的两个重要方向。Nøkland 和 Eidnes(2019)是最早展示非 BP 学习算法能超越 BP 性能的研究之一。他们利用两个不同的局部损失,每个损失都来自一个单独的辅助网络路径。重构损失测量独热编码标签的自相似矩阵与局部特征之间的 L2 距离,而标签预测损失使用交叉熵,这在 BP 和 LL 的局部层中都很常见(Belilovsky et al., 2019;2020;Pathak et al., 2022)。Nøkland 和 Eidnes(2019)还引入了生物学上合理的、无 BP 版本的这些损失,即 LL-bpf。重构损失使用标准差操作代替卷积辅助网络,而标签预测损失使用反馈对齐进行权重更新。

另一种方法是 Wang 等人(2020)对 LL 进行信息理论分析。作者研究了局部损失目标对互信息度量的影响:I(h, x)(局部特征与输入之间)和 I(h, y)(局部特征与标签之间)。与 BP 相比,随着 LL 层数的加深,I(h, x) 和 I(h, y) 下降得更加明显。为了减轻正向传播过程中 I(h, x) 的损失,作者引入了模块化重构损失,鼓励局部特征保留输入信息。此外,他们证明最小化监督对比损失最大化了 I(h, y) 的下界。使用对比损失和重构损失的结合显著提高了性能,但也增加了模块化重构损失带来的计算需求。

前向学习

FL 旨在避免依赖 BP,因此限制了辅助网络的使用,这些网络通过 BP 引导特征向其目标进行局部更新。在没有这些辅助网络的情况下,制定局部目标变得至关重要。为了应对这一挑战,前向前向算法(FF)通过将独热编码标签叠加到图像上定义局部目标,将它们视为图像中的单独像素。通过噪声对比估计(Noise Contrastive Estimation,简称 NCE),FF 优化局部特征的自点积,使其在标签与图像匹配时(正样本对)高于某一阈值,否则(负样本对)局部特征应低于某一阈值。其他基于 FF 的方法遵循相同的 NCE 目标和标签叠加,具有专门的架构(PFF)或精细的标签叠加技术(SymBa)。

与 FF 走不同路径,层叠前向算法(CaFo)通过线性投影平坦化的局部特征进行局部标签预测。为了在没有 BP 的情况下实现这一点,CaFo 冻结前向层的权重,仅保留局部线性投影层的权重更新。另一方面,直接随机目标投影(DRPT)将独热编码标签视为误差信号本身,并使用固定的随机权重将误差信号传播到每一层。由于独热编码标签在局部可访问,参数更新可以在每次前向传递期间发生。

背景

对比学习在表示学习中是一种强大的工具,其在 LL 和 FL 背景下的有效性也得到了证明。InfoPro(Wang et al., 2020)是一种 LL 方法,比较来自模块化辅助网络的局部特征。相比之下,基于 FF 的方法利用局部特征的自点积,因为这些特征包含标签信息。Wang 等人(2020)中,对于来自前向传递层的一批局部输出,局部对比损失定义如下:

[
L_{\text{contrast}} = – \frac{1}{i \ne j \cdot 1_{y_i=y_j}} \sum_{i \ne j} \left[1_{y_i=y_j} \log \frac{\exp(a_i^\top a_j / \tau)}{\sum_{k=1}^N 1_{i \ne k} \exp(a_i^\top a_k / \tau)} \right], \quad a_i = f_\phi(h_i),
]

其中 (\tau) 是温度超参数,(y \in {1, …, Z}) 是真实标签,(f_\phi) 是辅助网络。在公式(1)中,(a_i) 和 (a_j) 是正特征,满足 (y_i = y_j)。此函数旨在最大化正特征之间的相似性,同时最小化负特征之间的相似性。当辅助网络 (f_\phi) 是一个恒等函数时,该目标表示 FL 场景。为了方便起见,我们用 (L_{\text{feat}}) 来表示 (f_\phi(h) = h) 时的 (L_{\text{contrast}})。请注意,本文的主要目标是在没有辅助网络的情况下,通过对比学习提高性能。为此,(L_{\text{feat}}) 可以被视为将进一步详细阐述的基础框架。

尽管基于 FF 的方法和 InfoPro 利用对比学习概念来制定局部目标,但基于 FF 的方法性能不及 InfoPro(LL)。此外,在完全相同的设置下,我们比较了 (L_{\text{contrast}}) 和 (L_{\text{feat}}) 的性能,并报告了显著的性能差距。这些发现强调了辅助网络在局部对比学习中的重要性,为我们提出目标在没有辅助网络的情况下开发一个出色的局部对比学习框架奠定了基础。

方法

动机

为了在没有辅助网络的情况下利用局部对比学习提高模型性能,我们首先通过检查辅助网络的作用来设计方法。我们认为,(L_{\text{contrast}}) 和 (L_{\text{feat}}) 之间的显著性能差异可以归因于存在互信息 (I(h, r)),其中 (r) 是输入 (x) 中的任务无关变量。然后,给定一个任务相关变量 (y),可以得出 (I(r, y) = 0),因为互信息 (I) 表示通过观察另一个随机变量获得的关于一个随机变量的信息量。(L_{\text{feat}}) 最大化局部特征之间的相似性,而不是特征与标签之间的相似性。因此,最大化局部特征之间的相似性可能也会增加 (I(r+, rp)),误导模型认为任务无关信息是有意义的特征。

在这方面,辅助网络有能力过滤掉 (r),减轻 (r) 在 LL 中的影响。然而,在没有辅助网络的 FL 中,(r) 的影响变得更加明显和有害。这可能解释了现有对比学习在 FL 场景中的性能较差。

词典对比损失

为了在 FL 中解决 (r) 的问题,我们提出了一种新颖的目标,直接最大化局部特征 (h) 与对应目标标签的嵌入向量之间的相似性。

将标签映射到嵌入向量

为了从每个目标标签 (y_z) 获得标签嵌入 (t_z),我们定义一个嵌入映射函数 (f_m)。嵌入映射函数 (f_m: N \to R^{CD}) 是一个从标签到 CD 维度标签嵌入向量的一对一映射,可以直接与密集局部特征进行比较。每个标签嵌入向量 (t) 初始化为标准正态随机向量,其每个元素都是从标准正态分布中独立同分布的随机变量。对于 Z 类标签,我们有一个标签嵌入词典 (D_Z = {f_m(y_z) | y_z \in {1, …, Z}}),其中 (f_m(y_z) = t_z)。

局部特征

我们旨在优化标签嵌入向量 (t) 与局部特征 (h) 之间的相似性。首先,由于局部特征的形状可能因不同架构而异,我们将 (h) 的表示标准化。我们将第 l 层的局部特征表示为 (h_l \in R^{C_l \times K_l}),其中 (K_l) 是 (C_l) 维特征向量的数量。因为每层的 (C_l) 可能不同,我们定义标签嵌入向量的维度 (CD) 为 (C_l) 的最大值。对于全连接层(FC),我们将平坦化的输出向量 (h_{\text{flat}} \in R^{C_l \times K_l}) 重新整形为 (h_l \in R^{C_l \times H_l \times W_l}),其中 (C_l) 表示通道维度,而 (H_l) 和 (W_l) 表示特征图的高度和宽度。通过设置 (K_l = H_lW_l),我们保持特征图中 (C_l) 维向量的完整性。为防止跨层 BP,我们使用停止梯度操作符 sg[·],使得 (h_l = f_l(\text{sg}[h_{l-1}]))。

训练目标

最终预测层 (f_L) 的权重通过标准交叉熵损失进行更新。所有其他层 (f_l) 的权重通过词典对比损失 (L_{\text{dict}}) 更新。对于一批局部特征 ({h_n}_{n=1}^N),我们最小化损失:

[
L_{\text{dict}} = – \log \frac{1}{N} \sum_{n=1}^N \frac{\exp(\langle \bar{h}n, t_z^+ \rangle)}{\sum{z’=1}^Z \exp(\langle \bar{h}n, t{z’} \rangle)},
]

其中我们定义 (\bar{h}n := \frac{1}{K} \sum{k=1}^K h_{n,k}),(\langle·, ·\rangle) 表示点积,标签嵌入向量 (t^+) 对应于 (h_n) 的标签。局部特征向量的维度可能因不同层而异。为了将 (t_z \in R^{CD}) 的向量维度对齐到 (\bar{h} \in R^{C_l}),我们为每层使用一维平均池化 (pool_l: R^{CD} \to R^{C_l})。

在本文中,我们仅在 FL 场景中应用静态标签嵌入向量,以应对层权重和标签嵌入权重不能同时更新的限制。技术上,这种限制使我们的自适应方法部分前向/后向锁定,尽管这种锁定在实际中是有限且可以忽略的。然而,为了公平评估完全前向/后向解锁的其他 FL 方法,我们的静态方法在整个训练过程中保持初始标签嵌入权重不变,使得 (t_{\text{static}} = \text{sg}[t_z])。相比之下,在不受 FL 特定限制的场景中,标签嵌入向量是自适应的,通过 (L_{\text{dict}}) 的误差信号在每层更新其权重。图 2 展示了使用 (L_{\text{dict}}) 的训练工作流程。我们在附录 B 中证明了最小化 (L_{\text{dict}}) 最大化了 (I(h, y)) 的下界。

与其他对比目标的比较

基于 InfoNCE(Oord et al., 2018)的对比目标因负样本数量的大小而敏感(Khosla et al., 2020;Radford et al., 2021;Chen et al., 2020)。这些对比目标,包括 (L_{\text{feat}}),通常使用批内负样本,并且随着批量大小 (N) 增大而表现出更好的性能(Wang et al., 2020;Lee et al., 2018)。相比之下,(L_{\text{dict}}) 中的负样本数量对应于 (Z – 1)。因此,(L_{\text{dict}}) 的有效性取决于类别数量。实验证明,较高的类别数量 (Z) 相对于使用静态标签嵌入向量的情况下,通常表现更好。然而,即使类别较少,竞争力性能仍能达到。

层级预测

最小化 (L_{\text{dict}}) 最大化了局部特征 (h) 与其对应标签嵌入向量 (t^+) 之间的相似性,同时最小化与非对应标签嵌入向量的相似性。利用 (L_{\text{dict}}) 的这一性质,(D_Z) 可用于推理而无需最终线性分类器 (f_L)。通过选择与特征向量相似性最高的目标标签,可以生成预测结果:

[
\hat{y} = \arg \max_z \langle \bar{h}, t_z \rangle.
]

因此,在每一层都可以进行预测。此外,这允许层级预测的加权和作为全局预测。Belilovsky 等人(2019)和 Zhao 等人(2023)的实验表明,这种方法优于单独由 (f_L) 进行的预测。层级预测的实验结果见附录 C。

实验

实验设置

由于 FL 和 LL 之间存在显著的性能差异,我们进行单独的比较。在 FL 场景中,我们使用静态标签嵌入的静态方法 DCL-S,使用简单的全连接(FC)和卷积(Conv)架构来评估 FL 基准。对于我们的自适应方法 DCL,我们采用 Nøkland 和 Eidnes(2019)使用的 VGG8B 架构。

主要结果

与 FL 方法的比较

我们首先将静态方法 DCL-S 与 BP 和其他 FL 方法进行比较。表 1 和表 2 报告了在 MNIST、CIFAR-10 和 CIFAR-100 数据集上的测试错误率和参数数量。在 MNIST 上,CaFo 是 FL 模型中表现最好的。然而,对于更具现实意义的数据集(如 CIFAR-10 和 CIFAR-100),我们的目标显著优于其他 FL 方法。表 1 显示,尽管我们使用的卷积模型参数更少,但其性能显著优于其他 FL 模型。我们的全连接模型在 CIFAR-10 和 CIFAR-100 上同样优于其他全连接模型,如表 2 所示。此外,我们的方法在所有数据集上始终优于 Lfeat。

ApproachMNIST ParamsMNIST ErrCIFAR-10 ParamsCIFAR-10 ErrCIFAR-100 ParamsCIFAR-100 Err
BP152K2.63153K22.841.43M46.41
FF243K3.21243K25.862.4M59.24
PFF1.8M1.484.1M32.5719.2M65.02
CaFo152K11.55153K43.671.43M67.69
DRTP243K3.21243K25.862.4M59.24
SymBa1.87M1.2918.9M34.7319.2M65.94
Lfeat1.87M1.4618.9M35.1219.2M66.48
DCL-S1.87M1.4618.9M35.1219.2M66.48

与 LL 方法的比较

接下来,我们将自适应方法 DCL 与 LL 和 LL-bpf 进行比较。表 3 展示了在各种数据集上的测试错误率。我们的方法在 SVHN 和 STL-10 数据集上优于 BP 基线。对于每个数据集,我们的模型在与使用单一局部损失训练的 LL 模型相比时表现出竞争力。尽管我们的模型总体表现良好,但用两种局部损失函数训练的 LL-predsim 仍然优于我们的方法。然而,在所有数据集中,我们的模型始终优于 LL-predsim 的无 BP 版本 LL-bpf。值得注意的是,LL 的辅助网络显著增加了参数数量,而我们的方法引入了更少的额外参数:(Z \times CD)。表 4 强调了我们的方法在内存效率上优于 LL 和 BP,且比 LL 需要更少的参数。

Loss TypeMethodMNISTF-MNISTCIFAR-10CIFAR-100SVHNSTL-10
Single Global LossBP0.264.535.9926.202.2933.08
Two Local LossesLL-contrec*0.65*5.71*9.02*31.35*2.34*29.74
LL-predsim0.314.655.5824.101.7420.51
LL-bpf*0.35*5.689.02*37.60*2.31*26.12
Single Local LossLL-cont*0.37*5.92*7.72*31.19*2.29*26.83
LL-pred0.405.668.4029.302.1226.83
LL-sim0.655.127.1632.601.8923.15
Single Local LossDCL0.335.528.6431.752.1922.87
MethodMNIST, F-MNIST MemoryCIFAR-10, SVHN MemoryCIFAR-100 MemorySTL-10 Memory
BP847 MiB1086 MiB1088 MiB2315 MiB
LL-contrec811 MiB1049 MiB1050 MiB5954 MiB
LL-predsim1038 MiB1291 MiB1310 MiB2594 MiB
LL-bpf708 MiB895 MiB897 MiB1851 MiB
LL-cont870 MiB1.43M MiB890 MiB1826 MiB
LL-pred933 MiB1154 MiB1156 MiB2290 MiB
DCL580 MiB747 MiB751 MiB1589 MiB

进一步分析和讨论

对任务无关信息的鲁棒性

为了重新审视我们在第 4.1 节中讨论的动机,我们分析了我们的目标与 Lfeat 和 Lcontrast 在任务无关信息方面的区别,如图 3 所示。表 1 和表 2 强调了 Ldict 与 Lfeat 之间的性能差距,尤其是在卷积网络中。我们通过任务无关信息的视角解释这些差异。正如我们的假设,图 3 显示了 Lfeat 遇到了干扰问题,即 (I(h, r)) 没有从基线减少。相比之下,Ldict 从第四层开始有效地减少了 (I(h, r)),最终与辅助网络(Lcontrast)实现的 (I(h, r)) 水平相匹配,即使标签嵌入向量是静态的。附录 J.2.7 详细介绍了估计互信息的方法。

自适应嵌入的有效性

图 4 描述了自适应嵌入与静态嵌入在 CIFAR-10 和 CIFAR-100 上的有效性。使用自适应标签嵌入词典 (D_Z) 训练的模型始终优于使用静态标签嵌入向量的模型,无论比较的静态嵌入是随机的((D_N))还是正交的((D_\perp))。特别是,在 CIFAR-100 上,卷积架构的性能差距比 CIFAR-10 更明显。

解释性与标签嵌入

图 5 展示了在 CIFAR-10 上用 VGG8B 训练的模型中,最后一层预测的前两名标签的显著性图可视化结果。这些显著性图通过标签嵌入向量与单个局部特征向量的点积生成,每个局部特征向量表示图像中的一个区域。对于前一名标签,显著性图与输入图像中与该标签相关的区域清晰对齐。例如,”Horse” 标签的显著性与马的身体精确匹配。

显著性图也能合理解释错误标签的高置信度。图 5 中,”Horse” 图像中与第二名标签 “Deer” 相关的显著性表明模型将马头附近的两棵树误认为是鹿角。这种误解是因为鹿角通常为 “Deer” 标签生成较高的显著性,如 “Deer” 图像中与第一名标签 “Deer” 相关的显著性所示。更多示例见附录 K.3。

自适应嵌入的语义属性

图 6 展示了 CIFAR-100 上自适应标签嵌入向量的语义关系,CIFAR-100 包含 20 个超级标签,每个超级标签包含 5 个子标签。这些向量的聚类突显了它们的语义学习能力,类似于图 5 中与标签特定显著特征的对齐。同一超级标签的嵌入往往聚集在一起,而语义相似但不同超级标签的嵌入也显示出接近。例如,”forest” 更接近 “trees”,而 “chimpanzee” 更接近 “people” 而非其他超级标签组内的嵌入。更多关于超级标签的实验见附录 D。

自适应标签嵌入与混淆率

图 7 捕捉了 CIFAR-10 上混淆率与自适应标签嵌入相似性的关系。对于标签 (y_i) 和 (y_j),混淆率定义为错误预测 (y_i) 为 (y_j) 的测试错误率的平均值。图 7 显示,随着标签之间混淆率的增加,这些标签的嵌入表示变得更为不同。这表明,当模型难以区分两个标签时,它通过动态调整标签嵌入空间以便更好地分离标签。

平均池化与投影的比较

我们考虑一个全连接层 (f_l^P: R^{CD} \to R^{C_l}) 作为替代 Eq. (2) 中使用的一维平均池化 (pool_l)。线性投影层 (f_l^P) 将 CD 维度标签嵌入向量映射到 (C_l) 维度标签嵌入向量,使得 (f_l^P(t_z) = t_l^z)。表 5 显示,平均池化在性能和内存/参数效率上优于线性投影。

结论

本文发现,传统对比学习目标在没有辅助网络的情况下效率受限,主要原因是任务无关信息的存在。为了解决这一挑战,我们提出了一种新颖的目标 DCL,直接将局部特征与标签特定的嵌入向量对齐。即使没有辅助网络,我们的方法也能有效丢弃任务无关信息,显著优于其他 FL 方法。此外,我们的方法使用自适应标签嵌入向量,达到与 BP 和 LL 相当的性能,同时在参数/内存效率方面优于 LL。我们希望这项工作能为未来研究铺平道路,将 DCL 定位为 BP 的强大替代方案。

参考文献

  • Liao, Q., Leibo, J.Z., & Poggio, T. (2016). How important is weight symmetry in backpropagation? In AAAI.
  • Fei, Y., Taniguchi, T., et al. (2022). Emulating human biological and cognitive processes in deep learning.
  • Nøkland, A., & Eidnes, L.H. (2019). Training neural networks with local error signals.
  • Belilovsky, E., et al. (2020). Decoupled greedy learning of CNNs.
  • Pathak, D., et al. (2022). Learning representations by maximizing mutual information across views.
  • Oord, A., et al. (2018). Representation learning with contrastive predictive coding.

发表评论