GNN-圖神經網絡基礎內容概述

前言

過去的十多年中,神經網絡在圖像和文本等結構化數據中已經表現的十分出色。CNN,RNN,自編碼器(Autoencoders)等很多流行的模型在以矩陣或向量作爲輸入的結構形式數據上都能很好地工作,我稱這些結構化的數據爲表格數據。而這些模型在非結構化數據上的表現怎樣呢?比如最近大家在研究中頻繁碰到的圖結構數據,如果不將這些非結構化的圖數據經過複雜的轉換變爲表格格式的話,使用傳統的方法基本無從下手,那麼有沒有可以向他們有效學習的模型?答案便是GNN——圖神經網絡(Graph Neural Networks)

圖神經網絡

Graph Neural Networks其實在2005年就被引入,但是在過去的5年中它們開始流行起來。GNN能夠對圖中節點之間的關係進行建模,併爲其生成數字表示。GNN的重要性不言而喻,因爲當前可以用圖形表示的現實世界數據太多:社交網絡,化合物,地圖,運輸系統,甚至是在3D點雲處理方向。因此,瞭解GNN背後的基本原理以及它們能夠work的原因變得很重要。

先定義一個基本問題:我們想將給定的圖映射到單個標籤,標籤可以是數字值,類或其他任何東西。
如圖所示:
在這裏插入圖片描述
可以理解爲基於圖數據表示的分類任務,最後只有一個關於圖的輸出標籤,當然可以是文本內容,甚至是另一個圖。舉個具體的例子:假設每個圖都是一個化學化合物或一個分子,而標籤對應着該分子可用於生產某種藥物的可能性。如果我們有方法從每張圖中提取出分子對應的標籤,那麼我們實際上就可以預測出在某種研發的藥物中使用哪些分子更加有效。
上面的圖可以表示爲FF(圖)=值,
我們想找到這個函數FF,當然下意識想到了神經網絡來擬合這個FF
在這裏插入圖片描述

圖片出自:Microsoft Research—Graph neural networks: Variations and applications

前向傳播過程(Propagation)

我們如何獲取這個標籤值呢?我們知道可以在圖上使用的一種神經網絡。考慮到遞歸神經網絡RNN可以對特殊類型的圖進行操作——鏈狀圖(基本上是一條線)。時間序列實際上是鏈狀圖,其中每個時間戳都是一個節點,後面跟着下一個時間戳。
因此,我們可以構建一個網絡,其中每個圖節點都是一個循環單元(LSTM或變形的網絡),且該節點表示的信息是通過該鏈傳遞消息的一種Embedding。而且由於單元都是循環的,因此當這種Embedding的消息在圖形中移動時,信息是不會丟失的。這是我們熟悉的遞歸神經網絡。與語言翻譯和其他自然語言處理應用程序中使用的完全相同
我們可以將這個想法擴展到適當的圖上,然後得到:
1).GNN基本表示:
在這裏插入圖片描述
2). GNN的前向傳播:
在這裏插入圖片描述
3). 消息嵌入彙總:
在這裏插入圖片描述

圖片摘自Microsoft Research關於GNN 的演講幻燈片 GNN彙總視頻B站鏈接

圖例說明: 每個橙色三角形表示曾經是圖形節點,現在已由循環單元替換。信封表示將要遍歷圖形節點的消息嵌入。每個圖的邊被神經網絡取代,用來獲取邊上的信息特徵(其權重)。
現在是學習部分。在當前步下,每個節點從其所有鄰居中提取消息嵌入,並計算其總和(爲啥是求和?因爲求和操作最簡單,且丟失信息最少),並將其連同收到的消息嵌入一起傳遞給循環單元,這將產生新的嵌入結果。這個新的嵌入包含所在節點的信息以及所有鄰居的信息。在下一步,它還將包含其二階鄰居的信息,以此類推。該過程一直進行到每個節點都知道圖中的所有其他節點爲止。現在,每個嵌入都具有來自所有其他節點的信息。最後一步是收集所有嵌入累加(圖上的圓圈部分),這將爲我們提供整個圖形的單個嵌入結果。
我們已經在單個嵌入中獲取到了整個圖的消息。現在可以在其他一些模型幫助下使用獲得的圖消息嵌入來執行一些分類,預測和聚類。
有幾個推薦不錯的GNN庫推薦:

最近會持續收集和分享GNN方向上的相關研究:包括演講視頻,論文,幻燈片等,歡迎關注!
GNN彙總視頻B站鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章