歡迎光臨
每天分享高質量文章

HAN:基於雙層註意力機制的異質圖深度神經網路

「論文訪談間」是由 PaperWeekly 和中國中文資訊學會社會媒體處理專委會(SMP)聯合發起的論文報道欄目,旨在讓國內優質論文得到更多關註和認可。

 

圖神經網路是近年來圖資料挖掘領域的熱門研究方向之一,被譽為是新一代深度學習。圖神經網路可以將端到端學習與歸納推理相結合,有望解決深度學習無法進行關係推理的問題。

以 Graph Convolutional Network,Graph Attention Network 為代表的圖神經網路已經引起了學術界與工業界的廣泛關註。然而,目前的圖神經網路主要針對同質圖(節點型別和邊型別單一)設計,但真實世界中的圖大部分都可以被自然地建模為異質圖(多種型別的節點和邊,如圖 1 所示,IMDB 資料中包含三種型別的節點 Actor、Movie 和 Director,兩種型別的邊 Actor-Movie 和 Movie-Director)。

 

相對於同質圖神經網路,異質圖神經網路具有更強的現實意義可以更好的滿足工業界需求。如阿裡巴巴正在建設億級節點十億級邊的異質圖神經網路平臺 AliGraph 來滿足整個阿裡集團各種商業化場景需求。因此亟需展開面向異質圖的圖神經網路模型研究,而異質圖的異質性卻又給設計圖神經網路帶來了巨大的挑戰。

在設計異質圖神經網路的時候,從異質圖的複雜結構出發,需要滿足下麵三個要求:

1. 異質性:考慮不同節點和不同關係的差異。不同型別節點有其各自的特點,節點的屬性空間也不盡相同。如何處理不同型別節點並保留各自的特性是設計異質圖神經網路時迫切需要解決的問題;

2. 語意級別註意力:學習元路徑重要性併進行融合。異質圖中的一個基本結構是元路徑結構,對於某個具體任務,不同元路徑表達的語意不同,因此對任務的貢獻也不同。如何設計針對元路徑的註意力機制是異質圖神經網路中的一個基本問題;

3. 節點級別註意力:學習節點鄰居的重要性併進行融合。節點的鄰居多種多樣甚至還有一些噪聲鄰居。針對不同任務,鄰居的重要性也會有所差異。如何設計針對不同型別鄰居的註意力機制是異質圖神經網路的一個基本問題。 

本文首次提出了基於註意力機制的異質圖神經網路 Heterogeneous Graph Attention Network(HAN),可以廣泛地應用於異質圖分析。HAN 利用語意級別註意力和節點級別註意力來同時學習元路徑與節點鄰居的重要性,並透過相應地聚合操作得到最終的節點表示。

模型

模型整體架構如圖 2 所示。模型主要分為 3 個模組:1)節點級別註意力模組。2)語意級別註意力模組。3)預測模組。

 

首先,透過節點級別的註意力來學習鄰居的權重並聚合得到一條具體元路徑下的節點表示。然後,透過語意級別的註意力來學習多條元路徑的權重並對節點表示進行加權融合。最後根據特定任務來最佳化整個模型。

節點級別註意力

給定某條元路徑,我們可以利用節點級別註意力來學習特定語意下(Semantic-specific)的節點表示。我們首先將不同型別的節點屬性透過投影矩陣變換到統一的屬性空間。

其中,是投影矩陣,分別是投影前後的節點特徵。這裡基於自註意力機制(self-attention)設計了節點級別註意力。具體來說,節點級別註意力將節點對的表示拼接起來並利用註意力向量來學習節點與其鄰居間的重要性。

其中,是節點對 (i, j) 的註意力權重。註意這裡的註意力是非對稱的,這也符合圖資料的實際特性。最後,透過節點級別的聚合操作(如圖 3 (a) 所示)來學習 Semantic-specific 的節點表示。每個節點的表示都是由其鄰居表示加權融合得到。

其中,是節點在某條元路徑下的表示。給定某條元路徑,節點級別註意力可以學習到節點在某個語意下的表示。但是,在實際異質圖中往往存在多條不同語意的元路徑,單條元路徑只能反映節點某一方面的資訊。為了全面的描述節點,我們需要融合多條元路徑的語意資訊。

語意級別註意力

給定元路徑集合,節點級別註意力用來學習到不同語意下的節點表示。進一步,我們可以利用語意級別註意力來學習語意的重要性並融合多個語意下的節點表示。語意級別註意力的形式化描述如下:

 

其中,是各個元路徑的註意力權重。具體來說,我們利用單層神經網路和語意級別註意力向量來學習各個語意(元路徑)的重要性並透過 softmax 來進行歸一化。

透過對多個語意進行加權融合(融合過程如圖 3 (b) 所示),可以得到最終的節點表示。需要註意的是,這裡的元路徑權重是針對特定任務最佳化的。不同任務需要的語意資訊不盡相同,元路徑的加權組合形式也會有所差異。

最後,我們基於半監督的分類 loss 來最佳化整個模型。

實驗結果

本文在三個資料集上做了大量充分的實驗(包括節點分類,節點聚類,視覺化)來驗證模型的有效性。同時為了驗證節點級別和語意級別的作用,作者分別去除節點和語意級別助理併進行實驗。最後,作者透過對節點和語意級別的註意力機制進行了分析來說明 HAN 的可解釋性。

本文的程式碼可見:

https://github.com/Jhy1993/HAN

表 3 和表 4 分別為節點分類和聚類實驗,可以看出:相對於當前最優演演算法,本文所提出的模型表現更好。同時,去除節點級別和語意級別註意力後,模型的效果有不同程度的降低。這驗證了節點級別註意力和語意級別註意力的有效性。

我們還進一步分析了層次註意力的合理性。節點級別和語意級別註意力分析分別如圖 4 和圖 5 所示。可以看出:節點級別註意力賦予了同型別的鄰居更高的權重。在語意級別,對較為重要的元路徑,也就是該條元路徑在聚類任務上具有較大的 NMI 值,HAN 會賦予他們相應較大的權重,因此 HAN 可以自動選取較為重要的節點鄰居及元路徑

 

圖 6 展示了各個演演算法視覺化結果。我們可以清楚地看到:HAN 所學習到的節點表示具有更強的表示能力,可以清晰的將不同領域的作者分為 4 類。

 

總結

異質圖在真實世界無處不在,異質圖的分析也是資料挖掘的熱門方向。作者設計了一種異質圖神經網路,同時在節點和語意級別利用註意力機制來對鄰居資訊和語意資訊進行加權融合,進而學習到更加細緻全面的節點表示。同時,透過對兩層的註意力機制進行分析,所提模型具有較好的可解釋性。

現實生活中,很多場景均可以被建模為異質圖,如淘寶網就可以建模為使用者,商品和商家互動的異質圖。本文所提出的異質圖註意力網路 HAN 具有廣泛的適用性,可以根據不同場景(如商品推薦和異常賬戶檢測)的需求設計不同的損失函式來學習節點表示。

按照本文的思路,未來可以進一步嘗試利用 meta-graph 或者 motif 來抽取不同的結構資訊或者針對不同場景的差異化需求設計相應的圖神經網路。更多關於異質圖分析的論文及相關程式碼資料見 www.shichuan.org

已同步到看一看
贊(0)

分享創造快樂