Diffusion-Convolutional Neural Networks (傳播-卷積神經網路)
2018-04-09 21:59:02
1. Abstract:
我們提出傳播-卷積神經網路(DCNNs),一種處理 graph-structured data 的新模型。隨著 DCNNs 的介紹,我們展示如何從 graph structured data 中學習基於傳播的表示(diffusion-based representations),然後作為節點分類的有效基礎。DCNNs 擁有多個有趣的性質,包括:
1). a latent representation for graphical data that is invariant under isomorphism;
2). polynomial-time prediction;
3). learning that can be represented as tensor operations;
4). efficiently implemented on a GPU.
2. Introduction:
處理結構化的資料是非常有挑戰的。一方面,找到合適的方法來展示和探索資料的結構可以獲得預測精度的提升;另一方面,找到這樣的結構可能很困難,在模型中新增結構會使得預測複雜度顯著的提升。
這個工作的目標是:設計一個靈活的模型來處理 general 型別的結構化資料,使得在改善預測精度的同時,避免複雜度的提升。為了完成這個目標,我們通過引入一種“diffusion-convolution”的操作,擴充 CNN 到 general graph-structure data。簡單的說,不像傳統的卷積操作那樣(scanning a "square" of parameters across a grid-structured input),the diffusion-convolution operation 通過在一個 graph-structured input 上處理每一個節點,來掃描一個傳播過程,以此來構建一個隱層的表示(builds a latent representation by scanning a diffusion process across each node in a graph-strucured input)。
這個模型是受到下面的啟發:a representation that encapsulates (壓縮) graph diffusion can provide a better basis for prediction than a graph itself. 圖的傳播可以表示為:a matrix power series, 提供了一個直觀的機制來包含 entities 的內容資訊(providing a straightforward mechansim for including contextual information about entities that can be computed in polynomial time and efficiently implemented on a GPU)。
在本文中,我們提供了一個 diffusion-convolutional neural network (DCNNs),並且在 graphical data 的不同任務上做了驗證。許多技術,包括:分類任務的結構化資訊,DCNNs 提供了一種互補的方法,在節點分類任務上取得了顯著的提升。
3. Model:
假設我們有 T 個 graphs g。每個 graph $G_t = (V_t, E_t)$ 是由頂點和邊構成的。
頂點:$N_t * F$,其中 $N_t$ 是 graph 中節點的個數;
邊:$N_t * N_t$ 的鄰接矩陣 At;由此我們可以計算一個 degree-normalized transition matrix $P_t$,表示了從節點 i 到 節點 j 之間跳躍的概率(that gives the probability of jumping from node i to node j in one step)。
這個圖可以是加權的,也可以是不加權的;有向的或者無向的。節點也可以包含 labels Y。
我們對學習預測 Y 很感興趣;即:來預測每一個 graph 中的每一個節點的標籤;或者 每一個圖的 label。在每種情況下,我們可以訪問一些已標註的例項(some labeled entities),我們的工作是預測剩下無標籤例項的 label(our task is predict the values of the remaining unlabeled entities)。
DCNNs 被設計用來執行符合這種形式的任意任務。DCNN 將 graph g 作為輸入,然後輸出 一個 hard prediction for Y 或者 一個條件分佈 P(Y|X)。每一個感興趣的 entity 被轉換為一個 傳播-卷積表示,which is a H*F real matrix defined by H hops of graph diffusion over F features, and it is defined by an H*F real-valued weight tensor $W^c$ and a nonliner differentiable function f that computes the activations. 所以,對於節點分類來說,graph t 的傳播-卷積表示,$Z_t$,將會是 $N_t *H * F$ tensor, 如圖1(a)所示。
該模型是基於一個 diffusion kernel 的,可以認為是:a measure of the level of connectivity between any two nodes in a graph when considering all paths between them, with longer paths being discounted more than shorter paths. DCNNs 沒有 pooling operation.
Node Classfication.
考慮節點分類的任務,在 graph 中的每一個輸入節點,都會進行標籤的估計(a label Y is predicted for each input node in a graph)。
我們用 $P^*_t$ 表示為 $N_t * H * N_t$ tensor containing the power series of $P_t$,定義為:
傳播-卷積啟用 $Z_{tijk}$ for node i, hop j, and feature k of graph t is given by:
啟用可以用 tensor 的形式更加精確的進行表達:
其中,圓圈這個符號代表 element-wise multiplication.
該模型可以由 dense layer 來完成(the model is completed by a dense layer that connects Z to Y)。對於 Y 的 hard prediction,表示為 $\hat{Y}$,可以通過取最大的 activiation 來獲得;and a conditional probability distribution P(X|Y) can be found by applying the softmax function:
This keeps the same function in the following extensions.