人工智能咨询培训老师叶梓 转载标明出处
在现实世界中,数据之间的复杂相互依赖性是一个普遍存在的现象。这种错综复杂的依赖关系,对于传统的机器学习算法来说,是一个巨大的挑战。因为它们通常假设数据是独立同分布的,这使得算法难以捕捉数据的内在几何结构,进而影响到模型学习到的实例表示的质量。为了解决这一难题,来自上海交通大学的研究团队联合牛津大学和亚马逊网络服务的学者们,共同提出了一种创新的解决方案:基于能量约束的扩散模型。
这一模型的核心思想是,通过将数据集中的实例逐步编码到一系列演化状态中,从而实现信息在实例间的交互和融合。在这个过程中,一个精心设计的能量函数起到了关键作用,它作为约束条件,确保了实例表示在潜在结构上的全局一致性。这种基于物理扩散原理的方法,不仅为机器学习领域带来了新的视角,也为处理复杂数据依赖性问题提供了一种有效的工具。
在这一研究的推动下,Difformer模型应运而生。它包含两种版本:一种是计算复杂度较低的版本,适合处理大规模数据集;另一种则更为高级,能够捕捉更复杂的数据结构。实验结果表明,无论是在节点分类、半监督图像和文本分类,还是时空动态预测等任务中,Difformer模型均展现出了卓越的性能。
方法
图1Difformer模型的整体架构和工作流程中描绘了一个数据集或批次的实例通过一个扩散过程被编码成隐藏状态,该过程旨在最小化一个正则化能量函数。在这个过程中,数据的特征在不同的层之间传播,通过最优的相互连接结构实现信息的传递。
在深度学习领域,处理部分标记实例集时,如何有效捕捉实例间的复杂关系并学习到有用的表示是一个挑战。能量约束的几何扩散变换器(Energy Constrained Geometric Diffusion Transformers),即Difformer通过模拟热扩散过程来逐渐将数据集中的实例编码到演化状态中,进而实现信息的交互和融合。
几何扩散模型是Difformer架构的起点,它将整个数据集视为一个整体,并通过各向异性的扩散过程产生实例表示。这种扩散过程由偏微分方程(PDE)描述,灵感来源于黎曼流形上的热扩散类比。
- 状态函数:使用向量值函数 定义了在时间t 和位置i 的实例状态。
- 扩散过程:通过一个PDE来描述实例状态的演化,该PDE包含边界条件。其中,定义了控制任意两个实例之间在时间t 的扩散强度的扩散系数矩阵。
- 梯度与散度:梯度算子 ∇ 测量源状态和目标状态之间的差异,散度算子 ∇∗ 则在点上汇总信息流。
扩散过程的数值解可以通过显式欧拉方案来实现,其中包含了时间步长 τ。经过重新排列,可以得到:
该迭代过程在 τ∈(0,1) 时可以稳定收敛。经过有限次的传播步骤后,可以使用最终状态进行预测。
定义合适的扩散系数函数是实现期望扩散过程的关键,这需要在最大化信息效用和保持一定一致性之间找到平衡。通过引入一个能量函数来衡量给定步骤中实例状态的假定质量,进而约束扩散过程。
- 能量函数:能量函数 通过添加一个非递减且凹函数δ 来促进对实例之间大差异的鲁棒性。
- 能量约束扩散:扩散过程描述了实例状态的微观行为,而能量函数提供了一个宏观视角来量化一致性。期望最终状态能够产生低能量,这表明物理系统达到了稳定点。
通过这种方式,Difformer模型将实例状态的演化引向产生较低能量的状态,从而在数据的潜在结构上实现了有效的信息融合。
基于上述理论,研究者们提出了两种实际的Difformer模型实现:简单扩散模型(DIFFORMER-s)和高级扩散模型(DIFFORMER-a)。
- 简单扩散模型:采用线性函数 来定义扩散系数,从而实现线性复杂度的计算。
- 高级扩散模型:采用非线性函数 ,以捕捉更复杂的潜在结构。
为了提升Difformer模型的表达能力和适用性,采纳两种策略:
- 通过在每层后添加全连接层进行层级变换,这允许模型在特征传递后调整和优化实例表示,使模型能够更灵活地适应不同数据特征;
- 当存在图结构数据时,模型通过结合邻接矩阵来融合实例间的拓扑关系,使信息传递过程考虑了实例间的实际连接,从而提高了模型对复杂结构数据的捕捉能力。这些改进使得Difformer在多种数据集和任务上都展现出了优越的性能。
Difformer模型通过能量约束的几何扩散过程,有效地处理了现实世界数据的复杂依赖性问题,为大模型在各种任务中的应用提供了新的视角和工具。
想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。
评论留言“参加”或扫描微信备注“参加”,即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory。关注享粉丝福利,限时免费录播讲解。
LLaMA Factory 支持多种预训练模型和微调算法。它提供灵活的运算精度和优化算法选择,以及丰富的实验监控工具。开源特性和社区支持使其易于使用,适合各类用户快速提升模型性能。
实验
验证任务包括基于图的节点分类、无输入图的图像和文本分类,以及时空动态预测。在这些评估中,Difformer 与多种与之密切相关的模型进行了比较,这些模型专为特定任务设计。
Difformer 在三个引文网络数据集Cora、Citeseer和Pubmed上进行了测试,结果显示在表2中。比较的基线模型包括多层感知器(MLP)、标签传播(LP)和ManiReg等经典图基半监督学习(SSL)模型,以及SGC、GCN、GAT及其变体GCN-kNN、GAT-kNN和Dense GAT等图神经网络(GNN)模型。此外,还考虑了LDS和GLCN等强大的结构学习模型。表2表明,Difformer 在这三个数据集上都取得了最好的结果,与没有非线性的模型(如SGC、GRAND-l和DGC-Euler)相比,Difformer-s在Cora和Pubmed数据集上的表现尤为突出。
Difformer 还被应用于两个大规模图数据集:ogbn-Proteins和Pokec。表3展示了结果。由于数据集的规模较大(两个图的节点数分别为0.13M和1.63M),许多模型在单张V100 GPU上进行全图训练时会遇到可扩展性问题。因此,只比较了Difformer-s和标准GNN模型,并采用了小批量训练。结果显示,Difformer 在这两个数据集上的表现都优于常见的GNN模型,这表明其在处理大规模数据集方面的有效性。
Difformer 在CIFAR-10、STL-10和20News-Group数据集上进行了测试,以评估其在有限标签情况下的分类性能。对于20News数据集,选取了10个主题,并使用TF-IDF值大于5的词作为特征。对于CIFAR和STL图像数据集,首先使用自监督方法SimCLR训练ResNet-18提取特征图作为实例的输入特征。表4报告了Difformer和包括MLP、ManiReg、GCN-kNN、GAT-kNN、DenseGAT和GLCN在内的竞争对手的测试准确率。在几乎所有情况下,两种Difformer模型的性能都远超过MLP,这表明学习实例间的相互依赖性是有效的。另外Difformer在性能上也大幅超过了GCN和GAT,这表明其在适应不同层时具有优越性。
考虑了三个时空数据集,每个数据集由一系列图快照组成,节点被视为实例,每个实例都有一个整数标签(例如,Chickenpox或Covid的报告病例)。任务是基于先前的快照预测一个快照的标签。表5比较了四种Difformer变体(其中Difformer-s w/o g表示不使用输入图的Difformer-s模型)与基线模型的测试均方误差(MSE)。结果表明,两种不使用输入图的Difformer变体在四分之六的情况下甚至优于使用输入结构的对应模型。这表明Difformer的扩散性估计模块可以学习有用的结构以进行有根据的预测,而输入结构并不总是对预测有积极作用。
图2(a)比较了使用其他扩散函数的Difformer变体,这些扩散函数与能量最小化没有本质联系。结果一致表明,采用的扩散形式产生了优越的性能,这验证了从原则性能量最小化中得出的扩散性设计的效力。图2(b)讨论了模型深度K和步长τ对Cora性能的影响。曲线表明,步长影响模型性能以及随模型深度变化的趋势。当使用较大的步长(例如,τ = 0.5)时,模型可以在较少的层中获得优越的性能;当使用较小的步长(例如,τ = 0.1)时,模型需要堆叠更多层才能具有竞争力。这可能是因为较大的τ有助于在每次扩散迭代中更集中地从其他实例获取全局信息,这在较少层中带来了更有益的信息,但可能导致深层模型的不稳定性。而使用较小的τ可以增强模型对深层模型深度的不敏感性,这通常会降低其他基线模型(如GCN和GAT)的性能。
Difformer模型的提出,为处理现实世界中复杂的数据依赖性问题提供了一种有效的解决方案。Difformer模型的代码已经在GitHub上公开:https://github.com/qitianwu/DIFFormer
论文链接:https://arxiv.org/pdf/2301.09474v4