论文信息

论文标题:MaskGAE: Masked Graph Modeling Meets Graph Autoencoders
论文作者:Jintang Li, Ruofan Wu, Wangbin Sun, Liang Chen, Sheng Tian......
论文来源:2022,arXiv
论文地址:download 
论文代码:download

1 Introduction

  MAE 在图上的应用——2022 最潮的方法。

2 Related work and Motivation

2.1 GAE

  GAEs采用了经典的编码器-解码器框架,旨在通过优化以下二进制交叉熵损失,从编码图的低维表示中进行解码:

    $\mathcal{L}_{\mathrm{GAEs}}=-\left(\frac{1}{\left|\mathcal{E}^{+}\right|} \sum\limits _{(u, v) \in \mathcal{E}^{+}} \log h_{\omega}\left(z_{u}, z_{v}\right)+\frac{1}{\left|\mathcal{E}^{-}\right|} \sum\limits _{\left(u^{\prime}, v^{\prime}\right) \in \mathcal{E}^{-}} \log \left(1-h_{\omega}\left(z_{u^{\prime}}, z_{v^{\prime}}\right)\right)\right)$

  其中,$\mathcal{z}$ 代表低维隐表示,$f_{\theta}$ 代表参数为  $\theta$ 的 GNN encoder,$h_{\omega}$ 代表参数为  $\omega$ 的 GNN decoder,$\mathcal{E}^{+}$ 代表  positive edges ,$\mathcal{E}^{-}$ 代表 negative edges 。

2.2 Motivation

  按照互信息的思想:希望最大化 k-hop 节点对子图之间的一致性,但是伴随着 $K$ 值变大,过平滑的问题越发明显,此时子图大小对节点表示的学习不利。因此有:

  Proposition 1:
  

  分析了一堆废话................

  后面呢,必然出现解决过平滑的策略。

  Recall:解决过平湖的策略

    • 残差;
    • 谱图理论;
    • 多尺度信息;
    • 边删除;

3 Method:MaskGAE

  我们提出了 MGM 代理任务的 MaskGAE 框架:

  

  出发点:MGM

    $\mathcal{G}_{\text {mask }} \cup   \mathcal{G}_{\text {vis }}=\mathcal{G}$

    $\mathcal{G}_{\text {mask }}=   \left(\mathcal{E}_{\text {mask }}, \mathcal{V}\right)$

3.1 Masking strategy

Edge-wise random masking $(\mathcal{T}_{\text {edge }}$

    $\mathcal{E}_{\text {mask }} \sim \operatorname{Bernoulli}(p)$

Path-wise random masking $(\mathcal{T}_{\text {path}}$

    $\mathcal{E}_{\text {mask }} \sim \operatorname{Random} \operatorname{Walk}\left(\mathcal{R}, n_{\text {walk }}, l_{\text {walk }}\right)$

  其中,$\mathcal{R} \subseteq \mathcal{V}$ 是从图中采样的一组根节点,$n_{\text {walk }}$ 为每个节点的行走次数,$l_{\text {walk }}$ 为行走长度。

  在这里,我们遵循度分布,抽样了一个节点的子集(例如,50%),没有替换作为根节点 $\mathcal{R}$。这样的采样也可以防止图中存在的潜在的长尾偏差(即,更多的屏蔽边是那些属于高度节点的边)。

3.2 Encoder

  • GCN Encoder
  • SAGE Encoder
  • GAT Encoder

3.2 Decoder

Structure decoder

    $​h_{\omega}\left(z_{i}, z_{j}\right)=\operatorname{Sigmoid}\left(z_{i}^{\mathrm{T}} z_{j}\right)$

    $​h_{\omega}\left(z_{i}, z_{j}\right)=\operatorname{Sigmoid}\left(\operatorname{MLP}\left(z_{i} \circ z_{j}\right)\right)$

Degree decoder

    $g_{\phi}\left(z_{v}\right)=\operatorname{MLP}\left(z_{v}\right)$

3.3 Learning objective

  损失函数包括:

    • Reconstruction loss:计算的是掩码边 $\mathcal{E}^{+}=\mathcal{E}_{\text {mask }}$   的重构损失;
    • Regression loss:衡量的是节点度的预测与掩蔽图中原始节点度的匹配程度:

      $\mathcal{L}_{\mathrm{deg}}=\frac{1}{|\mathcal{V}|} \sum\limits _{v \in \mathcal{V}}\left\|g_{\phi}\left(z_{v}\right)-\operatorname{deg}_{\text {mask }}(v)\right\|_{F}^{2}$

  其中,$\operatorname{deg}_{\text {mask }}$ 代表的是掩码图 $\mathcal{G}_{\text {mask }}$ 的节点度。

  因此,总体损失为:

    $\mathcal{L}=\mathcal{L}_{\mathrm{GAEs}}+\alpha \mathcal{L}_{\mathrm{deg}}$

4 Experiments

Link prediction

  

node classifification 
  

5 Conclusion

  在这项工作中,我们首次研究了掩蔽图建模(MGM),并提出了MaskGAE,一个基于理论基础的自我监督学习框架,以 MGM 作为一个有原则的借口任务。我们的工作在理论上是基于以下理由:(i)气体本质上是对比学习,使与链接边相关的配对子图视图之间的互信息最大化;(ii)MGM可以有利于互信息最大化,因为掩蔽显著减少了两个子图视图之间的冗余。特别是,我们还提出了一种路径掩蔽策略,以促进米高梅的任务。在我们的实验中,MaskGAE 比 GAE 表现出显著改善的性能,并且在链路预测和节点分类基准上与强基线相当或更好。
 

论文解读(MaskGAE)《MaskGAE: Masked Graph Modeling Meets Graph Autoencoders》的更多相关文章

  1. 论文解读(GraphDA)《Data Augmentation for Deep Graph Learning: A Survey》

    论文信息 论文标题:Data Augmentation for Deep Graph Learning: A Survey论文作者:Kaize Ding, Zhe Xu, Hanghang Tong, ...

  2. 论文解读(SUGRL)《Simple Unsupervised Graph Representation Learning》

    Paper Information Title:Simple Unsupervised Graph Representation LearningAuthors: Yujie Mo.Liang Pen ...

  3. 论文解读(GraRep)《GraRep: Learning Graph Representations with Global Structural Information》

    论文题目:<GraRep: Learning Graph Representations with Global Structural Information>发表时间:  CIKM论文作 ...

  4. 论文解读(MCGC)《Multi-view Contrastive Graph Clustering》

    论文信息 论文标题:Multi-view Contrastive Graph Clustering论文作者:Erlin Pan.Zhao Kang论文来源:2021, NeurIPS论文地址:down ...

  5. 论文解读(CGC)《CGC: Contrastive Graph Clustering for Community Detection and Tracking》

    论文信息 论文标题:CGC: Contrastive Graph Clustering for Community Detection and Tracking论文作者:Namyong Park, R ...

  6. 论文解读(GROC)《Towards Robust Graph Contrastive Learning》

    论文信息 论文标题:Towards Robust Graph Contrastive Learning论文作者:Nikola Jovanović, Zhao Meng, Lukas Faber, Ro ...

  7. 论文解读(DAGNN)《Towards Deeper Graph Neural Networks》

    论文信息 论文标题:Towards Deeper Graph Neural Networks论文作者:Meng Liu, Hongyang Gao, Shuiwang Ji论文来源:2020, KDD ...

  8. 论文解读(SCGC))《Simple Contrastive Graph Clustering》

    论文信息 论文标题:Simple Contrastive Graph Clustering论文作者:Yue Liu, Xihong Yang, Sihang Zhou, Xinwang Liu论文来源 ...

  9. 论文解读(Geom-GCN)《Geom-GCN: Geometric Graph Convolutional Networks》

    Paper Information Title:Geom-GCN: Geometric Graph Convolutional NetworksAuthors:Hongbin Pei, Bingzhe ...

随机推荐

  1. 面试突击44:volatile 有什么用?

    volatile 是 Java 并发编程的重要组成部分,也是常见的面试题之一,它的主要作用有两个:保证内存的可见性和禁止指令重排序.下面我们具体来看这两个功能. 内存可见性 说到内存可见性问题就不得不 ...

  2. 修改Docker容器默认时区

    运行docker容器默认时区为0区 # 运行一个nginx服务器 docker run -d -p 80:80 --name nginx nginx # 进入容器shell docker exec - ...

  3. Hbase——API操作

    1.判断表是否存在 public static boolean isTableExit(String tableName) throws IOException { // //获取配置文件信息 // ...

  4. 以圆类 Circle 为基础设计球类 Sphere

    学习内容:实验二以圆类 Circle 为基础设计球类 Sphere 代码示例: import java.util.Scanner; class Point{ private double x; pri ...

  5. [C++STL] 迭代器 iterator 的使用

    定义 迭代器是一种检查容器内元素并遍历元素的数据类型,表现的像指针. 基本声明方式 容器::iterator it = v.begin();//例:vector<int>::iterato ...

  6. python之数据类型的内置方法(set、tuple、dict)与简单认识垃圾回收机制

    目录 字典的内置方法 类型转换 字典取值 修改值 计算字典长度 成员运算 删除元素 获取元素 更新字典 快速生成字典 setdefault()方法 元组的内置方法 类型转换 索引与切片操作 统计长度 ...

  7. ES6 Promise 的链式调用

    1.什么是Promise Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息. 2.对象的状态不受外界影响.Promise 对象代表一个异步操作,有三种状态: pending: 初始 ...

  8. Public Round #1

    传送门 [PR #1]删数 题意:写的很清楚了,略 思路: 首先转化为差分数组,两个连续数相同,删掉,乘二放进去. 发现能互相转化的两个数,符号,值\(/lowbit\)都一样. 把能相互转化的数归为 ...

  9. 【SNOI2017 DAY1】炸弹

    题意:P5024 思路:首先\(O(n^2)\)向能炸到的点连边,所以能到达的点的个数就是能到达的点的个数.然后显然要缩点+拓扑排序(我写的记搜). 然后再写一个线段树优化建图. 然后就WA了,我想了 ...

  10. 第6章 字符串(上)——C风格字符串

    6.1 C-strings(C 风格字符串) C风格字符串: 字符数组是元素为字符型的数组,字符串是以空字符'\0' 作为数组最后一个元素的字符数组. 如果指定了数组的大小,而字符串的长度又小于数组大 ...