深度学习的新突破:Difformer模型

news2024/9/22 0:51:18

人工智能咨询培训老师叶梓 转载标明出处

在现实世界中,数据之间的复杂相互依赖性是一个普遍存在的现象。这种错综复杂的依赖关系,对于传统的机器学习算法来说,是一个巨大的挑战。因为它们通常假设数据是独立同分布的,这使得算法难以捕捉数据的内在几何结构,进而影响到模型学习到的实例表示的质量。为了解决这一难题,来自上海交通大学的研究团队联合牛津大学和亚马逊网络服务的学者们,共同提出了一种创新的解决方案:基于能量约束的扩散模型。

这一模型的核心思想是,通过将数据集中的实例逐步编码到一系列演化状态中,从而实现信息在实例间的交互和融合。在这个过程中,一个精心设计的能量函数起到了关键作用,它作为约束条件,确保了实例表示在潜在结构上的全局一致性。这种基于物理扩散原理的方法,不仅为机器学习领域带来了新的视角,也为处理复杂数据依赖性问题提供了一种有效的工具。

在这一研究的推动下,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模型的表达能力和适用性,采纳两种策略:

  1. 通过在每层后添加全连接层进行层级变换,这允许模型在特征传递后调整和优化实例表示,使模型能够更灵活地适应不同数据特征;
  2. 当存在图结构数据时,模型通过结合邻接矩阵来融合实例间的拓扑关系,使信息传递过程考虑了实例间的实际连接,从而提高了模型对复杂结构数据的捕捉能力。这些改进使得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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153766.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

暴力枚举算法

《啊哈&#xff01;算法》学习笔记 本博客的题目仅用暴力枚举&#xff0c;并不一定是最好的解法&#xff0c;主要是了解枚举算法 例题一&#xff1a;两方框奥数 在两个方框内填入相同的数字使得等式成立&#xff1a; 代码如下&#xff1a; for(i1;i<9;i) {if((i*103)*652…

华为OD机试 - 水仙花数Ⅱ - 动态规划(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

【亿美软通-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

探索《藏汉翻译通》小程序:跨平台的藏文翻译利器

亲爱的读者们&#xff0c;当谈及藏文与汉语之间的翻译工具时&#xff0c;您可能已经对安卓平台的《藏汉翻译通》应用和iOS平台的《藏语翻译通》应用有所耳闻。今天&#xff0c;我们想要向您推荐一款既实用又便捷的新工具——《藏汉翻译通》小程序。 这款小程序不仅能够提供精确…

中国电子学会202312青少年软件编程(Python)等级考试试卷(三级)真题

2023年12月青少年软件编程Python等级考试(三级)真题试卷 题目总数:38 总分数:100 一、选择题 第 1 题 单选题 一个非零的二进制正整数,在其末尾添加两个“0”,则该新数将是原数的?( ) A.10倍 B.2倍 C.4倍 D.8倍 第 2 题 单选题 2023年亚运会将在杭…

使用开源 Whisper 视频转文字

Whisper 是 OpenAI 开源的语音到文字的模型&#xff0c; 支持多语言&#xff0c;Whisper 模型是基于 Transformer 架构&#xff0c;音频输入、文字输出&#xff0c;具体架构如下图。 Whisper 支持多种参数&#xff0c;模型的文档中说中等尺寸的模型不支持多语言&#xff0c;我测…

LED显示屏迎来革新:GOB封装技术引领行业新风尚

在我们日常生活中&#xff0c;LED显示屏无处不在&#xff0c;从繁华的街头广告牌到家庭娱乐中心的大屏幕电视&#xff0c;它们都以鲜明的色彩和清晰的画质吸引着我们的目光。然而&#xff0c;在LED显示屏技术日新月异的今天&#xff0c;一种名为GOB&#xff08;Glue On Board&a…

asp.net门诊管理系统网站(含协同过滤算法)VS开发sqlserver数据库web结构c#编程web网页设计

一、源码特点 asp.net门诊管理系统网站是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言 开发。 应用技术&#xff1a;asp.net c…

PAT甲级-1086 Tree Traversals Again

题目 题目大意 题目给出二叉树的节点个数&#xff0c;并给出用栈遍历树的过程。要求输出树的后序遍历&#xff0c;不能有多余空格。 思路 可以看出&#xff0c;栈遍历输出的是树的中序遍历&#xff0c;而依次push进栈的是先序遍历的顺序。题目要求后序&#xff0c;即已知先序…

为什么 ECB 模式不安全

我们先来简单了解下 ECB 模式是如何工作的 ECB 模式不涉及链接模式&#xff0c;所以也就用不着初始化向量&#xff0c;那么相同的明文分组就会被加密成相同的密文分组&#xff0c;而且每个分组运算都是独立的&#xff0c;这也就意味着可以并行提高运算效率&#xff0c;但也正是…

车载软件调试工具系列---Trace32断点功能

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

图形化编程012(变量-倒计时)

案例展示 点击绿旗&#xff0c;使用空格键控制鳐鱼&#xff0c;按下空格向上游&#xff0c;松开下落。 在舞台右侧会出现障碍物从右向左移动&#xff0c;移动到左侧边缘发出声音并隐藏。 鳐鱼碰到障碍停止全部脚本&#xff0c;坚持60秒程序结束。 一、逻辑思维 通过读题将大…

谷歌 Chrome 最新版升级:更强的安全检查功能守护你的上网安全

谷歌 Chrome 浏览器产品经理 Andrew Kamau 在最新发布的博文中宣布&#xff0c;Chrome 浏览器迎来了新一轮的安全升级。新版 Chrome 在后台自动运行安全检查功能&#xff0c;采取了额外的主动措施来保障用户的安全。 自动撤销通知权限 新版 Chrome 浏览器采用了一项基于谷歌安…

线程知识点补充

我们之前&#xff1a; 主线程下来&#xff0c;调用了一个方法run方法&#xff0c;方法执行完后再继续往下走主线程。 咱们期望&#xff1a; 两个同时执行&#xff0c;交替执行。 一些核心概念说明&#xff1a; 一个程序写好是静态的&#xff0c;给他运行起来就是一个进程了…

Linux(7)--目录文件的创建、删除、移动、复制、重命名

文章目录 1. 创建目录、文件2. 删除目录、文件3. 移动目录、文件4. 复制目录、文件5. 重命名目录、文件 1. 创建目录、文件 使用mkdir创建目录&#xff1a; 使用touch创建文件&#xff1a; 2. 删除目录、文件 使用rm可以删除文件: 使用rm -f可以强制删除文件&#xff0c;…

Nuxt Kit 中的插件:创建与使用

title: Nuxt Kit 中的插件:创建与使用 date: 2024/9/19 updated: 2024/9/19 author: cmdragon excerpt: 摘要:本文介绍了在 Nuxt 3 框架中使用 Nuxt Kit 创建和管理插件的方法,包括使用addPlugin注册插件、创建插件文件、在Vue组件中使用插件,以及使用addPluginTemplate…

Java笔试面试题AI答之设计模式(1)

文章目录 1. 简述什么是设计模式 &#xff1f;2. 叙述常见Java设计模式分类 &#xff1f;3. Java 设计模式的六大原则 &#xff1f;4. 简述对 MVC 的理解&#xff0c; MVC 有什么优缺点&#xff1f;MVC 的三个核心部分&#xff1a;MVC 的优点&#xff1a;MVC 的缺点&#xff1a…

AIGC专栏15——CogVideoX-Fun详解 支持图文生视频 拓展CogVideoX到256~1024任意分辨率生成

AIGC专栏15——CogVideoX-Fun详解 支持图&文生视频 拓展CogVideoX到256&#xff5e;1024任意分辨率生成 学习前言项目特点生成效果相关地址汇总源码下载地址 CogVideoX-Fun详解技术储备Diffusion Transformer (DiT)Stable Diffusion 3EasyAnimate-I2V 算法细节算法组成InPa…

调节 PWM的占空比控制舵机的角度

一、PWM工作原理 让计数器从0数到自动重装载值&#xff0c;不停计数。计数值小于输出比较寄存器时输出一种电平&#xff0c;大于输出比较寄存器时使出另一种电平。 修改定时器时钟源的速度以及预分频器等设置&#xff0c;可以修改计数器计数的速度 再加上修改自动重装载值&…

Spring:统一结果私有属性造成的前端无法访问异常报错问题

用户未填写任何评价 1.问题复现 &#xff08;1&#xff09;看一段代码 controller&#xff1a; import lombok.extern.slf4j.Slf4j; import org.ljy.testdemo.common.Result; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.w…