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表示分類種數。