图神经网络的分类
圖卷積神經網絡
GCN、GraphSage都屬于圖卷積神經網絡,都是利用節點與節點周圍的鄰居信息不斷的聚合,以學習到節點的高層表示。
PATCH-SAN:因為GCN和GraphSage聚合鄰居信息時具有排列不變性,而PATCH-SAN是真正利用卷積操作,去完成節點的深層次的學習。
Graph Attention NetWork
GAT利用節點之間的attention,求出節點與周圍鄰居節點的attention系數,然后通過聚合鄰居節點得到下一層的特征表示。
Graph Auto-encoder
輸入一張圖graph,然后通過GCN得到圖的隱層節點特征表示z,然后z?zTz ·z^Tz?zT還原出一張圖,然后求輸入圖與輸出圖的結構性誤差,當做損失函數,最小化loss之后,就學到了GCN的參數。與autoencoder思想類似,只不過把encoder轉為GCN,decoder轉為z?zTz·z^Tz?zT
Graph Spatial-Temporal Networks(圖時空網絡)
同時考慮圖的空間性和時間維度。比如在交通鄰域中,速度傳感器會隨時間變化的時間維度,不同的傳感器之間也會形成連接的空間維度的邊。當前的許多方法都應用GCN來捕獲圖的依賴性,使用一些RNN 或CNN 對時間依賴性建模。
Graph Generative NetWork(圖生成網絡)
通過RNN或者GAN的方式生成網絡。圖生成網絡的一個有前途的應用領域是化合物的生成。在化學圖中,原子被視為節點,化學鍵被視為邊,任務是發現具有某些化學和物理性質的新的可合成分子。
Graph Reinforcement Learning(圖強化學習)
采用強化學習的方法應用于圖網絡上
Graph Adversarial Methods
GAN思想,生成器生成樣本,分類器去判別樣本
通用框架
MPNN消息傳遞網絡
統一了各種圖神經網絡和圖卷積網絡,分為兩個階段:
消息傳遞階段
在消息傳遞階段分為兩個函數:
(1)消息函數Mt :聚合了自己的節點hvth_v^thvt?、鄰居節點hwth_w^thwt?和邊的特征evwe_{vw}evw?,通過消息聚合函數MtM_tMt?,得到聚合鄰居的信息mvt+1m_v^{t+1}mvt+1?。
(2)更新函數Ut:根據本身的向量hvth_v^thvt?,以及聚合了鄰居信息的特征mvt+1m_v^{t+1}mvt+1?,然后通過更新函數UtU_tUt?更新了下一層的節點的表示。
上面兩步,可以在GCN、GraphSage模型中都有體現。
在Readout階段
得到每一個節點的特征hvt+1h_v^{t+1 }hvt+1?,將這些節點聚合在一起得到了圖的特征表示。相當于聚合了圖上所有的節點。同時要保證節點排列不變性。
NLNN統一Attention
None-local Neural NetWorks 非局部圖網絡
上述公式中,f(xi,xj)f(x_i,x_j)f(xi?,xj?)表示i,ji,ji,j節點之間的關系,可以通過很多關系函數求得,例如f(hi,hj)=ehiThj、f(hi,hj)=eθ(hi)T?(hj)、f(hi,hj)=θ(hi)T?(hj)、f(hi,hj)=ReLU(wT[θ(hi)∣∣?(hi)])f(h_i, h_j)=e^{h_i^Th_j}、f(h_i,h_j)=e^{\theta(h_i)^T \phi(h_j)}、f(h_i,h_j)=\theta(h_i)^T\phi(h_j)、f(h_i,h_j)=ReLU(w^T[\theta(h_i) || \phi(h_i)])f(hi?,hj?)=ehiT?hj?、f(hi?,hj?)=eθ(hi?)T?(hj?)、f(hi?,hj?)=θ(hi?)T?(hj?)、f(hi?,hj?)=ReLU(wT[θ(hi?)∣∣?(hi?)])
g(xj)g(x_j)g(xj?)表示xjx_jxj?經過g(x)g(x)g(x)函數的變換。
∑?jf(xi,xj)g(xj)\sum_{\forall j}f(x_i,x_j)g(x_j)∑?j?f(xi?,xj?)g(xj?)表示,聚合節點x的所有鄰居節點j
然后通過歸一化操作求得節點i的新的特征表示。
在GAT中,xi,xjx_i,x_jxi?,xj?相當于attention系數,f(xi,xj)f(x_i,x_j)f(xi?,xj?) 相當于將節點i和節點j拼接之后與attention系數相乘然后與g(xj)g(x_j)g(xj?)相乘加權求和。
GN網絡
統一了MPNN和NLNN
GN block
上面我們討論了簡單圖的圖神經網絡模型,這些圖都是靜態的,只有一種節點和一種邊。然而,在許多現實世界的應用程序中的圖表要復雜得多。它們通常有多種類型的節點、邊緣、獨特的結構,而且通常是動態的。
異構圖
節點和節點之間或者邊之間的關系是不一樣的。例如作者可以發表文章,參加會議,文章之間又有引用的關系。
二部圖
可以將圖中所有的節點分為兩部分,其中每一部分內之間是沒有邊的連接, 不同部分之間可以有邊連接,例如人可以在電商網站購買物品,任何人之間或者物品和物品之間沒有邊的連接,但是任何物品之間可以通過購買關系相連接,這種方式的圖就是二部圖
多維圖
符號圖
節點和節點之間的邊是有相反屬性的關系,例如兩個人之間如果是朋友關系則為+1+1+1,如果是敵對關系則為?1-1?1,如果不認識,則沒有邊連接。邊上有符號的圖叫符號圖。
超圖
動態圖
上面提到的圖是靜態的,觀察時節點之間的連接是固定的。 但是,在許多實際應用中,隨著新節點被添加到圖中,圖在不斷發展,并且新邊也在不斷出現。 例如,在諸如Facebook的在線社交網絡中,用戶可以不斷與他人建立友誼,新用戶也可以隨時加入Facebook。 這些類型的演化圖可以表示為動態圖,其中每個節點或邊都與時間戳關聯。
例如在t0t_0t0?時刻,節點v2v_2v2?關注了節點v1v_1v1?,在t1t_1t1?時刻,節點v3v_3v3?也關注了v1v_1v1?,以此類推,隨著時間的變化生成的圖就是動態圖。
總結
- 上一篇: PYG教程【一】入门
- 下一篇: 迟发型超敏反应是什么意思