從傳統圖引擎到GNN:計算圖和機器學習的演變
本文轉載自公眾號“讀芯術”(ID:AI_Discovery)
為什么我對深度學習的關注重點轉向圖神經網絡?”是因為數據結構還是高效計算?一切都從圖的結構以及它們如何解決關系問題和支持分布式計算開始。
當將相同的結構應用于最先進的機器學習算法時,進化才真正發生。從簡單的矩陣分解和線性回歸算法到圖形神經網絡(GNN)的實現,我們都可以觀察到技術的發展。
本文將詳細介紹圖、圖的優勢以及圖在機器學習框架中的實現方式。筆者還將討論圖的兼容性和隨著時間如何進化。
圖
圖是能夠共同定義信息的關系型數據結構。它是非線性節點和鏈接的匯編。LinkedIn和Facebook社交網絡、Netflix電影結構、谷歌地圖和路徑優化之類的真實信息只能由圖形表示。讓我們以家譜為例:

每個家族成員都是家族樹圖(G)中的一個頂點(V),其關系由邊(E)定義。如果要提取有關特定家庭成員的信息,則還必須知道他/她的關系,否則數據似乎不完整。每個節點和鏈接都有各自的意義和數據。同樣,可以用許多不同的方式來表示相同的圖,也可以使用不同的鏈接值自下而上繪制祖先圖。
計算圖
計算圖是具有方程式數據的圖。它們是表示數學表達式的有向圖的一種形式。一個非常常見的示例是后綴、中綴和前綴計算。圖中的每個節點都可以包含運算,變量或方程式本身。這些圖出現在計算機中進行的大多數計算中。

圖的優點
圖提供了代表許多現實問題的獨特結構。與典型的表或矩陣不同,該順序的優先級并不高。每個元素都相互依賴以形成關系。這種關系是所有假設和基于此的預測的核心。它的優點是:
- 節點鏈接結構-圖的獨特的節點鏈接結構可以存儲很多信息。基于網絡和關系的問題只能以這種格式表示。盡管存在矩陣、樹形圖之類的其他結構來表示圖,但主要構成要優先。
- 分布式計算-單個核心或系統無法處理數十億個節點/元素的巨大問題。分布式計算可以直接在圖中實現的事實,節省了大量計算,并降低了時間復雜度。
- 關系問題-通常使用包含獨立輸入值及其各自輸出標簽的數據集。如果想根據最近的手表、喜愛的演員、音樂等為自己預測電影,該怎么辦?
這是一個只能通過圖形解決的關系問題。即使通過無監督學習進行嘗試,也可以預測集群,但不能預測確切的標簽或聯系。我們將嘗試并簡要了解Netflix電影預測中的一個這樣的問題:
想象類型、演員、語言、發行日期作為圖的主要節點。許多電影根據其標簽鏈接到上述節點。根據電影的不同,筆者會存儲首選的屬性節點。Netflix利用個性化視頻排名(PVR)算法,根據所存儲的圖形數據按照流派、標題來預測電影。
在每種流派或標題中,它都再次應用了Top-N Video Ranker算法,該算法混合了流行選擇和個人選擇來預測電影。
機器學習中的圖
所有的神經網絡都是計算圖。不僅這些而且線性回歸等算法也可以以圖的形式表示。傳統圖和神經網絡之間的主要區別是實現。神經網絡傾向于模仿計算圖進行訓練,但無法處理類似圖的數據。他們需要結構化的數據才能正常工作。讓我們根據神經網絡中的正向傳播來理解它。

假設這是8個節點和16個鏈接的圖形。x1和x2輸入神經元(節點)緊密連接到隱藏層節點。然后將這些節點類似地連接到輸出層。x1,x2中的值將傳輸到隱藏層。隱藏層執行A=WX+B。連接隱藏層和輸出層的鏈接激活這些值。它們的方程是H = function(A)。在輸出層中也執行類似的過程。
總體而言,該圖能夠表示神經網絡中正向傳播的方程。
進化
在完成基礎知識之后,我們將繼續探討圖神經網絡(GNN)的形成原因及其與人工神經網絡(ANN)的不同之處。
如今,機器學習在許多自動化行業中都存在,并為許多組織和研究提供了最先進的結果。分布式圖的計算源于高效的并行計算,穩定的圖結構以及許多現實生活中的應用程序的實現,例如社交網絡、知識圖等。將這兩種技術結合在一起將帶來巨大的收益,并為更好的開發和效率帶來了新的研究領域。
圖引擎框架
已經進行了許多嘗試來彌合圖和機器學習算法之間的差距。圖缺乏訓練這些算法必不可少的屬性。在將圖計算和機器學習相結合時,缺乏對循環、異構性和數據一致性方面的支持,數據抽象是關注的主要主題。
諸如TUX2和GraphLab之類的圖形引擎框架提出了解決某些問題的模型。他們成功地將分布式圖形計算與矩陣分解、Latent Dirichlet分配算法相結合,但未能實現神經網絡。與能夠使用GPU進行計算的深度學習框架不同,這些引擎僅利用分布式計算。
GNN簡介(ANN與GNN)

神經網絡取代了許多靜態算法,并引領了當前的機器學習行業。市場需要基于圖的具有直接深度學習關聯的技術。由于傳統引擎出現故障和GPU缺少支持,才引入了圖神經網絡。
圖神經網絡是從圖數據中學習的深度學習的新興領域。隨著圖卷積網絡、LSTM網絡等的引入,該領域已顯示出巨大的潛力。這些網絡本身就是圖結構,并利用相似的數據進行訓練。諸如CORA和SNAP之類的圖形數據集用于對其進行基準測試。
如果人工神經網絡是計算圖,那么為什么我們需要GNN?答案有時可能會令人困惑,但讓我們開始了解基礎知識。
- 人工神經網絡以矩陣格式輸入,或多或少是有序數據,而諸如社交網絡之類的問題則將鏈接優先于次序。從技術上講,在圖形中,可以通過選擇根節點和通過它的特定鏈接來推導順序。
- 作為計算圖的人工神經網絡僅僅意味著它們是相互鏈接在一起的前饋數學表達式。網絡及其使用的數據的依存關系圖是不同的。
- 就層和函數而言,兩個網絡都包含dense、softmax、ReLU等,但是在每個計算和處理方面都是不同的。正常的密集層意味著完全的互連,但是在GNN中可能并非如此。
- 傳統神經網絡可以解決兩種類型的問題:分類和回歸。當涉及社交網絡或知識圖時,它們將失敗。這些屬于需要直接圖形輸入的關系問題。
- 在人工神經網絡中,定義了模型體系結構,并將其輸入及其各自的輸出饋入模型。基于圖的網絡的訓練和預測在某種程度上是無監督的。因此,如果要預測特定領英成員的姓名,筆者應該能夠使用他的1度、2度人脈、公司、機構的隸屬關系來進行操作,而無需真正知道他的實際標簽。
當今的圖神經網絡的發展是非常直觀的,上述知識我們需要掌握。