详解图卷积网络

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值