1. 程式人生 > >論文閱讀 | DeepDrawing: A Deep Learning Approach to Graph Drawing

論文閱讀 | DeepDrawing: A Deep Learning Approach to Graph Drawing

作者:Yong Wang, Zhihua Jin, Qianwen Wang, Weiwei Cui, Tengfei Ma and Huamin Qu

本文發表於VIS2019, 來自於香港科技大學的視覺化小組(屈華民教授領導)的研究

1. 簡介

圖資料廣泛用於各個領域,例如生物資訊學,金融和社交網路分析。在過去的五十年中,已經提出了許多圖佈局演算法,來滿足所需的視覺要求,例如更少的邊緣交叉,更少的節點遮擋以及更好的聚團保護。傳統的圖佈局演算法大致可以分為兩個方向:基於彈簧,能量模型和基於降維模型。當用戶使用特定的圖佈局時,取得好的視覺化效果往往需要許多引數的實驗,對於沒有相關經驗的使用者來說,是一個不小的挑戰。由於特定於演算法的引數和佈局效果通常取決於輸入的圖結構,因此我們考慮是否可以使用深度學習來學習別人的佈局演算法。

這個問題有以下三個挑戰:

  1. 模型選擇: 圖佈局演算法不同與普通的分類問題,它的輸入是複雜的圖結構,輸出是點的座標(不定長二維陣列)。
  2. 損失函式設計: 圖佈局的結果很難判斷好壞(很多時候是主觀的印象),除此之外,圖佈局通過旋轉和放縮之後,依然具有相同的結構。
  3. 訓練資料的缺少:不同於影象領域有 Imagenet, MNIST 等資料集,圖佈局演算法並沒有這方面的資料集

本文提出一種基於graph-LSTM的方法來直接根據輸入圖的拓撲結構生成圖佈局結果。本文使用廣度優先搜尋(BFS)將圖拓撲資訊轉換為一系列鄰接矩陣,其中每個子向量對序列中每個節點及其相鄰節點之間的連線資訊進行編碼。還提出了一種基於Prostats Statistics的損失函式,該函式對於圖的平移,旋轉和縮放基本上是不變的,以此評估學習質量並指導模型訓練。在訓練過程中,使用了三種圖資料集(網格圖,星形圖和隨機圖)。

2. 相關工作

  • 傳統的圖佈局演算法大致可以分為兩個方向:基於彈簧,能量模型和基於降維模型。基於彈簧,能量模型最著名的有力引導模型,ForceAtlas等。基於降維有PivotMDS以及tsNET等演算法。除此之外還有一些基於層次佈局和空間索引樹的優化,比如FM3演算法。
  • 圖神經網路被用於各種圖相關學習的研究,過去基於譜(Spectral)卷積的演算法往往只能用於固定結構的圖資料研究,除了譜卷積之外,非譜方法還可以直接在圖上進行卷積,此類演算法將節點的鄰域定義為傳入範圍,並且提出了各種方法,例如Semi-Supervised Classification with Graph Convolutional Networks等。他們大多應用於點預測,邊預測,與本文的任務還是有所區別。
  • 已有一些研究將深度學習,機器學習應用到圖佈局當中,比如Kwon et al.(VIS 2017)提出了一種機器學習方法,為使用者提供了圖佈局的快速預覽,並使用了圖的拓撲結構資訊來計算不同圖結構之間的相似度。H. Haleem et al.提出了基於神經網路的方法來評估圖佈局繪製結果。

3. 演算法與模型

問題定義

  • 圖佈局演算法的輸入是$G=(V,E) \quad V={v_{1},v_{2}...v_{n}} \quad E\subseteq V \times V \(,輸出是\)C = {c_{v}|v ∈ V}\(, 其中\)c_v$屬於二維向量。

  • 傳統的圖佈局演算法考慮不同的評價標準來設計演算法,在本文中,我們將圖佈局演算法轉化為學習問題,一旦成功訓練了深度學習模型,當給定一個新圖資料,它就可以自動分析圖結構並直接生成一個帶有訓練資料特性的佈局效果。

模型設計

  • 由於圖佈局的輸出是一個不定長的二維陣列,cv領域常用的CNN網路並不適用於此類問題,第一CNN網路無法處理圖資料的輸入,其次CNN網路的輸出一般是一個定長的陣列。
  • 本文使用LSTM(長短期記憶)作為基礎模型,LSTM是RNN(迴圈神經網路)的變種,一開始用於自然語言處理方向。 他可以同時參考過去網路中的最新資訊以及較久的資訊。我們可以使用點的特徵序列作為輸入向量,順序輸出每個點的二維座標。LSTM的結構和公式如下圖所示, \(c_{t-1}, h_{t-1}, x_{t}\)是他的輸入,\(h_{t}, c_{t}\)是他的輸出。

  • 但是這樣的方案並沒有考慮到圖中邊的資訊,所以參考skip-connection的技術,可以對於LSTM網路進行改進,將邊作為兩個神經元之間的聯絡,如下圖所示,其中\(P(t)\)表示該點的領域, 和標準LSTM的主要區別在於,本文的模型進一步考慮了圖中邊的資訊。除此之外本文還使用了雙向LSTM的技術,使其能更全面考慮所有點對某個點的貢獻。

  • 所以本文的模型如下所示。輸入點的順序是圖的BFS(廣度優先搜尋)序列,每個節點都由一個鄰接向量表示,該向量編碼了與先前節點的連線情況。 黃色的虛線箭頭傳播了先前節點對後續節點圖形的總體影響,而彎曲的綠色箭頭(圖的邊)反映了實際的圖結構,為了生成最終的2D節點佈局,還考慮前後的資訊(雙向LSTM)。

  • 本文還對於loss function進行了重新的設計, 考慮了旋轉,放縮不變性等原理。基於Prostats Statistics提出了一種損失函式。

4. 實驗

  • 本文設計了三種不同的圖資料:網格,星形,隨機網路,使用PivotMDS 和 ForceAtlas2演算法生成佈局結果,並對於資料集進行了訓練,驗證,測試集的劃分。總共有30000以上的資料行,每個資料在20-50點左右。
  • 通過實驗發現,雙向4層LSTM具有較好的效果, 將其作為和本演算法比較的baseline。實驗中,在三種資料集上分別訓練baseline 和 本文演算法,將輸入向量定為35的長度。其中隨機網路的視覺化如下所示。

  • 本文還從Prostats loss(模型loss),邊交叉(\(A_{ec}\)),點聚集(\(A_{no}\)),聚團覆蓋(\(A_{co}\)),執行時間這幾個指標進行了評估,實驗結果如下所示。左上模型loss,右上執行時間,下面是剩餘三種指標。

總結

本文從結構來看非常完整,工作量也很足。但還是有很多不足之處,比如:生成輸入向量的演算法依然不穩定,只在小資料(20-50點)work,模型無法解釋,學習不同的佈局資料需要重新訓練等問題。作者也提出了要把演算法改進到大規模圖資料上的設想,除此之外作者提出能否將方法應用到動態圖當中