当前位置: 首页 > news >正文

详解图卷积网络

文章目录

  • GCN/RGCN图卷积网络概述--运作原理
    • **1. GCN(Graph Convolutional Network,图卷积网络)**
      • **1.1 核心思想**
      • **1.2 公式**
      • **1.3 特点**
      • **1.4 总结**
    • **2. RGCN(Relational Graph Convolutional Network,关系型图卷积网络)**
      • **2.1 核心思想**
      • **2.2 公式**
      • **2.3 特点**
      • **2.3 特点**
    • **3. GCN 与 RGCN 的区别**
    • **4. GCN 与 RGCN 的联系**
    • **5. 总结**

GCN/RGCN图卷积网络概述–运作原理

本文主要探究GCN以及RGCN和他们的变体模型,对于理解图数据和图神经网络(GNN)有重要的意义。首先我们需要理解什么是图卷积网络。

正如处理图像的CNN一样,处理图数据的图卷积(Graph Convolutional)也是通过聚合处理点和周围点的特征进行计算和处理。在CNN中,是通过卷积核聚合像素点极其周围像素的信息,然后生成权重,进一步进行处理。在GCN中,也是通过节点和其周围的节点共同作用下生成矩阵,再循环遍历节点进行拼接,就可以得到图的特征,再通过一层层网络处理后,图的行为模式和逻辑信息就可以得到很好的捕捉。

1. GCN(Graph Convolutional Network,图卷积网络)

1.1 核心思想

GCN 是一种用于处理图结构数据的神经网络,通过聚合邻居节点的特征来更新当前节点的特征。其核心思想是将传统卷积操作扩展到图数据上,利用局部信息提取特征。

1.2 公式

GCN 的节点特征更新公式为:
h i ( l + 1 ) = σ ( ∑ j ∈ N ( i ) 1 d i d j h j ( l ) W ( l ) ) h_i^{(l+1)} = \sigma\left(\sum_{j \in \mathcal{N}(i)} \frac{1}{\sqrt{d_i d_j}} h_j^{(l)} W^{(l)}\right) hi(l+1)=σ jN(i)didj 1hj(l)W(l)
其中:

  • $ h_i^{(l)} $:节点 $ i $ 在第 $ l $ 层的特征。
  • $ h_j^{(l)} $邻居节点特征
  • $ \mathcal{N}(i) $:节点 $ i $ 的邻居集合。
  • $ d_i, d_j $:节点 $ i $ 和 $ j $ 的度数(邻居数量)。
  • $ W^{(l)} $:第 $ l $ 层的权重矩阵。
  • $ \sigma $:激活函数(如 ReLU)。

建议卷积层用sigmoid或者tanh,如果卷积层过于复杂可能会出现卷积网络的通病:梯度消失或者是梯度信号下降,这一问题在Resnet提出的残差网络得到了解决,所以在设计你的卷积网络时,如果卷积层过多,可以考虑设计残差连接避免梯度消失。$ d_i, d_j 是为了平衡各个邻居节点,得到最为平衡统一的效果。在这里 是为了平衡各个邻居节点,得到最为平衡统一的效果。在这里 是为了平衡各个邻居节点,得到最为平衡统一的效果。在这里 W^{(l)} $就是卷积层的权重矩阵,是动态更新的。

1.3 特点

  • 适用于同构图(单一关系类型)。
  • 所有邻居一视同仁,不区分关系类型。
  • 通过多层卷积逐步提取全局特征。

1.4 总结

GCN适合处理边的关系单一的同构图,特别是当图的节点数目也比较集中的时候,GCN学习效果会很好,通常3层GCN可以得到很好的效果。


2. RGCN(Relational Graph Convolutional Network,关系型图卷积网络)

2.1 核心思想

RGCN 是 GCN 的扩展,专门用于处理异构图(多种关系类型)。其核心思想是为每种关系类型分配独立的权重矩阵,区分不同关系对节点特征的影响。

2.2 公式

RGCN 的节点特征更新公式为:
h i ( l + 1 ) = σ ( ∑ r ∈ R ∑ j ∈ N r ( i ) 1 c i , r h j ( l ) W r ( l ) + h i ( l ) W 0 ( l ) ) h_i^{(l+1)} = \sigma\left(\sum_{r \in R} \sum_{j \in \mathcal{N}_r(i)} \frac{1}{c_{i,r}} h_j^{(l)} W_r^{(l)} + h_i^{(l)} W_0^{(l)}\right) hi(l+1)=σ rRjNr(i)ci,r1hj(l)Wr(l)+hi(l)W0(l)
其中:

  • $ \mathcal{N}_r(i) $:节点 $ i $ 在关系类型 $ r $ 下的邻居集合。
  • $ h_j^{(l)} $邻居节点特征。
  • $ h_i^{(l)} $本层本节点特征。
  • $ W_r^{(l)} $:关系类型 $ r $ 在第 $ l $ 层的权重矩阵。
  • $ W_0^{(l)} $:节点自身的权重矩阵。
  • $ c_{i,r} $:归一化系数(如邻居数量 $ |\mathcal{N}_r(i)| $)。

归一化系数是为了平衡邻居节点的特征,达到统一的均匀的效果。

2.3 特点

  • 适用于异构图(多种关系类型)。
  • 每种关系类型对应独立的权重矩阵。
  • 通过区分关系类型,增强模型对复杂图结构的建模能力。

2.3 特点

RGCN适合处理异构图,即存在不同的边,或者是图的节点数目不是很统一,RGCN在学习异构图方面取得的效果是很好的,如果节点也比较集中或者单一,RGCN效果要比RGAT好得多。


3. GCN 与 RGCN 的区别

GCNRGCN
适用场景同构图(单一关系类型)异构图(多种关系类型)
邻居处理所有邻居一视同仁按关系类型分组处理邻居
权重矩阵单一权重矩阵 $ W $每个关系类型对应一个权重矩阵 $ W_r $
表达能力适用于简单关系能捕捉复杂关系的影响

4. GCN 与 RGCN 的联系

  1. 基础架构
    • RGCN 基于 GCN 的框架,扩展了多关系处理能力。
    • 两者都通过聚合邻居信息更新节点特征。
  2. 消息传递机制
    • GCN 和 RGCN 都采用消息传递机制,将邻居特征聚合到当前节点。
  3. 可扩展性
    • GCN 是 RGCN 的特例,当关系类型 $ R = 1 $ 时,RGCN 退化为 GCN。

5. 总结

  • GCN 是处理同构图的基础模型,通过单一权重矩阵聚合邻居信息。
  • RGCN 是 GCN 的扩展,支持多关系类型,通过独立的权重矩阵区分不同关系的影响。
  • 区别:RGCN 适用于异构图,GCN 适用于同构图。
  • 联系:RGCN 基于 GCN 的框架,扩展了多关系处理能力。

通过理解 GCN 和 RGCN 的区别与联系,可以更好地选择和应用适合的模型来处理不同的图结构数据。

相关文章:

详解图卷积网络

文章目录 GCN/RGCN图卷积网络概述--运作原理**1. GCN(Graph Convolutional Network,图卷积网络)****1.1 核心思想****1.2 公式****1.3 特点****1.4 总结** **2. RGCN(Relational Graph Convolutional Network,关系型图…...

Java 8-17核心特性全景解析之Java9、10

Java 9 核心特性解析 Java 9在2017年9月发布,带来了模块系统等重大变革,是Java平台现代化的重要一步。 模块系统 (Project Jigsaw) 特性概述 模块系统是Java 9最重要的特性,旨在解决Java平台和应用程序的可伸缩性问题,提供更好…...

mysql的学习

关系性数据库需要遵循ACID规则 原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 一致性: 执行事务前后,数据保持一致,例如转账业务中&#xff…...

leecode 560题

一、题目解析 题目如下->: 这道题的问题是,找到目标值为k的所有连续子串个数,因此最简单最容易想到的就是枚举 两个指针枚举起来确实可以解决,但是时间复杂度极大,达到了O(n^2)的级别 因此这不是我们想要的 二、解题思路 2.1 …...

借壹起航东风,中国工厂出海开启新征程

在经济全球化不断深入的当下,中国工厂正以积极的姿态投身海外市场,渴望在全球商业版图中占据一席之地,绽放独特的光彩。然而,出海之路充满了挑战与艰辛,品牌塑造困难重重、询盘量不稳定、营销成本居高不下等问题&#…...

Joomla教程—查看网站的前台页面与菜单管理(栏目管理)

原文:Joomla 查看网站的前台页面_w3cschool 在本节中,我们将简单介绍一下JOOMLA的前台界面。通过本节的介绍,希望你能对JOOMLA的界面组成有一个大致的了解。 你可以直接在浏览器中输入http://localhost/zmax/ 就会出现我们网站的首页了。也…...

HCIA-WLAN实验

1、划分VLAN,配置IP地址 2、配置AC作为AP的DHCP服务器自动为AP分配IP地址 dhcp enable interface Vlanif100 dhcp select interface 3、建立CAPWAP隧道 capwap source interface vlanif100 4、配置WLAN业务配置,下发至AP ①配置:wlan …...

DNA-PAINT

参考: 【科研教程】NUPACK网页版使用教程 https://www.bilibili.com/video/BV1G94y1W7mN/NUPACK新版网页版教程-模拟部分 https://zhuanlan.zhihu.com/p/678730568NUPACK 4.0 User Guide https://docs.nupack.org/NUPACK网页版使用指南 https://zhuanlan.zhihu.com/p/55024017…...

VS2022的第一个Qt程序——实战《加载并显示图像》

目录 一、UI设计 S1:双击Form Files下.ui文件,进入ui设计界面Qt Designer S2:然后拖动一个Push Button和Label控件到界面 S3:点击信号与槽,然后点击PushButton往外拉一下 S4:松开鼠标进入配置连接界面…...

从概率到梯度:理解分类问题中交叉熵的优越性

分类问题一般使用交叉熵(Cross-Entropy)而不是平方损失(Square Loss)函数1. **概率解释**2. **梯度性质**3. **对错误的惩罚**4. **计算复杂度**5. **总结** 分类问题一般使用交叉熵(Cross-Entropy)而不是平…...

如何选择?Postman vs JMeter 对比介绍

Postman 和 JMeter 作为两款主流测试工具,各有特色。本文将从多个维度详细对比这两款工具最新特性和应用场景。 工具基本介绍 对比项 Postman JMeter 类型 API 开发和测试工具 性能测试工具 开源情况 闭源,提供免费版 开源(Apache L…...

P1182 数列分段 Section II

P1182 数列分段 Section II - 洛谷 题目描述 对于给定的一个长度为 N 的正整数数列 A1​∼AN​,现要将其分成 M(M≤N)段,并要求每段连续,且每段和的最大值最小。 关于最大值最小: 例如一数列 4 2 4 5 1…...

Thales靶场

信息收集 将靶机改为net模式,开启kali进行扫描,得到靶机ip 对靶机的端口,目录进行扫描,8080端口是 apache tomcat代理 进入8080端口,点击app出现登录窗口,弱口令没试出来,可以爆破登录窗口 查…...

系统思考—看见未来

感谢上海财经大学终身教育学院的持续邀请!每个月,都会带着不同的思维火花,走进财大与学员们一起探索系统思考的奥秘。 这次为宜宾市的干部们带来了一场深刻的学习体验。通过系统思考,帮助大家从整体视角去发现问题、分析问题、解…...

第30周Java分布式入门 ThreadLocal

ThreadLocal 课程笔记 一、章节结构概述 本章主要学习重要的工具类 ThreadLocal。章节分为六大模块: ThreadLocal 的两大使用场景ThreadLocal 所带来的好处ThreadLocal 的主要方法及使用顺序ThreadLocal 原理源码分析使用 ThreadLocal 的注意点和使用规范 从下一…...

Windows 10 LTSC 2019 中文版下载及安装教程(附安装包)

(cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24)涵盖常见疑问和注意事项: cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24 下载链接:https://pan.quark.cn/s/c2c8f3cd18f1 1. 镜像文件来源与合法性 官方渠道&…...

死亡并不是走出生命 而是走出时间

目录 第一章 倒春寒 第二章 悖论与共生 第三章 坍缩与永恒 第四章 在时差里相爱 终章 你从未离开 第一章 倒春寒 2022年春天的扬州东关街,青衣在文昌阁古槐下调试着「时间胶囊」算法。这个能将人类记忆转化为数据流的程序,是他用三年时间对抗渐冻…...

Langchain中的表格解析:RAG 和表格的爱恨情仇

实现 RAG(Retrieval-Augmented Generation)是一个挑战,尤其是在有效解析和理解非结构化文档中的表格时。这在处理扫描文档或图像格式的文档时尤为困难。这些挑战至少包括以下三个方面: 1.表格的“叛逆期”:不准确的解析可能会破坏表格结构: 表格在文档里就像个叛逆的青少…...

STM32F103_LL库+寄存器学习笔记02 - 开启SysTick(滴答定时器)中断

导言 《STM32F103_LL库寄存器学习笔记01 - 梳理CubeMX生成的LL库最小的裸机系统框架》上一章节对CubeMX生成的最小系统框架进行梳理,在此工程的基础上,梳理SysTick(滴答定时器)中断是怎样开启的?为什么SysTick中断会自…...

AI小白的第七天:必要的数学知识(概率)

概率 Probability 1. 概率的定义 概率是一个介于 0 和 1 之间的数,表示某个事件发生的可能性: 0:事件不可能发生。1:事件必然发生。0 到 1 之间:事件发生的可能性大小。 例如,掷一枚公平的硬币&#xf…...

SVN常用命令

SVN常用命令 基本操作命令 • 检出代码(Checkout):从SVN服务器获取代码到本地。 svn checkout [svn服务器url] [检出本地的path] 示例: svn checkout svn://47.106.183.193/helloworld ./ • 提交代码(Commit&…...

23种设计模式中的策略模式

在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改客户端代码。 策略模式:Strategy。指的是,定义…...

车载通信方案为何选择CAN/CANFD?

摘要 随着汽车电子技术的飞速发展,车载通信系统在车辆的智能化、网联化进程中扮演着至关重要的角色。控制器局域网络(CAN)及其扩展版本CANFD凭借其卓越的可靠性、高效的数据传输能力和强大的抗干扰特性,成为现代汽车通信架构的核心…...

有价值的面试问题

迅雷一面 都是c和网络问题 了解epoll吗?解释下水平触发和边缘触发,医院的叫号系统应该算哪一种 c类a有成员b,成员b调用了a的函数,但是a不小心把b的成员删除了,会发生什么,怎么解决 c类a有一个static的函数…...

深度学习|表示学习|多头注意力在计算时常见的张量维度变换总结|28

如是我闻: 以下是多头注意力(Multi-Headed Attention)在计算时常见的张量维度变换总结,帮助理解从输入到输出是如何一步步处理的。为了方便,令: B B B 表示 batch size(批量大小) S …...

Mysql内置函数篇

🏝️专栏:Mysql_猫咪-9527的博客-CSDN博客 🌅主页:猫咪-9527-CSDN博客 “欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。” 目录 7.函数 7.1 日期函数 函数总:​编辑 获得当前日期 获得…...

使用事件监听器来处理并发环境中RabbitMQ的同步响应问题

RabbitListener 是 Spring AMQP 提供的核心注解,用于简化 RabbitMQ 消息监听器的创建。以下是对 RabbitListener(queues "balloonWords.queue") 的详细解析: 一、基础功能 队列监听 通过 queues 属性指定监听的队列名称(如 "…...

基于Java的班级事务管理系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 随着世界经济信息化、全球化的到来和电子商务的飞速发展,推动了很多行业的改革。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、畅通、高效的线上管理系统。当前的班级事务管理存在管理效率低下…...

Rviz 同时显示多个独立 URDF!解决双机械臂+底盘等场景(球体+方块实例演示)

视频讲解: Rviz 同时显示多个独立 URDF!解决双机械臂底盘等场景(球体方块实例演示) 仓库地址:GitHub - LitchiCheng/ros2_package 有小伙伴留言说想看下同时使用多个独立的urdf如何配置,实际上这个场景是很…...

【C++】--- 类和对象(中)之日期类的实现

日期类的实现 1. 应该实现哪些默认成员函数 构造函数是需要自己来实现的,因为日期类的成员变量都是内置类型,是否初始化取决于编译器,这里可以给出一个带参全缺省的构造函数,由于日期类不需要申请资源,所有不用显式的实现析构函…...

kafka基础

一:消息队列(message queue [MQ]): 1.1消息队列解释:用来存储消息的队列 简单理解就是将需要的数据传输到队列里,队列可存可取,like 一个管道,但是与hdfs不同的是kafka作为临时存储 1.2消息队列中间件 消息队列中间件其实就是一个组件,简单例子就是用户对于服务器产…...

蓝桥杯第十届 特别的数

题目描述 小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到 n 中,所有这样的数的…...

fpga pcie

pcie reg 介绍 debug pcie issue using lspci & setpci 介绍了lspci & setpci用法, 以及fpga pcie调试过程中重点关注的reg Lspci -tv Sudo lspci -vvv -s 18:00.0 Sudo lspci -nvmms 18:00.0 setpci --dumpregs setpci -s 18:00.0 COMMAND #&#x…...

模数转换电路(A/D转换器)

A/D转换,是将输入的模拟电压量转换成相应的数字量。 A/D转换器的类型很多,按工作原理可分为直接转换型和间接转换型两大类。前者直接将模拟电压量转换成数字量,后者是先将模拟电压量转换成一个中间量,再将中间量转换成数字量。 …...

PAT乙级1007

常规解法 #include <iostream> using namespace std;// 判断一个数是否为素数的函数 bool isprime(int a) {// 遍历 2 到 sqrt(a) 之间的数&#xff0c;判断 a 是否能被它们整除for (int i 2; i * i < a; i) {if (a % i 0) // 如果能整除&#xff0c;说明 a 不是素…...

代码随想录刷题day52|(二叉树篇)106.从中序与后序遍历序列构造二叉树

目录 一、二叉树理论知识 二、构造二叉树思路 2.1 构造二叉树流程&#xff08;给定中序后序 2.2 整体步骤 2.3 递归思路 2.4 给定前序和后序 三、相关算法题目 四、易错点 一、二叉树理论知识 详见&#xff1a;代码随想录刷题day34|&#xff08;二叉树篇&#xff09;二…...

MTK平台 Android12-Android13 默认搜狗输入法

系统默认搜狗输入法功能实现 文章目录 需求&#xff1a;场景 参考资料需求实现内置搜狗输入法配置第三方apk .mk 和 搜狗安装包&#xff0c;不可卸载方式搜狗输入法module 配置到系统device.mk 中去 设置搜狗输入法为默认输入法给输入法授权&#xff0c;默认所有权限 总结思考 …...

vue3实现动态路由

文章目录 一、基础信息1.路由构成2.菜单配置表3.vue-router4方法 二、实现思路1.登录获取菜单配置表2.导航守卫3.添加动态路由4.渲染菜单5.退出登录删除动态路由 三、实现代码1.路由守卫2.基础路由文件3.添加动态路由逻辑4.待特殊处理路由配置表5.404类路由6.删除动态路由 场景…...

行为型设计模式

深入理解行为型设计模式&#xff1a;模板方法、观察者、责任链 设计模式是软件开发中解决常见问题的经典方案&#xff0c;而行为型设计模式尤其关注对象之间的职责分配与通信方式。本文将详细讲解模板方法模式、观察者模式和责任链模式。 一、模板方法模式&#xff08;Templat…...

【服务器环境安装指南-指定 cuda 版本】在 Ubuntu 22.04 上完成 cuda-toolkit 12.0 和 cudnn 12.x 的安装教程

0.引言 在深度学习和高性能计算领域&#xff0c;CUDA 和 cuDNN 是不可或缺的工具。为充分发挥硬件性能&#xff0c;我们需要在服务器环境中正确配置这些工具。然而&#xff0c;安装过程中可能会遇到诸多挑战&#xff0c;例如版本兼容性和环境变量设置等问题。本篇文章将以 Ubu…...

蓝桥杯第十届 数的分解

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 把 2019 分解成 3 个各不相同的正整数之和&#xff0c;并且要求每个正整数都不包含数字 2 和 4&#xff0c;一共有多少种不同的分解方法&#xff1f; 注意交换 3 个…...

二叉搜索树

目录 概念 代码实现 成员 基本结构 查找 插入 删除 中序遍历 拷贝构造 赋值运算符重载 析构函数 递归实现 递归实现查找 递归实现插入 递归实现删除 概念 关于二叉树的基本结构已经进行过详细剖析&#xff0c;本篇博客将对一种特殊的二叉树进行分析。 二叉树&…...

Linux多线程详解

Linux多线程详解 一、Linux多线程概念1.1 什么是线程1.2 进程和线程1.3 进程的多个线程共享1.4 进程和线程的关系 二、Linux线程控制2.1 POSIX线程库2.2 线程创建2.3 获取线程ID pthread_self2.4 线程等待pthread_join2.5 线程终止2.6 线程栈 && pthread_t2.7 线程的局…...

攻防世界-web-1

Training-WWW-Robots 在URL后面加上/robots.txt 直接在URL后面添加/fl0g.php PHP2 他问我能不能登录这个网站&#xff0c;又因为考察php内容&#xff0c;在URL后面添加/index.php&#xff0c;无任何回显 试试/index.phps 分析一下代码&#xff0c;发现要用get方式上传idadmin,…...

笔记本+移动端维修全套教程

今天分享的是笔记本移动端维修全套教程&#xff08;免费视频资料大全&#xff09; 当自己手机或者电脑坏了&#xff0c;很多人都会想着去维修店铺修&#xff0c;但价格不透明&#xff0c;容易被坑&#xff0c;当自己了解一些之后&#xff0c;即使不会修&#xff0c;也可以对手…...

【STM32】知识点介绍二:GPIO引脚介绍

文章目录 一、概述二、GPIO的工作模式三、寄存器编程 一、概述 GPIO&#xff08;英语&#xff1a;General-purpose input/output&#xff09;,即通用I/O(输入/输出)端口&#xff0c;是STM32可控制的引脚。STM32芯片的GPIO引脚与外部设备连接起来&#xff0c;可实现与外部通讯、…...

【STM32】GPIO

目录 1、什么是GPIO2、什么是GPIO组3、GPIO的基本结构4、GPIO位结构5、GPIO八种工作模式6、GPIO相关寄存器1. 端口配置低寄存器GPIO[x]_CRL和端口配置高寄存器GPIO[x]_CRH, Config Register High和Config Register Low)2. 端口输入数据寄存器(GPIO[x]_IDR)3. 端口输出数据寄存器…...

鸿蒙移动应用开发--UI组件布局

实验要求&#xff1a; 制作一个B站视频卡片界面&#xff0c;大致如下图所示&#xff0c;要求应用到线性布局、层叠布局等相关课堂知识。背景图、logo及文本内容不限。 实验环境 &#xff1a;DevEco Studio 实验过程&#xff1a; 步骤1&#xff1a;创建项目 1. 在您的开发环境…...

[MySQL]MySQL数据库基础知识与操作

MySQL基础知识 为什么要有数据库&#xff1f; 文件存储的缺点 1.没有以某种特定的数据格式存储数据&#xff0c;查找不方便&#xff0c;只能遍历2.安全性&#xff1a;数据误操作后不能回滚3.每次操作数据都要用户自己操作4.数据量大的时候&#xff0c;操作的成本很高 创建一…...

卡诺图化简法的原理

引子 若两个最小项只有一个因子不同&#xff0c;则称这两个最小项具有相邻性。 例如&#xff0c; A ′ B C ′ ABC A′BC′和 A B C ABC ABC两个最小项仅第一个因子不同&#xff0c;所以它们具有相邻性。这两个最小项相加时定能合并成一项并将一对不同的因子消去 A ′ B C ′…...