专栏名称: 小白学视觉
本公众号主要介绍机器视觉基础知识和新闻,以及在学习机器视觉时遇到的各种纠结和坑的心路历程。
目录
相关文章推荐
虎嗅APP  ·  梁文锋革了游资的命? ·  昨天  
51好读  ›  专栏  ›  小白学视觉

TPAMI 2024 | 何恺明都没有想到!在残差神经网络里面加入扩散机制

小白学视觉  · 公众号  · 科技媒体  · 2024-09-08 10:05

主要观点总结

本文提出了一种基于扩散机制的残差神经网络(Diff-ResNet),该网络通过将扩散机制引入神经网络的架构中,解决了在半监督学习和少样本学习中标签样本有限的问题。该网络通过对流-扩散ODE模型,将扩散机制内部整合到ResNet中,增强了标记和未标记数据点之间的关系,而不是在总损失中施加扩散损失。理论分析表明,扩散机制可以加速分类过程,使得来自不同子类的样本可以被分开,而来自同一子类的样本将被聚集在一起。在各种任务和数据集上的广泛实验验证了所提出方法的有效性。

关键观点总结

关键观点1: Diff-ResNet的提出

为了解决半监督学习和少样本学习中标签样本有限的问题,本文提出了一种基于扩散机制的残差神经网络(Diff-ResNet)。

关键观点2: 对流-扩散ODE模型

通过引入对流-扩散ODE模型,将扩散机制内部整合到ResNet中,增强了标记和未标记数据点之间的关系。

关键观点3: 扩散机制的理论分析

理论分析表明,扩散机制可以加速分类过程,使得来自不同子类的样本可以被分开,而来自同一子类的样本将被聚集在一起。

关键观点4: 实验验证

在各种任务和数据集上的广泛实验验证了所提出方法的有效性,包括合成数据、半监督图学习任务和少样本学习任务。

关键观点5: 未来工作

未来的工作将包括研究扩散机制的鲁棒性、在少样本学习推理阶段加速Diff-ResNet、从扩散ODE扩展到扩散PDE,以及在极低标签率的半监督学习中扩散的效果。


正文

点击上方 小白学视觉 ”,选择加" 星标 "或“ 置顶

重磅干货,第一时间送达

本文转自:AI学术工坊


题目:Diffusion Mechanism in Residual Neural Network: Theory and Applications

残差神经网络中的扩散机制:理论与应用

作者:Tangjun Wang; Zehao Dou; Chenglong Bao; Zuoqiang Shi

源码链接:https://github.com/shwangtangjun/Diff-ResNet


摘要

扩散是一种在许多物理过程中出现的基本内部机制,描述了不同对象之间的相互作用。在许多训练样本受限的学习任务中,扩散将标记和未标记的数据点连接起来,是实现高分类精度的关键组成部分。许多现有的深度学习方法在训练神经网络时直接施加融合损失。在这项工作中,受对流-扩散常微分方程(ODEs)的启发,我们提出了一种新颖的扩散残差网络(Diff-ResNet),将扩散内部引入到神经网络的架构中。在结构化数据的假设下,证明了所提出的扩散块可以增加距离直径比,这提高了类间点的可分性,并减少了局部类内点之间的距离。此外,该性质可以很容易地被残差网络采用,以构建可分离的超平面。在各种数据集上的合成二元分类、半监督图节点分类和少样本图像分类的广泛实验验证了所提出方法的有效性。

关键词

  • 扩散,残差神经网络,常微分方程,半监督学习,少样本学习。

I. 引言

残差网络(ResNet)及其变体,包含不同层之间的跳跃连接,在深度学习中是大有希望的网络架构。与非残差网络相比,ResNet显著提高了训练稳定性和泛化精度。为了理解ResNet的成功,最近一系列工作建立了它与常微分方程(ODEs)的联系。设 为一个数据点,ResNet的ODE模型是:

其中 是由 参数化的映射。显然,(1)的前向欧拉离散化恢复了残差连接,这激发了ResNets和ODE之间的联系。基于上述观察,许多最近的工作从两个角度提出:受ODE启发的神经网络和基于神经网络的ODE。具体来说,ODE启发的神经网络设计方法可以分为两个方向。一种设计网络的方法是通过不同的离散化方案展开ODE系统,构建端到端映射。典型的网络包括PolyNet、FractalNet和线性多步网络。另一种方法是通过修改ODE模型向当前网络架构中添加一些新的块,例如噪声注入、随机动态系统、添加阻尼项。由于ODE具有强大的数学基础,上述工作中提出的网络架构已经显示出提高的可解释性和性能。另一方面,基于神经网络的ODE模型通过神经网络参数化速度 ,并通过最优控制公式找到参数 。这些方法提高了传统ODE方法的表达能力,并在包括具有不规则边界的系统、流体力学领域的PDEs以及高维微分方程等各种问题中展示了有希望的结果。因此,ResNets和ODE之间的联系值得深入探索。

深度学习方法的成功高度依赖于大量的训练样本,但收集训练数据需要大量的劳动工作,有时由于隐私或安全问题,在许多应用领域中是不可能的。为了减轻对训练数据的依赖,半监督学习(SSL)和少样本学习(FSL)近年来受到了极大的关注。半监督学习通常使用大量的未标记数据,与标记数据一起,构建更好的分类器。少样本学习是一种更近期的范式,与半监督学习密切相关,主要区别在于支持集(标记点)的大小要小得多。SSL和FSL的一个共同特点是利用未标记样本来解决标记集受限的问题。有关SSL和FSL的综述,请参见[18],[21]。在这项工作中,我们专注于解决SSL问题的基于深度学习的方法。一般来说,深度SSL方法可以分为两类:一致性正则化和熵最小化。一致性正则化要求对输入的微小扰动不会显著改变输出。基于此思想的Π-Model和其更稳定的版本Mean Teacher要求不同传递中的随机网络预测几乎没有干扰。VAT用“最坏”的扰动替换了随机扰动,这种扰动可以最大程度地影响预测函数的输出。熵最小化与自训练密切相关,鼓励对未标记数据进行更有信心的预测。EntMin对未标记样本的预测施加低熵要求。伪标签将高预测置信度的未标记样本作为标记样本输入网络以训练更好的分类器。此外,一些整体方法试图将当前有效的SSL方法统一到一个框架中,例如MixMatch,FixMatch。尽管存在许多在各种任务中取得令人印象深刻结果的深度SSL方法,但一致性正则化或熵最小化方法在SSL/FSL分类中的内部机制仍然不清楚。

为了揭开SSL和FSL中的这一谜团,我们提出了一个基于ODE的深度神经网络,它基于ODE和ResNet之间的联系。如(1)所示,ResNet的当前ODE对应物是对流方程。每个由(1)控制的点都独立演化。当有大量训练样本可用时,这种演化过程是可以接受的,但当监督样本的数量减少时,性能会显著恶化。因此,直接将(1)应用于SSL/FSL可能存在问题。为了解决这个问题,我们在(1)中引入了扩散机制,得到了对流-扩散方程。离散化后,我们得到了基于扩散的残差神经网络。强加的扩散在训练数据有限的领域中是关键组成部分,它在样本(包括标记和未标记的)之间强制执行交互。事实上,值得一提的是,在诸如流体动力学、建筑物理、半导体等复杂系统中,对流和扩散机制总是同时出现,这强烈激发了将扩散整合到深度ResNets中。

在样本之间强加交互作用是一个经典的想法,已经出现在许多现有的SSL方法中,但将对流和扩散结合在网络架构中尚未被充分探索。此外,大多数方法通过在损失函数中添加拉普拉斯正则化项来引入扩散,这在基于图的SSL中广泛使用。在这种情况下,调整拉普拉斯正则化项的权重并不容易,通常对任务敏感。与上述方法不同,我们明确地在ResNet中添加了扩散层。所提出的扩散层在内部强加样本之间的交互,并且在SSL/FSL中显示出更高的有效性。更重要的是,我们对扩散ODE进行了理论分析,并展示了其在数据样本间距离-直径比方面的优势,这为所提出的方法提供了坚实的基础。总之,我们的主要贡献如下:

  • 我们提出了一个对流-扩散ODE模型来解决SSL/FSL问题,这导致在适当的离散化后将扩散层添加到ResNets中。所提出的基于扩散的ResNet通过设计好的网络架构加强了标记和未标记数据点之间的关系,而不是在总损失中施加扩散损失。据我们所知,这是第一次尝试将扩散机制内部整合到深度神经网络架构中。
  • 在结构化数据的假设下,证明了扩散机制能够加速分类过程,使得来自不同子类的样本可以被分开,而来自同一子类的样本将被聚集在一起。利用这种性质,我们可以理论上构建一个残差网络,确保输出特征是线性可分的。这一分析为我们的方法提供了数学基础。
  • 在各种任务和数据集上的广泛实验验证了我们的理论结果和所提出的Diff-ResNet的优势。

本文的其余部分组织如下。相关工作在第二节给出。第三节介绍了我们的扩散残差网络的公式和细节,第四节提供了扩散机制的理论分析。在第五节中报告了各种任务的实验结果。我们在第六节总结了本文。

III. DIFFUSION RESIDUAL NETWORKS

在本节中,我们从ODE的角度引入扩散机制,并基于扩散ODE的数值方案提出Diff-ResNet。

A. The ODE Formulation

在ResNet [1]中,特定数据点 在第k个残差块之后的特特征图定义为 。残差连接意味着 通过跳跃恒等链接加到 上。如果我们将卷积层、批量归一化层和其他层聚集在一起,并表示为函数 ,那么每个残差块可以写成:

其中 是第k个块的参数。从ODE的角度来看, 可以被视为速度场,而 可以被视为 的起始位置和结束位置。引入一个时间步长 ,可以被吸收在 中,ResNet可以被视为以下ODE模型的前向欧拉离散化,该模型描述了 的演变:

时间形成了一个连续的类比到层索引,每个层对应于演化的一次迭代。这个ODE只包含对流项,每个点独立移动,没有碰撞。为了增强特别是在未标记样本中的数据点之间的交互,我们在(3)中引入了额外的扩散项,得到以下对流-扩散ODE系统:

对于所有的 ,其中 是点的数量, 是一个控制扩散强度的参数, 之间的权重。通过设计一个权重矩阵来描述点之间的相似性,我们可以期望相似的点被拉近,而不同的点被驱离。在本文中,对流项 被设置为一个简单的2层网络,宽度为 ,即:

这里 ,并且 。激活函数 选择为ReLU。 是时间 的网络权重集合。在下一节中,我们将基于新的ODE(4)导出一个实用的算法。

B. Algorithm

我们使用经典的Lie-Trotter分裂方案 [75] 对对流-扩散(4)进行离散化。在吸收时间步长 进入 之后,我们得到:

对流步骤(6)几乎与残差块(2)相同,只是时间步长不同,这在实现中不是本质区别。添加的扩散步骤(7)可以被视为对流步骤(6)的稳定化。如果权重矩阵是预先计算的,扩散步骤是无参数的,因此提出的扩散项可以轻松地与任何现有的网络或算法以即插即用的方式结合。为了构建权重矩阵,我们使用高斯核 来衡量数据点之间的相似性。 是调整权重分布的参数。接下来,我们引入两个操作符,Sparse和Normalize,以及一个超参数,ntop,以获得一个稀疏且平衡的权重矩阵。Sparse是一个截断操作符,使权重矩阵变得稀疏。在每一行中,它保留最大的ntop个条目,并将其他条目截断为0。Normalize对称地规范化权重矩阵。一旦构建,权重矩阵在训练过程中保持不变。

使用Lie-Trotter方案,我们在对流步骤(6)之后得到一个扩散步骤(7)。然而,在我们的实现中,通常每个对流步骤后面跟着多个扩散步骤。原因是扩散项具有强烈的数值刚性,如在线附录A中证明。当使用简单的显式欧拉离散化方法时,步长 应该足够小以保持数值稳定性。因此,为了保持一定的扩散强度,我们将使用简单的前向欧拉方案来离散化扩散项。此外,即使总强度很小,多个扩散层在实验中也给出了稍微更好的结果。因此,在网络中,我们在每个残差块后面添加了r个扩散层,每个层具有固定的步长 。我们的Diff-ResNet的说明可以在图1中找到。我们在算法1中总结了我们的方法。

备注1 :在扩散步骤(7)中,第i个数据点的特征图取决于前一层所有数据点的特征图,这在数据点总数过大的任务中是不现实的。在我们的实现中,我们采用了小批量训练策略。也就是说,每个批次中的权重相应地被稀疏化和规范化。

IV. ANALYSIS OF DIFFUSION MECHANISM

在本节中,我们将从理论上分析扩散机制的有效性。为了简化问题,我们只考虑二元分类问题,我们的分析可以自然地扩展到多类情况。

A. 结构化数据假设

我们的数据集生成方式如下:假设所有的数据点来自 。符号 表示 且对于所有的 ,有 。每个集合 包含来自第 类的点。我们进一步假设每个集合 可以划分为几个不重叠且有界的子集 ,每个 对应于一个子类。在二元分类中, 是子类的数量,可能随着类别而变化。然而,我们可以将 设置为所有类别中的最大值,并让不存在的子类 。记 作为子集的总数。两个不相交集合 之间的距离定义为

集合 的直径定义为

备注2 :我们引入子类而不是直接使用类别的原因是,它可以减轻我们的可分性假设。我们不需要两个类别彼此很好地分开,这在现实世界的场景中是不现实的。相反,我们只需要局部子类形成簇。

现在我们准备陈述结构化数据假设。

(A) (直径的上界)存在 ,使得对于每个 ,我们有: 对于某个 ,然后

(B) (距离的下界)存在 ,使得对于每个 ,我们有

结构化数据假设的插图见图2。这里, 类似于类间距离和类内距离,这是聚类领域广泛使用的术语。不同之处在于,我们分析中使用的直径是子类中点的局部类内距离的上界。从这个意义上说,结构化数据假设可能更适用于处理复杂数据集。例如,在MNIST数据集中,每个数字可能有不同的手写风格,这对应于不同的子类,适合我们的分析框架。结构化数据假设背后的直觉很简单:相似的样本应该接近,而不同的样本应该远离。

B. 理论分析

我们在此展示本文的理论结果,以解释扩散机制在二元分类中的作用。由于空间限制,我们将所有证明推迟到在线附录中。

定义 :集合 ,其中 ,称为线性可分的,当且仅当存在一个超平面将整个空间 切割成两个半空间,并且每个半空间中的数据点具有相同的标签。

定理1 :(ResNet流的近似性质)如果所有 ,可以通过一组 个平行超平面分开,即存在一个唯一的 位于每对相邻平行超平面之间的区域。那么我们可以构造时间依赖参数 在ResNet流中,

使得所有最终步骤2的区域 是线性可分的。我们需要 个不同的变量和 层。

我们给出了证明的概述。考虑最简单的情况,其中每个 只包含一个点,宽度 也是1。我们的主要思想是构造一个ResNet流,使得每个子类被移动到一个适当的位置,具有更好的可分性。我们将总时间分成 个间隔,并逐个处理点。解决最简单的情况后,我们扩展到 的情况,即网络宽度更大。最后,我们证明了每个 中有多于一个点的情况。

在经典的XOR数据集中,原始数据点 不是线性可分的。然而, 定理1 告诉我们:通过ODE流,我们可以使得输出特征 变得线性可分,以便适当的全连接层可以实现准确的分类。

我们的下一步是展示 定理1 中的条件可以通过引入扩散机制来满足。首先,我们给出了一个与距离-直径比有关的充分条件。

定理2 。如果距离-直径比足够大,

那么所有 ,可以通过一组 个平行超平面分开。

这个证明依赖于将一个特定集合的表面积与单位球体进行比较。值得注意的是,在大多数情况下,子类的数量 远小于 。因此,不等式中的常数是可实现的。下一个命题展示了扩散步骤可以以指数速率增加这个比率。

命题1 :假设每个子集 中的数据点在图 中形成一个连通分量,并且每个 是凸的。那么,距离-直径比增长到无穷大,即

此外,增长率是指数级的。

证明 命题1 的基本思想是展示 是非递增的,而 以指数速率收敛到零。利用谱聚类理论,证明了每个子类沿着扩散过程收敛到其中心。

为了满足每个子集 中的点在图中形成一个连通分量的假设,我们应该确保(1)没有边连接不同子集中的点(2)同一子集 中的任意两个顶点是相互连接的。通过权重矩阵的构造,图中的每个顶点只与其 个最近邻居相连。因此,第一个论点在 不太大时得到满足,即最近邻居只包含来自同一子类的点。另一方面,一个k-最近邻图的连通性阈值是 [76],在我们的情况下,n应该是每个子集中的点的数量。

上述分析揭示了扩散机制通过使同一子区域中的数据点更接近,而其他点相对更远,有助于组织数据点。随着距离-直径比的增加,使用ResNet流区分数据点变得容易。这个属性对于SSL/FSL问题很重要,因为它深入探索了点之间的关系。

V. EXPERIMENTS

在本节中,我们将展示扩散机制在合成数据上的效用,并报告Diff-ResNet在半监督图学习任务和少样本学习任务上的性能。

A. 合成数据

我们在四个经典的合成数据集上进行了实验:XOR、moon、circle和spiral。在XOR数据集中,我们直接应用扩散而不使用任何对流。然后我们可以清楚地看到点的演变过程,验证了命题1。其他三个数据集用来展示扩散在分类任务中的有效性。由于篇幅限制,请参考在线附录E.1.4查看更多结果。

我们随机收集了100个点,分别位于以(0,0),(0,2),(2,0),(2,2)为中心的四个圆上,半径为0.75。这四个圆被视为对应于四个子类的子集。以(0,0)和(2,2)为中心的圆属于同一类别,并用红色标记。以(2,0)为中心的蓝色点类似生成。这里,我们展示了当扩散强度趋向于无穷大时点的演变。如第三节B所述,我们通过使用小步长γ堆叠扩散步骤以确保稳定性。在图3中,给出了经过1、10、20和200次扩散步骤后点的分布。在这个例子中,初始直径为D = 1.5,而距离为L = 0.5,这不满足命题1中的充分条件L > D。然而,如图3所示,扩散仍然有效。同一子类中的数据点汇聚成单点。我们还从图3(b)中观察到,距离-直径比确实以指数方式增长到无穷大。

备注3 。一些人可能会对使用“扩散”这个术语表示怀疑,因为它实际上是将相似的点聚集在一起,在视觉上创建高密度区域。然而,图3中显示的现象并不与扩散的定义相矛盾。一个点的能量由其坐标表示。我们期望图连接的相邻元素将交换能量,直到能量在所有连接的元素中均匀分布。因此,扩散机制作为将点聚集在一起的作用。

接下来,我们展示了在包含1000个平面数据点的二元分类任务中残差网络中扩散的有效性。这些点形成了两个圆。两个类别用不同的颜色标记。我们使用了隐藏维度为2的残差网络(这样我们可以方便地可视化特征)。实验设置的详细信息可以在在线附录E.1中找到。在训练有或没有扩散机制的残差网络时,我们在最终分类层之前绘制了特征图,如图4所示。请注意,我们绘制的不是输入数据点。因此,即使没有扩散,点也必须通过一个随机初始化的残差块。所以在图4(c)中,特征与(a)中的原始输入点不同。circle数据集的结果在图4中显示。

如图4所示,扩散可以降低噪声。在图4(f)、(g)和(h)中,特征非常清晰,而在图4(e)中,特征仍然嘈杂。此外,扩散步骤使得最终特征更容易分离。在图4(h)中,特征可以通过一条直线轻松分离,而在没有扩散的情况下,特征不是线性可分的,如图4(e)所示。不足为奇的是,在这种情况下,考虑到ResNet总共只有18个参数,ResNet未能给出正确的分类。在扩散步骤的帮助下,即使是这个只有18个参数的小网络也可以给出正确的分类,这表明扩散在分类问题中非常有用。

B. 图学习

我们研究了扩散在图上的半监督学习问题中的效果。在扩散步骤中,一个关键点是如何确定权重,以正确描述数据点之间的关系。然而,在图中这不是问题,因为权重已经以邻接矩阵的形式给出。我们报告了在最广泛使用的引用网络基准测试中的分类结果,包括Cora、Citeseer和Pubmed。这些数据集是引用网络,其中节点是文档,边是引用链接,特征是稀疏的词袋向量。具体的数据集统计信息在在线附录E.2.1中给出。此外,我们没有使用固定的Planetoid [38]拆分,而是遵循[77],报告了所有数据集使用100个随机拆分和每个拆分20个随机初始化的结果。

图学习中的主流方法,如GCN [78]、GraphSAGE [79]和GAT [80],包含聚合步骤,这些步骤使用邻接矩阵从邻居中聚合特征信息,然后使用聚合信息预测标签。与这些传统范式不同,我们的方法由对流和扩散步骤组成。对流步骤充分利用了标签信息,而扩散步骤在数据样本之间交换特征信息。邻接矩阵仅在扩散步骤中使用。

我们比较了我们的方法与几种图学习方法:三种最受欢迎的架构GCN、GraphSAGE(它的两个变体)、GAT,以及最近的基于ODE的GNN架构,连续图神经网络(CGNN)[81]、图神经普通微分方程(GDE)[82]和图神经扩散(GRAND)[47]。详细的网络结构和参数设置可以在在线附录E.2中找到。分类结果在表I中报告。Diff-ResNet明显优于没有扩散的ResNet(No-Diff-ResNet)。平均准确率提高了15%以上,这是扩散带来好处的有力证据。此外,尽管我们的扩散网络与主流网络有很大的不同,我们的方法在图学习方法中仍然取得了与经典和最新方法相媲美的结果。因此,我们为半监督图学习问题提出了一条替代路径。

此外,据报道,基于邻域信息聚合的方法会随着深度增加而遭受过平滑问题 [56],[83]。如图5所示,当网络深度增加到32时,GCN的性能平均下降了50%以上。与GCN不同,我们的Diff-ResNet不使用聚合,因此节点的表示不会收敛到某个值并且变得无法区分。当层数增加到32时,Diff-ResNet的性能仅下降了不到10%,这部分是由于深层网络训练的负担。这证明了我们的网络结构与主流架构有很大的不同。

C. 少样本学习

鉴于数据集 ,其中 是带有标签信息的支持集, 是无标签的查询集,少样本学习的目标是在支持集 非常小的情况下找到查询集中点的标签。在现有的少样本学习方法中,嵌入学习是一种典型方法,它将每个样本映射到低维空间,使得相似的样本接近,而不相似的样本远离。嵌入函数可以通过深度神经网络(即backbone)学习,该网络使用大量基础类别上的标记示例进行预训练。在少样本学习问题中,预训练的嵌入函数是固定的,并将所有数据样本映射到嵌入空间。

我们在三个少样本图像分类基准上进行实验:miniImageNet、tieredImageNet和CUB。miniImageNet和tieredImageNet都是ILSVRC-12数据集 [84]的子集,分别有100个和608个类别。CUB-200-2011 [85]是另一个细粒度图像分类数据集,有200个类别。我们遵循先前论文 [68],[86],[87]中的标准数据集拆分。所有图像都被调整为84×84的大小,遵循 [20]。

我们选择了两种广泛使用的网络,ResNet-18 [1]和WRN-28-10 [88]作为我们的backbone:后者通过添加更多的卷积层(28层)和特征平面(10倍)来扩展残差块。首先,我们使用交叉熵损失、标签平滑因子0.1、SGD优化器、标准数据增强和批量大小256来训练所有模型的基础类别上的backbone。注意,我们的训练过程不涉及任何元学习或情景训练策略。模型训练了T = 100个周期用于miniImageNet和tieredImageNet,以及T = 400个周期用于CUB,因为它的尺寸较小。我们使用多步调度器,在0.5T和0.75T时将学习率降低0.1。我们在验证集上评估了最近原型分类的准确性,并获得了最佳模型。嵌入训练过程通常与SimpleShot [68]和LaplacianShot [69]相似,但细节略有不同。最终我们得到了一个嵌入函数,将原始数据点映射到 ,其中M = 512对于ResNet-18,M = 640对于WRN-28-10。

在我们为每个数据点获得特征向量之后,我们比较了5种典型的分类方法的性能,以强调扩散机制的有效性。

(1) 最近原型:每个类别 的原型 是支持集







请到「今天看啥」查看全文