GCA代码

talk

这篇文章没有复现出 wikics上结果,github上很多人遇到相同问题,查看作者 的 json文件,和论文里面超参数不一样,但是修改之后,训练3000 epochs还是很差,精度=0.32左右,因此尝试 在 Cora等数据集上run,修改了部分参数,Cora上可以取得 80 左右的acc,因此主要关注 这几个 augmentations的实现, 这篇文章 代码基本上和 GRACE相同,损失和具体细节也类似

GCA

1. pagerank 和 eigenvalue 实现

首先 在 utils里面 计算了 ppr 和 特征值中心性。
在这里插入图片描述

核心 是 在 functional 里面计算不同的 mask重要性

2. edge 重要性

这一部分是 对于 每一条边 求出其 attention, 通过所连接的两个节点中的 入度节点的 属性计算

2.1 入度节点的 度

通过 degree函数计算出 每个节点的 度, 再通过 边的入度节点index 给每一条边 赋值
在这里插入图片描述

2.2 入度节点的 ppr

在这里插入图片描述

2.3 入度节点的 eigenvalue

在这里插入图片描述

掩码

前面三个求出每个边 attention 后 作为概率 通过伯努利分布采样 进行 丢弃
在这里插入图片描述

3. feature重要性

3.1 度

在这里插入图片描述

3.2 ppr

在这里插入图片描述

3.3 特征向量

在这里插入图片描述

这里Wikics实现dense版本, 其余datasets都是 one-hot计算掩码

传入特征矩阵 nk, 和每个节点的重要性 n1, 通过矩阵乘法 得到 k*1的 向量,表示 X中 每一维度的重要性
在这里插入图片描述

X掩码, 通过维度重要性 进行伯努利采样 生成 mask,得到X’

在这里插入图片描述

4.训练

得到两个 视图之后,进行对比学习,损失是 infonce损失,和 GRACE一样,计算 视图内和视图间。视图内 不同节点推远,视图间同一节点拉近,不同节点 推远。
在这里插入图片描述
在这里插入图片描述

conclusion

这篇文章就是 通过 度 ppr 和eigenvalue 进行 有针对的丢弃边和节点维度,这几个都是常见的 graph 的性质, 其实还有很多,比如 standford csw课程里面 其他的graph属性 也可以类比。
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值