论文信息

论文标题:Predict then Propagate: Graph Neural Networks meet Personalized PageRank
论文作者:Johannes Gasteiger, Aleksandar Bojchevski, Stephan Günnemann
论文来源:2019,ICLR
论文地址:download
论文代码:download

1-Abstract

  本文主要将 PageRank 算法引入到 GNNs ,提出了  PPNP 模型 和APPNP 模型。

2-Introduction

  问题:

    • 增大邻域范围,充分利用领域信息;【传播多层——消息传递机制的本质,也可以看做随机游走】
    • 解决过平滑问题(一般均为传播多层造成的过平滑);

  受 带重启随机游走(random walk)的影响,本文利用 personalized PageRank 代替随机游走 ,来增加传送到根节点的机会,以避免过平滑现象(主要是更多的考虑根节点的邻域),此外该模型允许使用更多的传播层数。【通过 $\text{Eq.4}$ 便于理解】

3 Graph convolutional networks and their limited range

  半监督节点分类 GCN:

    $\boldsymbol{Z}_{\mathrm{GCN}}=\operatorname{softmax}\left(\hat{\tilde{\tilde{A}}} \operatorname{ReLU}\left(\hat{\tilde{\tilde{A}}} \boldsymbol{X} \boldsymbol{W}_{0}\right) \boldsymbol{W}_{1}\right)  \quad\quad\quad(1)$

  其中,$\hat{\tilde{\boldsymbol{A}}}=\tilde{\boldsymbol{D}}^{-1 / 2} \tilde{\boldsymbol{A}} \tilde{\boldsymbol{D}}^{-1 / 2}$。

  存在的问题:【APPNP 所解决的问题 】

    • 不能使用更多的传播层,因为会造成过平滑;
    • 层数增加,参数量增加;

4 Personalized propagation of neural predictions

From message passing to personalized PageRank

  早起版本 PageRank:

    $\pi_{\mathrm{pr}}=A_{\mathrm{rw}} \pi_{\mathrm{pr}}, \quad\quad\text { with }\quad\quad A_{\mathrm{rw}}=A D^{-1}$

  以及考虑根节点信息,提出 personalized PageRank 算法:【类似带重启的随机游走,缓解过平滑】

    $\boldsymbol{\pi}_{\mathrm{ppr}}\left(\boldsymbol{i}_{x}\right)=(1-\alpha) \hat{\tilde{A}} \boldsymbol{\pi}_{\mathrm{ppr}}\left(\boldsymbol{i}_{x}\right)+\alpha \boldsymbol{i}_{x}$

  其中:

    • $\hat{\tilde{A}}=\tilde{\boldsymbol{D}}^{-1 / 2} \tilde{\boldsymbol{A}} \tilde{\boldsymbol{D}}^{-1 / 2}$;
    • $i_x$ 表示初始根节点的特征;

  计算得到平稳状态后的分布:

    $\pi_{\mathrm{ppr}}\left(\boldsymbol{i}_{x}\right)=\alpha\left(\boldsymbol{I}_{n}-(1-\alpha) \hat{\tilde{ A}}\right)^{-1} \boldsymbol{i}_{x}$

  用单位矩阵代替指标向量 $i_x$ 得  personalized PageRank matrix:

    $\mathbf{\Pi}_{\mathrm{ppr}}=\alpha\left(\boldsymbol{I}_{n}-(1-\alpha) \hat{\tilde{ A }}\right)^{-1}$

  $\mathbf{\Pi}_{\mathrm{ppr}}$ 中的元素 $yx$ 可以理解为 节点 $x$ 对节点 $y$ 的影响分数 $I(x, y) \propto \Pi_{\mathrm{ppr}}^{(y x)}$。【其实就是 节点 $x$ 转移到节点 $y$ 的概率值】

  Note:上述式子可逆的时候需要满足  $\frac{1}{1-\alpha}>1$ 且不能为 $\hat{\tilde{A}}$ 的特征值。

  借由上述阐述,得到 PPNP 模型:

    $\boldsymbol{Z}_{\mathrm{PPNP}}=\operatorname{softmax}\left(\alpha\left(\boldsymbol{I}_{n}-(1-\alpha) \hat{\tilde{ A }}\right)^{-1} \boldsymbol{H}\right), \quad \boldsymbol{H}_{i,:}=f_{\theta}\left(\boldsymbol{X}_{i,:}\right)\quad\quad\quad(3)$

  Note:直接计算  $\Pi_{\mathrm{ppr}}$ ,具有高计算复杂度且需要 $\mathcal{O}\left(n^{2}\right)$ 的内存空间。【APPNP 改进的地方】

Approximate personalized propagation of neural predictions (APPNP)

  APPNP 通过幂次迭代逼近 topic-sensitive PageRank 来实现线性计算复杂度。传播过程为:

    $\begin{array}{l}\boldsymbol{Z}^{(0)} &=&\boldsymbol{H}=f_{\theta}(\boldsymbol{X}) \\\boldsymbol{Z}^{(k+1)} &=&(1-\alpha) \hat{\tilde{A}} \boldsymbol{Z}^{(k)}+\alpha \boldsymbol{H} \\\boldsymbol{Z}^{(K)} &=&\operatorname{softmax}\left((1-\alpha) \hat{\tilde{\boldsymbol{A}}} \boldsymbol{Z}^{(K-1)}+\alpha \boldsymbol{H}\right)\end{array}\quad\quad\quad(4)$

  这个迭代方案的收敛性证明如下:

  

  在 PPNP 和 APPNP 中,影响每个节点的邻域的大小都可以通过传送概率 $\alpha $ 进行调整。

附:图扩散

  $\mathcal{T}_{\mathbf{A}}(\mathbf{A})=\sum_{k=0}^{\infty} \Theta_{k} \mathbf{S}^{k}$

其中:

  • $\mathbf{S} \in \mathbb{R}^{N \times N}$  是广泛的转移矩阵
  • $\Theta$  是加权系数,且  $\sum_{k=0}^{\infty} \Theta_{k}=1 , \Theta_{k} \in[0,1]$

Personalized PageRank (PPR) kernal

  其中:

    • $\mathbf{S}=\mathbf{D}^{-1 / 2} \mathbf{A D}^{-1 / 2}$
    • $\Theta_{k}=\alpha(1-\alpha)^{k}$

  得:

    • $\mathcal{T}_{\mathbf{A}}^{P P R}(\mathbf{A})=\alpha\left(\mathbf{I}_{n}-(1-\alpha) \mathbf{D}^{-1 / 2} \mathbf{A} \mathbf{D}^{-1 / 2}\right)^{-1}$  

5 Experimental setup

  消息传递算法对 数据划分 和 权重初始化 都非常敏感。

Overall accuracy

  

不同模型在随机数据划分 和 随机权重初始化的标准差

  

Training time per epoch

  

Training set size

  

6 Conclusion

  在本文中,我们介绍了神经预测(PPNP)及其快速近似APPNP。我们通过考虑GCN和PageRank之间的关系并将其扩展到个性化PageRank来导这个模型。这个简单的模型解耦了预测和传播,并解决了许多消息传递模型中固有的有限范围的问题,而没有引入任何额外的参数。它使用来自一个大的、可调节的(通过传送概率 $\alpha$)邻域的信息来对每个节点进行分类。该模型在计算上高效,优于目前最先进的研究,在多个图上的半监督分类方法。

论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》的更多相关文章

  1. 论文解读 - Composition Based Multi Relational Graph Convolutional Networks

    1 简介 随着图卷积神经网络在近年来的不断发展,其对于图结构数据的建模能力愈发强大.然而现阶段的工作大多针对简单无向图或者异质图的表示学习,对图中边存在方向和类型的特殊图----多关系图(Multi- ...

  2. 论文解读(LA-GNN)《Local Augmentation for Graph Neural Networks》

    论文信息 论文标题:Local Augmentation for Graph Neural Networks论文作者:Songtao Liu, Hanze Dong, Lanqing Li, Ting ...

  3. 论文解读(KP-GNN)《How Powerful are K-hop Message Passing Graph Neural Networks》

    论文信息 论文标题:How Powerful are K-hop Message Passing Graph Neural Networks论文作者:Jiarui Feng, Yixin Chen, ...

  4. 论文解读(soft-mask GNN)《Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks》

    论文信息 论文标题:Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks论文作者:Mingqi Yang, Ya ...

  5. 论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》

    论文信息 论文标题:Self-supervised Graph Neural Networks without explicit negative sampling论文作者:Zekarias T. K ...

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

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

  7. 论文解读(GraphSMOTE)《GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks》

    论文信息 论文标题:GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks论文作者:Tianxi ...

  8. 论文解读(ChebyGIN)《Understanding Attention and Generalization in Graph Neural Networks》

    论文信息 论文标题:Understanding Attention and Generalization in Graph Neural Networks论文作者:Boris Knyazev, Gra ...

  9. 论文解读(GIN)《How Powerful are Graph Neural Networks》

    Paper Information Title:<How Powerful are Graph Neural Networks?>Authors:Keyulu Xu, Weihua Hu, ...

随机推荐

  1. 我的总结常用的js知识

    nvm nvm是node的包管理工具.在不同的项目下使用不同的node版本.下载地址 https://github.com/coreybutler/nvm-windows/releasesnvm in ...

  2. 对 Python 中 GIL 的一点理解

    GIL(Global Interpreter Lock),全局解释器锁,是 CPython 为了避免在多线程环境下造成 Python 解释器内部数据的不一致而引入的一把锁,让 Python 中的多个线 ...

  3. Python 空间名称与闭包函数

    空间名称与闭包函数 名称空间 名称空间 namespaces:存放名字的地方,是对栈区的划分 名称空间在栈区中分为三种,详细的划分不同的空间,不同空间可以存放相同名字的名字 内置名称空间 存放的名字: ...

  4. React history.push()无法跳转 url改变页面不渲染

    一.history.push()无法跳转参考了很多文章 研究一下生命周期 render是要有state变化才会执行 BrowserHistory只有props变化 无法触发render 如下改造环境 ...

  5. transforms.py

    from PIL import Image from torchvision import transforms #python的用法-->tensor数据类型 #通过transforms.To ...

  6. STL栈与队列

    #include<queue>// 队列 #include<stack>//栈 stack<int> s;//参数也是数据类型,这是栈的定义方式 queue< ...

  7. Maven POM文件介绍

    1. POM文件是什么 1.1 Super POM 1.2 Minimal POM 1.3 Effective POM 3. 项目继承 和 项目聚合 2.1 Project Inheritance 项 ...

  8. Vue动态组件的实践与原理探究

    我司有一个工作台搭建产品,允许通过拖拽小部件的方式来搭建一个工作台页面,平台内置了一些常用小部件,另外也允许自行开发小部件上传使用,本文会从实践的角度来介绍其实现原理. ps.本文项目使用Vue CL ...

  9. Python自动化办公:批量将文件按分类保存,文件再多,只需一秒钟解决

    序言 (https://jq.qq.com/?_wv=1027&k=GmeRhIX0) 当我们电脑里面的文本或者或者文件夹太多了,有时候想找到自己想要的文件,只能通过去搜索文件名,要是名字忘记 ...

  10. label问题排查:打不开标注好的图像

    问题描述 之前标注好的文件,标注有bbox和若干points.选择Open Dir打开图像目录,选择Change Output Dir选择json文件所在目录.发现有些图片能正常显示标注后的状态.而有 ...