圖卷積網路 是什麼?

Graph Convolutional Network:圖卷積網路 的完整解釋

一種 GNN 的具體實現,透過鄰域節點特徵的加權平均來更新每個節點的表示。

核心概念

圖卷積網路將傳統卷積神經網路的思想擴展到圖領域。在影像上,卷積透過滑動窗口聚合局部像素資訊;在圖上,GCN 對每個節點的鄰域進行類似的聚合操作,但由於圖的拓撲是不規則的,GCN 不使用固定大小的滑動窗口,而是依賴圖的實際連接結構。

GCN 的數學核心是對圖拉普拉斯矩陣(Laplacian matrix)進行譜分解和卷積。在實踐中,Kipf 等人提出的簡化版本避免了複雜的特徵分解,直接在空間域上進行卷積,具有較低的計算複雜度。

運作原理

GCN 的正向傳播公式為:

H^(l+1) = σ(D^(-1/2) A D^(-1/2) H^(l) W^(l))

其中:

  • A 是圖的鄰接矩陣,A_ij = 1 表示節點 i 和 j 之間有邊
  • D 是度矩陣(degree matrix),D_ii = Σ_j A_ij,表示節點 i 的度數
  • H^(l) 是第 l 層的節點特徵矩陣
  • W^(l) 是第 l 層的可學習參數矩陣
  • σ 是激活函數(如 ReLU)

D^(-1/2) A D^(-1/2) 是對鄰接矩陣的度歸一化。直觀上,它將每條邊的權重除以相鄰兩個節點的度數,確保高度數節點的貢獻不會壓倒低度數節點。這個歸一化步驟對 GCN 的穩定訓練至關重要。

實際應用中,GCN 常加入自環(self-loop)以保留節點自身特徵的影響,修改為 A' = A + I(I 是單位矩陣),對應的度矩陣相應調整。

實際應用

  • 半監督學習:GCN 的原始論文在引文網路(Citeseer、Cora、Pubmed)和社交網路上進行半監督節點分類。這些網路中,大部分節點未標註,GCN 能利用邊的拓撲和少量標籤進行學習。

  • 推薦系統:騰訊、阿里巴巴等推薦系統中,GCN 用於使用者-物品二部圖,聯合學習使用者和物品的隱向量,超越傳統協同過濾。

  • 化學和材料科學:利用分子圖結構預測分子性質、毒性、活性等。節點代表原子,邊代表化學鍵,GCN 可預測相應的物理化學性質。

  • 程式碼分析:GitHub 等平台使用 GCN 對程式碼的抽象語法樹(AST)進行分析,用於代碼推薦、漏洞檢測等。

  • 流量預測:交通網路中,GCN 結合時序資訊預測交通流量,節點代表路段,邊代表相鄰關係。

常見誤區

  • 誤區一:GCN 和標準卷積操作相同。GCN 沒有滑動窗口的概念,不涉及空間位置,而是基於圖的拓撲結構和歸一化鄰接矩陣進行聚合。

  • 誤區二:加自環對 GCN 總是有幫助。自環保留自身特徵,但若任務不需要節點充分利用自身信息(如某些節點分類場景),加自環可能帶來噪聲。需根據任務而定。

  • 誤區三:度歸一化只是技術細節。D^(-1/2) A D^(-1/2) 的歸一化對 GCN 訓練穩定性、收斂速度、泛化性能都有重要影響。不歸一化會導致訓練不穩定或梯度爆炸。

  • 誤區四:GCN 對所有圖都同樣有效。高度節點過多、邊權分佈極不均勻、節點特徵稀疏等情況都會影響 GCN 效果。需要圖預處理和超參調整。

與相關技術的比較

  • GraphSAGE:GraphSAGE 採用採樣和聚合策略,對固定大小的鄰域子集進行聚合,而 GCN 一次聚合所有鄰域。GraphSAGE 更適合大規模圖,GCN 需要將整個圖放入記憶體。

  • 圖注意力網路(GAT):GAT 對鄰域中的不同節點賦予不同的注意力權重,GCN 對所有鄰域節點採用相同的歸一化權重。GAT 更靈活但計算複雜度更高。

  • 光譜卷積法(Spectral Convolution):GCN 是光譜方法在空間域的高效近似。光譜方法透過圖傅里葉變換進行卷積,但需要計算圖拉普拉斯矩陣的特徵分解,計算成本高。GCN 避免了這一瓶頸。

  • 消息傳遞神經網路(MPNN):MPNN 是更一般的框架,GCN 是 MPNN 的一個特例。MPNN 允許自訂義聚合和更新函數,更加靈活。

常見問題