超圖神經網絡(Hypergraph Neural Nerworks,HGNN)
1. 超圖學習(Hypergraph Learning)
在本節中我們簡單回顧超圖的定義及常見性質。
1.1 什么是超圖
超圖與常見的簡單圖不同。對於一個簡單圖,其每條邊均與兩個頂點相關聯,即每條邊的度都被限制為2。而超圖則允許每一條邊的度為任何非負整數。超圖的嚴格數學定義如下:
超圖是一個三元組\(G=<V,E,W>\),它包含一個頂點集\(V\),超邊集\(E\),以及記錄各條超邊的權重的對角矩陣\(W\)。
我們可以用關聯矩陣\(H\)來描述一個超圖,\(H\)是一個\(|V|\times|E|\)的矩陣,被定義如下:
此外,我們可以定義超圖的頂點的度與超邊的度。
-
頂點的度:\(d(v) = \sum_{e \in E} w(e)h(v,e)\)
-
超邊的度:\(\delta(e) = \sum_{v\in V}h(v,e)\)
據此我們還可以定義超圖的頂點度矩陣\(D_e\)和超邊度\(D_v\),它們分別是關於頂點度和超邊度的對角矩陣。
1.2 超圖的頂點(超邊)分類問題
超圖的頂點(超邊)分類問題的學習目標:
其中各個符號意義如下:
- \(R_{emp}(f)\) 有監督的經驗誤差
- \(\Omega(f)\) 標准化損失函數
- \(f(\cdot)\) 分類函數
我們在這里重點介紹標准化損失函數\(\Omega(f)\)
我們回顧圖學習中的一個重要概念:拉普拉斯矩陣(Laplacian Matrix),拉普拉斯矩陣是圖的一種矩陣表示,是一個對角矩陣,\(L=D-W\)。其中\(L\)為圖的度矩陣,\(W\)為鄰接矩陣。我們更常用到的是拉普拉斯矩陣的標准化形式,即\(L_N =I- D^{-\frac{1}{2}}WD^{-\frac{1}{2}}\)。
我們將拉普拉斯矩陣這一概念擴展到超圖上,則有:\(L = D_v - HWD_e^{-1}H^T\)。進一步定義超圖的拉普拉斯矩陣的標准化形式:
我們記\(\Theta = D_v^{-\frac{1}{2}}HWD_e^{-1}H^TD_v^{-\frac{1}{2}}\) ,超圖的標准化拉普拉斯矩陣則為:\(\Delta = I-\Theta\)。
拉普拉斯矩陣是一種半正定矩陣、實對稱矩陣,它定義了圖上的導數,它刻畫信號在圖上的平滑程度。
至此,我們可以將標准化損失函數\(\Omega(f)\)推導為:
2. 超圖的頻域卷積
2.1 簡單圖的頻域卷積
頻域GCN的基本思想,是先將圖上的信號從空域變換到譜域,在譜域定義卷積,再將信號從譜域變回空域。
GCN的輸入為\(G=<V,E,W>\),其中\(V\)為點集,\(E\)為邊集,\(W\)為\(\R^{n\times n}\)的權值鄰接矩陣。圖中每一個節點都有\(d\)個屬性,\(X \in \R^{n \times d}\)則為節點的屬性矩陣,\(X\)的每一列都是圖上所有節點對應的某一種信號。
接下來我們盡可能通俗地描述這個過程:首先,對於圖\(G\),假設其有\(n\)個節點,每一個節點都有一個取值,那么這個圖上的信號就是一個\(n\)維的向量。當然,大多數情況下,節點信號都是一個\(d\)維向量,那么此時圖上的信號就是一個\(d*n\)的矩陣。這就是圖信號在空域的表示。
\(v_1\) | \(v_2\) | \(v_3\) | \(...\) | \(v_{n-1}\) | \(v_{n}\) |
---|---|---|---|---|---|
\(f_{1}\) | \(f_{2}\) | \(f_{3}\) | \(...\) | \(f_{n-1}\) | \(f_{n}\) |
現在,我們要將這個\(n\)維向量編號到新的域中去,就需做傅立葉變換,為此就需要\(n\)個基。這組基就是拉普拉斯矩陣的\(n\)個特征向量\(\{u_l\}_{l=1}^n\)(由於拉普拉斯矩陣是一種實對稱矩陣,其\(n\)個特征向量是正交的,因此這\(n\)個特征向量就構成了一個\(n\)維空間)。由於拉普拉斯矩陣可以被對角化為
其中,\(U=[u_1,...,u_n]\),\(\Lambda=diag([\lambda_1,\lambda_2,...,\lambda_n])\)
接下來進行圖上傅立葉變換:\(x\in \R^n,U \in R^n\)
- 圖上傅立葉變換被定義為:\(\hat{x}=U^Tx\)
- 圖上傅立葉逆變換被定義為:\(x=U\hat{x}\) (這是因為\(U^TU=E\))
譜域卷積被定義為:
-
卷積定理:兩個信號的卷積的傅立葉變換可以看作兩個信號傅立葉變換后的卷積
-
根據卷積定理,在給定一個輸入信號\(x\)和信號\(y\)(作為\(filter\)),圖卷積運算\(*_{G}\)可以寫為:\(x *_{G}y=U((U^Tx)\odot (U^Ty))\)。此時譜域卷積核實際上是\(U^Ty\)。
我們記\(U^Ty=[\theta_0,...,\theta_{n-1}]^T\),記\(g_{\theta}=diag([\theta_0,...,\theta_{n-1}])\),因此可以得到
\[x *_{G}y = U(U^Tx \odot U^Ty)=Ug_\theta U^Tx \]
下圖為頻域GCN的卷積層之間的傳播示意圖:

然而,頻域GCN面臨以下弊端,導致難以投入應用:
- 由於我們需要使用拉普拉斯矩陣的特征向量,因此需要對拉普拉斯矩陣做特征分解。拉普拉斯矩陣的特征分解復雜度為\(O(n^3)\)。
- 圖上傅立葉變換的復雜度為\(O(n^2)\),即使通過\(FFT\)優化也需要\(O(nlogn)\)。
- 頻域GCN的卷積操作並不依賴於節點的鄰域節點,然而大多數情況下鄰域節點確實包含了一些信息。即頻域GCN的卷積操作是"not localized in vertex domain"的,即在節點域非局部化,這並不是我們希望得到的卷積操作。
為了解決這一問題,2016年"SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS"提出將譜域卷積核進行參數化,即用一個多項式函數近似卷積核\(g_\theta\)。

ChebNet的提出解決了GCN-1的如下問題:
- 無需進行特征分解
- 傅立葉變換計算代價由\(O(n^2)\)變為\(O(E)\),\(E\)是邊的個數
- 卷積從非局部化變為局部化:卷積嚴格受到\(K\)階鄰居的影響。
2.2 將頻域卷積擴展到超圖
HGNN的輸入為\(G=<V,E,W>\),其中\(V\)為點集,\(E\)為超邊集,\(W\)為\(\R^{e\times e}\)的記錄超邊權重的對角矩陣。由於超圖拉普拉斯矩陣\(\Delta\)是一個\(n*n\)的半正定矩陣,因此可以特征分解為\(\Delta=\Phi \Lambda \Phi^T\),其中\(\Phi = diag(\phi_1,...,\phi_n)\),\(\Lambda=diag(\lambda_1,...,\lambda_n)\)。接下來類比簡單圖的頻域GCN,我們先將空域信號經過傅立葉變換轉化到頻域,在頻域定義卷積,再從頻域經過傅立葉逆變換轉化回空域。HGNN在頻域的卷積定義如下:
在介紹簡單圖的頻域GCN時提到,這種方法定義的頻域卷積有很多缺點。我們可以考慮使用\(ChebNet\)提到的\(K\)階多項式\(g(\Lambda)\)進行優化,更進一步,我們還可以使用截斷的\(ChebyShev\)展開來作為近似的多項式,它被遞歸的定義如下:\(T_k(x)=2xT_{k-1}(x)-T_{k-2}(x)\),\(T_0(x)=1\) ,\(T_1(x)=x\)。在使用截斷的\(ChebyShev\)展開來作為近似的多項式之后,卷積操作可以簡寫為:
其中,\(T_k(\hat{\Delta})\)是變量為拉普拉斯算子\(\hat{\Delta}=\frac{2}{\lambda_{max}}\Delta-I\)的截斷的\(ChebyShev\)展開。
- 更進一步,我們可以直接令\(K=1\)來限制多項式的長度,進一步降低卷積運算的復雜度,按照經驗,\(K=1\)時該多項式已經足夠充分地表達了超圖中節點間高維數據的相關性。
- 此外,(Kipf and Welling 2017)還建議令\(\lambda_{max} = 2\)。
我們將\(K=1,\lambda_{max}=2\)帶入后可以得到HGNN卷積運算如下:
\(\theta_0,\theta_1\)是卷積核的可訓練參數。我們可以用一個單獨的變量\(\theta\)來代替\(\theta_0,\theta_1\),以防止過擬合問題。
再將上式代入可以到HGNN卷積運算如下:
HGNN的輸入為\(X\in \R^{n\times C_1}\),\(n\)為節點數,\(C_1\)為屬性數。單層卷積運算為
其中\(W=diag(w_1,w_2,...,w_n)\),\(\Theta \in \R^{C_1 \times C_2}\)。卷積核\(\Theta\)會被應用於超圖中所有的節點。在卷積運算過后,我們可以得到\(Y\in \R^{n\times C_2}\),它可以用於分類任務。
2.3 HGNN卷積層結構分析
上圖展示了HGNN的細節:多模態數據分為訓練數據和測試數據,每種數據都包含幾個具有特征的節點。然后利用多模態數據集的復雜相關性構造了多個超邊結構群。將超圖的節點特征矩陣\(X\in \R^{N \times C}\)和關聯矩陣\(H \in \R^{N \times E}\)輸入到HGNN中,得到節點輸出標簽。我們可以構造hypergraph卷積層如下:
2.4 利用HGNN層執行”點-邊-點“轉換
HGNN模型基於超圖上的頻域卷積。在這里,進一步研究了HGNN利用數據間高階相關性的特性。
HGNN層可以執行節點-邊緣-節點轉換,可以使用超圖結構更好地細化特性。更具體地說,首先,初始節點功能\(X^{(1)}\)是由可學習的過濾處理矩陣\(\Theta^{(1)}\)提取C2-dimensional特性。然后根據超邊收集節點特征,形成超邊特征\(\R^{E\times N}\),由\(H^T\in\R^{(E\times N)}\)實現。最后通過矩陣\(H\)的相乘,聚合其相關超邊特征得到輸出節點特征。因此,HGNN層可以通過節點-邊緣-節點變換有效地提取超圖上的高階相關性。
3.與已有方法的關聯
當超邊僅連接兩個頂點時,將超圖簡化為一個簡單圖,且超圖拉普拉斯矩陣與簡單圖拉普拉斯矩陣重合到1 / 2。與已有的圖卷積方法相比,HGNN可以自然地建模數據之間的高階關系,在形成特征提取時有效地利用和編碼了這種關系。與傳統的超圖方法相比,該模型不需要超圖拉普拉斯矩陣的逆運算,計算效率很高。還需要注意的是,HGNN對多模態特性具有很大的可擴展性,具有超邊緣生成的靈活性。