文章具體介紹了圖神經(jīng)網(wǎng)絡的基本機制,以及圖上無監(jiān)督節(jié)點異常值檢測的概念和方法。同時他還分享了在這方面的一些發(fā)現(xiàn)和想法。最后,我們將介紹一個基于 GNN 的圖異常值檢測庫 (PyGOD) 及其與 TigerGraph機器學習工作臺的集成。
圖神經(jīng)網(wǎng)絡 (GNN)
我們先簡單了解一下現(xiàn)在熱門的圖神經(jīng)網(wǎng)絡 (GNN),這已經(jīng)成為圖數(shù)據(jù)挖掘的一種主導且強大的工具。與圖像數(shù)據(jù)的 CNN 相似,GNN 是一種神經(jīng)網(wǎng)絡,旨在對圖結構進行編碼并通過迭代聚合其鄰居的嵌入來學習節(jié)點的嵌入 (見圖 1)。大多數(shù) GNN 都持有同源性假設,即相連的節(jié)點是相似的;因此,聚合鄰居的信息將有助于學習信息量更大的中心節(jié)點表示。中心節(jié)點表示可用于節(jié)點分類、鏈接預測和異常值檢測 (OD) 等下游任務。
圖1:圖神經(jīng)網(wǎng)絡
圖上的異常值
異常值是與其余數(shù)據(jù)顯著不同的樣本。作為數(shù)據(jù)挖掘研究的主流方向,異常值檢測在行業(yè)中也至關重要?,F(xiàn)實世界數(shù)據(jù)中的異常值通常表示欺詐行為、系統(tǒng)錯誤、網(wǎng)絡入侵或網(wǎng)絡故障。這些異常值可能導致重大的財務損失和安全問題。
除了傳統(tǒng)表格數(shù)據(jù)中的異常值外,圖模型還可以提高異常值檢測的性能,特別是當數(shù)據(jù)實例具有共同的屬性和接近性時。社交平臺的機器人賬戶單個看可能沒什么問題(如圖 2 所示),但它的轉發(fā)行為密集相連,從圖的角度來看容易發(fā)現(xiàn)其中的異常。
圖2:圖上的異常值
在圖異常值檢測中,以前的文獻已經(jīng)定義并研究了兩種典型的異常值類型。(1) 結構異常值是指密集相連的節(jié)點,相反則是稀疏連接的常規(guī)節(jié)點,例如前面提到的社交網(wǎng)絡問題(圖 2 所示)。(2) 上下文異常值是其屬性與相鄰節(jié)點明顯不同的節(jié)點。它的定義與經(jīng)典的基于接近度的異常值檢測方法中的異常值假設相似。上下文異常值描繪了與圖中鄰居不同的節(jié)點,例如計算機網(wǎng)絡中的受損設備。
圖3:兩種典型的異常值類型
基于 GNN 的節(jié)點異常值檢測
在 GNN 取得進展之前,大家就已經(jīng)利用矩陣分解、密度聚類和關系學習方法來編碼圖信息并識別異常值。其他異常值檢測方法大家可以參考文中鏈接(https://arxiv.org/abs/1404.4679)。
回到 GNN,在獲得節(jié)點表示之后,GNN 會使用不同的損失函數(shù)(目標函數(shù))進行優(yōu)化,用于不同的任務。例如,使用交叉熵損失來優(yōu)化 GNN 用于節(jié)點分類任務。
對于節(jié)點異常值檢測,常規(guī)做法是將 GNNs 集成到自動編碼器中,將 GNN 用作編碼器和解碼器。這種神經(jīng)網(wǎng)絡架構稱為圖自動編碼器(簡稱:GAE)。與香草自編碼器一樣,GAE 通過重建圖數(shù)據(jù)來編碼圖信息,即重建節(jié)點特征和邊。在異常值檢測方面,GAE 可用于編碼正常圖信息,具有高重構誤差的節(jié)點將表明其異常程度。圖4就是使用 GAE 進行節(jié)點異常值檢測的第一種模型。
圖4:The OD framework of DOMINANT (SDM’ 19)
需要注意的是,使用 GAE 進行異常值檢測對圖數(shù)據(jù)有兩個隱含假設:(1)異常值僅占據(jù)少量數(shù)據(jù),而大部分數(shù)據(jù)是正常的;(2)正常數(shù)據(jù)具有共同的屬性和結構特征。在此假設下,GAE 可以用來檢測結構和上下文異常值,近兩年來也已經(jīng)有了許多 GAE 的變體。
基準測試的發(fā)現(xiàn)
接下來,跟大家分享一些基于 GNN 的節(jié)點異常值檢測方法進行基準測試的一些發(fā)現(xiàn):
1. 許多現(xiàn)有的基于 GNN 的異常值檢測方法都是基于合成異常值的相對樸素的假設來開發(fā)的;因此,許多方法在檢測有機異常值時效果并不理想。有機異常值通常非常復雜,其分布也可能多種多樣。但是,我們的基準測試表明,如果有機異常值遵循預定義的異常類型,則基于 GNN 的異常值檢測方法將是有效的。
2. 和大多數(shù)深度學習方法一樣,基于 GNN 的異常值檢測方法在小圖中效果都不是最優(yōu)的。與此同時,大多數(shù)基于 GNN 的異常值檢測方法在擁有數(shù)千萬個節(jié)點的大圖中都不具有可伸縮性。
3. 無監(jiān)督的基于 GNN 的異常值檢測方法的性能嚴重依賴于超參數(shù),而在無監(jiān)督學習中的超參數(shù)調整仍然是機器學習研究和實踐中的挑戰(zhàn)。
4. 大多數(shù)基于 GNN 的異常值檢測方法更傾向于特定類型的異常值。平衡和優(yōu)化每種異常值類型的檢測性能并不容易。同時,在預期中沒有方法具有一致的性能或者在不同的數(shù)據(jù)集上優(yōu)于其他方法。
基于圖的異常值檢測指南
基于上述發(fā)現(xiàn),由于其可擴展性約束,我們認為基于 GNN 的異常值檢測與工業(yè)應用之間仍存在差距。開發(fā)基于 GNN 的自動化、可擴展和任務導向的異常值檢測方法將是一個具有發(fā)展?jié)摿Φ姆较?。至于到底是應用基?GNN 的異常值檢測或基于圖的異常值檢測,作者也給出了應用指南(圖5),以方便從業(yè)者參考。我們簡單跟大家分享幾點,例如,是否采用圖?可以看異常實體是否具有共同的特性,異常實體是否具有集群行為,還有就是成本與效益之間的權衡。而是否采用GNN?則需要考慮基礎設施,功能可用性和功能類型,還有與其他模塊和任務集成。具體指南圖大家可以關注我們的微信公眾號查看正文。
圖5:基于圖的異常值檢測指南
從上述指南中,作者強調了數(shù)據(jù)探索分析和精確問題定義對于應用基于圖的異常值檢測是至關重要的。
PyGOD 和TigerGraph ML Workbench
最后,作者還跟大家介紹了 PyGOD,這是一個與圖異常值檢測基準測試一起開發(fā)的 Python 庫。該庫基于 PyTorch 和 PyTorch Geometric (PyG) 開發(fā),其 API 樣式遵循流行的機器學習庫 scikit-learn,可以很容易地使用五行代碼檢測圖中的異常點:
PyGOD是一個不斷發(fā)展的Python庫,旨在涵蓋更多的檢測功能和更高的可擴展性。TigerGraph ML Workbench能夠將圖數(shù)據(jù)從TigerGraph DB轉換為PyG數(shù)據(jù)對象,因此PyGOD可以在TigerGraph中輕松安裝和測試。
審核編輯:郭婷
-
神經(jīng)網(wǎng)絡
+關注
關注
42文章
4777瀏覽量
100965 -
機器學習
+關注
關注
66文章
8428瀏覽量
132850
原文標題:Vol. 38 基于圖神經(jīng)網(wǎng)絡的圖異常值檢測:簡介
文章出處:【微信號:TigerGraph,微信公眾號:TigerGraph】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論