您當前的位置:首頁 > 書法

圖神經網路(GNN)-6.圖卷機神經網路理論推導

作者:由 Junlu Ding 發表于 書法時間:2021-12-04

知識點準備

圖卷機神經網路(GCN)理論推導主要使用到了線性代數、譜圖理論、傅立葉變換、切比雪夫多項式,譜圖理論(

Spectral Graph Theory

)可以看作是專門研究圖鄰接矩陣性質的方法論,其是線性代數的一個子分支,由於譜圖理論的內容過多,這裡只簡單介紹在推導GCN時使用到的知識點。另外,關於傅立葉變換(

Fourier Transform

)不在這裡進行介紹,關於傅立葉變換的核心理念在之後的章節單獨說明。

1、特徵向量(eigenvector)、特徵值(eigenvalue)

A\tilde{x} = \lambda\tilde{x}

若矩陣A滿足上面的等式,則

\tilde{x}

為矩陣A特徵向量,

\lambda

為 矩陣A特徵值

2、實對稱矩陣(symmetric matrix)

實對稱矩陣A具有 n 個特徵值和 n 個特徵向量,且 n 個特徵向量相互正交,且具有如下性質

A=U \Lambda U^{T}

I= UU^{T}

其中

U

表示 n 個相互正交的特徵向量,

\Lambda

表示對角線元素為 n 個特徵值,其它元素都為0的的矩陣

3、半正定矩陣(positive semi-definite matrix)

所有特徵值都大於等於0的矩陣

4、矩陣二次型(quadratic form)

\tilde{x}^{T}A\tilde{x}

如上表達式叫做向量

\tilde{x}

相對於矩陣

A

的二次型

5、瑞利商(rayleigh quotient)

\frac{\tilde{x}^{T}A\tilde{x}}{\tilde{x}^{T}\tilde{x}}

如上表達式叫做向量

\tilde{x}

相對於矩陣

A

的rayleigh quotient,當向量

\tilde{x}

為矩陣

A

的特徵向量時,rayleigh quotient結果為向量

\tilde{x}

相對應的特徵值

6、拉普拉斯矩陣(laplacianmatrix)

L = D - A

L_{sym} = D^{-\frac{1}{2}}LD^{-\frac{1}{2}}

矩陣

L

為拉普拉斯矩陣,其中D為圖的度矩陣,即對角線元素為各個節點的度,其餘元素都為0,矩陣

A

為圖的鄰接矩陣,

L_{sym}

為拉普拉斯矩陣實對稱陣,矩陣

L

L_{sym}

即是實對稱矩陣也是半正定矩陣,且

L_{sym}

的特徵值取值範圍是[0,2],關於此結論的證明這裡不在介紹(利用了二次型和rayleigh quotient進行證明),。

7、切比雪夫多項式(chebyshev polynomials)

T_{0}(x) = 1

T_{1}(x) = x

T_{n+1}=2xT_{n} - T_{n-1}(x)

圖卷機與傅立葉變換的關係

說到卷機操作首先會想到image convolution即影象卷機操作,其主要用於提取image中各種不同層次的特徵,如下所示。

圖神經網路(GNN)-6.圖卷機神經網路理論推導

卷機操作每次會都會指定一個卷機核,然後按照不同步伐大小在image進行滑動計算,每一次的滑動計算不需要整個image的畫素都參與計算,而是選擇與卷機核當前位置重合的區域性畫素進行計算,即相當於每次對不同的區域性畫素進行一個類聚合操作。而當我們在graph上同樣想執行卷機操作的時候是比較困難的,因為graph的拓撲結構不像image的拓撲結構那麼規整,所有沒辦法給出一個大小合適的卷機核。這個時候為了讓圖能夠實現與image類似的卷機操作,需要藉助傅立葉變換原理,傅立葉變換的大致思想是將複雜問題對映到不同的域中從而使得問題在不同域中變得相對簡單,最典型的例子就是聲波去噪,一個複雜的聲波其實是有多個不同頻率的正弦波疊加而成,透過不同的域變化使得複雜聲波能夠分解成不同頻率的正弦波,然後根據頻率將噪音的正弦波去掉,最後透過逆變化將去掉噪音之後的正弦波進行合併即可實現聲波去噪。如下所示。

圖神經網路(GNN)-6.圖卷機神經網路理論推導

graph的卷機操作實現利用了圖的拉普拉斯矩陣,透過將圖的節點特徵向量與圖的拉普拉斯矩陣相乘實現了圖卷機操作,具體細節見下圖

圖神經網路(GNN)-6.圖卷機神經網路理論推導

透過上圖可見要實現graph卷機操作只需求出圖拉普拉斯矩陣的特徵向量和特徵值即可,但是這樣也會存在一個問題,當圖表大時直接分析矩陣的特徵向量和特徵值是比較困難的,具體如果解決見下GCN公式推導。

GCN公式推導

假設F(A)為圖鄰接矩陣A的函式,F(A)結果為拉普拉斯矩陣

L

或者

L_{sym}

F(A) = L/L_{sym}=U\Lambda U^{T}

g_{\theta}(*)X

表示為graph卷機操作, 其中

X

為圖節點特徵矩陣,

g_{\theta}(*)

為多項式函式,則可得

g_{\theta}(*)X = Ug_{\theta}(\Lambda) U^{T}X

g_{\theta}(\Lambda) = \theta_{0}\Lambda^{0} + \theta_{1}\Lambda^{1} + \theta_{2}\Lambda^{2} + ...+\theta_{n}\Lambda^{n}

由於

(U\Lambda U^{T})^{K} = U\Lambda U^{T}U\Lambda^{} U^{T}...U\Lambda^{} U^{T} = U\Lambda^{K} U^{T}

,則可得

g_{\theta}(*)X = g_{\theta}(U\Lambda U^{T}) X =  g_{\theta}(F(A)) X

g_{\theta}(*)

中的自變數 * 替換成切比雪夫多項式並限制自變數的取值範圍為[-1,1]之間,目的是防止梯度消失或者爆炸發生

g_{\theta}(*)X = U(\sum_{k=1}^{K}\theta_{k}{T_{k}(\Lambda)} )U^{T}X

= \sum_{k=1}^{K}\theta_{k}U{T_{k}(\Lambda)U^{T}} X

= \sum_{k=1}^{K}\theta_{k}{T_{k}(U\Lambda U^{T})} X

= \sum_{k=1}^{K}\theta_{k}{T_{k}(F(A))} X

由於雪夫多項式自變數的取值範圍為[-1,1]之間,所以令

F(A) = L_{sym} - I

g_{\theta}(*)X= \sum_{k=1}^{K}\theta_{k}{T_{k}(L_{sym}-I)} X

到了這一步之後,GCN在這裡做了一階近似,即令

K=1

,不在考慮二階以上的情況,則可得

g_{\theta}(*)X= \sum_{k=1}^{K}\theta_{k}{T_{k}(L_{sym}-I)} X \approx \theta_{0}X + \theta_{1}(L_{sym}-I)X

g_{\theta}(*)X\approx\theta_{0}X - \theta_{1}D^{-\frac{1}{2}}AD^{-\frac{1}{2}}X

此時GCN有引入了一些trick,比如引數共享、歸一化

g_{\theta}(*)X\approx \theta_{0}(I+D^{-\frac{1}{2}}AD^{-\frac{1}{2}})X

\theta_{1} = -\theta_{0}

g_{\theta}(*)X\approx \theta_{0}(D^{-\frac{1}{2}}\tilde{A}D^{-\frac{1}{2}})X

\tilde{A} = (A + I)

g_{\theta}(*)X\approx (D^{-\frac{1}{2}}\tilde{A}D^{-\frac{1}{2}})X

去掉常數

\theta_{0}

到此GCN推導完成,GCN之後的相關工作可能會考慮更高階的情況。

標簽: 矩陣  特徵向量  GCN  卷機  特徵值