[GNN] 图神经网络入门

GNN和GCN的入门公式

跟随B站课程【GNN图神经网络最牛教程】学不会up直接下跪!图神经网络快速入门教程(GNN/GCN)的笔记

一、GNN的计算

在这里插入图片描述

对于一个图来说,要更新它自身的特征,也要更新它邻接节点的特征

m i = G ( { W j h j } : j ∈ N i ) m_{i}=G(\{W_{j}h_{j}\}: j \in N_{i}) mi=G({Wjhj}:jNi)

其中 W j W_{j} Wj表示节点间的权重, h j h_{j} hj表示节点的特征值

总的更新公式就是

h i = σ ( W 1 h i + ∑ j ∈ N i W 2 h j ) h_{i}=\sigma(W_{1}h_{i}+\sum_{j\in N_{i}} W_{2}h_{j}) hi=σ(W1hi+jNiW2hj)

其中后半部分的求和部分还可以根据需求进行替换

在这里插入图片描述

二、GCN的计算

在这里插入图片描述

一个图计算的时候需要节点特征,邻接矩阵以及度矩阵。

因为邻接矩阵还要考虑自身节点,所以带上对角线变为1(就是节点自己和自己相连,一起引入计算)

A ~ = A + λ I N \tilde A=A+\lambda I_{N} A~=A+λIN

在这里插入图片描述

其中度矩阵是用来做归一化scale的(或者说求平均),这时候就需要用度来分化自身的权重。

D ~ − 1 A ~ \tilde D^{-1} \tilde A D~1A~

在这里插入图片描述
D ~ − 1 A ~ X \tilde D^{-1} \tilde AX D~1A~X
在这里插入图片描述

然后再乘特征矩阵X,但是这只是对行向量进行了平均,还要考虑对列向量平均

D ~ − 1 A ~ D ~ − 1 X \tilde D^{-1} \tilde A \tilde D^{-1} X D~1A~D~1X

但是这等于对行列进行了两次归一化,所以最终的形式是

A ^ = D ~ − 1 2 A ~ D ~ − 1 2 X \hat A= \tilde D^{-\frac{1}{2}} \tilde A \tilde D^{-\frac{1}{2}} X A^=D~21A~D~21X

整个两层神经网络的计算公式就是

Z = f ( X , A ) = s o f t m a x ( A ^ R e L U ( A ^ X W ( 0 ) ) W ( 1 ) ) Z=f(X, A)=softmax(\hat A ReLU(\hat AXW^{(0)})W^{(1)}) Z=f(X,A)=softmax(A^ReLU(A^XW(0))W(1))

然后GNN的层数一般比较少,一般两三层比较合适。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是土豆大叔啊!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值