模型详述

Diffusion-Convolutional Neural Networks

  • 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的游走(英文为walk)walk)的数量,当不存在这样的游走时,该值为00,之后将该矩阵归一化后,就可以表示长度为nn时,节点ii转移到jj的概率。这种性质对应与公式:

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)(hop)jj,也就是游走的长度为jjkk表示节点的第kk个特征。从公式1(1)可以看出来,PtP^*_t​的元素(Pt)ijk(P^*_t)_{ijk}​表示:游走长度为jj时,节点ii转移到节点kk的概率。

  • 所谓的hophop,按照字面意思是“跳”,对于某一节点 nn ,其HhopH-hop的节点就是,从 nn节点开始,跳跃HH次所到达的节点,比如对于 nn 节点的1hop1-hop的节点,就是 nn 节点的邻居节点。这里对于节点representationrepresentation并不是采用一个向量来表示,而是采用一个矩阵进行表示,矩阵的第ii行就表示ihopi-hop的邻接信息

Diffusion-Convolutional Neural Networks
Diffusion-Convolutional Neural Networks

Node Classification

假设PtP^*_t​PtP_t​power serirspower\ serirs,既{PtP_t​,Pt1P^1_t​,Pt2P^2_t​,…},其中,PtRNt×H×NtP^*_t\in R^{N_t\times H\times N_t},表示由PtP_t​组成的幂级数

扩散卷积表示为
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(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]的聚合信息;在计算WcPtXt^c\bigodot P^*_tX_t,存在广播机制,会将WcW^c复制NtN_t​遍,然后逐元素相乘;ZtRNt×H×FZ_t \in R^{N_t\times H\times F}

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

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

Graph Classification

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

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

图分类与节点分类的原理一致:
在得到图的扩散卷积表示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表示分类种数。

Edge Classification and Edge Features

通过将每一条边转化为一个节点来进行训练和预测,这个节点与原来的边对应的首尾节点相连,转化后的图的邻接矩阵​ AtA'_t可以直接从原来的邻接矩阵​增加一个incidence matrixincidence\ matrix得到:
Diffusion-Convolutional Neural Networks
之后,使用 AtA'_t​来计算 PtP'_t​,并用来替换 PtP_t ​来进行分类。

对于模型训练,使用梯度下降法,并采用earlystop​early-stop​方式得到最终模型。

Diffusion-Convolutional Neural Networks
github源码:https://github.com/jcatw/dcnn

相关文章:

  • 2021-07-16
  • 2021-05-03
  • 2021-06-20
  • 2022-01-16
  • 2021-12-09
  • 2021-11-27
  • 2021-08-27
猜你喜欢
  • 2021-07-15
  • 2021-10-31
  • 2022-12-23
  • 2021-09-23
  • 2021-08-27
  • 2021-04-17
相关资源
相似解决方案