ReFactor GNN:从消息传递角度重新审视FMs

news2024/12/23 15:22:51

分享嘉宾 | 陈艺虹

文稿整理 | William


Knowledge Graph Completion(KGC)

知识图谱一般会有多个节点,包括性别、国家等各种各样的节点(也可理解为实体),节点之间会有不同的关系,可以通过其他的一些节点预测出当前节点的其他信息。恢复这些信息是将所有的候选信息进行排序,优化如下损失函数,再按最大似然概率得到推荐信息。

Factorization-based Models vs Graph Neural Networks for KGC

知识图谱补全一般有两类模型:

第一种是factorization-based models,如图1左边所示。非常简单的几个矩形合在一起,竖着的长方形代表subject in bedding,横着的长方形代表object in bedding,蓝色的则是relation in bedding,将各个之间的关系进行嵌入后内积相乘,即可得到结果。值得注意的是K表示隐藏向量长度。

该类模型的推理效率非常高,在一些常用的计算平台上部署起来非常简单。最大的问题若一个新的节点在当前图谱里找不到对应节点,则模型无法使用。

第二类是graph neural networks for KGC,如图1右边所示。直接是message图,通过不同节点的计算流图画出方向,不同的颜色代表不一样的类型。有两个可以自行设计的地方:

①接受信息的是可学习的方式,可以设计几个特征学习层

②可以利用求和或平均池化等操作集合信息到中央节点

该类模型的优点是即使存在一个新的节点,也能进行预测,此外还会计算考虑节点信息以及neighborhood信息。但问题在于预测的效果不好,而且很难去扩展到比较深的图神经网络。

 图1 知识图谱补全的两种类型

Implicit Message-Passing within FMs

FM的优化过程会包含一些隐式的message传递,但如果把优化过程加入到表达式里面,可以看到message传递后梯度优化的过程:当开始优化时,从邻居节点拿属性进行更新中心节点,然后所有邻居节点都会更新,会出现向外的neighborhood(表示为+)和向内的neighborhood (表示为-),同时全局正则化也会计算相加。拿如果进行第二次梯度更新,就会得到类似的第二层message passing,以此类推,如图2所示。

 图2 FMs的隐式消息传递

The ReFactor GNN

每一个guardian decent其实包含了一个message passing layer,那可以创建一个新的图神经网络来捕捉这种消息传递机制,不同的方向会有不同的消息,重要的是不同的边的类型会被考虑。如果把factorization best models的梯度下降优化过程实现成一个message passing layer,可以直接把指针分解的梯度优化过程写入message passing lay里面,就可实现了一个message part。

优化训练如图3所示,橙色区域代表运算的memory,当需要从memory里面读取相应的节点,可以直接抽取再送进message passing layer,然后进行更新,得到下一层。当得到结果的时候,只要把它写回到memory里面。如果下一轮某一条边或某一个节点的更新需要当前节点状态的时候,就可以直接提取,而不用从零去重新计算,即可实现计算的高效性。

图3 优化训练框图

计算效率高有如下作用:

(1)可以用一个储存神经网络去逼近一个张量分解模型的性能

(2)可以将其扩展到更深层网络,提高模型性能

(3)使得添加层数变得比较简单,global regulation也比较好

(4)可以用到其他的知识图谱以外的学习上

Experiments over Inductive KGC

先简单介绍实验里面用到的一些baseline:

第一个是完全不做pretrain,意义在于能有效的比较得出不同节点特征的有效性

第二个是一些Rule-based的方法,比如Neural-LP,DRUM,Rule-N

第三个是重点的图神经网络模型,能检测不同的层数会如何去影响它的性能

第四个是Pairwise的图神经网络,比如GralL,LNBFNet

将只有random feature和只有meaningful的texture feature的文本信息送进预训练的语言模型,将其输出来作为节点特征,其余模型的操作一样,这些网络最后的性能表现如图4所示。

 图4 模型性能对比

可以发现预训练模型对random feature的性能有0.215,对有意义的texture feature有0.242,差别不是很大。图神经网络将文本信息用的淋漓尽致,当是random feature时只有0.33,性能比较差,但当输入为有意义的texture feature,则性能可以达到0.8,不顾图神经网络的层数与性能没有太多的关系。ReFactor的性能对比与图神经网络差不多,不过在random feature会比图神经网络高0.35左右。GralL是第一个开始做该方法的测试,性能表现不错。

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

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

相关文章

2023/1/6 Vue学习笔记-1

尝试 Vue.js 最简单的方法是使用 Hello World 例子。你可以在浏览器新标签页中打开它&#xff0c;跟着例子学习一些基础用法。或者你也可以创建一个 .html 文件&#xff0c;然后通过如下方式引入 Vue&#xff1a; <!-- 开发环境版本&#xff0c;包含了有帮助的命令行警告 -…

设计模式——建造者模式

文章目录模式理解基本概念使用示例建造者模式延展模式理解 建造者模式&#xff08;Builder Pattern&#xff09;&#xff1a;建造者模式是一种对象创建型模式。将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。这句话理解起来太抽象了&…

B. Dima and a Bad XOR(构造 + 异或性质)

Problem - 1151B - Codeforces 来自Kremland的学生Dima有一个大小为nm的非负整数矩阵a。 他希望从矩阵的每一行中选择一个整数&#xff0c;以便所选整数的按位互斥或严格大于0。帮助他! 形式上&#xff0c;他想选择一个整数序列c1,c2&#xff0c;…&#xff0c;cn(1≤cj≤m)&am…

Integer包装类详解(java)

文章目录&#x1f4d6;前言&#xff1a;&#x1f380;包装类概念&#xff1a;&#x1f380;包装类分类&#xff1a;&#x1f380;包装类integer介绍&#xff1a;&#x1f387;自动装箱和自动拆箱问题【⚠注意面试常考点】&#x1f387;Integer常用方法&#xff1a;&#x1f4d6…

2023真无线蓝牙耳机推荐:高性价比真无线蓝牙耳机各价位蓝牙耳机推荐!

2023年了&#xff0c;蓝牙耳机赛道依然很卷&#xff01;性价比是反映物品可买程度的一种量化的计量方式。现如今&#xff0c;蓝牙耳机市场上主打高性价比的不在少数&#xff0c;而高性价比的东西往往更能精准抓住用户“痛点”&#xff0c;从而受到了不少用户的欢迎。 既然高性…

面试20分钟就完事了,问的实在是太......

干了两年外包&#xff0c;本来想出来正儿八经找个互联网公司上班&#xff0c;没想到算法死在另一家厂子。 自从加入这家外包公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到11月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资…

Spring Boot整合Junit

系列文章目录 Spring Boot[概述、功能、快速入门]_心态还需努力呀的博客-CSDN博客 Spring Boot读取配置文件内容的三种方式_心态还需努力呀的博客-CSDN博客 该系列文章持续更新中~ 目录 系列文章目录 前言 一、搭建SpringBoot工程 二、引入starter-test起步依赖 三、编…

2022年全国研究生数学建模竞赛华为杯F题COVID-19疫情期间生活物资的科学管理问题求解全过程文档及程序

2022年全国研究生数学建模竞赛华为杯 F题 COVID-19疫情期间生活物资的科学管理问题 原题再现&#xff1a; 一、背景介绍   进入2022年以来全国范围内陆续出现了多次较大规模疫情爆发事件[1-2]。在大规模疫情爆发期间由于我国采用封闭式管理方式来实现疫情的快速清零&#x…

Vue组件之间的通信(组件之间的数据传递)

一、Vue组件之间的关系 父子关系&#xff1a;A组件和B组件、B组件和C组件、B组件和D组件​ 兄弟关系&#xff1a;C组件和D组件​ 隔代关系&#xff1a;A组件和C组件、A组件和D组件 二、父组件向子组件传递数据 通过props方式向子组件传递数据&#xff08;在子组件中添加props属…

为什么选型低代码平台时,需要注重私有化部署能力?

编者按&#xff1a;低代码平台&#xff0c;目前分为私有化部署和公有化部署&#xff0c;企业为什么倾向于选择私有化部署的低代码平台&#xff1f;本文从私有化部署的概念出发&#xff0c;分析了私有化部署的优势&#xff0c;并进一步介绍了支持私有化部署的老牌低代码平台。关…

工控安全-使用Metasploit攻击Modbus设备

文章目录实验内容环境介绍实验开始开启Modbus从站主机和从站服务利用Metasploit工具扫描Modbus从站中的ID访问从站2的寄存器数据修改从站4线圈值可选择的action实验内容 利用Metasploit工具针对Modbus协议进行攻击&#xff0c;读取Modbus从站寄存器数值以及修改Modbus从站寄存…

应届生学习Java八个月,offer年薪28W,这一年我经历了什么?

自我介绍 首页和大家介绍一下我&#xff0c;我叫 阿杆&#xff08;笔名及游戏名&#x1f923;&#xff09;&#xff0c;19级本科在读&#xff0c;双非院校&#xff0c;主修软件工程&#xff0c;学习方向是后端开发&#xff0c;主要语言Java、Python&#xff0c;今年秋招拿到了…

三、Gtk4-Widgets(1)

1 GtkLavel&#xff0c;GtkButton and GtkBox 1.1 GtkLabel 在前一节中&#xff0c;我们创建了一个窗口并将其显示在屏幕上。现在我们进入下一个主题&#xff0c;在这个窗口中添加部件。最简单的部件是GtkLabel。它是一个包含文本的部件。 1 #include <gtk/gtk.h>2 3 s…

spark sql 执行流程

最近学习了spark sql执行流程&#xff0c;从网上搜到了大都是sql解析、analyzer、optimizer阶段、sparkplan阶段&#xff0c;但是我比较好奇的是&#xff0c;这几个阶段是怎么串起来的&#xff0c;于是花了好几天着重从源码层面看看了看具体实现&#xff0c;写了几点自己认为应…

聊聊Mybatis的缓存

Mybatis缓存是内存中的数据&#xff0c;主要是对数据库查询结果的保存&#xff0c;使用缓存的好处是避免频繁与数据库进行交互&#xff0c;提升查询的响应速度。 数据库缓存扩展 聊到Mybatis缓存。我们可以扩展聊一下MySQL缓存。MySQL缓存其实与Mybatis类似&#xff0c;在查询…

物联网架构实例—Ubuntu 安装MongoDB及完全卸载

1.安装1.1.导入公钥wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -如果收到指示gnupg未安装的错误&#xff0c;则可以先执行&#xff1a;sudo apt-get install gnupg然后再执行一次导入公钥命令&#xff1a;wget -qO - https://www.mongo…

React(coderwhy)- 08(Hooks)

认识和体验Hooks 为什么需要Hook? ◼ Hook 是 React 16.8 的新增特性&#xff0c;它可以让我们在不编写class的情况下使用state以及其他的React特性&#xff08;比如生命周期&#xff09;。 ◼ 我们先来思考一下class组件相对于函数式组件有什么优势&#xff1f;比较常见的是下…

Exynos_4412——IIC总线概述

目录 一、IIC总线概述 1.1IIC总线简介 1.2IIC总线通信过程 1.3IIC总线寻址方式 二、IIC总线信号实现 2.1起始信号与停止信号 2.2字节传送与应答 2.3同步信号 三、典型IIC时序 四、小作业 一、IIC总线概述 1.1IIC总线简介 IIC总线IIC总线是Philips公司在八十年代初推…

[VP]河南第十三届ICPC大学生程序竞赛 L.手动计算

前言 传送门 : 题意 : 给定两个椭圆 的方程 , 要求 求出椭圆并集的面积之和 思路 : 本题很显然是积分 或者 计算几何的问题 对于积分的做法, 无非就是根据积分公式求出第一象限的面积 之后拓展到后面四个象限。(奈何我懒, 连两个椭圆的焦点都不想求更别提后面的积分公式了)…

Git遇到冲突?解决也太简单了

程序员宝藏库&#xff1a;https://gitee.com/sharetech_lee/CS-Books-Store git冲突是开发过程中很难避免的&#xff0c;对很多git初学者来说也是比较有障碍和门槛的一部分知识。 我认为要想彻底理解一个问题&#xff0c;首先要清楚这个问题是怎么产生的&#xff0c;然后才可以…