GNN的各变体和框架

Author: Catigeart
GitHub: https://github.com/Catigeart?tab=repositories

GCN 图卷积网络

  • 原理:类比傅里叶变换,每个图节点有不同强度的信号,对其进行图傅里叶变换分解,并分析其相邻节点信号平滑度,通过信号的流动实现周边信息的传递。
  • 拉普拉斯矩阵 L = D − A L=D-A L=DA,其中 D D D是一个对角矩阵, D i i D_{ii} Dii表示节点 v i {v_i} vi的度,A是邻接矩阵。 L L L是一个反映图信号平滑度的算子;
  • L s y m L_{sym} Lsym:拉普拉斯矩阵的正则化形式
  • L ~ s y m = D ~ − 1 2 A ~ D ~ 1 2 \tilde{L}_{sym}=\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{\frac{1}{2}} L~sym=D~21A~D~21,称为重归一化的拉普拉斯矩阵
  • 图卷积层公式:
    X ′ = σ ( L ~ s y m X W ) X'=\sigma(\tilde{L}_{sym}XW) X=σ(L~symXW)
  • GCN的优点:
    • 对表示学习和任务学习进行端对端的优化
    • 学习到结构信息
  • GCN的性质:
    • 是一种低通滤波器
  • GCN的问题:
    • 过平滑

GraphSAGE

  • 对GCN的改动:
    • 通过采样邻居策略将GCN由全图训练方式改造成以节点为中心的小批量训练方式
    • 对聚合邻居的操作进行了扩展
  • 采样邻居:设定第 k k k阶采样邻居不超过 S k S_k Sk
  • 聚合邻居
    • 条件:对数量自适应、具有排列不变性
    • 例子:mean,sum,pooling

GAT

  • 注意力机制:
    A t t e n t i o n ( Q u e r y , S o u r c e ) = ∑ s i m i l a r i t y ( Q u e r y , K e y i ) ⋅ V a l u e i Attention(Query,Source)=\sum similarity(Query,Key_i)\cdot Value_i Attention(Query,Source)=similarity(Query,Keyi)Valuei
  • 图注意力层:
    • 将Query设置为当前中心节点的特征向量,将Source设置为所有邻居的特征向量,将Attention Value设置为中心节点经过聚合操作后的新的特征向量。设节点 v i v_i vi的特征向量为 h i \boldsymbol{h}_i hi,相关度函数为 a a a,假设中心节点为 v i v_i vi,则邻居节点 v j v_j vj v i v_i vi的权重系数为:
      e i j = a ( W h i , W h j ) e_{ij}=a(W\boldsymbol{h}_i,W\boldsymbol{h}_j) eij=a(Whi,Whj)
    • 权重归一化:
      α i j = s o f t m a x ( e i j ) \alpha _{ij}=softmax(e_{ij}) αij=softmax(eij)
    • 图注意力层公式:
      h i ′ = σ ( ∑ v j ∈ N ~ ( v i ) α i j W h j ) \boldsymbol{h}_i'=\sigma(\sum_{v_j\in \tilde{N}(v_i)}\alpha _{ij}W\boldsymbol{h}_j) hi=σ(vjN~(vi)αijWhj)
    • 多头图注意力:
      h i ′ = ∣ ∣ k = 1 K σ ( ∑ v j ∈ N ~ ( v i ) α i j ( k ) W ( k ) h j ) \boldsymbol{h}_i'=||_{k=1}^K\sigma(\sum_{v_j\in \tilde{N}(v_i)}\alpha _{ij}^{(k)}W^{(k)}\boldsymbol{h}_j) hi=k=1Kσ(vjN~(vi)αij(k)W(k)hj)

R-GCN

  • 异构图的GCN

GNN的通用框架

  • MPNN
    • 基本思路:节点的表示向量都是通过消息函数M和更新函数U进行K轮消息传播机制迭代后得到的
      m i k + 1 = ∑ v j ∈ N ( v i ) M ( k ) ( h i ( k ) , h j ( k ) , e i j ) \boldsymbol{m}_i^{k+1}=\sum _{v_j\in N(v_i)}M^{(k)}(\boldsymbol{h}_i^{(k)},\boldsymbol{h}_j^{(k)},\boldsymbol{e}_{ij}) mik+1=vjN(vi)M(k)(hi(k),hj(k),eij)
      h i ( k + 1 ) = U i ( k ) ( h i ( k ) , m i ( k + 1 ) ) \boldsymbol{h}_i^{(k+1)}=U_i^{(k)}(\boldsymbol{h}_i^{(k)},\boldsymbol{m}_i^{(k+1)}) hi(k+1)=Ui(k)(hi(k),mi(k+1))
  • NLNN
    • 对注意力机制的一般化总结,通过non-local操作将任意位置的输出响应计算为所有位置特征的加权和
      h i ′ = 1 C ( h ) ∑ ∀ j f ( h i , h j ) g ( h j ) \boldsymbol{h}_i'=\frac{1}{C(\boldsymbol{h})}\sum _{\forall j}f(\boldsymbol{h}_i,\boldsymbol{h}_j)g(\boldsymbol{h}_j) hi=C(h)1jf(hi,hj)g(hj)
    • 其中f是相关度函数,g是输入 h j \boldsymbol{h}_j hj的变换函数, 1 C ( h ) \frac{1}{C(\boldsymbol{h})} C(h)1用于归一化结果
    • f的选择:内积、全连接、高斯函数等
  • GN
    • 点更新边,边聚合更新点,点聚合与边聚合更新图

参考资料:
《深入浅出图神经网络:GNN原理解析》,刘忠雨

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值