圖神經網絡基礎算法
- 1 GCN
- 2 GraphSAGE
- 2.1 采樣:采樣固定長度的鄰居
- 2.2 聚合
- 2.3 GraphSAGE_minibatch
- 2.4 GraphSAGE_embedding
- 3 GAT
- 4. 圖網絡的分類
- 4.1 遞歸圖神經網絡 RGNN
- 4.2 圖卷積神經網絡GCN
- 4.3 圖注意力網絡 GAT
- 4.4 圖自動編碼 GAE
- 4.5 圖時空網絡 GSTN
- 4.6 圖生成網絡 GGN
- 4.7 圖強化學些 GRL
- 4.8 圖對抗方法GAM
- 4.9 更通用的框架
- 4.9.1 消息傳遞網絡 MPNN
- 4.9.2 非局部神經網絡 NLNN
- 4.9.3 圖神經網絡 GN
- MPNN應用于GN
- NLNN應用于GN
- 4.10 其他圖
- 1. 異構圖
- 2. 二部圖
- 3. 多維圖
- 4. 符號圖
- 5. 超圖
- 6. 動態圖
1 GCN
公式:
節點的特征從C維(X1)——》F維(Z1),并 進行softmax操作,得到每一個節點對應的label(Y1)
2 GraphSAGE
實例:
- 聚合周圍鄰居信息(領域特征),下圖是求平均值
- 把鄰居信息拼接到一起,再經過一個可學習的w參數
2.1 采樣:采樣固定長度的鄰居
節點4是單向的,所以不考慮
2.2 聚合
要滿足以下性質:
- 聚合函數是對稱的
- 聚合函數的輸入和順序是不變的
2.3 GraphSAGE_minibatch
Minbatch : GraphSAGE采用聚合鄰居,和GCN使用全圖方式,變成采樣。這樣在minbatch下,可以不使用全圖信息,這使得在大規模圖上訓練變得可行。把大圖轉換成小圖
例子
2.4 GraphSAGE_embedding
作者提出的假設:如果這兩個節點很近,那么他們的表征應該是相似的,反之,則他們的表征會有所不同
3 GAT
求得節點i和周圍節點的attention系數,再通過系數與鄰居節點加權求和,那么就求得了該節點聚合周圍節點后的特征。
多頭注意力機制
三個節點表示了三類特征
4. 圖網絡的分類
4.1 遞歸圖神經網絡 RGNN
遞歸和卷積都是學習特征,很明顯,卷積圖神經網絡的卷積層參數可以是不一致的的
4.2 圖卷積神經網絡GCN
得到節點有序序列
4.3 圖注意力網絡 GAT
4.4 圖自動編碼 GAE
GAE:encoder用GCN替換,得出的特征矩陣Z,decoder替換成Z的轉置,通過轉置生成的圖與原圖比較得出最小化結構性誤差,通過最小損失函數可以得出GCN的參數
VAE課程,李宏毅老師課程∶
https://www.bilibili.com/video/BV1tZ4y1L7gu?from=search&seid=15594710630639930905
4.5 圖時空網絡 GSTN
同時考慮圖的空間性和時間維度·比如在交通鄰域中﹐速度傳感器會隨時間變化的時間維度﹐不同的傳感器之間也會形成連接的空間維度的邊。
當前的許多方法都應用GCN來捕獲圖的依賴性,使用一些RNN或CNN對時間依賴性建模。
4.6 圖生成網絡 GGN
通過RNN或者GAN的方式生成網絡。圖生成網絡的
一個有前途的應用領域是化合物合成。在化學圖中﹐原子被視為節點﹐化學鍵被視為邊·任務是發現具有某些化學和物理性質的新的可合成分子。
4.7 圖強化學些 GRL
通過RNN或者GAN的方式生成網絡。圖生成網絡的
一個有前途的應用領域是化合物合成。在化學圖中﹐原子被視為節點﹐化學鍵被視為邊·任務是發現具有某些化學和物理性質的新的可合成分子。
4.8 圖對抗方法GAM
GAN的思想﹐生成器生成樣本﹐分類器去判別樣本。
4.9 更通用的框架
- MPNN∶圖神經網絡和圖卷積/ Message Passing Neural Networks
- NLNN︰統一Attention/ Non-local Neural Networks
- GN︰統一以上/ Graph Networks
4.9.1 消息傳遞網絡 MPNN
Mt:聚合周圍鄰居信息
Ut:更新節點在下一層的特征表示
前面這兩部分就跟GraphSAGE相似;最后,組合在一起就成了圖的表示y hat。
4.9.2 非局部神經網絡 NLNN
f()求的就是節點i和相鄰節點的attention系數,再求g()得出的該節點的特征,再歸一化就是下一層的特征表示yi‘。
4.9.3 圖神經網絡 GN
一個GN塊包含三個更新函數函數φ和三個聚合函數ρ,各符號意義如下圖所示:
一個例子:Vsk:sender node;Vrk:receiver node;
計算流程如下:
整個算法的流程:
MPNN應用于GN
NLNN應用于GN
4.10 其他圖
1. 異構圖
不同節點構成的圖
2. 二部圖
將圖中節點分為兩部分,每一邊不跟自己相連
3. 多維圖
多種關系所組成的圖
4. 符號圖
圖之間的連接有正反符號
5. 超圖
一條邊包含兩個以上的節點。每個邊所包含的頂點個數都是相同且為k個的,就可以被稱為k階超圖,常見的圖就是2階超圖。
6. 動態圖
上面提到的圖是靜態的,觀察時節點之間的連接是固定的。但是,在許多實際應用中,隨著新節點被添加到圖中,圖在不斷發展,并且新邊也在不斷出現。例如,在諸如Facebook的在線社交網絡中,用戶可以不斷與他人建立友誼,新用戶也可以隨時加入Facebook。這些類型的演化圖可以表示為動態圖,其中每個節點或邊都與時間戳關聯。