《Diffusion-Convolutional Neural Networks》论文理解

1.DCNN框架

DCNN以节点的特征矩阵以及节点的概率转移矩阵(可以认为是结构矩阵)为输入,然后以每个节点为中心,将不同的跳(hop)上的节点信息进行聚合,得到前HH跳的聚合向量,构成节点的扩散表示Zt(i,:,:)RH×FZ_t(i,:,:)\in R^{H\times F},所有节点的扩散表示组成张量ZtRNt×H×FZ_t\in R^{N_t\times H\times F}。对节点(图)的分类任务就是将扩散表示直接送入全连接网络,通过softmax函数得到各类的分类概率。下图是DCNN的实现节点分类和图分类的流程图。
《Diffusion-Convolutional Neural Networks》论文理解

2.扩散卷积表示

AtA_t表示图的邻接矩阵,PtP_t表示度归一化转移矩阵,(Pt)ij(P_t)_{ij}表示由节点ii转移到jj的概率,可以由AtA_t计算得到,可以认为是权重矩阵。AtA_t矩阵有一个性质:AtA_t矩阵的幂级数AtnA^n_t中的一个元素(Atn)ij(A^n_t)_{ij},表示节点ii到节点jj长度为nn的游走(英文为walkwalk)的数量,当不存在这样的游走时,该值为0,之后将该矩阵归一化后,就可以表示长度为nn时,节点ii转移到jj的概率。这种性质对应与公式(1):
Ptijk=Ptikj(1)P^*_{tijk}=P^j_{tik}\tag1

其中,PtRNt×H×NtP^*_t\in R^{N_t\times H\times N_t}表示由PtP_t组成的幂级数;ii表示节点iijj表示跳(hop)为jj,也就是游走的长度为jjkk表示节点的第kk个特征。从公式(1)可以看出来,PtP^*_t的元素(Pt)ijk(P^*_t)_{ijk}表示:游走长度为jj时,节点ii转移到节点kk的概率。

(1)节点的扩散卷积表示

扩散卷积表示为:
Ztijm=f(Wjmcl=1NtPtijlXtlm)(2)Z_{tijm}=f(W_{jm}^c\cdot \sum_{l=1}^{N_t}{P^*_{tijl}X_{tlm}})\tag2

其中,mm表示所有节点的第mm个特征,WjmW_{jm}表示权重,ZtijmZ_{tijm}表示:以节点ii为中心,在第mm个特征上,游走长度为jj的节点信息的聚合值;l=1NtPtijlXtlm\sum_{l=1}^{N_t}{P^*_{tijl}X_{tlm}}部分的意义是以概率方式对节点iijj跳节点的一个信息聚合,ff为非线性**函数。
式(2)的张量表示形式为:
Zt=f(WcPtXt)(3)Z_t=f(W^c\bigodot P^*_tX_t)\tag{3}

其中,\bigodot表示逐元素相乘,WcRH×FW^c \in R^{H\times F},为训练权重;PtXtRNt×H×FP^*_tX_t\in R^{N_t\times H\times F}表示每个节点的各个跳[0,H1][0,H-1]的聚合信息;在计算WcPtXtW^c\bigodot P^*_tX_t,存在广播机制,会将WcW^c复制NtN_t遍,然后逐元素相乘;ZtRNt×H×FZ_t \in R^{N_t\times H\times F}

(2)图的扩散卷积表示

图的扩散卷积表示:
Zt=f(Wc(1Nt)TPtXtNt)(4)Z_t=f(W^c\bigodot \frac{(1_{N_t})^TP^*_tX_t}{N_t})\tag{4}

其中PtXtP^*_tX_t的意义不变,1NtRNt×11_{N_t}\in R^{N_t\times 1}表示将各个节点信息RH×F\in R^{H\times F}聚合的权重;除以NtN_t得到平均值。WcW^c训练得到的加权权值。

3.分类任务

(1)节点分类

在得到节点的扩散卷积表示ZtZ_t之后,可以直接将ZtZ_t送入全连接层;
P(YX)=softmax(f(WdZ))(5)P(Y|X)=softmax(f(W^dZ))\tag5

其中,在送入全连接层之前需要将ZtZ_t展平,变成二维矩阵ZRNt×(HF)Z\in R^{N_t\times (HF)}WdR(HF)×CW^d\in R^{(HF)\times C}CC表示分类种数。
论文中表达的公式为P(YX)=softmax(f(WdZ))P(Y|X)=softmax(f(W^d\bigodot Z))应该和公式(5)是一致的。

(2)图分类

图分类与节点分类的原理一致:
在得到图的扩散卷积表示ZtZ_t之后,可以直接将ZtZ_t送入全连接层;
P(YX)=softmax(f(WdZ))(6)P(Y|X)=softmax(f(W^dZ))\tag6

其中,在送入全连接层之前需要将ZtZ_t展平,变成一维向量ZR(HF×1)Z\in R^{(HF\times 1)}WdR(HF)×CW^d\in R^{(HF)\times C}CC表示分类种数。