終于有人總結(jié)了圖神經(jīng)網(wǎng)絡(luò)!

來(lái)源:Datawhale 本文約6000字,建議閱讀10+分鐘 本文從一個(gè)更直觀的角度對(duì)當(dāng)前經(jīng)典流行的GNN網(wǎng)絡(luò),包括GCN、GraphSAGE、GAT、GAE以及graph pooling策略DiffPool等等做一個(gè)簡(jiǎn)單的小結(jié)。
一、為什么需要圖神經(jīng)網(wǎng)絡(luò)?


圖的大小是任意的,圖的拓?fù)浣Y(jié)構(gòu)復(fù)雜,沒(méi)有像圖像一樣的空間局部性; 圖沒(méi)有固定的節(jié)點(diǎn)順序,或者說(shuō)沒(méi)有一個(gè)參考節(jié)點(diǎn); 圖經(jīng)常是動(dòng)態(tài)圖,而且包含多模態(tài)的特征。
二、圖神經(jīng)網(wǎng)絡(luò)是什么樣子的?


三、圖神經(jīng)網(wǎng)絡(luò)的幾個(gè)經(jīng)典模型與發(fā)展








利用采樣機(jī)制,很好的解決了GCN必須要知道全部圖的信息問(wèn)題,克服了GCN訓(xùn)練時(shí)內(nèi)存和顯存的限制,即使對(duì)于未知的新節(jié)點(diǎn),也能得到其表示;
聚合器和權(quán)重矩陣的參數(shù)對(duì)于所有的節(jié)點(diǎn)是共享的;
模型的參數(shù)的數(shù)量與圖的節(jié)點(diǎn)個(gè)數(shù)無(wú)關(guān),這使得GraphSAGE能夠處理更大的圖;
既能處理有監(jiān)督任務(wù)也能處理無(wú)監(jiān)督任務(wù)。



訓(xùn)練GCN無(wú)需了解整個(gè)圖結(jié)構(gòu),只需知道每個(gè)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)即可;
計(jì)算速度快,可以在不同的節(jié)點(diǎn)上進(jìn)行并行計(jì)算;
既可以用于Transductive Learning,又可以用于Inductive Learning,可以對(duì)未見(jiàn)過(guò)的圖結(jié)構(gòu)進(jìn)行處理。
到此,我們就介紹完了GNN中最經(jīng)典的幾個(gè)模型GCN、GraphSAGE、GAT,接下來(lái)我們將針對(duì)具體的任務(wù)類別來(lái)介紹一些流行的GNN模型與方法。
四、無(wú)監(jiān)督的節(jié)點(diǎn)表示學(xué)習(xí)(Unsupervised Node Representation)
由于標(biāo)注數(shù)據(jù)的成本非常高,如果能夠利用無(wú)監(jiān)督的方法很好的學(xué)習(xí)到節(jié)點(diǎn)的表示,將會(huì)有巨大的價(jià)值和意義,例如找到相同興趣的社區(qū)、發(fā)現(xiàn)大規(guī)模的圖中有趣的結(jié)構(gòu)等等。






分配矩陣的學(xué)習(xí)

池化分配矩陣




可以學(xué)習(xí)層次化的pooling策略;
可以學(xué)習(xí)到圖的層次化表示;
可以以端到端的方式被各種圖神經(jīng)網(wǎng)絡(luò)整合。
參考
【1】^Graph Neural Networks: A Review of Methods and Applications. arxiv 2018 https://arxiv.org/pdf/1812.08434.pdf
【2】^A Comprehensive Survey on Graph Neural Networks. arxiv 2019. https://arxiv.org/pdf/1901.00596.pdf
【3】^Deep Learning on Graphs: A Survey. arxiv 2018. https://arxiv.org/pdf/1812.04202.pdf
【4】^GNN papers https://github.com/thunlp/GNNPapers/blob/master/README.md
【5】^Semi-Supervised Classification with Graph Convolutional Networks(ICLR2017) https://arxiv.org/pdf/1609.02907
【6】^如何理解 Graph Convolutional Network(GCN)?https://www.zhihu.com/question/54504471
【7】^GNN 系列:圖神經(jīng)網(wǎng)絡(luò)的“開(kāi)山之作”CGN模型 https://mp.weixin.qq.com/s/jBQOgP-I4FQT1EU8y72ICA
【8】^Inductive Representation Learning on Large Graphs(2017NIPS) https://cs.stanford.edu/people/jure/pubs/graphsage-nips17.pdf
【9】^Graph Attention Networks(ICLR2018) https://arxiv.org/pdf/1710.10903
【10】^Variational Graph Auto-Encoders(NIPS2016) https://arxiv.org/pdf/1611.07308
【11】^VGAE(Variational graph auto-encoders)論文詳解 https://zhuanlan.zhihu.com/p/78340397
【12】^Hierarchical Graph Representation Learning withDifferentiable Pooling(NIPS2018) https://arxiv.org/pdf/1806.08
重點(diǎn)總結(jié)
GCN需要將整個(gè)圖放到內(nèi)存和顯存,這將非常耗內(nèi)存和顯存,處理不了大圖;
GCN在訓(xùn)練時(shí)需要知道整個(gè)圖的結(jié)構(gòu)信息(包括待預(yù)測(cè)的節(jié)點(diǎn))。
利用采樣機(jī)制,很好的解決了GCN必須要知道全部圖的信息問(wèn)題,克服了GCN訓(xùn)練時(shí)內(nèi)存和顯存的限制,即使對(duì)于未知的新節(jié)點(diǎn),也能得到其表示;
聚合器和權(quán)重矩陣的參數(shù)對(duì)于所有的節(jié)點(diǎn)是共享的;
模型的參數(shù)的數(shù)量與圖的節(jié)點(diǎn)個(gè)數(shù)無(wú)關(guān),這使得GraphSAGE能夠處理更大的圖;
既能處理有監(jiān)督任務(wù)也能處理無(wú)監(jiān)督任務(wù)。
訓(xùn)練GCN無(wú)需了解整個(gè)圖結(jié)構(gòu),只需知道每個(gè)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)即可;
計(jì)算速度快,可以在不同的節(jié)點(diǎn)上進(jìn)行并行計(jì)算;
既可以用于Transductive Learning,又可以用于Inductive Learning,可以對(duì)未見(jiàn)過(guò)的圖結(jié)構(gòu)進(jìn)行處理。
編輯:黃繼彥
