天天看點

圖網絡空域卷積說明1:GNN

論文位址:A Generalization of Convolutional Neural Networks to Graph-Structured Data

GNN的做法是将一個圖結構的資料強行變化為一個類似規則的資料,進而實作1維的卷積。

傳統卷積:固定數量的鄰域節點排序後,與相同數量的卷積核參數相乘後求和。

圖網絡空域卷積說明1:GNN

那麼卷積就可以分為兩步:

1.建構鄰域(鄰節點固定且有序)

2.對鄰域的點和卷積核參數内積

但是對于圖結構資料而言:鄰域節點不固定,且圖結構無序。是以需要找到一個解決建構鄰域的方法。

圖網絡空域卷積說明1:GNN

解決思路:随機遊走,根據被選中的機率期望和大小選擇固定數量的鄰居節點。

實作:

首先定義

P P P矩陣 為圖上的随機遊走轉移矩陣, P i j P_{ij} Pij​為i節點到j節點的轉移機率。

S S S矩陣 為相似度矩陣,可以了解為鄰接矩陣。

D D D矩陣 為度矩陣, D i i = ∑ j S i j D_{ii}=\sum_jS_{ij} Dii​=∑j​Sij​。

假設圖結構已知,則 S S S和 D D D已知,則 P P P定義如下:

P = D − 1 S P=D^{-1}S P=D−1S

上式子相當于對S進行歸一化,即使用歸一化的鄰接矩陣作為圖轉移矩陣。

多步轉移矩陣定義為 Q Q Q:

Q ( 0 ) = I , Q ( 1 ) = I + P , … Q ( k ) = ∑ j = 0 k P k Q^{(0)}=I,Q^{(1)}=I+P,\dots Q^{(k)}=\sum_{j=0}^kP^k Q(0)=I,Q(1)=I+P,…Q(k)=j=0∑k​Pk

其中 k k k為步數, Q i j ( k ) Q^{(k)}_{ij} Qij(k)​表示i節點進過k步達到j的期望通路次數,可視化如下圖。

圖網絡空域卷積說明1:GNN

那麼選擇鄰域的問題解決了,可以根據期望通路次數來選擇需要的鄰域節點, π i ( k ) ( c ) \pi_i^{(k)}(c) πi(k)​(c)表示節點的序号,表示該節點是經過 k k k步内由 i i i節點出發的通路期望第 c c c大的節點,那麼有節點期望通路大小排序:

Q i π i ( k ) ( 1 ) > Q i π i ( k ) ( 2 ) > ⋯ > Q i π i ( k ) ( N ) Q_{i\pi_i^{(k)}(1)}>Q_{i\pi_i^{(k)}(2)}>\dots>Q_{i\pi_i^{(k)}(N)} Qiπi(k)​(1)​>Qiπi(k)​(2)​>⋯>Qiπi(k)​(N)​

定義卷積:

圖網絡空域卷積說明1:GNN

每個點選取前 p p p個期望最大的作為鄰域節點,且順序由期望 Q Q Q決定。卷積核為 W W W,具有 p p p個參數。

舉例:

圖網絡空域卷積說明1:GNN

繼續閱讀