1. 程式人生 > >圖嵌入綜述 (arxiv 1709.07604) 譯文第一、二章

圖嵌入綜述 (arxiv 1709.07604) 譯文第一、二章

一、引言

圖自然存在於各種各樣的現實世界場景中,例如,社交媒體網路中的社交圖/擴散圖,研究領域中的引用圖,電子商務區中的使用者興趣圖,知識圖等。這些圖的分析提供瞭如何充分利用隱藏在圖中的資訊,因此在過去的幾十年中受到了極大的關注。 有效的圖分析可以使許多應用受益,例如節點分類 [1],節點聚類 [2],節點檢索/推薦 [3],連結預測 [4]等。例如,通過分析基於的構建圖。在社交網路中的使用者互動(例如,在Twitter中轉發/評論/關注),我們可以對使用者進行分類,檢測社群,推薦朋友,並預測兩個使用者之間是否會發生互動。

儘管圖分析是實用且必不可少的,但是大多數現有的圖分析方法具有高計算和空間成本。 許多研究工作致力於有效地進行昂貴的圖分析。 示例包括分散式圖資料處理框架(例如,GraphX [5],GraphLab [6]),新的節省空間的圖儲存,它可以加速 I/O 和計算成本[7],等等。

除了上述策略之外,圖嵌入提供了一種有效的方法來解決圖分析問題。 具體而言,圖嵌入將圖轉換為儲存圖資訊的低維空間。 通過將圖表示為(或一組)低維向量,圖演算法可以有效地計算。 存在不同型別的圖(例如,同構圖,異構圖,屬性圖等),因此圖嵌入的輸入在不同場景中變化。 圖嵌入的輸出是表示圖(或整個圖)的一部分的低維向量。 圖1展示了以不同粒度將圖嵌入2D空間的玩具示例。 即,根據不同的需要,我們可以將節點/邊/子結構/整圖表示為低維向量。 有關不同型別的圖嵌入輸入和輸出的更多詳細資訊,請參見第3節。

在21世紀初期,圖嵌入演算法主要是通過假設資料位於低維流形中,來減少非關係資料的高維度。 給定一組非關係高維資料特徵,基於成對特徵相似性構建相似性圖。 然後,圖中的每個節點被嵌入到低維空間中,其中連線的節點彼此更接近。4.1 節介紹了這一系列研究的例子。。 自2010年以來,隨著圖在各個領域的激增,圖嵌入的研究開始以圖作為輸入並利用輔助資訊(如果有的話)來促進嵌入。 一方面,它們中的一些專注於將圖的一部分(例如,節點,邊,子結構)(圖1(b)- 1(d))表示為一個向量。 為了獲得這種嵌入,他們要麼採用最先進的深度學習技術(第 4.2 節),要麼設計一個目標函式來優化邊重建概率(第 4.3 節)。 另一方面,還有一些工作集中在將整個圖嵌入一個向量,用於圖級應用(圖 1(e))。 圖核(第 4.4 節)通常旨在滿足此需求。

圖1:將圖嵌入具有不同粒度的2D空間的玩具示例。

圖嵌入問題與兩個傳統的研究問題有關,即圖分析[8]和表示學習[9]。 特別是,圖嵌入旨在將圖示為低維向量,同時保留圖結構。 一方面,圖分析旨在從圖資料中挖掘有用資訊。 另一方面,表示學習獲得資料表示,使得在構建分類器或其他預測變數時,更容易提取有用資訊[9]。 圖嵌入在兩個問題上重疊,並側重於學習低維表示。 請注意,我們在此綜述中區分了圖學習和圖嵌入。 圖表示學習不要求學習的表示是低維的。 例如,[10]將每個節點表示為向量,其維數等於輸入圖中的節點數。 每個維度表示節點與圖中每個其他節點的測地距離。

將圖嵌入低維空間並非易事。 圖嵌入的挑戰取決於問題設定 ,包括嵌入輸入和嵌入輸出。 在本綜述中,我們將輸入圖分為四類,包括同構圖,異構圖,輔助資訊 圖和非關係資料圖 。 不同型別的嵌入輸入攜帶不同的資訊來保留在嵌入空間中,因此對圖嵌入的問題提出了不同的挑戰。 例如,當僅嵌入具有結構資訊的圖時,節點之間的連線是要保留的目標。 但是,對於具有節點標籤或屬性資訊的圖,輔助資訊從其他視角提供圖屬性,因此在嵌入期間也可以考慮。 與給定和固定的嵌入輸入不同, 嵌入輸出是任務驅動的。 例如,最常見的嵌入輸出型別是節點嵌入,其將鄰近節點表示為類似向量。 節點嵌入可以使節點相關的任務受益,例如節點分類,節點聚類等。然而,在某些情況下,任務可能與圖的更高粒度有關,例如,節點對,子圖,整個圖。 因此,在嵌入輸出方面的第一個挑戰,是為感興趣的應用找到合適的嵌入輸出型別。 我們對四種類型的圖嵌入輸出進行了分類,包括節點嵌入,邊嵌入,混合嵌入和整圖嵌入 。 不同的輸出粒度對於“良好”嵌入具有不同的標準並且面臨不同的挑戰。 例如,良好的節點嵌入保持嵌入空間中的相鄰節點的相似性。 相反,良好的整圖嵌入將整個圖示為向量,從而保持圖級相似性。

在不同問題設定中面臨的挑戰的觀察中,我們通過基於問題設定和嵌入技術對圖嵌入文獻進行分類,提出了兩種圖嵌入工作的分類法。 這兩種分類法對應於圖嵌入中存在的挑戰以及現有研究如何應對這些挑戰。 特別是,我們首先介紹圖嵌入問題的不同設定以及每個設定中面臨的挑戰。 然後,我們描述現有研究如何在他們的工作中應對這些挑戰,包括他們的見解和技術解決方案。

請注意,雖然已經有了一些圖嵌入的綜述([11,12,13]),但它們有以下兩個限制。 首先,他們通常只提出一種圖嵌入技術的分類。 他們都沒有從問題設定的角度分析圖嵌入工作,也沒有總結每個環境中的挑戰。 其次,現有的圖嵌入綜述僅涉及有限數量的相關工作。 例如,[11]主要介紹了十二種代表性的圖嵌入演算法,[13]只關注知識圖嵌入。 此外,沒有分析每種圖嵌入技術背後的洞察力。 對現有圖嵌入工作的全面回顧,以及對每種嵌入技術的洞察力的高階抽象,可以促進該領域的未來研究。

下面,我們總結了本次綜述的主要貢獻。

我們提出了基於問題設定的圖嵌入分類法,並總結了每個環境中面臨的挑戰。 我們是第一個基於問題設定對圖嵌入工作進行分類的綜述,它為理解現有工作帶來了新的視角。

我們提供了圖嵌入技術的詳細分析。 與現有的圖嵌入綜述相比,我們不僅研究了更全面的圖嵌入工作集,而且還總結了每種技術背後的見解。 與簡單地列出過去如何解決圖嵌入相反,總結的見解回答了為什麼可以以某種方式解決圖嵌入的問題。 這可以作為未來研究的深刻見解。

我們系統地對使用圖嵌入的應用進行分類,並將應用劃分為節點相關,邊相關和圖相關。 對於每個類別,我們提供詳細的應用場景作為參考。

我們建議了圖嵌入領域的四個有前途的未來研究方向,包括計算效率,問題設定,解決方案技術和應用。 對於每個方向,我們對其在當前工作中的缺點(不足)進行全面分析,並提出未來的研究方向。

本次綜述的其餘部分安排如下。 在第二節中,我們介紹理解圖嵌入問題所需的基本概念的定義,然後提供圖嵌入的形式問題定義。 在接下來的兩節中,我們提供了兩種圖嵌入分類法,其中分類法結構如圖 2 所示。第 3 節基於問題設定比較了相關工作,並總結了每個設定中面臨的挑戰。 在第 4 節中,我們基於嵌入技術對文獻進行分類。抽象出每種技術背後的見解,並在最後提供不同技術的詳細比較。 之後在第 5 節中,我們將介紹圖嵌入的應用。 然後,我們在第六節中將討論中未來的四個研究方向,並在第七節結束本綜述。

圖 2:根據問題和技術的圖嵌入分類法。

二、問題形式化

在本節中,我們首先介紹圖嵌入中基本概念的定義,然後提供圖嵌入問題的正式定義。

符號和定義

本綜述中使用的符號的詳細說明見表 1 。

表1:本文中使用的符號。

符號 說明
$ \ VERT \ CDOT \ $ VERT 集合的基數
$ \ mathcal {G} $ = $(V,E)$ 帶有節點 $ V $ 和邊 $ E $ 的圖 $ \ mathcal {G} $
$ \帽子{\ mathcal {G}} $ = $(\ hat {V},\ hat {E})$ $ \ mathcal {G} $ 的子結構,其中 $ \ hat V \ subseteq V,\ hat E \ subseteq E $
$ V-I $$ {E_ IJ} $ 節點 $ v_i \ in V $ 和連線 $ V-I $$ v_j $ 的邊 E $中的$ e_ {ij}
$ A $ 接鄰矩陣 $ \ mathcal {G} $
$ {A_我} $ 矩陣 A 的第 i 行向量
$ {A_ I,J} $ 矩陣 A 的第 i 行第 j 列
$ f_v(V-I)$$ f_e(E_ {} IJ)$ 節點 $ V-I $ 型別和邊 $ {E_ IJ} $ 的型別
$ \ mathcal {T】^ V $](https://gitee.com/wizardforcel/data-science-notebook/raw/master/dl/arxiv-1709-07604-zh/img/img42.png)  ,  ![$ \ mathcal {T】^ E $ 節點型別集和邊型別集
$ \ mathcal {N} _K(V_I)$ 節點 $ V-I $ 的k個最近鄰居
$ X \ in \ mathbb {R} ^ {\ vert V \ vert \ times N} $ 特徵矩陣,每行 $ X_I $$ V-I $$ N $ 維向量
$ Y_I $$ {Y_ IJ} $$ Y _ {\帽子{\ mathcal {G}}} $ 節點 $ V-I $ ,邊 $ {E_ IJ} $ 和結構 $ \帽子{\ mathcal {G}} $ 的嵌入
$ d $ 嵌入的維度
<h, r, t> 知識圖三元組,具有頭部實體 $ H $
尾部實體 $ T $ 以及他們之間的關係 $ R $
$ S_ {IJ} ^ {(1)} $$ S_ {IJ} ^ {(2)} $ 節點 $ V-I $$ v_j $ 之間的一階和二階鄰近度
$ C $ 資訊級聯
$ \ mathcal {G} ^ c =(V ^ c,E ^ c)$ 擁有級聯 $ C $ 的級聯圖

圖是 $ \ mathcal {G} $ = $(V,E)$,其中 $ v \ in V $ 是一個節點,$ E \ in E $ 是一個邊。$ \ mathcal {G} $ 關聯節點型別的對映函式 $ f_v:V \ to \ mathcal {T} ^ v $ 和邊型別的對映函式 $ f_e:E \ to \ mathcal {T} ^ e $

$ \ mathcal {T】^ V $](https://gitee.com/wizardforcel/data-science-notebook/raw/master/dl/arxiv-1709-07604-zh/img/img42.png) 和 ![$ \ mathcal {T】^ E $](https://gitee.com/wizardforcel/data-science-notebook/raw/master/dl/arxiv-1709-07604-zh/img/img43.png) 分別表示節點型別和邊型別的集合。 每個節點 ![$ v_i \ in V $](https://gitee.com/wizardforcel/data-science-notebook/raw/master/dl/arxiv-1709-07604-zh/img/img32.png) 屬於一種特定型別,即 ![$ f_v(v_i)\ in \ mathcal {T} ^ v $](https://gitee.com/wizardforcel/data-science-notebook/raw/master/dl/arxiv-1709-07604-zh/img/img64.png)。 同樣,對於 ![E $中的$ e_ {ij} ](https://gitee.com/wizardforcel/data-science-notebook/raw/master/dl/arxiv-1709-07604-zh/img/img33.png),![$ f_e(e_ {ij})\ in \ mathcal {T} ^ e $

同構圖 $ \ mathcal {G} _ {}同質$ =_ $(V,E)$ 是一個圖,滿足 $ \ vert \ mathcal {T} ^ v \ vert = \ vert \ mathcal {T} ^ e \ vert = 1 $$ \ mathcal {G} $ 中的所有節點屬於單一型別,所有邊都屬於單一型別。

異構圖 $ \ mathcal {G} _ {} HETE $ = $(V,E)$ 是一個圖,滿足 $ \ vert \ mathcal {T} ^ v \ vert> 1 $ 和/或 $ \ vert \ mathcal {T} ^ e \ vert> 1 $

知識圖 $ \ mathcal {G} _ {}知道$ = $(V,E)$ 是一個有向圖,其節點是實體 ,邊是主體 - 屬性 - 客體三元組。形式為( 頭部實體 , 關係,尾部實體)的每個邊(表示為 $ <H,R,T> $)表示關係 $ R $ 來自實體 $ H $ 到實體 $ T $

$ h,t \ in V $ 是實體,$ r \ in E $ 是關係。 在本綜述中,我們將 $ &lt;H,R,T&gt; $ 稱作知識圖三元組。 例如,在圖 3 中,有兩個三元組:$ &lt;Alice,isFriendOf,Bob&gt; $$ &lt;Bob,isSupervisorOf,Chris&gt; $。 請注意,知識圖中的實體和關係通常具有不同的型別[14,15]。因此,知識圖可以被視為異構圖的例項。

圖3:知識圖的玩具示例。

通常採用以下鄰近度量來量化要在嵌入空間中保留的圖屬性。 一階鄰近度是僅由邊連線的節點之間的區域性成對相似性。 它比較節點對之間的直接連線強度。 從形式上看,

節點 $ V-I $ 和節點 $ v_j $ 之間的一階鄰近度是邊 $ {E_ IJ} $ 的權重,即 $ {A_ I,J} $

如果兩個節點由具有較大權重的邊連線,則它們更相似。$ S_ {IJ} ^ {(1)} $ 表示節點 $ V-I $$ v_j $ 之間的一階鄰近度, 我們有 $ s_ {ij} ^ {(1)} = A_ {i,j} $。 讓 $ s_ {i} ^ {(1)} = [s_ {i1} ^ {(1)},s_ {i2} ^ {(1)},\ cdots,s_ {i \ vert V \ vert} ^ {( 1)}] $ 表示 $ V-I $ 和其他節點的一階鄰近度。 以圖 1(a)中的圖為例,$ $ V_1$ V_2 $ 的一階鄰近度是邊的權重 $ E_ {12} $,表示為 $ S_ {12} ^ {(1)} = 1.2 $$ S_1 ^ {(1)} $ 記錄 $ $ V_1 和圖中的其他節點的邊的權重,即 $ S_1 ^ {(1)} = [0,1.2,1.5,0,0,0,0,0,0] $

二階鄰近度比較節點的鄰域結構的相似性。 兩個節點的鄰域越相似,它們之間的二階鄰近度越大。從形式上看,

節點 $ V-I $$ v_j $之間的二階鄰近度 $ S_ {IJ} ^ {(2)} $$ V-I $ 的鄰居_ _$ S_I ^ {(1)} $$ v_j $ 的鄰居 $ s_j ^ {(1)} $ 的相似度。

再次,以圖1(a)為例: $ S_ {12} ^ {(2)} $$ S_1 ^ {(1)} $$ S_2 ^ {(1)} $ 的相似度。 如前所述, $ S_1 ^ {(1)} = [0,1.2,1.5,0,0,0,0,0,0] $ 並且 $ S_2 ^ {(1)} = [1.2,0,0.8,0,0,$ $ 0,0,0,0] $。 讓我們考慮餘弦相似度 $ s_ {12} ^ {(2)} =餘弦(s_1 ^ {(1)},s_2 ^ {(1)})= 0.43 $$ s_ {15} ^ {(2)} =餘弦(s_1 ^ {(1)},s_5 ^ {(1)})= 0 $。 我們可以看到 $ $ V_1$ v_5 $ 之間的鄰近度等於零,$ $ V_1$ v_5 $ 沒有任何共同鄰居。 $ $ V_1$ V_2 $ 有一個共同的鄰居 $ V_3 $,因此他們的二階鄰近度 $ S_ {12} ^ {(2)} $ 大於零。

可以同樣定義更高階的鄰近度 。 例如,節點 $ V-I $$ v_j $ 之間的 K 階鄰近度是 $ S_I ^ {(K-1)} $$ s_j ^ {(K-1)} $ 的相似度。 請注意,有時高階鄰近度也使用其他一些指標來定義,例如 Katz Index,Rooted PageRank,Adamic Adar 等[11]。

值得注意的是,在一些工作中,一階和二階鄰近度是基於兩個節點的聯合概率和條件概率憑經驗計算的。 更多細節將在 4.3.2 中討論。

圖嵌入:給定圖的輸入 $ \ mathcal {G} $ = $(V,E)$,以及嵌入的預定義維度 $ d $$ d \ ll \ vert V \ vert $),圖嵌入的問題是,將 $ \ mathcal {G} $ 轉換為一個 $ d $ 維空間,其中儘可能保留圖屬性。可以使用諸如一階和更高階鄰近度來量化圖特性。每個圖都表示為 $ d $ 維向量(對於整圖)或一組 $ d $ 維向量,每個向量表示圖的一部分的嵌入(例如,節點,邊,子結構)。

圖1顯示了嵌入圖的玩具示例 $ d = 2 $ 。 給定一個輸入圖(圖1(a) ),圖嵌入演算法用於將節點(圖1(b) )/邊(圖1(c) ),子結構(圖1(d)) )/整圖(圖1(e) )轉換為2D向量(即2D空間中的點)。 在接下來的兩節中,我們分別基於問題設定和嵌入技術,對圖嵌入文獻進行分類,提供了兩種圖嵌入分類法。