详解图卷积网络

server/2025/3/27 10:40:33/

文章目录

  • 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 的区别与联系,可以更好地选择和应用适合的模型来处理不同的图结构数据。


http://www.ppmy.cn/server/179187.html

相关文章

# Ubuntu 软件包管理:apt、snap 和 Flatpak 如何选择

作为一名 Ubuntu 用户,你可能对 apt-get 命令非常熟悉。多年来,apt (Advanced Package Tool) 一直是 Debian 系 Linux 发行版(包括 Ubuntu)的标准软件包管理工具。它使用 .deb 软件包,自动解决依赖关系,极大…

基于Spring Boot的停车场管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

如何通过Python实现自动化任务:从入门到实践

在当今快节奏的数字化时代,自动化技术正逐渐成为提高工作效率的利器。无论是处理重复性任务,还是管理复杂的工作流程,自动化都能为我们节省大量时间和精力。本文将以Python为例,带你从零开始学习如何实现自动化任务,并通过一个实际案例展示其强大功能。 一、为什么选择Pyt…

腾讯云数据万象服务CI(内容审核)

开通数据万象服务 对上传到腾讯云COS的图片进行审核 ①、司机微服务模块中 public interface CiService{//图片审核Boolean imageAuditing(String path); }Service public class CiServiceImpl implements CiService{Autowriedprivate TencentCloudProperties tencentCl…

Python----计算机视觉处理(Opencv:图像轮廓特征查找:外接轮廓)

一、轮廓特征应用 1. 图像分割 2. 形状分析 3. 物体检测与识别 二、外接轮廓 2.1、外界矩形 如上图所示,红色方框为外接矩形,表示不考虑旋转并且能包含整个轮廓的矩形。其中,外接矩形可根据获得到的轮廓坐标中最上、最下、最左、最右的点…

亿级分布式系统架构演进实战(九)- 垂直拆分(服务间通信设计)

亿级分布式系统架构演进实战(一)- 总体概要 亿级分布式系统架构演进实战(二)- 横向扩展(服务无状态化) 亿级分布式系统架构演进实战(三)- 横向扩展(数据库读写分离&#…

唯品会 unidbg 补环境 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向分析 unidbg整合springboot太多坑…

qt QOffscreenSurface详解

1、概述 QOffscreenSurface 是 Qt 中用于离屏渲染的一个类。它允许在不直接与屏幕交互的情况下进行 OpenGL 渲染操作,常用于生成纹理、预渲染场景等。通过 QOffscreenSurface,可以在后台创建一个渲染表面,进行绘制操作,并将结果捕…