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

相关文章:

  • 游戏引擎学习第183天
  • MyBatis-Plus缓存机制深度解析与SpringBoot整合实战
  • [c语言日寄MAX]深度解析:大小端字节序
  • 36.评论日记
  • MySQL颠覆版系列————MySQL新特性(开启数据库的新纪元)下篇
  • [Windows] 图吧工具箱
  • Enovia许可管理系统的安装和配置
  • 如何快速下载并安装 Postman?
  • 从医疗大模型到综合医疗智能体:算法、架构与路径全流程分析
  • java -jar 指定spring配置文件
  • Ubuntu 24.04 启动后某些应用程序启动非常慢
  • 【WPF】MVVM模式实现数据绑定以及Command事件绑定
  • python工厂模式
  • ML29_先验概率与边缘概率的对比
  • 【数据库相关MySql、Redis、MongoDB】
  • 【Git】--- Git远程操作 标签管理
  • 从零开始:使用Luatools工具高效烧录Air780EPM核心板项目的完整指南
  • PHP在2025年的新趋势与应用
  • 投sci论文自己查重方法
  • 拓展知识五:魔术方法
  • 网站大全app下载/今日头条武汉最新消息
  • 网站建设课设总结/百度seo关键词排名价格
  • 男女直接做视频网站/学seo网络推广
  • 广州网页设计哪家好/百度seo正规优化
  • php动态网站设计/免费b2b推广网站大全
  • 网站推广的好处/2024年新闻摘抄十条