【深度學習】13. 圖神經網絡GCN,Spatial Approach, Spectral Approach

圖神經網絡

圖結構 vs 網格結構

傳統的深度學習(如 CNN 和 RNN)在處理網格結構數據(如圖像、語音、文本)時表現良好,因為這些數據具有固定的空間結構。然而,真實世界中的很多數據并不遵循網格結構,而是以圖的形式存在,例如:

  • 社交網絡
  • 引文網絡
  • 通信網絡
  • 多智能體系統
  • 分子結構
  • 蛋白質相互作用網絡

這些圖結構數據的特點包括:

  • 每個節點的鄰居數量不固定
  • 鄰居之間沒有隱含的順序
  • 卷積核大小不固定
  • 權重無法按照固定順序排列

因此,CNN 等傳統架構無法直接應用于圖結構數據中。

圖卷積網絡(GCN)簡介

圖卷積網絡(GCN)旨在從圖數據中提取特征。核心思想是:

  • 將節點的鄰居信息進行聚合
  • 并通過權重參數進行變換
  • 使得圖中的節點能夠學習到更好的表示

圖的表示形式(Preliminaries)

基本圖結構

在這里插入圖片描述

一個圖通常記為 G = ( V , E ) G = (V, E) G=(V,E),其中:

  • V = { v i ∣ i = 1 , … , N } V = \{v_i \mid i = 1, \dots, N\} V={vi?i=1,,N} 表示節點集合,共有 N N N 個節點
  • E = { e i j ∣ v i 與? v j 相連 } E = \{e_{ij} \mid v_i \text{ 與 } v_j \text{ 相連} \} E={eij?vi???vj??相連} 表示邊集合

圖的表示方式

  1. 邊列表(Edge List):所有邊組成的列表,如
    ( a , b ) , ( a , d ) , ( a , e ) , ( b , c ) , ( b , d ) , ( b , e ) , ( c , d ) , ( d , e ) (a,b), (a,d), (a,e), (b,c), (b,d), (b,e), (c,d), (d,e) (a,b),(a,d),(a,e),(b,c),(b,d),(b,e),(c,d),(d,e)
  2. 鄰接矩陣(Adjacency Matrix):一個 N × N N \times N N×N 的矩陣 A A A,其中 A i j = 1 A_{ij}=1 Aij?=1 表示節點 v i v_i vi? v j v_j vj? 有邊連接,否則為 0。
  3. 具有自連接的鄰接矩陣(Adjacency matrix with self connections):在2的基礎上,對角線全為1,自己和自己都為1
  4. 帶權鄰接矩陣(Weighted Adjacency Matrix):矩陣中的每個元素是邊的權重 w i j w_{ij} wij?
  5. 度矩陣(Degree Matrix):一個對角矩陣 D D D,其中 D i i D_{ii} Dii? 表示節點 v i v_i vi? 的度數(連接的邊數)。

圖的基本屬性(Basic Properties)

  • 稠密圖(Dense Graph):邊的數量接近 O ( N 2 ) O(N^2) O(N2),例如社交網絡中的名人圖譜。

  • 稀疏圖(Sparse Graph):邊的數量接近 O ( N ) O(N) O(N),大部分節點只有少量連接。

    在這里插入圖片描述

  • 有向圖 vs 無向圖

    • 有向圖中每條邊有方向,鄰接矩陣可能是不對稱的。
    • 無向圖中邊沒有方向,鄰接矩陣是對稱的。

    Directed vs Undirected - CS226 Homepage

  • 連通分量(Connected Components)
    一個連通分量是一個子圖,其中任意兩個節點之間都有路徑相連。

圖神經網絡中的常用表示

  • G = ( V , E ) G = (V, E) G=(V,E):圖由節點集合 V V V 和邊集合 E E E 構成。

  • V = { v i ∣ i = 1 , … , N } V = \{v_i \mid i = 1, \dots, N\} V={vi?i=1,,N}:節點集合,包含 ∣ V ∣ = N |V| = N V=N 個節點。

  • E = { e i j ∣ v i 與? v j 有邊相連 } E = \{e_{ij} \mid v_i \text{ 與 } v_j \text{ 有邊相連} \} E={eij?vi???vj??有邊相連}:邊集合,記錄節點之間的連接關系。

  • X ∈ R N × d X \in \mathbb{R}^{N \times d} XRN×d:節點屬性矩陣, d d d 為每個節點的特征維度。

  • 鄰接矩陣 A ∈ R N × N A \in \mathbb{R}^{N \times N} ARN×N,其中 A i j ∈ { 0 , 1 } A_{ij} \in \{0, 1\} Aij?{0,1} 表示邊 e i j e_{ij} eij? 是否存在。

  • 單位矩陣 I N I_N IN? N × N N \times N N×N 的單位矩陣,用于表示節點的自連接(self-connection)。

  • 帶自環的鄰接矩陣 A ^ = A + I N \hat{A} = A + I_N A^=A+IN?:在原始鄰接矩陣基礎上加入自環。

  • 節點的度數(Degree):某個節點連接的邊的數量。

  • 度矩陣 D ∈ R N × N D \in \mathbb{R}^{N \times N} DRN×N:從鄰接矩陣 A A A 計算得出,是對角矩陣,其對角線元素表示每個節點的度。

  • 自環度矩陣 D ^ ∈ R N × N \hat{D} \in \mathbb{R}^{N \times N} D^RN×N:從帶自環的鄰接矩陣 A ^ \hat{A} A^ 計算得到。

CNN 中的卷積 vs GCN 中的卷積

CNN 中的像素更新(標準卷積)

對于一張圖片的像素,使用 3 × 3 3 \times 3 3×3 卷積核:

h i ( l + 1 ) = σ ( W 1 ( l ) h 1 ( l ) + W 2 ( l ) h 2 ( l ) + ? + W 9 ( l ) h 9 ( l ) ) h_i^{(l+1)} = \sigma(W_1^{(l)} h_1^{(l)} + W_2^{(l)} h_2^{(l)} + \cdots + W_9^{(l)} h_9^{(l)}) hi(l+1)?=σ(W1(l)?h1(l)?+W2(l)?h2(l)?+?+W9(l)?h9(l)?)

GCN 中的節點更新(圖卷積)

使用公式:

H ( l + 1 ) = σ ( D ~ ? 1 2 A ~ D ~ ? 1 2 H ( l ) W ( l ) ) H^{(l+1)} = \sigma(\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(l)} W^{(l)}) H(l+1)=σ(D~?21?A~D~?21?H(l)W(l))

其中:

  • A ~ \tilde{A} A~ 是加入自環的鄰接矩陣
  • D ~ \tilde{D} D~ 是其對應的度矩陣
  • H ( l ) H^{(l)} H(l) 是第 l l l 層的節點表示
  • W ( l ) W^{(l)} W(l) 是可訓練參數矩陣
  • σ \sigma σ 是非線性激活函數

該形式實現了特征歸一化的圖卷積操作

圖卷積操作的標準形式(Spatial Approach)

在這里插入圖片描述

在空間方法(Spatial-based GCN)中,圖卷積的更新規則如下:

h i ( l + 1 ) = σ ( h i ( l ) W 0 ( l ) + ∑ j ∈ N i 1 c i j h j ( l ) W 1 ( l ) ) h_i^{(l+1)} = \sigma \left( h_i^{(l)} W_0^{(l)} + \sum_{j \in \mathcal{N}_i} \frac{1}{c_{ij}} h_j^{(l)} W_1^{(l)} \right) hi(l+1)?=σ ?hi(l)?W0(l)?+jNi??cij?1?hj(l)?W1(l)? ?

其中:

  • N i \mathcal{N}_i Ni? 表示節點 i i i 的鄰居集合
  • W 0 ( l ) W_0^{(l)} W0(l)? W 1 ( l ) W_1^{(l)} W1(l)? 為權重矩陣
  • c i j c_{ij} cij? 是歸一化常數(可設為固定值或可訓練)
  • σ \sigma σ 是非線性激活函數(如 ReLU)

優點

  • 權重共享,空間結構不變
  • 排列的不變性
  • 對節點順序不敏感(Permutation invariant)
  • 線性復雜度O(E),適用于大規模稀疏圖

缺點

  • 僅間接支持邊緣特征
  • 多層堆疊需要殘差結構以避免過平滑(over-smoothing)
  • 需要閘門機制/深度殘余連接(如果nodes太多,一半需要去掉一些信息)

Kipf & Welling 的 GCN 模型(2017)

Kipf & Welling 提出的圖卷積網絡是一種半監督學習方法,其更新公式為:

H ( l + 1 ) = σ ( D ~ ? 1 2 A ~ D ~ ? 1 2 H ( l ) W ( l ) ) H^{(l+1)} = \sigma \left( \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(l)} W^{(l)} \right) H(l+1)=σ(D~?21?A~D~?21?H(l)W(l))

其中:

  • A ~ = A + I \tilde{A} = A + I A~=A+I:加入自環的鄰接矩陣
  • D ~ \tilde{D} D~ A ~ \tilde{A} A~ 的度矩陣
  • W ( l ) W^{(l)} W(l) 是第 l l l 層的權重矩陣
  • σ \sigma σ 是非線性激活函數

網絡結構如下:

  1. 輸入:節點特征矩陣 X X X
  2. 第一層圖卷積: H ( 1 ) = ReLU ( A ^ X W ( 0 ) ) H^{(1)} = \text{ReLU}(\hat{A} X W^{(0)}) H(1)=ReLU(A^XW(0))
  3. 第二層輸出: Z = softmax ( A ^ H ( 1 ) W ( 1 ) ) Z = \text{softmax}(\hat{A} H^{(1)} W^{(1)}) Z=softmax(A^H(1)W(1))

該模型被廣泛用于半監督節點分類任務。

圖卷積更新公式的空間方法詳解

圖卷積的一般更新形式如下:

h i ( l + 1 ) = σ ( h i ( l ) W 0 + ∑ j ∈ N i 1 c i j h j ( l ) W 1 ) h_i^{(l+1)} = \sigma\left(h_i^{(l)} W_0 + \sum_{j \in \mathcal{N}_i} \frac{1}{c_{ij}} h_j^{(l)} W_1\right) hi(l+1)?=σ ?hi(l)?W0?+jNi??cij?1?hj(l)?W1? ?

其中:

  • N i \mathcal{N}_i Ni? 表示節點 i i i 的鄰居集合;
  • W 0 W_0 W0? 是自身的權重矩陣;
  • W 1 W_1 W1? 是所有鄰居共享的權重矩陣;
  • c i j c_{ij} cij? 是歸一化因子(如鄰居數、可學習權重);
  • σ \sigma σ 是非線性激活函數(如 ReLU)。

該空間方法強調局部鄰居信息聚合,具有如下性質:

  • 權重共享,適應不同圖結構;
  • 對鄰居節點的順序不敏感(Permutation Invariant);
  • 時間復雜度為 O ( E ) O(E) O(E),適用于大規模圖。
  • Applicable both in transductive(access to test set) and inductive(sperate test set)

GCN 計算示例

假設節點為 a , b , c , d , e a, b, c, d, e a,b,c,d,e,圖的鄰接矩陣 A A A 為:

A = [ 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 ] A = \begin{bmatrix} 0 & 1 & 0 & 1 & 1 \\ 1 & 0 & 1 & 1 & 1 \\ 0 & 1 & 0 & 1 & 0 \\ 1 & 1 & 1 & 0 & 1 \\ 1 & 1 & 0 & 1 & 0 \end{bmatrix} A= ?01011?10111?01010?11101?11010? ?

加入自環后得到:

A ~ = A + I = [ 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 ] \tilde{A} = A + I = \begin{bmatrix} 1 & 1 & 0 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 1 & 0 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 0 & 1 & 1 \end{bmatrix} A~=A+I= ?11011?11111?01110?11111?11011? ?

該過程表示:每個節點與其鄰居(含自身)對應特征值相加,未做歸一化。
H ( l + 1 ) = σ ( A ~ H l W l ) H^{(l+1)} = \sigma(\tilde{A}H^lW^l) H(l+1)=σ(A~HlWl)

GCN 的特征歸一化

為避免特征總量隨度數增長,需對 A ~ \tilde{A} A~ 進行對稱歸一化:

A ^ = D ~ ? 1 / 2 A ~ D ~ ? 1 / 2 \hat{A} = \tilde{D}^{-1/2} \tilde{A} \tilde{D}^{-1/2} A^=D~?1/2A~D~?1/2

H ( l + 1 ) = σ ( D ~ ? 1 A ~ H l W l ) H^{(l+1)} = \sigma( \tilde{D}^{-1}\tilde{A}H^lW^l) H(l+1)=σ(D~?1A~HlWl)

其中,度矩陣 D ~ \tilde{D} D~ 為:
D ~ = [ 4 0 0 0 0 0 5 0 0 0 0 0 3 0 0 0 0 0 5 0 0 0 0 0 4 ] \tilde{D} = \begin{bmatrix} 4 & 0 & 0 & 0 & 0 \\ 0 & 5 & 0 & 0 & 0 \\ 0 & 0 & 3 & 0 & 0 \\ 0 & 0 & 0 & 5 & 0 \\ 0 & 0 & 0 & 0 & 4 \end{bmatrix} D~= ?40000?05000?00300?00050?00004? ?

D ? 1 A ^ = [ 1 4 1 4 0 1 4 1 4 1 5 1 5 1 5 1 5 1 5 0 1 3 1 3 1 3 0 1 5 1 5 1 5 1 5 1 5 1 4 1 4 0 1 4 1 4 ] D^{-1} \hat{A} = \begin{bmatrix} \frac{1}{4} & \frac{1}{4} & 0 & \frac{1}{4} & \frac{1}{4} \\ \frac{1}{5} & \frac{1}{5} & \frac{1}{5} & \frac{1}{5} & \frac{1}{5} \\ 0 & \frac{1}{3} & \frac{1}{3} & \frac{1}{3} & 0 \\ \frac{1}{5} & \frac{1}{5} & \frac{1}{5} & \frac{1}{5} & \frac{1}{5} \\ \frac{1}{4} & \frac{1}{4} & 0 & \frac{1}{4} & \frac{1}{4} \\ \end{bmatrix} D?1A^= ?41?51?051?41??41?51?31?51?41??051?31?51?0?41?51?31?51?41??41?51?051?41?? ?
這樣更新會有個問題,ab ≠ ba,不是對稱矩陣,所以將D分成2個。

GCN 標準更新公式

標準 GCN 更新層表示如下:

H ( l + 1 ) = σ ( D ~ ? 1 / 2 A ~ D ~ ? 1 / 2 H ( l ) W ( l ) ) H^{(l+1)} = \sigma\left( \tilde{D}^{-1/2} \tilde{A} \tilde{D}^{-1/2} H^{(l)} W^{(l)} \right) H(l+1)=σ(D~?1/2A~D~?1/2H(l)W(l))

該式通過對鄰接矩陣的對稱歸一化:

  • 保持了特征值分布的穩定;
  • 實現了特征傳播不隨度數膨脹;
  • 簡潔且高效,成為主流 GCN 實現方式。

該矩陣乘法等價于三步:

  1. H ( l ) H^{(l)} H(l) 通過權重矩陣 W ( l ) W^{(l)} W(l) 投影;
  2. 使用歸一化矩陣 A ^ \hat{A} A^ 聚合鄰居;
  3. 應用非線性激活函數 σ \sigma σ

GCN 中對稱歸一化公式的逐步推導與解釋

我們從標準的圖卷積操作出發:

H ( l + 1 ) = D ~ ? 1 / 2 A ~ D ~ ? 1 / 2 H ( l ) H^{(l+1)} = \tilde{D}^{-1/2} \tilde{A} \tilde{D}^{-1/2} H^{(l)} H(l+1)=D~?1/2A~D~?1/2H(l)

關注第 i i i 個節點的輸出 H i ( l + 1 ) H_i^{(l+1)} Hi(l+1)?,即第 i i i 行的表示:

H i ( l + 1 ) = ( D ~ ? 1 / 2 A ~ D ~ ? 1 / 2 H ( l ) ) i H_i^{(l+1)} = \left( \tilde{D}^{-1/2} \tilde{A} \tilde{D}^{-1/2} H^{(l)} \right)_i Hi(l+1)?=(D~?1/2A~D~?1/2H(l))i?

將矩陣乘法拆解成向量形式:

  1. 首先將左側乘法與右側拆分:

= ( D ~ ? 1 / 2 A ~ ) i ? D ~ ? 1 / 2 H = \left( \tilde{D}^{-1/2} \tilde{A} \right)_i \cdot \tilde{D}^{-1/2} H =(D~?1/2A~)i??D~?1/2H

  1. 用求和展開:

= ( ∑ k D ~ i k ? 1 / 2 A ~ k j ) D ~ ? 1 / 2 H = \left( \sum_k \tilde{D}_{ik}^{-1/2} \tilde{A}_{kj} \right) \tilde{D}^{-1/2} H =(k?D~ik?1/2?A~kj?)D~?1/2H

  1. 注意 D ~ \tilde{D} D~ 是對角矩陣,僅對角線非零,即 D ~ i k ? 1 / 2 = 0 \tilde{D}_{ik}^{-1/2} = 0 D~ik?1/2?=0 i ≠ k i \ne k i=k

= D ~ i i ? 1 / 2 ∑ j A ~ i j D ~ j j ? 1 / 2 H j = \tilde{D}_{ii}^{-1/2} \sum_j \tilde{A}_{ij} \tilde{D}_{jj}^{-1/2} H_j =D~ii?1/2?j?A~ij?D~jj?1/2?Hj?

將所有常數合并成一項,得到最終形式:

H i ( l + 1 ) = ∑ j 1 D ~ i i D ~ j j A ~ i j H j H_i^{(l+1)} = \sum_j \frac{1}{\sqrt{\tilde{D}_{ii} \tilde{D}_{jj}}} \tilde{A}_{ij} H_j Hi(l+1)?=j?D~ii?D~jj? ?1?A~ij?Hj?

每個鄰居 j j j H i ( l + 1 ) H_i^{(l+1)} Hi(l+1)? 的影響

該公式表示:

節點 i i i 的新表示 H i ( l + 1 ) H_i^{(l+1)} Hi(l+1)? 是其所有鄰居 j j j 的表示 H j H_j Hj? 的加權平均。

權重部分為:

w i j = 1 D ~ i i D ~ j j w_{ij} = \frac{1}{\sqrt{\tilde{D}_{ii} \tilde{D}_{jj}}} wij?=D~ii?D~jj? ?1?

  • A ~ i j = 1 \tilde{A}_{ij} = 1 A~ij?=1 表示 j j j i i i 的鄰居(包括自環)
  • H j H_j Hj? 是鄰居 j j j 的特征表示
  • D ~ i i \tilde{D}_{ii} D~ii? D ~ j j \tilde{D}_{jj} D~jj? 是節點 i i i j j j 的度(含自環)

j j j 如何對 i i i 有更大的影響?

鄰居 j j j 對節點 i i i 的影響取決于 這個分母

D ~ i i D ~ j j \sqrt{\tilde{D}_{ii} \tilde{D}_{jj}} D~ii?D~jj? ?

因此:

  • j j j 的度數 D ~ j j \tilde{D}_{jj} D~jj? 越小,即 j j j 越“稀疏”或不太活躍,它的特征 H j H_j Hj? 在這個加權和中占比越大
  • j j j 是一個“中心節點”連接了很多鄰居(度很大),則 D ~ j j \tilde{D}_{jj} D~jj? 大,導致它對 i i i 的影響反而被 弱化

示例:

  • i i i j j j 都只有 2 個連接(含自環),則權重為 1 2 ? 2 = 0.5 \frac{1}{\sqrt{2 \cdot 2}} = 0.5 2?2 ?1?=0.5
  • j j j 是高階節點, D ~ j j = 10 \tilde{D}_{jj} = 10 D~jj?=10,則權重是 1 2 ? 10 ≈ 0.22 \frac{1}{\sqrt{2 \cdot 10}} \approx 0.22 2?10 ?1?0.22
  • 說明:低度的鄰居在信息傳播中影響力更大,高度節點被稀釋

GCN 模型結構與任務

Kipf & Welling 的 GCN 被廣泛用于半監督分類任務,模型結構如下:

  • 輸入:特征矩陣 X ∈ R N × d X \in \mathbb{R}^{N \times d} XRN×d

  • 第一層:
    H ( 1 ) = ReLU ( A ^ X W ( 0 ) ) H^{(1)} = \text{ReLU}(\hat{A} X W^{(0)}) H(1)=ReLU(A^XW(0))

  • 輸出層:
    Z = softmax ( A ^ H ( 1 ) W ( 1 ) ) Z = \text{softmax}(\hat{A} H^{(1)} W^{(1)}) Z=softmax(A^H(1)W(1))

常見任務包括:

  • 節點分類(Node Classification):
    y ^ i = softmax ( z i ) \hat{y}_i = \text{softmax}(z_i) y^?i?=softmax(zi?)

  • 邊預測(Link Prediction):
    p ( A i j ) = σ ( z i T z j ) p(A_{ij}) = \sigma(z_i^T z_j) p(Aij?)=σ(ziT?zj?)

  • 圖級分類(Graph Classification):
    使用聚合操作如全局平均池化后接多層感知機(MLP)。
    y ^ i = softmax ( ∑ n z n ) \hat{y}_i = \text{softmax}(\sum_nz_n) y^?i?=softmax(n?zn?)

GCN 模型僅需少量標注節點即可訓練整圖,是圖神經網絡的基礎模型之一。

譜方法(Spectral Approach)下的圖卷積網絡

譜方法通過圖拉普拉斯矩陣對圖信號進行傅里葉變換,并在頻域上實現卷積操作。該方法理論上完整嚴謹,是最早期圖卷積的基礎。

圖拉普拉斯矩陣的定義

  • 非歸一化圖拉普拉斯矩陣:

    L = D ? A L = D - A L=D?A

  • 歸一化圖拉普拉斯矩陣:

    L ′ = I ? D ? 1 2 A D ? 1 2 L' = I - D^{-\frac{1}{2}} A D^{-\frac{1}{2}} L=I?D?21?AD?21?

其中 A A A 是鄰接矩陣, D D D 是度矩陣, I I I 是單位矩陣。

卷積定理與頻域操作

在經典信號處理中,有如下結論:

在合適條件下,兩個信號卷積的傅里葉(或拉普拉斯)變換等于它們各自傅里葉變換的逐點乘積。

對于圖信號 f f f 和濾波器 h h h,有:

f ? h = F ? 1 [ F ( f ) ? F ( h ) ] f * h = \mathcal{F}^{-1} \left[ \mathcal{F}(f) \cdot \mathcal{F}(h) \right] f?h=F?1[F(f)?F(h)]

一維傅里葉變換的本質

經典傅里葉變換是將信號 f f f 展開在復指數函數基底 e i ω x e^{i\omega x} ex 上。這些復指數正是一維拉普拉斯算子的特征函數,滿足:

L u = λ u L u = \lambda u Lu=λu

一維拉普拉斯算子與經典傅里葉變換的關系

經典傅里葉變換定義為:

f ^ ( ξ ) = ? f , e 2 π i ξ t ? = ∫ R f ( t ) e 2 π i ξ t d t \hat{f}(\xi) = \langle f, e^{2\pi i \xi t} \rangle = \int_{\mathbb{R}} f(t) e^{2\pi i \xi t} \, dt f^?(ξ)=?f,e2πiξt?=R?f(t)e2πiξtdt

即將信號 f f f 展開為復指數函數 e 2 π i ξ t e^{2\pi i \xi t} e2πiξt 的線性組合。

這些復指數函數 e 2 π i ξ t e^{2\pi i \xi t} e2πiξt 是一維拉普拉斯算子 Δ \Delta Δ 的特征函數。

我們來看具體推導:

? Δ ( e 2 π i ξ t ) = ? ? 2 ? t 2 e 2 π i ξ t = ( 2 π ξ ) 2 e 2 π i ξ t -\Delta\left(e^{2\pi i \xi t}\right) = -\frac{\partial^2}{\partial t^2} e^{2\pi i \xi t} = (2\pi \xi)^2 e^{2\pi i \xi t} ?Δ(e2πiξt)=??t2?2?e2πiξt=(2πξ)2e2πiξt

說明 e 2 π i ξ t e^{2\pi i \xi t} e2πiξt Δ \Delta Δ 的特征函數,特征值為 ( 2 π ξ ) 2 (2\pi \xi)^2 (2πξ)2

這一結論可抽象表達為:

L u = λ u Lu = \lambda u Lu=λu

其中:

  • L L L 是拉普拉斯算子(在圖上也記為 L L L
  • u u u 是特征函數(在傅里葉中為 e 2 π i ξ t e^{2\pi i \xi t} e2πiξt
  • λ \lambda λ 是對應特征值

這為圖譜方法中“頻域展開”提供了數學基礎:傅里葉基底是拉普拉斯算子的本征函數。

圖傅里葉變換與拉普拉斯特征分解

L = U Λ U T L = U \Lambda U^T L=UΛUT 為圖拉普拉斯矩陣的特征值分解( U U U 為特征向量矩陣, Λ \Lambda Λ 為對角特征值矩陣),則有:

  • 圖傅里葉變換:

    f ^ = U T f \hat{f} = U^T f f^?=UTf

    h ^ = U T h \hat{h} = U^T h h^=UTh

  • 圖傅里葉逆變換:

    f = U f ^ f = U \hat{f} f=Uf^?

圖上的卷積操作

圖信號與濾波器的卷積在頻域中表示為:

f ? h = U ( f ^ ⊙ h ^ ) = U ( U T f ⊙ U T h ) f * h = U ( \hat{f} \odot \hat{h} ) = U ( U^T f \odot U^T h ) f?h=U(f^?h^)=U(UTfUTh)

其中 ⊙ \odot 表示逐元素乘積。

第一版譜圖卷積(Spectral Network)

Bruna 等人提出的譜卷積形式為:

y = σ ( U g θ ( Λ ) U T x ) y = \sigma( U g_\theta(\Lambda) U^T x ) y=σ(Ugθ?(Λ)UTx)

其中 g θ ( Λ ) g_\theta(\Lambda) gθ?(Λ) 是學習到的頻域濾波器:

g θ ( Λ ) = [ θ 0 0 ? 0 0 ? ? ? ? 0 0 ? 0 θ n ] g_\theta(\Lambda) = \begin{bmatrix} \theta_0 & 0 & \cdots & 0 \\ 0 & \ddots & & \vdots \\ \vdots & & \ddots & 0 \\ 0 & \cdots & 0 & \theta_n \end{bmatrix} gθ?(Λ)= ?θ0?0?0?0?????0?0?0θn?? ?

該方法缺點:

  • 無空間局部性;
  • 參數數量與節點數相同;
  • 每次前向傳播需特征分解,開銷大。

第二版譜圖卷積:局部化濾波器

為了緩解參數過多的問題,提出使用多項式表示濾波器:

g α ( Λ ) = ∑ k = 0 K α k Λ k g_\alpha(\Lambda) = \sum_{k=0}^{K} \alpha_k \Lambda^k gα?(Λ)=k=0K?αk?Λk

對應卷積變為:

y = σ ( U g α ( Λ ) U T x ) = σ ( ∑ k = 0 K α k L k x ) y = \sigma( U g_\alpha(\Lambda) U^T x ) = \sigma\left( \sum_{k=0}^K \alpha_k L^k x \right) y=σ(Ugα?(Λ)UTx)=σ(k=0K?αk?Lkx)

優點:

  • 不需特征分解;
  • 有空間局部性( k k k 階表示 k k k 距離內鄰居);
  • 參數數為 K K K,小于 n n n

第三版譜圖卷積:Chebyshev 多項式展開

用 Chebyshev 多項式對譜濾波器逼近,定義為:

T 0 ( x ) = 1 , T 1 ( x ) = x , T k ( x ) = 2 x T k ? 1 ( x ) ? T k ? 2 ( x ) T_0(x) = 1,\quad T_1(x) = x,\quad T_k(x) = 2x T_{k-1}(x) - T_{k-2}(x) T0?(x)=1,T1?(x)=x,Tk?(x)=2xTk?1?(x)?Tk?2?(x)

令:

Λ ~ = 2 Λ λ max ? ? I \tilde{\Lambda} = \frac{2\Lambda}{\lambda_{\max}} - I Λ~=λmax???I

則濾波器近似為:

g θ ( Λ ~ ) ≈ ∑ k = 0 K θ k T k ( Λ ~ ) g_\theta(\tilde{\Lambda}) \approx \sum_{k=0}^K \theta_k T_k(\tilde{\Lambda}) gθ?(Λ~)k=0K?θk?Tk?(Λ~)

因此卷積可寫為:

y = σ ( ∑ k = 0 K θ k T k ( L ~ ) x ) y = \sigma\left( \sum_{k=0}^K \theta_k T_k(\tilde{L}) x \right) y=σ(k=0K?θk?Tk?(L~)x)

其中 L ~ = 2 L λ max ? ? I \tilde{L} = \frac{2L}{\lambda_{\max}} - I L~=λmax?2L??I

該方法是 Defferrard 等人提出,具有良好的數值穩定性與本地性。

GCN 的最終簡化形式(Kipf & Welling)

Kipf 和 Welling 在 2017 年提出了圖卷積網絡(GCN)的簡化譜方法,通過對 Chebyshev 多項式濾波器進行一階近似,得到了一種高效的圖卷積實現。

首先,從 Chebyshev 展開退化為一階近似,即取 K = 1 K = 1 K=1,并使用如下形式:

g θ ? x ≈ θ ( I + D ? 1 2 A D ? 1 2 ) x g_\theta * x \approx \theta \left( I + D^{-\frac{1}{2}} A D^{-\frac{1}{2}} \right) x gθ??xθ(I+D?21?AD?21?)x

為了提升模型表達能力并確保節點信息自保留,加入自環:

A ~ = A + I \tilde{A} = A + I A~=A+I

計算新的度矩陣:

D ~ i i = ∑ j A ~ i j \tilde{D}_{ii} = \sum_j \tilde{A}_{ij} D~ii?=j?A~ij?

最終得到了標準的 GCN 卷積層表達形式:

H ( l + 1 ) = σ ( D ~ ? 1 2 A ~ D ~ ? 1 2 H ( l ) W ( l ) ) H^{(l+1)} = \sigma\left( \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(l)} W^{(l)} \right) H(l+1)=σ(D~?21?A~D~?21?H(l)W(l))

其中:

  • A ~ \tilde{A} A~ 是加入自環的鄰接矩陣;
  • D ~ \tilde{D} D~ A ~ \tilde{A} A~ 對應的度矩陣;
  • H ( l ) H^{(l)} H(l) 是第 l l l 層節點特征矩陣;
  • W ( l ) W^{(l)} W(l) 是第 l l l 層可學習權重;
  • σ \sigma σ 是非線性激活函數,如 ReLU。

這一形式不再依賴拉普拉斯的特征分解,計算效率高,可在整個圖上批處理所有節點,是現代 GCN 應用中的標準實現。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81720.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81720.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81720.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[Python] 避免 PyPDF2 寫入 PDF 出現黑框問題:基于語言自動匹配系統字體的解決方案

在使用 Python 操作 PDF 文件時,尤其是在處理中文、日語等非拉丁字符語言時,常常會遇到一個令人頭疼的問題——文字變成“黑框”或“方塊”,這通常是由于缺少合適的字體支持所致。本文將介紹一種自動選擇系統字體的方式,結合 PyPDF2 模塊解決此類問題。 一、問題背景:黑框…

Java求職面試:從核心技術到AI與大數據的全面考核

Java求職面試:從核心技術到AI與大數據的全面考核 第一輪:基礎框架與核心技術 面試官:謝飛機,咱們先從簡單的開始。請你說說Spring Boot的啟動過程。 謝飛機:嗯,Spring Boot啟動的時候會自動掃描組件&…

Espresso 是什么

Espresso 是 Android 開發者的首選 UI 測試工具,是 Google 官方推出的 Android 應用 UI 測試框架,專為 白盒測試 設計,強調 速度快、API 簡潔,適合開發者在編寫代碼時同步進行自動化測試。它是 Android Jetpack 測試工具的一部分&…

Axios 如何通過配置實現通過接口請求下載文件

前言 今天,我寫了 《Nodejs 實現 Mysql 數據庫的全量備份的代碼演示》 和 《NodeJS 基于 Koa, 開發一個讀取文件,并返回給客戶端文件下載》 兩篇文章。在這兩篇文章中,我實現了數據庫的備份,和提供數據庫下載等接口。 但是&…

IDEA項目推送到遠程倉庫

打開IDEA——>VCS——>Creat Git 選擇項目 push提交到本地 創建遠程倉庫 復制地址 定義遠程倉庫 推送 推送成功

Prompt工程:解鎖大語言模型的終極密鑰

Prompt工程:解鎖大語言模型的終極密鑰 一、引言:Prompt的戰略價值重構 在人工智能技術加速滲透的2025年,Prompt(提示詞)作為連接人類意圖與大語言模型(LLM)的核心接口,其戰略地位已…

架構意識與性能智慧的雙重修煉

架構意識與性能智慧的雙重修煉 ——現代軟件架構師的核心能力建設指南 作者:藍葛亮 ??引言 在當今快速發展的技術環境中,軟件架構師面臨著前所未有的挑戰。隨著業務復雜度的不斷增長和用戶對性能要求的日益嚴苛,如何在架構設計中平衡功能實現與性能優化,已成為每個技術…

Flutter下的一點實踐

目錄 1、背景2、refena創世紀代碼3、localsend里refena的刷新3.1 初始狀態3.2 發起設備掃描流程3.3 掃描過程3.3 刷新界面 4.localsend的設備掃描流程4.1 UDP廣播設備注冊流程4.2 TCP/HTTP設備注冊流程4.3 localsend的服務器初始化工作4.4總結 1、背景 在很久以前,…

Allegro 輸出生產數據詳解

說明 用于PCB裸板的生產可以分別單獨創建文件 光繪數據(Gerber)、鉆孔(NC Drill)、IPC網表;或者通過ODB++或IPC2581文件(這是一個新格式),它包含生產裸板所需要的所有信息 光繪數據 Artwork Gerber 光繪數據一般包含設計中各個層面的蝕刻線路、阻焊、鉛錫、字符等信…

5.LoadBalancer負載均衡服務調用

目錄 一、Ribbon目前也進入維護模式 二、spring-cloud-loadbalancer概述 三、spring-cloud-loadbalancer負載均衡解析 1.負載均衡演示案例-理論 2.負載均衡演示案例-實操 按照8001拷貝后新建8002微服務 啟動Consul,將8001/8002啟動后注冊進微服務 Consul數據持久化配置…

linux安裝ffmpeg7.0.2全過程

?編輯 白眉大叔 發布于 2025年4月16日 評論關閉 閱讀(341) centos 編譯安裝 ffmpeg 7.0.2 :連接https://www.baimeidashu.com/19668.html 下載 FFmpeg 源代碼 在文章最后 一、在CentOS上編譯安裝FFmpeg 以常見的CentOS為例,FFmpeg的編譯說明頁面為h…

視頻逐幀提取圖片的工具

軟件功能:可以將視頻逐幀提取圖片,可以設置每秒提取多少幀,選擇提取圖片質量測試環境:Windows 10軟件設置:由于軟件需要通過FFmpeg提取圖片,運行軟件前請先設置FFmpeg,具體步驟 1. 請將…

java精簡復習

MyBatis批量插入 <insert id"batchInsert" parameterType"java.util.List">INSERT INTO users(name, age) VALUES<foreach collection"list" item"item" separator",">(#{item.name}, #{item.age})</foreac…

IP 網段

以下是關于 IP 網段 的詳細解析&#xff0c;涵蓋基本概念、表示方法、劃分規則及實際應用場景&#xff1a; 一、網段核心概念 1. 什么是網段&#xff1f; 網段指一個邏輯劃分的 IP 地址范圍&#xff0c;屬于同一子網的設備可以直接通信&#xff08;無需經過路由器&#xff09…

模型微調參數入門:核心概念與全局視角

一、引言 在深度學習領域&#xff0c;模型微調已成為優化模型性能、適配特定任務的重要手段。無論是圖像識別、自然語言處理&#xff0c;還是其他復雜的機器學習任務&#xff0c;合理調整模型參數都是實現卓越性能的關鍵。然而&#xff0c;模型微調涉及眾多參數&#xff0c;這…

端口映射不通的原因有哪些?路由器設置后公網訪問本地內網失敗分析

本地網絡地址通過端口映射出去到公網使用&#xff0c;是較為常用的一種傳統方案。然而&#xff0c;很多環境下和很多普通人員在實際使用中&#xff0c;卻往往會遇到端口映射不通的問題。端口映射不通的主要原因包括公網IP缺失&#xff08;更換nat123類似映射工具方案&#xff0…

Git Push 失敗:HTTP 413 Request Entity Too Large

Git Push 失敗&#xff1a;HTTP 413 Request Entity Too Large 問題排查 在使用 Git 推送包含較大編譯產物的項目時&#xff0c;你是否遇到過 HTTP 413 Request Entity Too Large 錯誤&#xff1f;這通常并不是 Git 的問題&#xff0c;而是 Web 服務器&#xff08;如 Nginx&am…

docker-記錄一次容器日志<container_id>-json.log超大問題的處理

文章目錄 現象一、查找源頭二、分析總結 現象 同事聯系說部署在虛擬機里面的用docker啟動xxl-job的服務不好使了&#xff0c;需要解決一下&#xff0c;我就登陸虛擬機檢查&#xff0c;發現根目錄滿了&#xff0c;就一層一層的找&#xff0c;發現是<container_id>-json.l…

Ubuntu 24.04 LTS 和 ROS 2 Jazzy 環境中使用 Livox MID360 雷達

本文介紹如何在 Ubuntu 24.04 LTS 和 ROS 2 Jazzy 環境中安裝和配置 Livox MID360 激光雷達&#xff0c;包括 Livox-SDK2 和 livox_ros_driver2 的安裝&#xff0c;以及在 RViz2 中可視化點云數據的過程。同時&#xff0c;我們也補充說明了如何正確配置 IP 地址以確保雷達與主機…

電腦開機后長時間黑屏,桌面圖標和任務欄很久才會出現,但是可通過任務管理器打開應用程序,如何解決

目錄 一、造成這種情況的主要原因&#xff08;詳細分析&#xff09;&#xff1a; &#xff08;1&#xff09;啟動項過多&#xff0c;導致系統資源占用過高&#xff08;最常見&#xff09; 檢測方法&#xff1a; &#xff08;2&#xff09;系統服務啟動異常&#xff08;常見&a…