Diffusion-Convolutional Neural Networks论文笔记

Diffusion-Convolutional Neural Networks

  • 论文链接
  • 总结
  • 网络介绍
    • 1. 节点分类
      • 1.1 输入
      • 1.2 参数
      • 1.3 输出
        • 1.3.1 问题
    • 2. 图分类
    • 3. 边分类

论文链接

总结

这篇文章提出了hop的概念,使一个节点能够关注到与它距离更远的节点,而不仅限于一阶邻居。

网络介绍

Diffusion-Convolutional Neural Networks论文笔记_第1张图片
这篇论文主要针对三种分类任务。

1. 节点分类

1.1 输入

输入为两个矩阵,分别为矩阵P和矩阵X。X为图的特征矩阵(N*F),P则是多个类似于邻接矩阵的矩阵叠加而成,也是本篇论文的核心‘hop’。
对于网络而言,hop是一个超参,当hop=1时,则P就代表着邻接矩阵;当hop=2时,P代表着邻接矩阵加上与该节点距离为2的节点的邻接矩阵(即设该节点为i,要到达节点j,最短路径为i->k->j)。hop更高时以此类推。
而图中P,实际上在论文中用P*来表示,是是将所有的邻接矩阵堆叠到一起的产物(即hop=2即将1阶邻居的邻接矩阵和2阶邻居的邻接矩阵concat到一起)。如此的话,P*就是一个N*H*N的矩阵。
所以,输入的P*和X相乘后,就得到了N*H*F的矩阵。

1.2 参数

这里的参数有 W c 和 W d W^c和W^d WcWd两个,是H*F的矩阵,与输入进行点乘(element-wise)。

1.3 输出

在这里插入图片描述

1.3.1 问题

论文中提到由Z到Y的部分应该是一个全连接,而 W d W^d Wd却是一个点乘,而且无论是图上或是公式中都未看到这个全连接层(f应当是激活函数),所以我认为最后在取argmax之前应该还有一个全连接层的矩阵,在 W d ⨀ Z W^d\bigodot Z WdZ之后将输出映射为N*class的矩阵,再取argmax。

2. 图分类

图分类相较之前变化不大,只是将Z(NHF)的N个节点的取了平均,这样得到的Z就是H*F的矩阵了。

3. 边分类

边分类出现了新的矩阵 B t B_t Bt,代表着图的连接矩阵,其中每个点 b i j b_{ij} bij代表着i、j之间是否有边相连,所以此时的矩阵乘法就变成了 B i j ( E ∗ N ) × P ∗ ( N ∗ H ∗ N ) × X ( N ∗ F ) → Z ( E ∗ H ∗ F ) B_{ij}(E*N) \times P^*(N*H*N)\times X(N*F) \rightarrow Z(E*H*F) Bij(EN)×P(NHN)×X(NF)Z(EHF)的输入。之后的过程同节点分类。

BS3_1 10th

你可能感兴趣的:(GNN,机器学习)