首先上鍊接臺大李宏毅助教講解GNN圖神經網絡
圖神經網絡---臺大李宏毅老師助教---聽課筆記
一、爲什麼要用圖神經網絡
圖神經網絡和單純神經網絡一個很大的區別就是,圖神經網絡有節點和邊的這種結構。
具體應用上,圖神經網絡可以識別具有圖片,文字等結構信息。
比如識別一個人物的身份的任務就需要首先識別人,然後識別與之相關的其他人的信息(利用邊連接),最後綜合這些信息得出判斷
二、時域上的圖神經網絡
1、
更新單個節點時,把鄰居節點加起來,然後乘以權重;求總輸出時,把每一層的加起來,求平均再乘以各自權重相加。
2、
求單個節點的時候,是每一層(n)都算與只距離相差n的節點的和,注意這裏可以包括“返回自身”,同時這裏的距離都是相對第一層而言的。
在算總輸出時,將每一層相同位置的節點組成矩陣,然後乘以權重。
3、
這種方法與上面兩種的區別是增加了節點與鄰居之間的權重,這個權重是以上這樣定義的。
4、
這中方法也是根據注意力定義了權重。
6、
這裏面加入了很多之前學習的屬性,比如LSTM和max-pooling等,其中LSTM的加入的意義是,LSTM是 與順序有關的,但是當很多次沒有順序的順序加進去以後,就會去掉順序的意義。
三、頻域上的圖神經網絡
之前時域上之所以不對數據和卷積一樣做卷積處理,是因爲在圖神經網絡中,各個節點都不規範,沒辦法引用規範的卷積核進行卷積操作。
這裏我們可以把這一理念在頻域中運用。
我們知道,在時域中卷積就等於在頻域中相乘,這個奠定了在神經網絡可以定義在頻域的基礎。
因此在頻域上圖神經網路就是把數據先transform到頻域上,用filter處理,然後再轉回到空域的過程。
首先是一些必備知識
1、
2、定義adjacency matrix和degree matrix
定義Graph Laplacian,注意這是一個半正定的對稱陣,可以對其進行特徵分解,其中u是單位正交矩陣。
例:(注,求Graph Lanplacian的過程與每個節點具體的數據沒有關係,只與圖的結構有關)
3、引出頻率
這兩張圖的意義是,首先我們將拉普拉斯矩陣乘以node組成的“向量”,具體意義是得到節點與周圍節點之間差距的大小,拉普拉斯矩陣本身的意義也是如此。
頻率有能量的意義的,因此這裏取平方,得到第二張圖。
4、得到頻率
這裏解釋了頻率和波形平滑度之間的關係
這裏呢我們將L特徵分解得到的特徵向量看做是一組信號值,因此第一個公式就代表這個節點周圍的差異(能量值)。
因此對應的每個特徵值就是頻率,而特徵向量的具體數值就是對應頻率下每個位置的響應值(這裏暫時不考慮正交的概念)
5、transform–分析
首先是分析
這裏既考慮了正交概念,又考慮了頻率的因素。
5、transform–合成
這裏合成就是普通的頻域到時域的轉化
將各個頻域的頻率乘以各自在頻域的響應值,然後加和。
6、transform–filter
這裏是對角矩陣的函數(也就是是特徵是的函數)指的是,theta是與特徵值一一對應的。
7、最終形態
最終就是要學一個拉普拉斯函數
比如
或者
但是這都有一個問題就是,就算複雜度和node的數目成正比,而不是想卷積神經網絡那樣。
這裏表示L的n次放代表與與節點距離爲n的節點對他的影響
8、應用—ChebNet
解決兩個問題
第一,選用與之相關的K個節點
第二、降低計算複雜度
對於第一個問題,可以這樣解決
對於第二個問題,可用切比雪夫多項式解決
切比雪夫多項式是遞歸定義的多項式函數
切比雪夫不等式可以降低複雜度的原因
這樣可以讓計算輕鬆很多。
通過遞歸乘的方式讓計算複雜度變成O(KE)。
9、應用—GCN