一、introduction
How do we utilize the structures and relationship to help our model?
What if the graph is larger, like 20k nodes?
What if we don‘t have the all the labels?
在data structure上做convolution
二、spatial-based GNN
1、NN4G
每個node feature先經過embedding layer(embedding matrix)得到feature。
然后通過aggregation,把相鄰節點的feature加起來經過transform再加上原本的input feature,得到這個節點在第一層對應的hidden feature。
把每一層的node feature全部加起來各自經過一個transform,再加起來變成一個feature,代表整個graph。
2、DCNN
第一層把和每個結點距離是1的節點全部加起來取平均。
第二層把和每個結點距離是2的取平均。
把k層的矩陣疊在一起。
把每一個結點的feature經過transform,得到代表這個結點的feature。
還有一種方法是全部加起來。
3、MoNet
考慮每個鄰居重要性是不同的,定義U代表距離。
4、GraphSAGE
lstm每次都會按不同的順序sample鄰居,最后學到的結果就可以忽略順序的影響。
5、GAT
對鄰居做attention,計算鄰居對當前節點的不同重要程度e。
6、GIN
GIN是對哪一種方法更有效的理論推導。
更新feature的方式參照上面的公式,其中其它節點要相加而不是mean或者max。
三、Spectral-Based Convolution
signal通過傅里葉變換,相乘后再變回去。
譜圖理論:
0表示沒有相連。
信號可以代表一些信息,如城市路網圖中代表氣溫、人口增長等
舉例:
λ代表頻率大小。
合成就是分析每個component的大小。
1、ChebNet
這種方法計算[x0...xk]可以降低復雜度。
2、GCN
小結: