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

評(píng)論