在图神经网络(GNN)上进行关系推理的新架构

news2024/9/20 16:52:26

       开发能够学习推理的模型是一个众所周知的具有挑战性的问题,在这个领域中,使用图神经网络(GNNs)似乎是一个自然的选择。然而,以往关于使用GNNs进行推理的工作表明,当这些模型面对需要比训练时更长推理链的测试样本时,它们往往会失败。这表明GNNs缺乏以系统化的方式从训练样本中泛化出推理规则的能力,这将根本性地限制它们的推理能力。

       一个常见的解决方案是转而依赖神经符号方法,这些方法由于其设计,能够以系统化的方式进行推理。然而,这些方法的可扩展性通常受到限制,并且它们倾向于依赖过于强烈的假设,例如,假设通过检查单一关系路径就能回答问题。

     本文重新审视了使用GNNs进行推理的想法,展示了只要提供正确的归纳偏差,系统泛化是可能的基于此提出了一种新的 GNN 架构,将节点嵌入视为知识状态,并利用前向和反向模型来模拟所有可能的组合顺序,从而实现系统推理

1 学习推理的现状

1.1 神经网络推理研究现状

  • 基于前馈模型: 例如,知识图谱嵌入方法将实体和关系嵌入到低维空间,以便进行推理。
  • 基于循环模型: 例如,循环神经网络 (RNN) 可以处理序列数据,并用于推理实体之间的关系。
  • 基于 GNN: 例如,图卷积网络 (GCN) 可以有效地学习图结构中的节点表示,并用于推理实体之间的关系。

1.2 GNN 在推理任务中的局限性

  • 缺乏系统泛化能力: GNN 模型通常只能处理训练数据中出现的推理链,难以泛化到训练数据以外的任务。
  • 局部信息传递: GNN 模型通过局部信息传递来更新节点表示,这可能导致节点表示“过载”,即包含来自所有路径的信息。
  • 顺序处理关系路径: GNN 模型只能顺序处理关系路径,难以处理需要组合多个关系路径的推理任务。

1.3 神经符号方法在推理方面的优势

  • 关注关系路径: 神经符号方法通过考虑所有可能的关系路径来模拟推理过程,这为模型提供了有用的归纳偏差。
  • 组合关系路径: 神经符号方法可以将多个关系路径组合成一个新的关系,从而更准确地预测实体之间的关系。

1.4 本文模型与 Edge Transformers 的相似之处

  • 本文模型和 Edge Transformers 都利用 GNN 来学习实体之间的关系。
  • 本文模型和 Edge Transformers 都关注关系路径的建模,但本文模型通过将节点嵌入视为知识状态来提供更强的归纳偏差。
  • 本文模型和 Edge Transformers 都能够处理系统推理任务,但本文模型通过利用前向和反向模型来模拟所有可能的组合顺序,从而更有效地处理多个关系路径的组合。

2 GNN新架构

框架的概览

2.1 核心思想

  • 推理涉及知识状态的操纵: 推理过程可以看作是迭代地细化实体之间可能关系集合的过程。
  • 节点嵌入表示知识状态: 节点嵌入应该编码实体之间可能关系的概率分布,而不是简单的节点特征。
  • 利用前向和反向模型: 利用前向和反向模型来模拟所有可能的组合顺序,从而更有效地处理多个关系路径的组合。

2.2 模型结构

2.2.1 前向模型

  • 初始化: 将头实体的节点嵌入初始化为 (1, 0, …, 0),表示与自身相同的关系;其他实体的节点嵌入初始化为均匀分布,表示未知的关系。
  • 更新: 使用消息传递机制来更新节点嵌入。消息传递函数将头实体与其他实体之间的可能关系编码为概率分布,并通过组合操作来更新节点嵌入。
  • 组合函数: 使用二值组合函数将两个关系组合成一个新的关系,并假设关系之间可以由基本关系之一来描述。
  • 聚合: 使用聚合函数来将来自不同路径的信息整合起来,例如使用最小池化操作。

2.2.2 反向模型

  • 初始化: 将尾实体的节点嵌入初始化为 (1, 0, …, 0),表示与自身相同的关系;其他实体的节点嵌入初始化为均匀分布,表示未知的关系。
  • 更新: 使用消息传递机制来更新节点嵌入。消息传递函数将其他实体与尾实体之间的可能关系编码为概率分布,并通过组合操作来更新节点嵌入。
  • 组合函数: 使用二值组合函数将两个关系组合成一个新的关系,并假设关系之间可以由基本关系之一来描述。
  • 聚合: 使用聚合函数来将来自不同路径的信息整合起来,例如使用最小池化操作。

2.2.3 前向-反向模型

  • 组合: 将前向模型和反向模型的节点嵌入组合起来,以获得头实体与尾实体之间的最终关系表示。
  • 聚合: 使用聚合函数来整合来自不同路径的信息,例如使用最小池化操作。

2.3 训练方法

  • 使用边缘损失函数来训练模型,目标是最小化预测关系与真实关系之间的交叉熵损失。
  • 为了提高模型的泛化能力,可以联合训练多个子模型,每个子模型关注不同方面的关系。

2.4 模型优势

  • 系统泛化能力: 通过将节点嵌入视为知识状态,并利用前向和反向模型来模拟所有可能的组合顺序,模型能够有效地处理系统推理任务。
  • 高效性: 模型设计简洁,计算成本较低,可以处理大规模图。
  • 可解释性: 模型易于解释,因为节点嵌入可以直观地表示实体之间可能关系的概率分布。

3 实验

3.1 实验设置

3.1.1 数据集

  • CLUTRR: 一个基于家庭关系的推理基准,包含不同长度的推理链。数据集包含一系列家庭关系的叙述,例如 “Bob 是 Alice 的父亲,Alice 是 Eve 的母亲”,并要求模型推断 Bob 是否是 Eve 的祖父。
  • GraphLog: 一个基于逻辑规则的推理基准,包含不同规模的图和不同长度的推理链。
  • RCC-8: 一个基于 RCC-8 计算的推理基准,要求模型组合多个关系路径来推理实体之间的关系。数据集包含一系列图,图中的节点代表区域,边代表 RCC-8 关系,例如 “a 是 b 的内部” 或 “a 和 b 相交”。
  • Allen’s Interval Algebra: 一个基于时间间隔代数的推理基准,类似于 RCC-8。数据集包含一系列图,图中的节点代表时间间隔,边代表 Allen 区间代数关系,例如 “a 早于 b” 或 “a 与 b 相交”。

3.1.2 基线方法

神经符号方法在系统归纳方面表现出色,但效率较低,并且依赖于强假设。Transformer 变体和图神经网络则更加高效,但它们通常无法处理联合规则或需要从多个关系路径中聚合信息的情况

3.1.2.1 神经符号方法

  • 神经定理证明 (NTP): 这类方法模拟传统的逻辑程序反向推理过程,使用软统一机制来实现可微性,从而学习规则并应用这些规则进行推理。例如,CTP 和 GNTP 都是 NTP 的变体,它们使用不同的方法来加速反向推理过程。
  • 神经组合规则学习 (NCRL): 这类方法通过学习隐式规则来学习关系路径的组合,并通过注意力机制来选择相邻关系进行组合。R5 也是类似的方法,但它使用蒙特卡洛树搜索来确定关系的组合顺序。

3.1.2.2 图神经网络

  • 图卷积网络 (GCN): 这类方法使用局部消息传递来更新节点表示,并通过聚合来自相邻节点的信息来学习关系。
  • 关系图卷积网络 (R-GCN): 这类方法是 GCN 的变体,使用关系特定的线性变换来计算消息,类似于我们的模型,但没有我们的归纳偏置。
  • 图注意力网络 (GAT): 这类方法是 GCN 的变体,使用基于注意力的聚合机制来处理节点之间的依赖关系。
  • 边缘图注意力网络 (E-GAT): 这类方法是 GAT 的变体,考虑了边类型,并使用 LSTM 模块来组合相邻节点的嵌入和边类型的嵌入。
  • 神经贝尔曼-福特网络 (NBFNet): 这类方法学习特定头节点的节点嵌入,并捕捉与头节点之间的关系,类似于我们的模型,但没有我们的归纳偏置。
  • 循环神经网络 (RNN)、长短期记忆网络 (LSTM) 和门控循环单元 (GRU): 这些方法使用循环结构来处理序列数据,并尝试通过采样路径和编码路径来推理关系。

3.1.2.3 Transformer

边缘转换器 (ET): 这类方法修改了 Transformer 模型,使用注意力机制来模拟关系组合。它们将节点嵌入解释为图的边表示,并通过组合相邻边的嵌入来更新节点表示。

3.1.3 评价指标

使用准确率来评估模型的性能。

3.2 实验结果

CLUTRR: 本文提出的 FB 模型在所有推理链长度上均优于 GNN 和 RNN 基线,与 ET 和神经符号方法 NCRL 和 R5 性能相当。

GraphLog: 本文提出的 FB 模型在大多数情况下优于 R5 和 NCRL,与 ET 和 GNN 基线性能相当。FB 模型在难度较大的图上表现更稳定。

RCC-8: 本文提出的 FB 模型在所有配置下均优于神经符号方法,与 ET 性能相当。FB-min 模型在所有配置下均取得了最佳性能。

Allen’s Interval Algebra: 本文提出的 FB 模型在所有配置下均优于神经符号方法,与 ET 性能相当。FB-min 模型在所有配置下均取得了最佳性能。

3.2.1 消融实验

  • 子模型数量: 减少子模型数量会导致性能下降,说明每个子模型都捕获了关系的重要方面。
  • 嵌入约束: 移除嵌入的非负约束会导致性能下降,说明嵌入需要编码概率分布。
  • 组合函数: 使用 distmul 作为组合函数会导致性能下降,说明二值组合函数更适合表示关系组合。
  • 前向-反向模型: 仅使用前向模型会导致性能下降,说明前向和反向模型都重要。

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

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

相关文章

听见未来,AI+Audio|2025中国国际音频产业大会(GAS)

随着AI技术的创新与突破, 音频行业正步入前所未有的黄金发展期。 2025中国国际音频产业大会, “AI对行业发展的影响” 将成为讨论的热点之一。 3月26-27日,2025中国国际音频产业大会(GAS)将在上海 张江科学会堂召…

Conda和Pip有什么区别?

conda和pip是Python中两种常用的包管理工具,它们在用途、包来源以及环境管理等方面存在区别。以下是具体分析: 用途 conda:conda是Anaconda发行版中的包管理工具,可以管理包括非Python软件包在内的各种包。它是一个全面的环境管理…

【iOS】GCD

参考文章:GCD函数和队列原理探索 之前写项目的时候,进行耗时的网络请求使用GCD处理过异步请求,但对一些概念都很模糊,这次就来系统学习一下GCD相关 相关概念 什么是GCD? Grand Center Dispatch简称GCD,是…

python-docx 如何将列表中的值提取到段落中的run以及保存为多个文档?

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

使用pfld模型进行表盘读数检测

目录 1. 下载项目和数据集2. 配置环境3. 训练和测试3.1 训练3.2 测试 4. 参考 使用pfld模型对压力表进行读表检测 1. 下载项目和数据集 下载项目: git clone https://github.com/zhouayi/pfld.git下载数据集: wget https://github.com/zhouayi/pfld/r…

Vue3扁平化Tree组件的前端分页实现

大家好,我是小卷。得益于JuanTree的扁平化设计,在数据量很大的情况下除了懒加载,使用前端分页也是一种解决渲染性能问题的可选方案。 用法 要实现的文档: 分页效果: 实现 新增属性: 组件setup方法中新增…

java 对象模型的个人理解

文章目录 一、OOP-KCLASS 模型二、疑惑2.1 为什么还需要一个 Class对象?2.2 new 关键字和 Class.newInstance() 的区别? 一、OOP-KCLASS 模型 java 采用了field和method分离的方式,field组成实例 obj ,存储在堆区,而m…

web小项目-曼波生日录(Servlet+JSP+MySQL)

效果演示: 当记录条数过多时会自动出现滚轮,数据不会超出紫框 数据库实时记录: 项目源代码以及所用到的资源: 链接: https://pan.baidu.com/s/1w0czmH9xBfetk7CZ7RNbtQ?pwd6666 提取码: 6666 复制这段内容后打开百度网盘手机App…

【数据结构】堆,优先级队列

目录 堆堆的性质大根堆的模拟实现接口实现构造方法建堆入堆判满删除判空获取堆顶元素 Java中的PriorityQueue实现的接口构造方法常用方法PriorityQueue注意事项 练习 堆 如果有一个集合K {k0,k1, k2,…,kn-1},把它的…

Listen(sockfd,backlog)监听函数的第二个参数到底是什么?深度解释

listen队列剖析 int listen(int sockfd,int backlog) backlog : 监听套接字队列 对于一个调用监听的套接字,系统会维护给这个套接字两个队列 1. 未完成连接队列 //当客户端发生三次握手的第一次syn包给服务器的时候,服务器就会再未完成队列中创建…

数据库处理表

首先先创建库,然后创建需要的这三个表 用dese表名查看 然后题目要求对表进行修改 用alter table这个语法来对表进行修改 modify为修改字段 需要修改的字段的属性类型改变为的属性 最后用descStudent查看 第二题需要创建索引 创建索引createindex索引名称 cre…

世界启动Ⅷ--AI视频制作-方案与创新

1.文本/图片生成视频顾名思义,就是输入一段文本描述/上传一张图片即可生成对应的视频。我们常见的Runway、Pika、NeverEnds、Pixverse、svd等都属于此类。比如runway的影视风格Pika的动漫风格NeverEnds的人像模特当然还有一些外延应用,例如最近比较火的阿…

C++客户端Qt开发——Qt窗口(工具栏)

2.工具栏 使用QToolBar表示工具栏对象&#xff0c;一个窗口可以有多个工具栏&#xff0c;也可以没有&#xff0c;工具栏往往也可以手动移动位置 ①设置工具栏 #include "mainwindow.h" #include "ui_mainwindow.h" #include<QToolBar> #include<…

JavaSE--基础语法--继承和多态(第三期)

一.继承 1.1我们为什么需要继承? 首先&#xff0c;Java中使用类对现实世界中实体来进行描述&#xff0c;类经过实例化之后的产物对象&#xff0c;则可以用来表示现实中的实体&#xff0c;但是 现实世界错综复杂&#xff0c;事物之间可能会存在一些关联&#xff0c;那在设计程…

开发AI自动直播工具需要了解的源代码!

随着人工智能技术的快速发展&#xff0c;AI自动直播工具成为了现代直播领域的一大创新&#xff0c;这些工具利用先进的算法和机器学习模型&#xff0c;能够自动化地生成、编辑和播出直播内容&#xff0c;极大地提高了直播的效率和质量。 然而&#xff0c;要开发一款功能强大的…

10 个顶级的PPT生成AI工具盘点,一文把所有好用软件尽收囊中!

你是否希望在工作中制作 PPT 演示文稿&#xff0c;与他人分享你的洞见&#xff0c;或是发表演讲&#xff1f;然而&#xff0c;使用传统的 PPT 制作方式既耗时又费力&#xff0c;步入 AI 时代后&#xff0c;人们寻求更智能、更简便的 PPT 演示文稿制作方法。 目前市场上出现了一…

谷粒商城实战笔记-65-商品服务-API-品牌管理-表单校验自定义校验器

文章目录 1&#xff0c;el-form品牌logo图片自定义显示2&#xff0c;重新导入和注册element-ui组件3&#xff0c;修改brand-add-or-update.vue控件的表单校验规则firstLetter 校验规则sort 校验规则 1&#xff0c;el-form品牌logo图片自定义显示 为了在品牌列表中自定义显示品…

本地部署VMware ESXi服务实现无公网IP远程访问管理服务器

文章目录 前言1. 下载安装ESXi2. 安装Cpolar工具3. 配置ESXi公网地址4. 远程访问ESXi5. 固定ESXi公网地址 前言 在虚拟化技术日益成熟的今天&#xff0c;VMware ESXi以其卓越的性能和稳定性&#xff0c;成为了众多企业构建虚拟化环境的首选。然而&#xff0c;随着远程办公和跨…

Codeforces Round 955 (Div. 2, with prizes from NEAR!) B. Collatz Conjecture(数学)

这道题考察的主要是通过数学对过程进行优化&#xff0c;而不是通过数学而得到结论&#xff08;让人摸不着头脑&#xff09;。 我们不需要把k次直接一次次的加&#xff0c;这样时间复杂度太大&#xff0c;那么我们现在探讨一次要加多少。 我们想要实现加一个数n&#xff0c;满足…

事务、函数和索引

什么是事务&#xff1f; 事务&#xff08;Transaction&#xff09;&#xff0c;就是将一组SQL语句放在同一批次内去执行&#xff0c;如果一个SQL语句出错&#xff0c;则该批次内 的所有SQL都将被取消执行。 特点 一个事务中如果有一个数据库操作失败&#xff0c;那么整个事务…