1.model
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
文章的核心 就是 这个 自适应调节机制, 通过 可训练的这个 vector s向量来 对于每个节点 获得 不同的 retainment scores 文章的参数 只有 mlp + 这个 s
pyG实现: 堆叠后的表征pre送入 linear 得到score
DGL实现:一个 一维向量和 堆叠后的 表征相乘得到 score