【论文知识点笔记】GNN流程到GCN流程
聚合、更新、循環
- 舉例:輸入一個簡單的圖結構
- GNN
- 聚合操作
- 更新操作
- 循環操作(多層更新操作)
- 目的
- GCN
- 修改的聚合部分
- 平均法
- 平均法存在的問題
- GCN提出的方法
簡單粗暴快速理解GNN
Graph-Unets
GCN中的拉普拉斯矩陣如何歸一化?
舉例:輸入一個簡單的圖結構
GNN
聚合操作
經過一次聚合后:聚合到的信息:
鄰居信息N=a?(2,2,2,2,2)+b?(3,3,3,3,3)+c?(4,4,4,4,4)鄰居信息N = a*(2,2,2,2,2)+b*(3,3,3,3,3)+c*(4,4,4,4,4) 鄰居信息N=a?(2,2,2,2,2)+b?(3,3,3,3,3)+c?(4,4,4,4,4)
- a、b、ca、b、ca、b、c :自行設置或進行訓練學習。
簡單的說:就是將其他相鄰節點的信息聚合,作為當前節點信息的一個補足。
更新操作
A的信息?=σ(W((1,1,1,1,1)+α?N))\text { A的信息 }=\sigma\left(\mathrm{W}\left((1,1,1,1,1)+\alpha^{*} \mathrm{~N}\right)\right) ?A的信息?=σ(W((1,1,1,1,1)+α??N))
簡單地說:將得到的鄰居節點信息乘以系數加到當前節點,再乘以學習的權重和激活函數,從而獲得聚合后的A的信息(一層GNN后的A的最終信息)。
- α\alphaα :自行設置或attention機制選出或進行訓練學習。
- WWW :模型需要訓練的權值參數。
- σ\sigmaσ :激活函數。
循環操作(多層更新操作)
【n層的GNN可以得到n層的鄰居信息】
經過一次聚合后:
- A中有B,C,D的信息
- B中有A,C的信息
- C中有A,B,D,E的信息
- D中有A,C的信息
- E中有C的信息
那么第二次聚合之后以此類推
- 以A結點為例,此時A聚合C的時候,C中有上一層聚合到的E的信息,所以這時A獲得了二階鄰居E的特征。
目的
通過聚合更新,到最后,我們能夠得到每個結點的表達,也就是特征feature,此時:
- 結點分類就可以直接拿去分類,算loss, 優化前面提到的W
- 關聯預測就最簡單的方法兩個節點的特征一拼,拿去做分類,一樣的算loss, 優化。
- 歸根到底,GNN就是個提取特征的方法! ! ! ! !
黑盒子表示:
輸入的是節點特征與圖的結構
輸出的是包含結構與特征的節點的最終特征
用最終特征去進行分類、預測、回歸等操作。
GCN
修改的聚合部分
修改了GNN的聚合部分,提出解決a、b、ca、b、ca、b、c值的設定問題。
平均法
首先:提出將鄰居的特征加起來作為特征求和。
之后又需要添加閉環:添加一個自環加上自身的特征。
然后:又將求和的特征平均一下的得到當前節點最終的特征。
平均法存在的問題
馬云-我的例子。
GCN提出的方法
- A~\tilde{A}A~:鄰接矩陣A+單位矩陣I(表示鄰居的信息加上自己的信息)。
- D~\tilde{D}D~:A~\tilde{A}A~的度矩陣。
使用了對稱歸一化的拉普拉斯矩陣方法解決了這個問題。
總結
以上是生活随笔為你收集整理的【论文知识点笔记】GNN流程到GCN流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【论文知识点笔记】GNN概述(图神经网络
- 下一篇: 【小代码讲解】独热编码(One-Hot编