入門圖神經網(wǎng)絡一點都不難
來源:投稿?作者:張宇?
編輯:學姐帶你玩AI 公眾號
近年來,作為一項新興的圖數(shù)據(jù)學習技術,圖神經網(wǎng)絡(GNN)受到了非常廣泛的關注,在各大頂級學術會議上,圖神經網(wǎng)絡相關的論文也占了相當可觀的份額。
我們知道圖結構是最復雜的一種數(shù)據(jù)結構,其他數(shù)據(jù)結構都可以看做是圖結構的一種推廣。圖結構在現(xiàn)實世界中也有很多應用,比如城市軌道交通圖、社交關系圖、生物醫(yī)學領域等。

GNN輔助醫(yī)藥研制
圖神經網(wǎng)絡就是將圖結構引入深度學習領域產生的一項技術,我們通常指的圖神經網(wǎng)絡一般就是圖卷積神經網(wǎng)絡,除此之外也有基于Random Walk的網(wǎng)絡。

卷積神經網(wǎng)絡CNN

圖卷積網(wǎng)絡GCN
傳統(tǒng)的卷積神經網(wǎng)絡是通過移動卷積核的方式進行卷積,形象的說就是使用每個元素附近的元素(包含自身)使用卷積核加權相加的方式來更新自身信息。
圖神經網(wǎng)絡與其類似,如果圖中的每個結點只使用附近的一階鄰居(也就是存在鄰接關系的結點)對自身進行更新的話,那這種卷積方式是類似于CNN中的3*3卷積的。
因為圖結構每個結點周圍鄰居的數(shù)目是不確定的,所以對于GCN來說對于鄰居結點的加權不像CNN中使用可學習的卷積核,而一般是使用加權的方式,并且目前的幾種經典圖卷積網(wǎng)絡就是在加權方式上有所不同。
GCN考慮兩結點之間的邊的權重以及兩結點的度;GAT考慮兩結點之間的相似性,使用注意力機制進行加權。

CNN感受野? ? ? ? ?GNN感受野
將上述直觀的概念轉化為GCN具體卷積形式就是下面這個公式:

圖神經網(wǎng)絡也有類似于CNN里面的感受野(如上圖)的概念,隨著網(wǎng)絡層數(shù)的增加,高層網(wǎng)絡中的結點會從更高階的鄰居聚合到信息。
比如下面這個例子,對于1結點來說,雖然結點7是結點1的二階鄰居,但是第一次卷積將結點7的信息傳遞到結點4,第二次卷積就可以借助結點4將結點7的信息傳遞到結點1。

一些經典的CNN模型都可以堆疊多層,例如加入殘差連接的ResNet目前都可以達到上百層網(wǎng)絡,但是GNN通常只使用兩到三層。
主要原因就是會產生過平滑的問題,以上面的圖為例,可以將兩層卷積網(wǎng)絡的信息傳遞分解為下面這種樹的形式。對于結點1的鄰居2,兩個結點之間的不斷受到對方的影響,隨著網(wǎng)絡層數(shù)的增加,這種影響也會越來越大,當網(wǎng)絡層數(shù)趨近于無窮時,整個網(wǎng)絡的結點都會有相同的特征。

GNN信息傳遞路徑
Shuman等人在Cora數(shù)據(jù)集上對多層網(wǎng)絡卷積的結果進行分析,將原始結點特征進行不同層數(shù)的卷積后進行降維到2維進行可視化??梢钥闯?,卷積層數(shù)2-3層效果最好,不同種類的結點可以明確區(qū)分出來,當層數(shù)增加到5層時所有結點就很難區(qū)分。

GNN多層聚合結果可視化
最近幾年,也有相關研究人員將注意力機制、RNN、Transformer等引入圖神經網(wǎng)絡。以引入注意力機制的圖注意力網(wǎng)絡(GAT)為例,與傳統(tǒng)網(wǎng)絡應用注意力機制的形式類似,如下左圖計算結點i、j之間的注意力分數(shù)α,根據(jù)注意力分數(shù)α對鄰居結點進行聚合(如下右圖)。對于下圖其他結點到結點h1的三種邊是Multi-head的形式,通過每一個head生成的新向量進行concat或者平均等的方式產生最終結點的向量表示。

圖注意力網(wǎng)絡(GAT)結構
最早的 Graph Attention Networks 中實現(xiàn)的GAT網(wǎng)絡的計算公式如下:

對于注意力分數(shù)的計算形式也是經常用到的,不僅在GAT類似的網(wǎng)絡中應用,同樣在圖級任務的Readout函數(shù)也是采用這種Soft-attention的形式得到圖級表示。
圖神經網(wǎng)絡是一新興的網(wǎng)絡,表示能力強大,但是目前還有很多沒有探索的領域,值得相關學者深入研究。
— 完 —
點這里??關注我,記得標星哦~

點一點贊才能看得到學姐干貨~