论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》
论文信息
论文标题: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
早起版本 PageRank:
$\pi_{\mathrm{pr}}=A_{\mathrm{rw}} \pi_{\mathrm{pr}}, \quad\quad\text { with }\quad\quad A_{\mathrm{rw}}=A D^{-1}$
以及考虑根节点信息,提出 personalized PageRank 算法:【类似带重启的随机游走,缓解过平滑】
其中:
- $\hat{\tilde{A}}=\tilde{\boldsymbol{D}}^{-1 / 2} \tilde{\boldsymbol{A}} \tilde{\boldsymbol{D}}^{-1 / 2}$;
- $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 改进的地方】
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
消息传递算法对 数据划分 和 权重初始化 都非常敏感。
不同模型在随机数据划分 和 随机权重初始化的标准差
6 Conclusion
在本文中,我们介绍了神经预测(PPNP)及其快速近似APPNP。我们通过考虑GCN和PageRank之间的关系并将其扩展到个性化PageRank来导这个模型。这个简单的模型解耦了预测和传播,并解决了许多消息传递模型中固有的有限范围的问题,而没有引入任何额外的参数。它使用来自一个大的、可调节的(通过传送概率 $\alpha$)邻域的信息来对每个节点进行分类。该模型在计算上高效,优于目前最先进的研究,在多个图上的半监督分类方法。
论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》的更多相关文章
- 论文解读 - Composition Based Multi Relational Graph Convolutional Networks
1 简介 随着图卷积神经网络在近年来的不断发展,其对于图结构数据的建模能力愈发强大.然而现阶段的工作大多针对简单无向图或者异质图的表示学习,对图中边存在方向和类型的特殊图----多关系图(Multi- ...
- 论文解读(LA-GNN)《Local Augmentation for Graph Neural Networks》
论文信息 论文标题:Local Augmentation for Graph Neural Networks论文作者:Songtao Liu, Hanze Dong, Lanqing Li, Ting ...
- 论文解读(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, ...
- 论文解读(soft-mask GNN)《Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks》
论文信息 论文标题:Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks论文作者:Mingqi Yang, Ya ...
- 论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》
论文信息 论文标题:Self-supervised Graph Neural Networks without explicit negative sampling论文作者:Zekarias T. K ...
- 论文解读(DAGNN)《Towards Deeper Graph Neural Networks》
论文信息 论文标题:Towards Deeper Graph Neural Networks论文作者:Meng Liu, Hongyang Gao, Shuiwang Ji论文来源:2020, KDD ...
- 论文解读(GraphSMOTE)《GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks》
论文信息 论文标题:GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks论文作者:Tianxi ...
- 论文解读(ChebyGIN)《Understanding Attention and Generalization in Graph Neural Networks》
论文信息 论文标题:Understanding Attention and Generalization in Graph Neural Networks论文作者:Boris Knyazev, Gra ...
- 论文解读(GIN)《How Powerful are Graph Neural Networks》
Paper Information Title:<How Powerful are Graph Neural Networks?>Authors:Keyulu Xu, Weihua Hu, ...
随机推荐
- sqlalchemy模块介绍、单表操作、一对多表操作、多对多表操作、flask集成.
今日内容概要 sqlalchemy介绍和快速使用 单表操作增删查改 一对多 多对多 flask集成 内容详细 1.sqlalchemy介绍和快速使用 # SQLAlchemy是一个基于 Python实 ...
- 【多线程】线程休眠 Thread.sleep()
线程休眠 Thread.sleep() sleep (时间) 指定当前线程阻塞的毫秒数: sleep存在异常InterruptedException: sleep时间达到后线程进入就绪状态: slee ...
- 141_Power Query之获取钉钉审批流自动刷新Power BI报告
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 钉钉办公给很多企业带来了很多方便,比如审批流线上化,通用化.线上化填写后,数据自动获取又是一个硬伤了,虽然数据可 ...
- WPF 分组
分组和树形结构是不一样的. 树形结构是以递归形式存在.分组是以键值对存在的形式,类似于GroupBy这样的形式. 举个例子 ID NAME SEX Class 1 张三 男 1 2 李四 女 2 3 ...
- HTML区块
1.HTML 可以通过 <div> 和 <span>将元素组合起来. 2.HTML <div> 元素 HTML <div> 元素是块级元素,它可用于组合 ...
- 安装Supervisor到CentOS(YUM)
Supervisor是一个Linux下进程管理工具. Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为守护进程,并监控进程状态,异常退出时能自动重启,可以 ...
- MongoDB 分片集群
每日一句 Medalist don't grow on trees, you have to nurture them with love, with hard work, with dedicati ...
- salesforce零基础学习(一百一十五)记一个有趣的bug
本篇参考:https://help.salesforce.com/s/articleView?language=en_US&type=1&id=000319486 page layou ...
- springcloud-- Alibaba-nacos--支持的几种服务消费方式
通过<Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现>一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBal ...
- pyenv安装及使用教程
pyenv安装及使用教程 pyenv 安装 git clone https://github.com/pyenv/pyenv.git ~/.pyenv # 编辑 bashrc vim ~/.bashr ...