圖卷積網路(Graph Convolutional Network)是什麼?

一種 GNN 的具體實現,透過鄰域節點特徵的加權平均來更新每個節點的表示。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
Graph Convolutional Network
主題標籤
深度學習、神經網路、知識圖譜
考點定位
非 iPAS 核心術語
最後更新
2026/06/22
圖卷積網路(Graph Convolutional Network)是什麼? 深度學習神經網路
術語快查

搜尋意圖: 如果你在找「圖卷積網路 是什麼」或「圖卷積網路 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

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

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

一種 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 允許自訂義聚合和更新函數,更加靈活。

常見問題

GCN 中的度歸一化為何採用 D^(-1/2) A D^(-1/2) 而不是 D^(-1) A?

D^(-1) A 會導致圖拉普拉斯矩陣的非對稱化,破壞了原圖的譜性質。而 D^(-1/2) A D^(-1/2) 保持矩陣的對稱性和半正定性,使得梯度更新穩定,特別是在深度 GCN 中。此外,對稱歸一化的光譜範圍更有利,避免了梯度爆炸或消失。在信號處理角度,對稱歸一化相當於在圖的自然度量空間中進行卷積,更符合圖的幾何結構。

GCN 可以處理有向圖嗎?

標準 GCN 以無向圖設計,假設鄰接矩陣 A 對稱。對有向圖,需要先轉換為無向圖(如取 A + A^T),或修改 GCN 使用不對稱的度歸一化(如 D_out^(-1) A)。後者需特別注意,可能導致訓練不穩定。更穩健的做法是使用能明確處理有向邊的架構,如有向 GAT 或異質圖神經網路。

為什麼 GCN 在大規模圖上比較慢?

標準 GCN 的正向傳播涉及稀疏矩陣乘法 D^(-1/2) A D^(-1/2) H,且 H 是 n×d 維的密集矩陣(n 為節點數,d 為特徵維數)。在大規模圖上(如百萬級節點),即便 A 稀疏,計算也會很慢,且整個圖需放入記憶體。解決方案包括採樣(GraphSAGE)、分層(FastGCN)、或多層採樣(PinSage),透過採樣鄰域子集避免全圖計算。