【Pytorch神经网络理论篇】 25 基于谱域图神经网络GNN:基础知识+GNN功能+矩阵基础+图卷积神经网络+拉普拉斯矩阵
圖神經網絡(Graph Neural Network,GNN)是一類能夠從圖結構數據中學習特征規律的神經網絡,是解決圖結構數據(非歐氏空間數據)機器學習問題的最重要的技術。
1 圖神經網絡的基礎知識
? ? 圖神經網絡(Graph Neural Network,GNN)是一類能夠從圖結構數據中學習特征規律的神經網絡,是解決圖結構數據(非歐氏空間數據)機器學習問題的最重要的技術之一。
? ? 前面章節中主要介紹了神經網絡的相關知識。接下來,讓我們了解一下圖神經網絡相關的基礎知識。
1.1 歐氏空間與非歐氏空間
- 歐氏空間/歐幾里得空間:能用一維、二維或更高維的矩陣表示,其最顯著的特征就是有規則的空間結構。這是一個特別的度量空間。例如,音頻、圖像和視頻等都是定義在歐氏空間下的歐幾里得結構化數據。
- 非歐氏空間:并不是平坦的規則空間,是曲面空間,即規則矩陣空間以外的結構。非歐氏空間下最有代表的結構就是圖(graph)結構,它常用來表示社交網絡等關系數據。
1.2 圖
在計算機科學中,圖是由頂點(也稱節點)和頂點之間的邊組成的一種數據結構。它通常表示為G(V,E)的形式,其中G表示一個圖,V是圖G中頂點的集合,E是圖G中邊的集合。
圖結構研究的是數據元素之間的多對多關系,即任意兩個元素之間都可能存在關系,即頂點之間的關系可以是任意的,圖中任意元素之間都可能相關。
在圖結構中,不允許沒有頂點。任意兩個頂點之間都有可能有關系,頂點之間的邏輯關系用邊來表示。邊可以是有向的或無向的,邊集合可以是空的。
圖結構中的每個頂點都有自己的特征信息,頂點間的關系可以反映出圖結構的特征信息。在實際的應用中,可以根據圖頂點特征或圖結構特征進行分類。
1.3?圖相關的術語
- 無向圖和有向圖:根據圖頂點之間的邊是否帶有方向來確定。
- 權:圖中的邊或弧上附加的數量信息,這種可反映邊或弧的某種特征的數據稱為權。
- 網:圖上的邊或弧帶權則稱為網,可分為有向網和無向網。
- 度:在無向圖中,與頂點v關聯的邊的條數稱為頂點v的度。在有向圖中,則以頂點v為弧尾的弧的數量稱為頂點v的出度,以頂點v為弧頭的弧的數量稱為頂點v的入度,而頂點ν的度即其出度與入度之和。
1.4 圖計算中的度量單位
1.5?結構化數據與非結構化數據
1.5.1?結構化數據
由二維表結構來進行邏輯表達和實現的數據,嚴格地遵循數據格式與長度規范,主要通過關系型數據庫進行存儲和管理。
1.5.2?非結構化數據
數據結構不規則或不完整、沒有預定義的數據模型,不方便用數據庫二維邏輯表來表現的數據。它包括所有格式的辦公文檔、文本、圖片HTML、各類報表、圖像、音頻或視頻信息等。
1.6 GNN在不同類型數據上的應用
圖神經網絡(GNN)是一種直接在圖結構上運行的神經網絡,可以對圖結構數據進行基于節點特征或結構特征的處理,通過頂點間的信息傳遞、變換和聚合來(層級化)提取或處理特征。GNN成為在圖、點云和流形上進行表征學習的主流方法。
在結構化場景中,GNN被廣泛應用在社交網絡、推薦系統、物理系統、化學分子預測,指知識圖譜。
在非結構化領域,GNN可以用在圖像和文本等領域。
在其他領域,還有圖生成模型和使用GNN來解決組合優化問題的場景。
1.7 GNN的起源
1.7.1 GCN?
GNN的第一個動機源于卷積神經網絡(CNN),最基礎的CNN便是圖卷積網絡(GraphConvolutional Network,GCN)。GNN的廣泛應用帶來了機器學習領域的突破并開啟了深在規則的歐氏空間數據上運行,GCD是將卷積神經網絡應用在各模型。
1.7.2 圖嵌入
GNN的另一個動機來自圖嵌入,它學習圖中節點、邊或子圖的低維向量空間表示。DeepWalk、LINE、SDNE等方法在網絡表示學習領域取得了很大的成功,然而這些方法在計算上較為復雜并且在大規模的圖上并不是最優的。GNN卻可以解決這些問題。
1.7.3 總結
GNN不但可以對單個頂點和整個結構進行特征處理,而且可以對圖中電一小部分頂點所組成的子圖)進行特征處理。如果把圖數據當作一個網絡,那么GNN可以分別對網絡的整體、部分和個體進行特征處理。GNN將深度學習技術應用到由符號表示的圖數據上,充分融合了符號表示和低維向量表示,并發揮出兩者的優勢。
2 矩陣基礎
2.1?哈達馬積
兩個矩對應位置上的元素進行相乘的結果
?2.2 點積
兩矩陣的行列乘法的結果
2.3 度矩陣與鄰接矩陣
圖的度矩陣:描述圖中每個節點所連接的邊數。
圖的鄰接矩陣:描述圖中每個節點之間的相鄰關系。
度矩陣D:
?鄰接矩陣A:
?2.4 鄰接矩陣的幾種操作
鄰接矩陣的行數和列數一定是相等的(即為方形矩陣)。無向圖的鄰接矩陣一定是對稱的,而有向圖的鄰接矩陣不一定對稱。 一般地,通過矩陣運算對圖中的節點信息進行處理。
2.4.1 獲取有向圖的短邊
2.4.2 獲取有向圖的長邊
2.4.3 將有向圖的鄰接矩陣轉化成無向圖的鄰接矩陣
3 圖卷積神經網絡
在下圖中可以看到,圖卷積神經網絡的輸入是一個圖,經過一層層的計算變換后輸出的還是一個圖。
如果從卷積的角度來理解,那么可以將處理后的鄰接矩陣當作一個卷積核,用這個卷積核在每一個隱藏層的特征結果上進行全尺度卷積。由于該卷積核的內容是圖中歸一化后的邊關系,因此用這種卷積核進行卷積處理可使隱藏層的特征按照節點間的遠近關系信息進行轉化,對隱藏層的特征進行了去噪處理。去噪后的特征含有同類樣本間的更多信息,從而使神經網絡在沒有大量樣本的訓練條件下,也可以訓練出性能很好的模型。
圖神經網絡的實質是:對節點間的圖結構關系進行計算,并將計算結果作用在每個節點的屬性特征的擬合當中。
3.1 圖結構與拉普拉斯矩陣的關系
圖卷積本質上不是傳播標簽,而是傳播特征。圖卷積將未知的標簽特征傳播到已知標簽的特征節點上,利用已知標簽節點的分類器對未知標簽特征的屬性進行推理。
圖卷積模型利用節點間的關系信息實現了特征的傳播。而節點間的關系信息又是通過加工后的鄰接矩陣來表現的。這個加工后的鄰接矩陣稱為拉普拉斯矩陣/基爾霍夫矩陣。
3.2 圖卷積操作的步驟
1、將圖結構的特征用拉普拉斯矩陣表示。
2、將拉普拉斯矩陣作用在節點特征的計算模型中,完成節點特征的擬合。
拉普拉斯矩陣的主要用途是表述圖結構的特征(對矩陣的特征進行分解),是圖卷積操作的必要步驟。
3.3 拉普拉斯矩陣的三種形式
4 圖神經網絡的角度看待深度學習
4.1 實例解釋圖神經網絡與深度學習的關系(以神經網絡中常見的圖像處理任務為例)
圖像通常被理解為矩陣,矩陣中的每個元素是像素,像素是由RGB通道的3個數值組成的向量。換個角度想想,矩陣也可以理解為圖譜,圖譜由點和邊組成,相鄰的點之間用邊相連。
4.1.1 矩陣是特殊的圖譜
(1)矩陣中的每個點有固定個數的鄰點。從圖譜的角度來看,圖像中的像素就是圖譜中的點。圖像中的每個像素,也就是圖譜中的每個點,周邊總共有8個鄰點。
(2)矩陣中每條邊的權重是常數。從圖譜的角度來看,圖像中的每一個像素只與周邊8個鄰點之間有邊,其中邊的長短權重是常數。
4.1.2 圖譜的限制
圖像作為一種特殊的圖譜,其特殊性體現在這兩個限制上面。如果放松了這兩個限制,問題就更復雜了。這是深度學習算法向圖神經網絡衍化的必經之路。
4 圖神經網絡使用拉普拉斯矩陣的原因
圖卷積的計算過程是將拉普拉斯矩陣與圖節點特征進行點積運算,實現圖結構特征向單個節點特征的融合。主要從圖節點之間的傳播關系方面闡釋這個問題。
4.1 節點與鄰接矩陣的點積作用
4.1.1 點積計算
4.1.2?分析鄰居節點的聚合特征
4.1.3?結論
將節點特征與帶自環的鄰接矩陣執行點積運算,本質上就是將每個節點特征與自己的鄰居節點特征相加,即對圖中鄰居節點特征進行加法聚合。
4.2 拉普拉斯矩陣的點積作用
拉普拉斯矩陣本質上是鄰接矩陣的歸一化。同理,拉普拉斯矩陣的點積作用本質上也是圖中鄰居節點特征的加法聚合,只不過在加法聚合過程中加入歸一化計算。
4.3 圖卷積的擬合性質
將圖結構信息融入節點特征的操作,本質上就是按照圖結構中節點間的關系,將周圍鄰居的節點特征加起來。這樣,在相鄰的節點特征中,彼此都會有其他節點的特征信息,實現了標簽節點的特征傳播。
4.4 點積計算的擴展
使用矩陣運算方法會有較大的局限性,因為在節點特征與拉普拉斯矩陣執行點積的計算過程中,只能對圖中鄰居節點特征進行加法聚合。
在圖節點的鄰居特征聚合過程中,還可以使用更多其他的數學方法(比如取平均值、最大值),并不局限于加法。
?
總結
以上是生活随笔為你收集整理的【Pytorch神经网络理论篇】 25 基于谱域图神经网络GNN:基础知识+GNN功能+矩阵基础+图卷积神经网络+拉普拉斯矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 提取多个字段_【博客翻译】建筑物轮廓线提
- 下一篇: 【Pytorch神经网络理论篇】 12