近年來,圖神經網路(GNN)取得了快速、令人難以置信的進展。圖神經網路又稱為圖深度學習、圖表徵學習(圖表示學習)或幾何深度學習,是機器學習特別是深度學習領域成長最快的研究主題。本次分享的題目為《GNN的基礎、前沿和應用》,主要介紹由吳凌飛、崔鵬、裴健、趙亮幾位學者牽頭編撰的綜合性書籍《圖神經網絡基礎、前沿與應用》中的大致內容。
圖是一種描述和建模複雜系統的通用語言。圖本身並不複雜,它主要由邊和結點構成。我們可以用結點表示任何我們想要建模的物體,可以用邊表示兩個結點之間的關係或相似度。我們常說的圖神經網路或圖機器學習,通常是將圖的結構以及邊和結點的資訊作為演算法的輸入,輸出想要的結果。例如在搜尋引擎中,當我們輸入一個 query 時,引擎會根據 query 的資訊、使用者的資訊以及一些上下文資訊傳回個人化的搜尋結果,這些資訊可以天然地以圖的方式進行組織。
圖結構資料到處可見,例如Internet、社群網路等。除此之外,在現今非常火的蛋白質發現領域,人們會用圖來描述和建模現有的蛋白質並產生新的圖,從而幫助人們去發現新的藥物。我們也可以用圖去做一些複雜的程式分析,還可以在電腦視覺中去做一些 high-level 的推理。
圖機器學習並不是一個很新的議題,近20 年來一直都有這個研究方向,以前一直比較小眾。 2016 年開始,隨著現代圖神經網路相關論文的出現,圖機器學習成為了一個熱門的研究方向。人們發現這種新一代的圖機器學習方式可以更好地學習資料本身和資料之間的信息,從而能夠更好地得到資料表徵,最終能夠更好地完成更重要的任務。
最早的圖神經網路相關論文出現在2009 年,在深度學習流行之前。現代圖神經網路相關論文出現在 2016 年,是對早期的圖神經網路的改進。之後,GCN 的出現推動了圖神經網路的快速發展,2017 年至今,有大量新的演算法湧現。隨著圖神經網路的演算法越來越成熟,2019 年至今,工業界嘗試用這些演算法解決一些實際問題,同時也有很多開源的工具被開發出來提升解決問題的效率。 2021 年至今,許多圖神經網路相關的書籍都被撰寫出來,當然也包括這本《圖神經網路基礎、前沿與應用》。
#《圖神經網路基礎、前沿與應用》一書系統地介紹了圖神經網路領域中最核心的概念和技術,以及前沿的研究和開發,並介紹了在不同領域的應用。無論是學術界還是工業界的讀者,都能夠從中受益。
#上圖體現了機器學習的生命週期,其中特徵學習是非常重要的環節,它的主要任務是將原始資料轉換為結構化的資料。在深度學習出現之前,大家主要是透過特徵工程來完成這個任務。深度學習出現以後,這種端到端的機器學習方式開始成為主流。
Feature Learning in Graphs 和深度學習的做法非常類似,目標是設計有效的和任務相關或者和任務無關的特徵學習方法將原始圖中的結點映射到高維空間中,從而得到結點的embedding表示,進而完成下游任務。
圖神經網路中有兩類需要學習的表徵:
需要一個filter operation,將圖的矩陣和結點的向量表示作為輸入,不斷學習,更新結點的向量表示。目前比較常見的 filter operation 有 Spectral-based、Spatial-based、Attention-based、Recurrent-based。
#需要一個pool operation,將圖的矩陣和結點的向量表示作為輸入,不斷學習,得到包含更少的結點的圖的矩陣及其結點的向量表示,最終得到graph-level 的向量表示來表徵整張圖。目前比較常見的 pool operation 有 Flat Graph Pooling(如 Max、Ave、Min),Hierarchical Graph Pooling(如 Diffpool)。
#在機器學習領域有一個context learning 的概念。在圖神經網路中,一個結點的 context 就是它的鄰居結點,我們可以用一個結點的鄰居結點來學習這個結點的向量表示。
透過這種方式,每個結點都可以定義一個計算圖。
我們可以將計算圖分層,第一層的就是最原始的訊息,透過逐層傳遞和聚合資訊來學習所有結點的向量表示。
上圖大致描述了圖神經網路模型學習的主要步驟,主要有以下四個步驟:
#上圖是一個以平均值作為聚合函數的例子,第k 層結點v 的向量表示依賴上一層其鄰居結點的向量表示的平均和上一層其自己的向量表示。
對以上的內容進行總結,圖神經網路的要點就是透過聚合鄰居結點的資訊產生目標結點的向量表示,它考慮了編碼器中的參數共享,也考慮了推理學習。
#圖神經網路經典或流行的演算法本質上是使用不同的aggregation function 或filter function,可以分為有監督的圖神經網路和無監督的圖神經網路。
GCN# 是最經典的演算法之一,它能夠直接作用於圖並且利用其結構資訊。圍繞著提升模型速度、實用性以及穩定性,如上圖所示,GCN 也經歷了幾次迭代。 GCN 的論文是具有劃時代意義的,為圖神經網路奠定了基礎。
MPNN# 的核心要點是將圖卷積轉化為訊息傳遞的過程,它定義兩個function,分別是aggregation function 和update function。這個演算法是一個簡單通用的演算法,但是它並不有效率。
GraphSage 是工業層級的演算法,它使用取樣的方式來得到一定數量的鄰居結點從而學校結點的向量表示。
GAT# 則是引入attention 的思想,它的核心重點是動態地學習執行資訊傳遞過程中邊的權重。
除了以上介紹的演算法以外,還有GGNN,它的特色是輸出可以是多個結點,大家有興趣去看相關的論文。
#在《圖神經網路基礎、前沿與應用》這本書中的第五、六、七、八章也分別介紹如何評估圖神經網路、圖神經網路的擴展性、圖神經網路的解釋性、圖神經網路的對抗穩定性,大家有興趣可以去閱讀書中對應的章節。
圖神經網路是需要圖結構資料的,但是給定的圖結構是否是最優的是存疑的,有的時候可能會有很多的噪聲,很多應用可能沒有圖結構的數據,甚至只是原始的特徵。
所以,我們需要利用圖神經網路學習到最優的圖表示以及圖結點表徵。
我們將圖的學習轉換為結點間相似的學習,並透過正規化的方式控制平滑度、系屬性和連結性,透過迭代的方式去提煉圖的結構和圖的向量表示。
實驗數據
可以表現出這種方式的優勢。透過圖
2、Other Frontiers
在《圖神經網路基礎、前沿與應用》這本書中,也分別介紹瞭如下前沿研究,這些前沿研究在許多場景下都有很重要的應用:四、圖神經網路的應用
#########1、圖神經網路在推薦系統的應用## ################我們可以利用會話資訊建構異質全域圖,然後透過圖神經網路學習得到使用者或物品的向量表示,利用這個向量表示去做個人化的推薦。 ####我們可以追蹤物體動態的變化過程,透過圖神經網路加深對影片的理解。
我們可以利用圖神經網路來理解自然語言的high-level 的訊息。
A1:圖神經網路是非常重要的分支,而圖神經網路並駕齊驅的是 Transformer。鑑於圖神經網路的靈活性,圖神經網路和 Transformer 相互結合,去發揮更大的優勢。
A2:因果學習重要的環節是因果圖,因果圖和 GNN 可以天然地結合。因果學習的困難是它的資料量級很小,我們可以利用 GNN 的能力來更好地去學習因果圖。
###Q3:GNN 的可解釋性和傳統機器學習的可解釋性的區別和聯繫是什麼? ###############A3:在《圖神經網路基礎、前沿與應用》這本書中會有詳細的介紹。 ###############Q4:如何直接基於圖資料庫、利用圖運算的能力進行 GNN 的訓練與推理? ###############A4:目前在統一圖計算平台上還沒有很好的實踐,有一些新創公司和科研團隊在做相關方向的探索,這會是一個非常有價值且有挑戰的研究方向,比較可行的做法是分領域。 ##########以上是GNN的基礎、前沿和應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!