2019年的時(shí)針開(kāi)始轉(zhuǎn)動(dòng),在CNN、RNN、LSTM、GAN、GNN、CAP的潮起潮落中,帶來(lái)了這篇博客。放上一篇 參考引用 。 其實(shí)個(gè)人認(rèn)為理解GNN的核心問(wèn)題就是理解圖怎么做傅里葉變換。CNN的核心操作時(shí)卷積,GNN也是。CNN計(jì)算二維矩陣的卷積,GNN計(jì)算圖的卷積。那么我們定義好圖的傅里葉變換和圖的卷積就可以了,其媒介就是圖的拉普拉斯矩陣。
好了,這篇博客將簡(jiǎn)要介紹圖神經(jīng)網(wǎng)絡(luò)的原理,但是不會(huì)設(shè)計(jì)太多數(shù)學(xué)細(xì)節(jié)(因?yàn)椴┲鲾?shù)學(xué)很爛啦)。通過(guò)理解圖神經(jīng)網(wǎng)絡(luò)的卷積操作,來(lái)理解其流程,再會(huì)配合代碼來(lái)做簡(jiǎn)單解釋。
拉普拉斯矩陣
對(duì)于一個(gè)圖來(lái)說(shuō),其度為其與頂點(diǎn)鏈接的數(shù)量,Degree Matrix的對(duì)角線(xiàn)元素就是其每個(gè)頂點(diǎn)度的數(shù)量。鄰接矩陣表示了圖中各個(gè)頂點(diǎn)的鄰接關(guān)系。如下圖,一個(gè)圖的Laplace矩陣就是 L = D – A。
Laplace矩陣的計(jì)算
事實(shí)上,常用的Laplace矩陣有三種,上面介紹的只是其中一種。
Laplace矩陣有許多良好的性質(zhì):
1. Laplace矩陣是對(duì)稱(chēng)矩陣,可以進(jìn)行特征分解
2. Laplace矩陣只在中心頂點(diǎn)和一階相連頂點(diǎn)上有非0元素,其余處均為0
3. Laplace算子與Laplace矩陣進(jìn)行類(lèi)比
圖的傅里葉變換
推廣傅里葉變換
傳統(tǒng)的傅里葉變換針對(duì)連續(xù)的函數(shù),然后對(duì)數(shù)列有了離散傅里葉變換,那么矩陣能否做傅里葉變換呢?這篇Paper告訴我們,可以,沒(méi)問(wèn)題:https://arxiv.org/abs/1211.0053
L時(shí)拉普拉斯矩陣,V是其特征向量,滿(mǎn)足 LV=\lambda V
L的拉普拉斯譜分解為 L = U \sigma U^T
那么定義Graph上的傅里葉變換為Fourier(f) = U^T f
推廣卷積(f*h)_G = U((U^Th)\odot(U^Tf))
那么時(shí)域上的卷積就是頻域點(diǎn)乘的傅里葉逆變換,這樣我們就可以實(shí)現(xiàn)卷積操作了。
理解拉普拉斯矩陣譜分解
傅里葉變換的本質(zhì),就是把任意一個(gè)函數(shù)表示成若干正交函數(shù)(由sin,cos構(gòu)成)的線(xiàn)性組合。
傅里葉變換
拉普拉斯矩陣的特征值表示頻率。再graph空間上無(wú)法可視化頻率的概念,信息論告訴我們,特征值越大,對(duì)應(yīng)的信息越多,小的特征值就是低頻分量,信息較少,是可以忽略的。
在壓縮圖像的過(guò)程中,也是把低頻成分變?yōu)?,高頻(邊緣)會(huì)被保留,它帶給我們更多的信息。
Deep Learning 中的 Graph Convolution
在卷積和中,需要手工設(shè)置K個(gè)參數(shù),K具有很好的spatial localization,對(duì)應(yīng)的有權(quán)重系數(shù)(這些具體的參數(shù)根據(jù)模型會(huì)有不同,這里大致介紹,重在理解)。更直觀的看,K=1就是對(duì)每個(gè)頂點(diǎn)上一階neighbor的feature進(jìn)行加權(quán)求和,如下圖
K=1的情況
K=2的情況
GCN每次卷積對(duì)所有頂點(diǎn)都完成了圖示操作。
進(jìn)一步在數(shù)學(xué)層面上理解Spectral Graph在GCN中的作用,這個(gè)就參考開(kāi)頭給出鏈接中的paper吧。
OK,See You Next Time!
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4814瀏覽量
103639
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論