GNN圖神經網絡(1)


一、圖

傳統的歐幾里得空間數據:文本、圖像、視頻等【LSTM、CNN可訓練】

非歐幾里得空間數據:圖結構(包含對象和關系,如社交網絡、電商網絡、生物網絡和交通網絡等)【圖卷積等技術可訓練】

1、歐幾里得空間

也稱歐式空間,二維、三維空間的一般化。將距離、長度和角度等概念轉化成任意維度的坐標系。

 

 

常見的歐幾里得結構化數據:

  • 1D:聲音,時間序列等;
  • 2D:圖像等;
  • 3D:視頻,高光譜圖像等;

2、非歐幾里得空間

像社交網絡、信息網絡等數據不能轉化到歐幾里得空間中,則為非歐幾里得結構化數據。

常見的非歐幾里得結構化數據:

  • 1D:社交網絡(eg:Facebook,Twitter等)等;
  • 2D:生物網絡(基因,分子,大腦連接)等;
  • 3D:基礎設施網絡(eg:能源,交通,互聯網,通信等)等;

針對非歐幾里得結構化數據表示問題,研究者們引入了圖論中抽象意義上的圖(Graph)來表示非歐幾里得結構化數據。

3、圖Graph

 

表現形式----鄰接矩陣

 

 

 表現形式---度矩陣

 

 

 表現形式---領域

 

 

 

4、圖的學習任務

  • 節點分類 ——預測一個給定節點的類型【 GCN、GraphSAGE、GAT模型】
  • 鏈接預測 ——預測兩個節點是否連接
  • 社群檢測 ——識別密集連接的節點群
  • 網絡相似度 ——兩個子網絡有多相似
  • 圖分類(圖的同構)——將圖中節點的特征聚合起來作為圖的特征,再進行分類

例子:

 

 

從圖數據中節點間的關系以及特征,我們可以進行反欺詐以及商品推薦的操作。

1、節點分類—反欺詐:因為圖中每個節點都擁有自己的特征信息。通過該特征信息,我們可以構建一個風控系統,如果交易節點所關聯的用戶 IP 和收貨地址與用戶注冊 IP 和注冊地址不匹配,那么系統將有可能認為該用戶存在欺詐風險。

2、邊結構預測—商品推薦:圖中每個節點都具有結構信息。如果用戶頻繁購買某種類別商品或對某種類別商品評分較高,那么系統就可以認定該用戶對該類商品比較感興趣,所以就可以向該用戶推薦更多該類別的商品。

二、GNN起源 

起源1:CNN(基於鄰居匯聚)

CNN能夠提取出多尺度的局部空間特征,並將它們進行組合來構建更加高級的表示(expressive representations)。

如果深入研究CNN和圖結構的特點,可以發現CNN的核心特點在於:局部連接(local connection),權重共享(shared weights)和多層疊加(multi-layer)。

這些同樣在圖問題中非常試用,因為圖結構是最典型的局部連接結構,其次,共享權重可以減少計算量,另外,多層結構是處理分級模式(hierarchical patterns)的關鍵。

然而,CNN只能在歐幾里得數據(Euclidean data),比如二維圖片和一維文本數據上進行處理,而這些數據只是圖結構的特例而已,對於一般的圖結構,可以發現很難將CNN中的卷積核(convolutional filters)和池化操作(pooling operators)遷移到圖的操作上。

如下圖,左圖為圖像,是比較明顯的Euclidean數據,而右圖為普通的graph結構。

 起源2:graph embedding(基於隨機游走)

另一種動機來源於圖嵌入(embedding),所謂嵌入,就是對圖的節點、邊或者子圖(subgraph)學習得到一個低維的向量表示,

傳統的機器學習方法通常基於人工特征工程來構建特征,但是這種方法受限於靈活性不足、表達能力不足以及工程量過大的問題,

詞嵌入常見的模型有Skip-gram,CBOW等,

圖嵌入常見模型有DeepWalk,Node2Vec等,

然而,這些方法有兩種嚴重的缺點,

  • 首先就是節點編碼中權重未共享,導致權重數量隨着節點增多而線性增大,
  • 另外就是直接嵌入方法缺乏泛化能力,意味着無法處理動態圖以及泛化到新的圖。

如何將圖節點轉化為embedding?

特征工程:將每個樣本表示為向量,圖中Node embedding帶有節點信息,如相似節點離得近。

特征工程難點:

    • 圖的結構可以任意變化【一個圖可以具備各種形狀,盡管它們的節點位置不一樣,但是連接關系沒變,所以圖完全一樣。】
    • 節點可以以任意順序標記【同樣一個5個節點的圖,節點可以標記為1、2、3、4、5,也可以標記為4、2、1、3、5,節點編號變了,盡管圖完全沒變。】

解決思路:

  •  (一維)Node2vec:通過圖(graph)結構里的遍歷,生成節點的序列,來創造“句子”語料,如以下方法:

  • (二維)圖神經網絡方法:用周圍節點來編碼中心節點,相當於通過訓練一個虛擬網絡(Network),把每個節點周圍的結構信息儲存在了這個虛擬網絡(Network)里,而輸入周圍節點后這個網絡輸出的向量,正是這個中心節點的embedding。如以下方法:

三、GNN與傳統NN的區別

首先,標准的神經網絡比如CNN和RNN不能夠適當地處理圖結構輸入,因為它們都需要節點的特征按照一定的順序進行排列,但是,對於圖結構而言,並沒有天然的順序而言,如果使用順序來完整地表達圖的話,那么就需要將圖分解成所有可能的序列,然后對序列進行建模,顯然,這種方式非常的冗余以及計算量非常大,與此相反,GNN采用在每個節點上分別傳播(propagate)的方式進行學習,由此忽略了節點的順序,相當於GNN的輸出會隨着輸入的不同而不同。

另外,圖結構的邊表示節點之間的依存關系,然而,傳統的神經網絡中,依存關系是通過節點特征表達出來的,也就是說,傳統的神經網絡不是顯式地表達中這種依存關系,而是通過不同節點特征來間接地表達節點之間的關系。通常來說,GNN通過鄰居節點的加權求和來更新節點的隱藏狀態。

最后,就是對於高級的人工智能來說,推理是一個非常重要的研究主題,人類大腦的推理過程基本上都是基於圖的方式,這個圖是從日常的生活經歷中學習得到的。GNN嘗試從非結構化數據比如情景圖片和故事文本中產生結構化的圖,並通過這些圖來生成更高級的AI系統。

四、GNN分類

論文對GNN的模型分類如下:

  • 圖卷積網絡(Graph convolutional networks)和圖注意力網絡(graph attention networks),因為涉及到傳播步驟(propagation step)。
  • 圖的空域網絡(spatial-temporal networks),因為該模型通常用在動態圖(dynamic graph)上。
  • 圖的自編碼(auto-encoder),因為該模型通常使用無監督學習(unsupervised)的方式。
  • 圖生成網絡(generative networks),因為是生成式網絡。

 

 

參考文獻:

GNN 系列:Graph 基礎知識介紹

圖表示學習入門1——導言

GNN綜述:Review of Methods and Applications

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM