R-GCN-Modeling Relational Data with GraphConvolutional Networks(论文笔记)

news2025/4/2 17:37:21

CCF等级:B

发布时间:2018年6月

25年3月31日交

目录

一、简介

二、原理

1.整体

2.信息交换与更新

2.1基分解

2.2块对角矩阵

3.实体分类或链接预测

3.1实体分类

3.2链接预测

三、结论和未来工作


一、简介

RGCN通过允许不同关系类型之间的信息传播,能够更好地捕捉图中的复杂关系结构,从而提高了知识图谱补全的效果。


二、原理

1.整体

主要有三步。初始嵌入向量——信息交换与更新——链接预测或实体分类。

初始嵌入向量:利用已有的知识图谱嵌入方法,将实体转化为向量。(不重要)

R-GCN模型由多层神经网络组成,每一层都会更新每个节点的隐藏状态。对于每个节点,它的新隐藏状态依赖于它的邻居节点的信息以及与这些邻居之间的关系类型还有自己原本的信息。

例如:三元组( h1 , r1 , t1 )和( h1 , r2 , t2 )。

更新 h1 隐藏状态(信息)时,取决于邻居节点信息( t1 和 t2 ),邻居之间的关系类型( r1 和 r2 ),还有自己原本的信息 h1 。

经过多层的信息交换后,每个实体都会得到一个最终的嵌入向量,这个向量捕捉了该实体在其局部邻域中的上下文信息及与其他实体的关系。(太抽象了,目前看不懂)

最后使用解码器,对给定头实体和关系的三元组进行评分,选择得分最高的候选作为预测结果。(类似于嵌入模型的评分函数)

2.信息交换与更新

简单来说就是将这个节点与周围和它连接的实体、关系都进行计算,更新这个节点的信息。

h_{i}^{(l+1)} = \sigma (\sum_{r \in R} \sum_{j \in N_{i}^{r}}\frac{1}{c_{i,r}}W_{r}^{(l)}h_{j}^{(l)}+W_{0}^{(l)}h_{i}^{(l)})

其中,h_{i}^{(l)} 是第 l 层节点 i 的隐藏状态N_{i}^{r}表示通过关系 r 与节点 i 相连的所有邻居节点集合,W_{r}^{l}是关系 r 对应的权重矩阵,\sigma 是激活函数(如ReLU),c_{i,r} 是归一化常数,用于调整不同关系类型的贡献度。

文章中为了应对大规模多关系数据中的参数快速增长问题,提出了两种正则化技术。

2.1基分解

基分解的主要目的是通过共享权重来减少模型的参数数量,从而降低过拟合的风险,并提高模型处理稀疏关系类型的能力。在基分解中,每个关系特定的变换矩阵 W_{r}^{(l)}​ 被表示为一组基础变换矩阵的线性组合。

W_{r}^{(l)} =\sum_{b=1}^{B} a_{rb}^{(l)} V_{b}^{(l)}

其中:

  • W_{r}^{(l)}是第 l 层中关系 r 的变换矩阵。
  • V_{b}^{(l)}是第 l 层的基础变换矩阵,共有 B 个基础变换矩阵。
  • a_{rb}^{(l)}是系数,决定了如何将基础变换矩阵组合成关系特定的变换矩阵。

2.2块对角矩阵

块对角矩阵分解的目标是通过对权重矩阵施加结构约束来减少参数数量,同时保留模型的表达能力。在块对角矩阵分解中,每个关系特定的变换矩阵 W_{r}^{(l)} 被定义为多个低维块矩阵的直接和。

W_{r}^{(l)} = \bigoplus_{b=1}^{B}Q_{br}^{(l)}

其中:

  • Q_{br}^{(l)}是第 l 层中关系 r 的第 b 个块矩阵。
  • W_{r}^{(l)}是一个块对角矩阵,形式为diag(Q_{1r}^{(l)},Q_{2r}^{(l)},...,Q_{Br}^{(l)}),每个Q_{br}^{(l)}是一个较小的子矩阵。

这两种正则化技术共同作用,帮助R-GCN在处理大规模、多关系数据时更加高效和稳定,同时避免了过拟合的问题。在实际应用中,可以根据具体任务的需求选择合适的正则化方法。

3.实体分类或链接预测

3.1实体分类

使用交叉熵损失函数模型可以学习到更好的参数,从而提高分类的准确性。

\mathcal{L} = - \sum_{i \in \mathcal{Y}} \sum_{k=1}^{K} t_{ik} \ln h_{ik}^{(L)}

其中:

  • \mathcal{L}表示损失函数
  • i \in \mathcal{Y}表示对于所有标签已知的实体 i 进行求和
  • K表示类别总数
  • t_{ik}是一个二值变量,表示实体 i 是否属于类别 k。如果实体 i 属于类别 k,则 t_{ik}=1;否则 t_{ik}=0。
  • h_{ik}^{(L)}是模型预测实体 i 属于类别 k 的概率。

通过这种方式,模型能够逐步优化其参数,提高对实体分类的准确率。

3.2链接预测

  • 编码器-解码器框架:采用了图自动编码器模型,其中包含一个用于生成实体向量表示的编码器(R-GCN)和一个用于评分潜在三元组的解码器(如DistMult)。
  • 评分函数:使用了DistMult作为评分函数,这是一种简单而有效的因子分解方法,用于计算三元组的得分。
  • 训练策略:利用负采样技术,并优化交叉熵损失,以提高模型区分正样本和负样本的能力。

评分函数:

f(s,r,0) = e_s^TR_re_o

其中

  • f(s,r,o)给定主体 s ,关系 r,客体 o的三元组得分。
  • e_s,e_o分别是主题和客体的嵌入向量。
  • R_r与每种关系类型 r 相关的对角矩阵。

损失函数为:

\mathcal{L} = -\frac{1}{(1+\omega)|\hat{E}|} \sum_{(s,r,o,y) \in T} y \log l(f(s,r,o)) + (1-y) \log(1-l(f(s,r,o)))

  • \mathcal{L}:表示损失函数 LL,并添加描述。
  • \omega:表示负样本与正样本比例的符号,并添加描述。
  • |\hat{E}|:表示观察到的边集合的大小,使用绝对值符号 | | 表示集合大小。
  • T:表示所有三元组的集合。
  • l(x):定义逻辑斯谛sigmoid函数,使用分数形式 \frac{1}{1 + e^{-x}} 表达。
  • y:表示指示变量,并分别说明正样本 (y=1y=1) 和负样本 (y=0y=0) 的取值。

三、结论和未来工作

1.考虑未来引入注意力机制.

2.探索更适合特定任务的解码器,以进一步提高模型性能。

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

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

相关文章

【C++初阶】----模板初阶

1.泛型函数 泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。 2.函数模板 2.1函数模板的概念 函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型…

Pycharm(七):几个简单案例

一.剪刀石头布 需求:和电脑玩剪刀石头布游戏 考察点:1.随机数;2.判断语句 import random # numrandom.randint(1,3) # print(num) # print(**30) #1.录入玩家手势 playerint(input(请输入手势:(1.剪刀 2.石头 3&…

gnvm切换node版本号

1. gnvm下载官网 GNVM - Node.js version manager on Windows by Go 2. 安装 2.1 不存在 Node.js 环境 下载并解压缩 gnvm.exe 保存到任意文件夹,并将此文件夹加入到环境变量 Path。 2.2 存在 Node.js 环境 下载并解压缩 gnvm.exe 保存到 Node.js 所在的文件夹。 2.…

PyTorch 深度学习实战(29):目标检测与 YOLOv12 实战

在上一篇文章中,我们探讨了对比学习与自监督表示学习。本文将深入计算机视觉的核心任务之一——目标检测,重点介绍最新的 YOLOv12 (You Only Look Once v12) 算法。我们将使用 PyTorch 实现 YOLOv12 模型,并在 COCO 数据集上进行训练和评估。…

【区块链安全 | 第五篇】DeFi概念详解

文章目录 DeFi1. DeFi 生态概览2. 去中心化交易所(DEX)2.1 AMM(自动做市商)模型2.2 订单簿模式(现货交易) 3. 借贷协议3.1 Aave3.2 使用闪电贷(Flash Loan) 4. 稳定币(St…

【初探数据结构】归并排序与计数排序的序曲

💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对数据结构感…

基于ruoyi快速开发平台搭建----超市仓库管理(修改记录1)

一、数据库的设计一定注意不要用关键字 数据库是同学设计的,但是在实践过程中,发现,生成的代码一直报错,结果发现数据库里面商品表里面的商品类别竟然设置成class, 注意:: class 是 Java 中的关键字&…

Springboot学习笔记3.20

目录 1.实战篇第一课 我们将会在本次实战中学习到哪些知识点? 开发模式和环境搭建: 注册接口 1.Lombok 2.开发流程 1.controller层,这个层会指明访问路径和要执行的逻辑: 2.我们把返回结果根据接口文档包装成一个类result&a…

Ubuntu和Windows实现文件互传

1.开启Ubuntu下的FTP服务: (1)终端输入: sudo apt-get install vsftpd(2)安装完成后: 终端输入: /etc 是 Linux 系统的全局配置文件目录,存储系统和应用程序的配置信息…

java面向对象从入门到入土

面向对象进阶 (写程序的套路) 面向:拿,找 对象:能干活的东西 面向对象编程:拿东西过来做对应的事情 (写程序的套路) 面向:拿,找 对象:能干活的东西 面向对象编程:拿东西过来做对应的事情 重点学习:学习已有对象并使用,学习如何自己设计对象并使用 设计对…

linux ACL权限控制之用户权限控制程序设计

linux中的ACL(Access Control List,访问控制列表)是一种比传统UNIX权限更细粒度的权限控制机制,允许为文件和目录设置更为具体的用户和组权限。本文介绍使用acl命令和程序api对文件进行更精细的用户权限控制。 1. 命令行示例 使…

Java多线程与JConsole实践:从线程状态到性能优化!!!

目录 一、前言二、JConsole 使用教程二、线程的基本状态2.1新建状态(New)2.2就绪状态(Ready)2.3运行状态(Running)2.4 阻塞状态(Blocked)2.5. 等待状态(Waiting&#xff…

Stable Diffusion vue本地api接口对接,模型切换, ai功能集成开源项目 ollama-chat-ui-vue

1.开启Stable Diffusion的api服务 编辑webui-user.bat 添加 –api 开启api服务,然后保存启动就可以了 2.api 文档地址 http://127.0.0.1:7860/docs3. 文生图 接口 地址 /sdapi/v1/txt2img //post 请求入参 {enable_hr: false, // 开启高清hrdenoising_stre…

第十四届蓝桥杯真题(PWM输出)

一.LED 先配置LED的八个引脚为GPIO_OutPut,锁存器PD2也是,然后都设置为起始高电平,生成代码时还要去解决引脚冲突问题 二.按键 按键配置,由原理图按键所对引脚要GPIO_Input 生成代码,在文件夹中添加code文件夹&#…

【Qt】ffmpeg编码—存储(H264)

目录 一、编码分析 1.解码线程: ​编辑2.编码线程: ​编辑 ​编辑 二、ffmpeg编码 1.注册所有组件 2.编码初始化函数 (2)打开视频流 4.查找编码器 5. 写文件头信息,写到formatContex中 6.发送一帧数据给编码器…

Unity编辑器功能及拓展(1) —特殊的Editor文件夹

Unity中的Editor文件夹是一个具有特殊用途的目录,主要用于存放与编辑器扩展功能相关的脚本和资源。 一.纠缠不清的UnityEditor 我们Unity中进行游戏构建时,我们经常遇到关于UnityEditor相关命名空间丢失的报错,这时候,只得将报错…

REC一些操作解法

一.Linux命令长度突破 1.源码如下 <?php $param $_REQUEST[param];if ( strlen($param) < 8 ) {echo shell_exec($param); } 2.源码分析 echo执行函数&#xff0c;$_REQUEST可以接post、get、cookie传参 3.破题思路 源码中对参数长度做了限制&#xff0c;小于8位&a…

[AI绘图] ComfyUI 中自定义节点插件安装方法

ComfyUI 是一个强大的 AI 图像生成工具,支持自定义节点插件扩展其功能。本文介绍 ComfyUI 中安装自定义节点插件的三种方法,包括 Git Clone 方式、插件管理器安装方式,以及手动解压 ZIP 文件的方法,并分析它们的优缺点。 1. Git Clone 方法 使用 git clone 是最稳定且推荐…

【机械视觉】C#+VisionPro联合编程———【六、visionPro连接工业相机设备】

【机械视觉】C#VisionPro联合编程———【六、visionPro连接工业相机设备】 目录 【机械视觉】C#VisionPro联合编程———【六、visionPro连接工业相机设备】 前言&#xff1a; 连接步骤说明 一. 硬件连接 支持的相机接口类型&#xff1a; 连接步骤 2. 软件配置 Visio…

蓝桥杯 之 图论基础+并查集

文章目录 习题联盟X蓝桥幼儿园 图论基础 并查集 并查集&#xff0c;总的来说&#xff0c;操作分为三步初始化(每一个节点的父亲是自己)&#xff0c;定义union(index1,index2)函数&#xff0c;定义find(index)函数 并查集详细内容博客 习题 联盟X 联盟X 典型的求解连通分支…