Re47:读论文 DAGNN Towards Deeper Graph Neural Networks

诸神缄默不语-个人CSDN博文目录

论文名称:Towards Deeper Graph Neural Networks
模型简称:DAGNN

本文是2020年KDD论文,下载地址是https://www.kdd.org/kdd2020/accepted-papers/view/towards-deeper-graph-neural-networks
本文主要关注在无权无向、节点有特征的图(attributed graph)中,如何加深图神经网络的层数(关于传统GNN为什么层数不能太多,这个问题在其他工作中的解释,反正我以前的博文都写过)

本文认为传统GNN不能层数太多,是因为模型加深→感受野增大→效果变差
模型加深为什么会导致感受野增大,这个我以前博文也写过,懒得重复了。
感受野增大为什么会导致效果变差,本文认为是因为出现了过平滑(over-smoothing)问题。以前的工作1证明了GCN事实上是一种特殊的、对称的拉普拉斯平滑2,这会导致多层GNN后节点表征过度相近。JK3则将节点影响的分布与随机游走4关联起来,也研究了同样的问题。(顺带一提这2篇工作在APPNP论文中也提及过,见我写的APPNP阅读笔记:Re0:读论文 PPNP/APPNP Predict then Propagate: Graph Neural Networks meet Personalized PageRank
SGC5是谱域低通滤波器,减轻了这一问题。

层数低导致 1. 边缘节点(peripheral nodes)从邻居获得的信息不足。2. 感受野太小,导致半监督任务重,训练信号不够传播到全图上。

本文认为导致这一问题的根源在于transformation和propagation的表征被entangle了,这样会使参数增多,而且二者的职责不同,本就应该分开,因此将二者解耦,这样就能让GNN变深了:这就是DAGNN。
(这个思想跟APPNP、D&S、AutoGraph中的概念都颇多相似之处,这块参考我以前写过的博文)
证明过程我已经看不懂我当时的笔记说明我当时有没有看懂了,不写了。总之Theorem 3.1关于马尔科夫链的部分证明了在无限层之后,特征会变得一样。

将GCN的两个部分解耦:
Z = M L P ( X ) X o u t = softmax ( A ^ k Z ) Z=MLP(X)\\ X_{out}=\text{softmax}(\hat{A}^kZ) Z=MLP(X)Xout=softmax(A^kZ)

DAGNN主要的贡献在于两点:1. 解耦transformation和propagation 2. adaptive adjustment mechanism使节点可以自适应获取局部或者全局邻居的信息

DAGNN的公式:
Z = M L P ( X ) H l = A ^ l Z H = stack ( Z , H 1 , … , h k ) S = σ ( H s ) S ~ = reshape ( S ) Z=MLP(X)\\ H_l=\hat{A}^lZ\\ H=\text{stack}(Z,H_1,\dots,h_k)\\ S=\sigma(Hs)\\ \tilde{S}=\text{reshape}(S) Z=MLP(X)Hl=A^lZH=stack(Z,H1,,hk)S=σ(Hs)S~=reshape(S)
第一步是transformation,第二步是propagation,第三步是adaptive部分, s s s是retainment scores

我当年读这篇论文的时候就感觉最后绕那一步只是为了把尺寸给凑出来……就,调参是这样的……

官方GitHub代码:https://github.com/divelab/DeeperGNN
我参考官方代码实现,揉到我自己写的复现代码包里面:https://github.com/PolarisRisingWar/rgb-experiment/blob/master/rgb_experiment/models/dagnn.py


  1. (2018 AAAI) Deeper Insights Into Graph Convolutional Networks for Semi-Supervised Learning ↩︎

  2. (1995) A Signal Processing Approach To Fair Surface Design ↩︎

  3. (2018 ICML) Representation Learning on Graphs with Jumping Knowledge Networks ↩︎

  4. Random walks on graphs: A survey ↩︎

  5. (2019 ICML) Simplifying Graph Convolutional Networks ↩︎

猜你喜欢

转载自blog.csdn.net/PolarisRisingWar/article/details/132941191
今日推荐