1.DCNN框架
DCNN以节点的特征矩阵以及节点的概率转移矩阵(可以认为是结构矩阵)为输入,然后以每个节点为中心,将不同的跳(hop)上的节点信息进行聚合,得到前H跳的聚合向量,构成节点的扩散表示Zt(i,:,:)∈RH×F,所有节点的扩散表示组成张量Zt∈RNt×H×F。对节点(图)的分类任务就是将扩散表示直接送入全连接网络,通过softmax函数得到各类的分类概率。下图是DCNN的实现节点分类和图分类的流程图。

2.扩散卷积表示
At表示图的邻接矩阵,Pt表示度归一化转移矩阵,(Pt)ij表示由节点i转移到j的概率,可以由At计算得到,可以认为是权重矩阵。At矩阵有一个性质:At矩阵的幂级数Atn中的一个元素(Atn)ij,表示节点i到节点j长度为n的游走(英文为walk)的数量,当不存在这样的游走时,该值为0,之后将该矩阵归一化后,就可以表示长度为n时,节点i转移到j的概率。这种性质对应与公式(1):
Ptijk∗=Ptikj(1)
其中,Pt∗∈RNt×H×Nt表示由Pt组成的幂级数;i表示节点i ;j表示跳(hop)为j,也就是游走的长度为j;k表示节点的第k个特征。从公式(1)可以看出来,Pt∗的元素(Pt∗)ijk表示:游走长度为j时,节点i转移到节点k的概率。
(1)节点的扩散卷积表示
扩散卷积表示为:
Ztijm=f(Wjmc⋅l=1∑NtPtijl∗Xtlm)(2)
其中,m表示所有节点的第m个特征,Wjm表示权重,Ztijm表示:以节点i为中心,在第m个特征上,游走长度为j的节点信息的聚合值;∑l=1NtPtijl∗Xtlm部分的意义是以概率方式对节点i的j跳节点的一个信息聚合,f为非线性**函数。
式(2)的张量表示形式为:
Zt=f(Wc⨀Pt∗Xt)(3)
其中,⨀表示逐元素相乘,Wc∈RH×F,为训练权重;Pt∗Xt∈RNt×H×F表示每个节点的各个跳[0,H−1]的聚合信息;在计算Wc⨀Pt∗Xt,存在广播机制,会将Wc复制Nt遍,然后逐元素相乘;Zt∈RNt×H×F。
(2)图的扩散卷积表示
图的扩散卷积表示:
Zt=f(Wc⨀Nt(1Nt)TPt∗Xt)(4)
其中Pt∗Xt的意义不变,1Nt∈RNt×1表示将各个节点信息∈RH×F聚合的权重;除以Nt得到平均值。Wc训练得到的加权权值。
3.分类任务
(1)节点分类
在得到节点的扩散卷积表示Zt之后,可以直接将Zt送入全连接层;
P(Y∣X)=softmax(f(WdZ))(5)
其中,在送入全连接层之前需要将Zt展平,变成二维矩阵Z∈RNt×(HF),Wd∈R(HF)×C,C表示分类种数。
论文中表达的公式为P(Y∣X)=softmax(f(Wd⨀Z))应该和公式(5)是一致的。
(2)图分类
图分类与节点分类的原理一致:
在得到图的扩散卷积表示Zt之后,可以直接将Zt送入全连接层;
P(Y∣X)=softmax(f(WdZ))(6)
其中,在送入全连接层之前需要将Zt展平,变成一维向量Z∈R(HF×1),Wd∈R(HF)×C,C表示分类种数。