圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)的理論與實踐

前言

深度學(xué)習(xí)中大家熟知的幾種框架DNN、CNN蜗侈、RNN(LSTM和GRU)等等是為了處理歐式空間中的數(shù)據(jù)篷牌,如圖片、語音踏幻、文本枷颊。而圖神經(jīng)網(wǎng)絡(luò)可以應(yīng)用于更為豐富的拓撲結(jié)構(gòu)數(shù)據(jù),如社交網(wǎng)絡(luò)该面、推薦系統(tǒng)夭苗、交通網(wǎng)絡(luò)等,這些數(shù)據(jù)的特點是具有無序的連接關(guān)系吆倦。
圖神經(jīng)網(wǎng)絡(luò)是受CNN的啟發(fā)听诸,并假設(shè)距離越近的兩個節(jié)點,它們的關(guān)系也更為親密蚕泽,試圖通過將節(jié)點的特征信息和節(jié)點之間的拓撲信息相結(jié)合的方式來進行節(jié)點預(yù)測、圖預(yù)測等任務(wù)桥嗤。

信號處理和傅里葉變換(基礎(chǔ))

以波的形式傳遞的信號常常會通過傅里葉變換將其從時域空間轉(zhuǎn)到頻域空間進行處理须妻,下面以一個簡單的例子進行說明:對聲音進行變聲處理,可以分為以下幾步,

1.用傅里葉變換將聲波從時域轉(zhuǎn)換到頻域,
F(w)=\int_{- \infty}^{+\infty} f(t)e^{-itw}dt

左圖為聲波的時域圖泛领,右圖為頻域圖

2.對頻域圖進行濾波處理:即用某個函數(shù)h(w)F(w)相乘,

濾波后的頻域圖.png

3.將頻域進行逆傅里葉變換荒吏,重新變?yōu)槁暡?
F(t) = \int_{-\infty}^{+\infty}f(w)e^{itw}dw
變換后的時域圖

圖片轉(zhuǎn)自python基于傅里葉變換的頻率濾波-音頻降噪

注:傅里葉變換就是以e^{-iwt}為基底,f(t)為系數(shù)的線性組合渊鞋。

圖基本定義

設(shè)G(V,E)绰更,V代表節(jié)點集合,共有N個節(jié)點锡宋;E代表邊集合儡湾,共有M條邊≈戳可以用連接矩陣A來表示一個圖的拓撲結(jié)構(gòu)信息,
A = \left\{ \begin{aligned} &1 \ \ A_{ij} \in E\\ &0 \ \ A_{i,j} \notin E \end{aligned} \right.
用D表示度矩陣徐钠,它是一個對角陣,對角線上的元素是節(jié)點的度數(shù),
D_{ii} = \sum_j A_{ij}\
拉普拉斯矩陣L的定義如下:
L = D - A

拉普拉斯矩陣

為了使大家能對GCN有更加直觀的理解役首,這里對拉普拉斯矩陣做幾點說明尝丐。

  • (L x)_{i}=\sum_{j \in N(v_i)} (x_i - x_j),其中x \in R^N衡奥,N(v_i)代表節(jié)點v_i的一階鄰居節(jié)點集合爹袁≈狄溃可以看到L矩陣是對圖中一階節(jié)點信息的簡單聚合操作晾剖。
  • x^T L x = \sum_{e_{ij}\in E} (x_i - x_j)^2顽腾,可以衡量一個圖中節(jié)點信息的差異性,該值越大缤弦,則信息差異也越大。且可以看出L是對稱的半正定矩陣团赏。
  • 常用的拉普拉斯矩陣是其規(guī)范化的形式:L_{s} = D^{(- \frac{1}{2})} L D^{(- \frac{1}{2})}胃珍,該矩陣通過特征分解得到的特征值,其范圍是[0,2)蛤迎。證明如下,
    Lemma
    \lambda_{min} = min \frac{x^T B x}{x^T x},\\ \lambda_{max}=max \frac{x^T B x}{x^T x}
    其中\lambda_{min}是矩陣B的最小特征值确虱,\lambda_{max}是矩陣B的最大特征值。
    Proof
    最小特征值為0可以從L_{s}為半正定矩陣推出替裆,且其特征向量較易得出D^{\frac{1}{2}} I校辩,下證其最大特征值<2,
    \begin{aligned} & \frac{x^TL_{s} x}{x^T x} \\ =& \frac{x^TD^{(- \frac{1}{2})} L D^{(- \frac{1}{2})}x}{x^T x} \\ =& \frac{y^TL y}{y^T D y} (令y=D^{- \frac{1}{2}}x) \\ =& \frac{\sum_{e_{ij} \in E} (y_i - y_j)^2}{\sum_{e_{ij} \in E}(y_i ^2 + y_j ^2)} \\ \leq & \frac{\sum_{e_{ij} \in E} 2(y_i ^2 + y_j ^2)}{\sum_{e_{ij} \in E}(y_i ^2 + y_j ^2)} = 2,得證 \end{aligned}
  • 特征分解:因為L是一個對稱陣辆童,一定有一個正交陣V宜咒,使得其對角化,對應(yīng)的對角矩陣為\Lambda,
    VLV^T = \Lambda
    設(shè)x \in R^N把鉴,對其進行傅里葉變換,
    \tilde{x} = V^T x
    對其進行逆傅里葉變換:
    \begin{aligned} x =& V \tilde{x} \\ =& [v_1,...,v_N] \tilde{x} \\ =& \sum_{i=1}^{N} v_i \tilde{x}_i \end{aligned}
    其中特征向量v_i為基底故黑,傅里葉系數(shù)為其線性組合的系數(shù)。

GCN

理論

GCN的計算過程與信號處理過程相同庭砍,先將卷積核和圖數(shù)據(jù)通過傅里葉變換轉(zhuǎn)換到頻域空間场晶,再對頻域空間的系數(shù)進行數(shù)值運算,最后進行逆傅里葉變換得到卷積后的結(jié)果怠缸。設(shè)x \in R^N是圖中節(jié)點的特征向量诗轻,\theta是待學(xué)習(xí)的參數(shù),則一次圖卷積可以定義為,
\begin{aligned} y=&F^{-1}(g(\theta) \circ F(x)) \\ =&F^{-1}(g(\theta)\circ V^Tx)\\ =&F^{-1}(diag(\theta)V^Tx) \\ =&Vdiag(\theta)V^Tx \end{aligned}
其中F代表傅里葉變換揭北,F^{-1}代表逆傅里葉變換扳炬,g(\theta)=diag(\theta)\circ代表元素之間的點乘搔体。
從式子中可以看出待學(xué)習(xí)的參數(shù)是diag(\theta)恨樟,N個,即和圖中節(jié)點的數(shù)目相關(guān)嫉柴,該方法難以適應(yīng)節(jié)點數(shù)量較多的圖(而這種情況在現(xiàn)實世界中更為常見)厌杜。那么可以使用多項式進行逼近,下面簡單介紹下切比雪夫多項式计螺。
切比雪夫多項式遞推形式\left\{\begin{aligned} &T_0(x) = 1\\ &T_1(x) = x\\ &T_n(x) = 2x*T_{n-1}(x) - T_{n-2}(x) \end{aligned} \right. x\in[-1,1]
則對應(yīng)的g(\theta)=\sum_{k=0}^{K}\theta_{k}'T_k(\tilde\Lambda)夯尽,其遞推形式為,
切比雪夫多項式遞推形式 \left\{\begin{aligned} &T_0(\tilde\Lambda) = 1\\ &T_1(\tilde\Lambda) = \tilde\Lambda\\ &T_n(\tilde\Lambda) = 2\tilde\Lambda*T_{n-1}(\tilde\Lambda) - T_{n-2}(\tilde\Lambda) \end{aligned} \right. \tilde\Lambda=\frac{2}{\lambda_{max}}\Lambda_s-I \in [-1, 1]
對應(yīng)的y=\sum_{k=0}^{K}\theta_{k}'T_k(\tilde L)x,其遞推形式為登馒,
切比雪夫多項式遞推形式 \left\{\begin{aligned} &T_0(\tilde L) = 1\\ &T_1(\tilde L) = \tilde L\\ &T_n(\tilde L) = 2 \tilde L*T_{n-1}(\tilde L) - T_{n-2}(\tilde L) \end{aligned} \right. \tilde L=\frac{2}{\lambda_{max}}L_s-I \in [-1, 1]
用一階切比雪夫多項式進行逼近匙握,\lambda_{max} \approx2,令\theta=\theta_0'=-\theta_1'陈轿,
\begin{aligned} y=&(\theta_0I+\theta_1\tilde L)x \\ =&(\theta_0I+\theta_1(L_s-I))x\\ =&(\theta_0I-\theta_1D^{-\frac{1}{2}}AD^{-\frac{1}{2}})x\\ =&\theta(I+D^{-\frac{1}{2}}AD^{-\frac{1}{2}})x\\ \approx & \theta\tilde D^{-\frac{1}{2}}\tilde A \tilde D^{-\frac{1}{2}} x \end{aligned}
其中\tilde D=D+I,\tilde A=A+I圈纺。
進一步推廣秦忿,得到圖卷積的形式,設(shè)X \in R^{n*m}蛾娶,m是特征向量的維度灯谣,W\in R^{m*d}d是輸出向量的維度蛔琅,
Z=\tilde D^{-\frac{1}{2}}\tilde A \tilde D^{-\frac{1}{2}}XW
paper:semi-supervised classification with graph convolutional networks

實踐(代碼)

使用cora數(shù)據(jù)進行實踐胎许,cora數(shù)據(jù)是一個論文引用關(guān)系網(wǎng)絡(luò),節(jié)點代表一篇論文罗售,邊代表兩篇論文之間的引用關(guān)系辜窑;節(jié)點有7種分類,分屬于不同的學(xué)科寨躁。通過GCN對該數(shù)據(jù)進行節(jié)點分類任務(wù)穆碎。


訓(xùn)練誤差與測試誤差.png

最后對隱藏層的輸出進行t-sne可視化,得到


隱藏層的可視化.png

代碼:7nic7 GitHub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末职恳,一起剝皮案震驚了整個濱河市所禀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌话肖,老刑警劉巖北秽,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異最筒,居然都是意外死亡,警方通過查閱死者的電腦和手機蔚叨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門床蜘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蔑水,你說我怎么就攤上這事邢锯。” “怎么了搀别?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵丹擎,是天一觀的道長。 經(jīng)常有香客問我歇父,道長蒂培,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任榜苫,我火速辦了婚禮护戳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘垂睬。我一直安慰自己媳荒,他們只是感情好抗悍,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著钳枕,像睡著了一般缴渊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鱼炒,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天衔沼,我揣著相機與錄音,去河邊找鬼田柔。 笑死俐巴,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的硬爆。 我是一名探鬼主播欣舵,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼缀磕!你這毒婦竟也來了缘圈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤袜蚕,失蹤者是張志新(化名)和其女友劉穎糟把,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體牲剃,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡遣疯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了凿傅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缠犀。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖聪舒,靈堂內(nèi)的尸體忽然破棺而出辨液,到底是詐尸還是另有隱情,我是刑警寧澤箱残,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布滔迈,位于F島的核電站,受9級特大地震影響被辑,放射性物質(zhì)發(fā)生泄漏燎悍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一敷待、第九天 我趴在偏房一處隱蔽的房頂上張望间涵。 院中可真熱鬧,春花似錦榜揖、人聲如沸勾哩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽思劳。三九已至迅矛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間潜叛,已是汗流浹背秽褒。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留威兜,地道東北人销斟。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像椒舵,于是被迫代替她去往敵國和親蚂踊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354