KDD20: DAGNN Towards Deeper Graph Neural Networks

1.model

KDD20: DAGNN Towards Deeper Graph Neural Networks_第1张图片
DAGNN的思想也比较 简单: SGC的 升级版本,考虑了不同感受野(通过拼接)。 SSGC是通过求和。

1. X先通过MLP降维得到Z, 这个Z进行多次传播得到Hk。

在这里插入图片描述

2.将Z,H拼接。 ZH的维度都是 类别的维度c

在这里插入图片描述

3. 同时采用了一个 project vector( 实际上还是 一个降维的,作者自己用PyG实现时 还是采用了 Linear 实现降维。 DGL版本则是 通过 Parameter(torch.tensor) 更加贴合实现了 这个向量)。

拼接之后的ZH 形成的 H’ 和 这个 project s 乘积 求得 S (这个S 就是多层的表征,维度=1, 此时 像是 给每层表征的每个节点 都求得了一个attention)

在这里插入图片描述

之后 reshape 和 之前的 H‘进行 矩阵乘法, 多了一个维度 采用squeeze压缩第二维=1
在这里插入图片描述
KDD20: DAGNN Towards Deeper Graph Neural Networks_第2张图片
文章的核心 就是 这个 自适应调节机制, 通过 可训练的这个 vector s向量来 对于每个节点 获得 不同的 retainment scores 文章的参数 只有 mlp + 这个 s

pyG实现: 堆叠后的表征pre送入 linear 得到score
KDD20: DAGNN Towards Deeper Graph Neural Networks_第3张图片
DGL实现:一个 一维向量和 堆叠后的 表征相乘得到 score
KDD20: DAGNN Towards Deeper Graph Neural Networks_第4张图片

你可能感兴趣的:(GNN-scalable,MLP,深度学习,pytorch,人工智能)