圖被廣泛用于復雜系統的建模,檢測圖中的異常是復雜系統分析中的一項重要任務。圖異常是指圖中的模式不符合圖的屬性和/或結構所期望的正常模式。近年來,圖神經網絡(GNNs)得到了廣泛的研究,并成功地完成了節點分類、鏈接預測和圖分類等困難的機器學習任務,這得益于在有效學習圖表示中通過消息傳遞實現的高度表達能力。為了解決圖異常檢測問題,基于GNN的方法利用關于圖屬性(或特征)和/或結構的信息來學習對異常進行適當的評分。在這篇綜述中,我們回顧了使用GNN模型檢測圖異常的最新進展。具體而言,我們根據圖類型(即靜態和動態)、異常類型(即節點、邊、子圖和全圖)和網絡架構(如圖自動編碼器、圖卷積網絡)對基于GNN的方法進行了總結。據我們所知,這次綜述是第一次全面回顧基于GNN的圖異常檢測方法。
//www.zhuanzhi.ai/paper/86a58a5030f04de8d6483e0e7509e14e
圖形是一種有效的數據結構,可以有效地表示和提取復雜的數據模式,廣泛應用于社交媒體、電子商務、生物學、學術和通信等眾多領域。圖中表示的數據對象是相互關聯的,對象通常表示為節點,它們的關系表示為節點之間的邊。圖的結構指的是節點如何通過單獨的邊相互關聯,并且可以有效地表示節點之間甚至深遠的關系。此外,通過使用節點和/或邊的屬性來增強圖的結構表示,圖可以在語義上得到豐富。
異常檢測是識別明顯偏離通常觀察到的模式的異常模式的過程。這是一項重要的任務,因為在各個領域的需求和應用不斷增加。自從Grubbs等人[1]首次引入異常(或離群值)的概念以來,人們對異常檢測進行了大量的研究。此后,隨著近年來圖挖掘技術的發展,圖異常檢測備受關注[2],[3]。圖異常檢測的早期工作很大程度上依賴于領域知識和統計方法,其中檢測異常的特征大多是手工制作的。這種手工制作的檢測任務自然非常耗時和費力。此外,真實的圖通常包含大量的節點和標記有大量屬性的邊,因此是大規模和高維的。為了克服早期工作的局限性,最近深度學習方法在從圖[4]中檢測異常時受到了相當多的關注。深度學習具有非線性的多層結構,可以對大規模高維數據進行檢測,并從數據中提取模式,從而獲得令人滿意的性能,而無需手工制作特征[5]、[6]。
最近,圖神經網絡(GNN)通過學習圖表示(例如[7],[8])中的消息傳遞機制具有高度的表達能力,因此被用于高效、直觀地檢測圖中的異常。使用GNN,從圖中學習和提取異常模式,即使是那些具有高度復雜結構或屬性的圖,也相對簡單,因為GNN本身處理的圖具有屬性作為輸入數據[9]。最先進的圖異常檢測方法[7]、[10]將GNN與現有的深度學習方法相結合,其中GNN捕獲圖的特征,而深度學習捕獲其他類型的信息(如時間)。圖1給出了用GNN進行圖異常檢測的一個例子。假設節點(A)和(C)根據節點屬性被檢測到異常,節點(A)和(B)根據圖拓撲被檢測到異常。那么,如果同時考慮節點屬性和圖拓撲作為異常因素,則只檢測到節點(A)異常。GNN模型使我們能夠通過同時檢查圖拓撲和節點屬性來檢測這種異常。
在本綜述中,我們概述了基于GNN的圖異常檢測方法,并主要從圖的類型(即靜態圖和動態圖)進行了綜述。與其他調研相關的話題——圖異常檢測(一般)[2],[3],圖像異常檢測具體使用深度學習[11],[12],和一般的異常檢測使用深度學習[13],[14],本調研旨在涉及的獨特角度圖使用GNN異常檢測模型。鑒于GNN在圖異常檢測中的重要意義和正在進行的積極研究工作,我們相信,對這一特定主題的全面調研是及時的,對研究社區是有益的。圖2為調研方法的時間軸。第三節中的調研是根據其他圖異常檢測調研[3]、[2]、[11]、[12]所使用的分類框架組織的。這一領域仍然是新的,盡管研究主題的分布似乎傾向于靜態圖中的節點異常,但已發表的方法覆蓋了廣泛的圖(靜態與動態、普通與屬性)和異常類型(結構、節點、邊、子圖)。此外,在第四節中,我們分享了關于使用GNN進行圖異常檢測的幾個有前途的機遇和挑戰的觀點。
基于GNN的圖異常檢測
A.基于GNN的靜態圖異常檢測
靜態圖異常檢測的大部分研究都是針對節點異常,只有少數研究是針對邊緣異常和子圖異常。
1) 異常節點檢測:
使用GNNs檢測異常節點主要在屬性圖中進行。每一種基于GNN的方法都從靜態屬性圖中提取節點屬性信息和結構信息,并使用一定的評分算法評估節點的異常評分。人們提出了各種基于GNN的方法來有效地從屬性圖中提取必要的特征。我們根據這些方法的網絡架構對它們進行分類,然后簡要描述每種方法背后的關鍵思想。根據結構信息,異常節點可進一步劃分為三類:全局異常、結構異常和群體異常[12]。全局異常稱為圖中的偏離節點屬性;結構異常在圖中稱為偏離的結構信息;團體異常是指同一團體中節點屬性的偏差和結構信息的偏差。請注意,相當數量的基于gnn的方法是建立在用GCN或GAT實例化的圖形自動編碼器(GAE)框架之上的。對于靜態圖中的異常節點檢測,我們回顧了基于GNN的GAE方法以及獨立GNN方法。
2) 異常邊緣檢測:
異常邊緣通常表示圖中節點之間不同的或非典型的相互作用。在靜態圖中這種異常邊緣檢測的研究相對有限。Duan等人[48]提出了異常感知網絡嵌入(AANE),該網絡為平面圖設計,并使用基于gcn的GAE框架實現。該方法調整了擬合損失和“異常感知”損失,包括偏差損失和去除損失。損失函數的概率是一個優勢的得分。概率較低的邊更有可能是異常邊。Song等人[50]提出了用于欺詐檢測的基于子圖的框架(SubGNN)。提取靠近目標邊緣的子圖并重新標記以保證實體獨立性。提出的關系圖同構網絡(R-GIN)學習特征,用于精確的欺詐檢測。Zhang等人[49]提出了一種基于競爭圖神經網絡(CGNN)的欺詐檢測系統(eFraudCom),用于檢測電子商務平臺上的欺詐行為。CGNN是一種基于gcn的GAE系統。eFraudCom系統由一個數據處理器和一個欺詐檢測器組成。具體而言,在數據處理器中對有代表性的法向數據進行采樣,生成包含采樣的法向數據和其余數據的異構圖;在欺詐檢測器中,對圖中的鄰居進行采樣,并通過CGNN檢測異常邊緣。
3)異常子圖檢測: 異常子圖檢測比異常節點或邊緣檢測更具挑戰性。值得注意的一點是,異常子圖中的節點和邊本身可以被認為是正常的。此外,子圖的結構和大小可以非常多樣化。大概是由于這一挑戰,文獻中只有有限的研究。我們發現了一種GCN方法和一種基于gat的GAE方法。
B.基于GNN的動態圖異常檢測
與靜態圖不同,動態圖的結構或屬性會隨時間變化,時間性是動態圖的一個重要因素。最近,基于圖社區、壓縮、分解、距離度量和圖特征[2]的概率建模,提出了各種檢測隨時間變化或演化的圖異常的方法。針對動態圖提出了幾種方法,將GCN與適合于時間處理的深度學習方法相結合,如循環神經網絡(RNN)、門控循環單元(GRU)和transformer。一些研究解決了在動態圖的邊或節點中檢測異常的問題。目前還沒有關于異常子圖檢測的研究。
異常檢測是由硬件和軟件組成的復雜分布式系統的一個重要問題。全面了解此類系統的異常檢測需求和挑戰對系統的安全性至關重要,尤其是在實際部署中。雖然已經有許多不同的研究領域和應用領域來處理這個問題,但很少有人試圖對這種系統進行深入的研究。大多數異常檢測技術都是為特定的應用領域專門開發的,而其他的則更為通用。在這項綜述中,我們探索了基于圖的算法在識別和緩解復雜的分布式非均勻系統中不同類型的異常方面的巨大潛力。我們主要關注的是,當應用于分布在復雜分布式系統中的異構計算設備時,提供對圖的深入研究。本研究分析、比較和對比了該領域的最新研究文章。首先,我們描述了真實世界分布式系統的特征,以及在這樣復雜的網絡中異常檢測的具體挑戰,例如數據和評估、異常的性質和真實世界的需求。稍后,我們將討論為什么可以在此類系統中使用圖以及使用圖的好處。然后,我們將適當地深入研究最先進的方法,并突出他們的優勢和弱點。最后,我們評估和比較這些方法,并指出可能改進的地方。
異常檢測是指在數據或系統中發現與預期行為[1]不匹配的異常行為或模式。換句話說,系統已知的正確行為中的非良性變化可以被檢測為異常。由于分布式異構系統的特性,異常檢測是其關鍵。在這樣的系統中,不同的組件,從傳感器這樣的小變化,一直工作到大型組件,如控制設施,以實現系統的總體目標。所有這些組件都分布在一個大網絡中;因此,這個詞是分布式的,而它們在結構和數據產生方面是不同的,因此,這個詞是異構的。
許多分布式異構系統在關鍵和/或重要領域(如發電和配電系統)運行。因此,它們的安全性和正確性至關重要。漏洞可以在這些系統的每個方面和不同的抽象層次中看到;從系統或網絡中存在問題的單個組件,到發現這些組件相互連接以完成更高級任務的異常或不正常情況。表1顯示了幾種分布式異構網絡及其可能的異常來源。在這些系統中,異常檢測必須滿足許多要求,這使得任務更加復雜。考慮到異常的性質,異常必須通過處理大量數據來檢測,這使得檢測異常是一項具有挑戰性的任務,而且現實世界的設置也有限制。
近年來,神經網絡已經顯示出了巨大的潛力,并得到了極大的探索。他們開辟了新的途徑,增加了對擴展深度學習方法的興趣,用于異常檢測[2],[3]。異常檢測帶來了一些實際的挑戰,使得采用深度學習算法變得困難。在異常檢測的學習方法中,數據以圖的形式表示以提取更多信息(如關系特征)的應用越來越多。然而,圖可以是不規則的;例如,一個圖可能有大小可變的無序節點,并且/或者圖中的節點可能有不同數量的鄰居。因此,在圖像處理等領域中,一些重要的操作(如正則卷積)容易計算,因此很難應用到圖域[4]。此外,現有機器學習算法的一個核心假設是實例彼此獨立。這個假設對于圖數據來說是沒有意義的,因為每個實例(節點)都通過鏈接和交互與其他實例(節點)相關。這導致整個研究領域都在探索圖表在這種背景下的使用。
現有的綜述主要是將異常檢測作為一個單獨的問題來處理,或者應用于特定的領域,如社交媒體互動、網絡流量、推薦系統等。一些研究工作主要是基于圖學習[5]的異常檢測。一些調查側重于異常檢測的具體應用,如[6]。少數論文關注大數據異常檢測及其挑戰[7],[8]。此外,還有大量的勘探使用深度學習技術[2],[3],[9],[10],[11]來處理一般的異常檢測。然而,這些工作都沒有單獨研究如何利用圖來檢測現實世界中的異構分布式系統中的異常。
本次綜述的主要重點是全面介紹基于圖的解決異常檢測問題的技術現狀。特別是,我們關注實時復雜的分布式系統,并對這些系統進行定性建模,以識別和分析利用圖的優勢進行異常檢測的各種方法。簡而言之,我們在此次綜述中做出了以下顯著貢獻:
基于圖的異常檢測算法
將聯邦學習應用于兩個分布式集群(局域網和傳感器集群)的異常檢測。這里N是連接到聯邦云服務器的集群數量。每個網絡都有自己的測試和訓練數據集、本地存儲和丟失功能。服務器接收來自所有網絡局部模型的各個權值,然后根據它們的可用圖屬性對它們進行聚合,同時返回全局權值。
用于異常檢測的圖自動編碼器網絡。有兩個惡意用戶(相當于網絡圖中的異常節點)連接到網絡中。將網絡圖輸入自編碼器,計算節點和邊緣的重構損失。在這個簡單的例子中,只需要將重建損失與一個恒定的閾值進行比較,就可以檢測到異常,但是這個過程可以更加先進和精確。
在這個圖中,我們已經將SL-GAD[133]框架應用于在2.3節中討論的LAN概念用例。(A)是圖視圖采樣模塊,選擇目標節點,對兩個子圖進行采樣。(B)是生成型和對比型辨別模塊。首先,將目標節點和兩個子圖提供給GNN編碼器,并創建圖嵌入。在下一步,兩個不同的目標,鑒別器和回歸器試圖捕獲圖結構和屬性中的異常。生成回歸模塊用于捕獲每個節點屬性中的異常,而鑒別器模塊負責發現圖結構中的異常。最后,在(C)中,對比分數和生成分數相結合,計算出最終的異常分數。
摘要: 圖異常檢測旨在大圖或海量圖數據庫中尋找“陌生”或“不尋常”模式,具有廣泛的應用場景.深度學習可以從數據中學習隱含的規律,在提取數據中潛在復雜模式方面表現出優越的性能. 近年來隨著基于深度神經網絡的圖表示學習取得顯著進展,如何利用深度學習方法進行圖異常檢測引起了學術界和產業界的廣泛關注. 盡管最近一系列研究從圖的角度對異常檢測技術進行了調研,但是缺少對深度學習技術下的圖異常檢測技術的關注. 首先給出了靜態圖和動態圖上各類常見的異常定義,然后調研了基于深度神經網絡的圖表示學習方法,接著從靜態圖和動態圖的角度出發,梳理了基于深度學習的圖異常檢測的研究現狀,并總結了圖異常檢測的應用場景和相關數據集,最后討論了圖異常檢測技術目前面臨的挑戰和未來的研究方向.
//crad.ict.ac.cn/CN/10.7544/issn1000-1239.2021.20200685
圖作為一種通用的數據結構,被廣泛用于表示 復雜的結構化數據.相對于其他數據結構,它能更好 地存儲和表達實體及其聯系.現實世界中,圖在社交 網絡分析、Web網絡分析、交通路網優化、知識圖譜 構建等領域均有廣泛的應用.針對這些語義豐富、樣 式多樣、規模龐大的圖數據,如何快速、準確地檢測 其中的異常引起了學術界和產業界的廣泛關注.圖 異常檢測是指在一個大圖或海量圖數據庫中尋找包 含“陌生”或者“不尋常”模式的結構(包括節點、邊或 者子圖),具有廣泛的應用場景,例如英特網中的惡 意攻擊、社交網絡中的突發事件檢測、電子商務中的 水軍發現等.相較于傳統的異常檢測方法,基于圖的 異常檢測由于圖具有強大的表達能力,不僅可以將 復雜的數據加以直觀的呈現,同時也能將數據中隱 含的相關性融入到異常檢測過程中.
面向圖的異常檢測工作最早發表于2003年[1], 現有工作大致可分為基于靜態圖和基于動態圖 2 類.在基于靜態圖的異常檢測工作中,一類方法利用 ego網絡[2]或者基于團體[3]研究問題;一類方法基 于圖的結構信息進行異常檢測[4G6],也有一些工作基 于子空間選擇,試圖在節點特征的子空間中發現異 常[7G9].還有一些工作通過概率、統計方法獲取圖的 統計信息進行異常檢測[10G13].盡管這些工作在異常 檢測上取得了不錯的進展,但這些方法如利用ego 網絡的方法,由于處理圖數據,必須考慮節點之間的 交互,在圖較為稀疏時難以實現較好的效果;或者如 子空間選擇和統計方法,由于淺層學習機制難以綜 合利用節點的屬性和結構信息.在基于動態圖的異 常檢測方面,同樣有一些工作基于團體[14G15]、基于結 構[6,16]、或基于概率統計[17G19]進行異常檢測.另外一 類典型的方法是首先獲取圖的概要,然后通過聚類 和異常 檢 測 來 確 定 概 要 中 的 異 常,例 如 文 獻 [20G 21],但是這些方法獲得的概要無法保留重要的結構 信息,比如鄰接節點的信息.現有的基于動態圖的異 常檢測方法大多依賴于啟發式規則,通常只是簡單 地考慮某一類特征;雖然有部分方法[22G23]考慮了內 容甚至時間因素,但并不靈活,導致其應用局限于特 定的場景.
近年來,深度學習成為人工智能和機器學習中極為重要的部分,在提取數據中潛在復雜模式方面 表現出優越的性能,并在音頻、圖像和自然語言處理 等領域得到了廣泛應用.深度學習方法能夠合理處 理復雜的屬性信息,并且可以從數據中學習隱含的 規律;此外,通過神經網絡對圖進行嵌入不僅可以很 好地保留信息[24G26],還可以很好地處理節點或邊的 屬性,同時保留結構信息,進而方便檢查隱空間中節 點或邊表示的相似性.近年來隨著對圖進行嵌入表 示取得顯著進展,如何利用深度學習方法進行圖異 常檢測在過去幾年中吸引了廣泛關注.基于深度學 習的圖異常檢測方法通常使用圖的嵌入表示方法先 將圖表示為隱空間中的向量,然后使用該向量重構 圖從而剔除異常信息的影響,最后通過重構誤差進 行異常檢測.
關于異常和離群點檢測,已經存在非常全面的 綜述類文章,例如Zimek等人[27]重點介紹了關于高 維離群值檢測,Schubert等人[28]討論了局部離群值 檢測技術.但是,這些文章通常關注多維數據實例的 點,沒有或者不是直接地關注基于圖的檢測技術.盡管文獻[29]從圖的角度對異常檢測技術進行了調 研,但是缺少對深度學習技術下的圖異常檢測技術 的關注.與以往關于異常檢測的綜述不同,本文專注 于大圖或海量圖數據庫中的異常檢測,并對基于深 度學習的圖異常檢測技術進行全面地梳理和總結, 是最早聚焦基于深度學習的圖異常檢測技術方面的研究綜述.
本文首先對圖上的異常定義做了全面的分析, 然后詳細介紹了基于深度神經網絡的圖表示學習方 法,接著從靜態圖和動態圖的角度出發,對現有基于 深度學習的圖異常檢測方法進行系統地總結和歸 類,并討論相關方法的局限性.接著簡單介紹圖異常 檢測技術的實際應用場景和相關的數據集,最后討論基于深度學習的圖異常檢測研究面臨的挑戰及未 來可行的研究方向.本文期望通過對目前基于深度 學習的圖異常檢測研究現狀的梳理,為后續研究提 供可借鑒的思路.
異常指的是罕見的觀察(例如,數據記錄或事件)與其他數據有顯著差異。在過去的四十年中,由于異常在許多學科(如計算機科學、化學和生物學)中的重要意義,異常研究受到了極大的關注。異常檢測,旨在識別這些罕見的觀察,是最重要的任務之一,并已顯示出它的力量,以防止有害事件,如財務欺詐和網絡入侵的發生。檢測任務通常是通過檢測特征空間中的離群數據點來解決的,本質上忽略了真實數據中的結構信息。圖被廣泛用于保存結構信息,這就提出了圖異常檢測問題-識別異常圖對象(即節點、邊和子圖)。然而,由于圖數據的復雜性(如結構不規則、非獨立和大規模),傳統的異常檢測技術不能很好地解決這一問題。由于深度學習在突破這些局限方面的能力,利用深度學習進行圖異常檢測的研究近年來得到了加強。
在這個綜述中,我們的目的是提供一個系統和全面的深度學習圖異常檢測的綜述。具體來說,我們的分類遵循任務驅動的策略,并根據現有作品能夠檢測到的異常圖對象對其進行分類。我們特別關注現有作品的動機、關鍵啟示和技術細節。我們還總結了開源的實現、公共數據集和常用的評估指標,以供未來研究使用。最后,根據我們的綜述結果,我們強調了12個未來的研究方向,包括圖數據、異常檢測和實際應用引入的新問題。
引言
1969年,Grubbs[1]首次將異常或離群值定義為“明顯偏離樣本中其他成員的異常值”。19世紀,統計學界開始了對異常檢測的研究。在大多數情況下,異常可能表現為社交垃圾郵件發送者或社交媒體中的錯誤信息;社交網絡中的騙子、機器人往給應用領域帶來巨大的破壞。
在計算機科學中,異常檢測的研究可以追溯到20世紀80年代,從那時起,在圖數據上檢測異常就成為了一種重要的數據挖掘范式。在過去的十年中,真實對象之間的連接的爆發和圖形數據挖掘的進步已經使我們對圖異常檢測的識別發生了革命性的變化,在過去的5年里,這個研究領域受到了極大的關注。最顯著的變化之一是,圖異常檢測已從嚴重依賴人類專家的領域知識演變為機器學習技術,以消除人類干預,最近,各種深度學習技術已被采用,以更準確和實時地識別圖中的潛在異常。當代越來越多的基于深度學習的圖異常檢測技術已經部署到很多實際應用中,包括: 財務詐騙檢測、社交垃圾郵件檢測、網絡入侵檢測、誤信息檢測、工業系統損害檢測等,并成功減少異常損害。因此,深度學習的圖異常檢測作為一項前沿技術,有望在異常檢測方面產生更豐碩的成果,為每個人提供更有說服力的生活保障。
異常在不同的應用領域又稱異常值、異常、特性等,是指與標準、正常或預期有顯著差異的異常對象。例如,社交網絡中的垃圾郵件、社交媒體中的假新聞、計算機網絡中的異常流量等,都是我們日常生活中眾所周知的異常現象。盡管這些對象在現實世界中很少出現,但它們包含支持下游應用的關鍵信息。例如,欺詐者的行為為反欺詐檢測提供了證據,網絡異常流量為網絡入侵保護提供了信號。異常現象在很多情況下也會產生一系列的負面影響,例如社交媒體上的假新聞會誤導公眾的注意力[2]-[4],在線評論系統中不可信的評論會影響消費者的購物選擇[5]-[7],網絡入侵可能會泄露私人個人信息給黑客[8]- [11],金融欺詐會對經濟系統造成巨大的破壞。事實上,異常已經受到了不同學科的研究人員的極大關注,而且最近在廣泛的實際應用中檢測潛在異常的需求越來越大。
異常檢測是一種數據挖掘過程,目的是識別數據集[15]-[17]中偏離大多數的異常模式。異常可能以異常數據記錄、消息、事件、組和/或其他意外觀察的形式出現。為了檢測異常,傳統技術更愿意代表真實世界的對象作為特征向量(例如,新聞在社會媒體被表示為bag-of-words[18],在網頁和圖像表示為顏色直方圖[19]),然后檢測外圍數據點的向量空間[20]-[23],如圖1所示(一個)。盡管這些技術在表格數據格式下定位偏離數據點方面表現出強大的能力,但它們本質上拋棄了對象[24]之間的復雜關系。在現實中,許多對象之間存在著豐富的關系,可以為異常檢測提供有價值的互補信息。以在線社交網絡為例,可以使用正常用戶的有效信息創建虛假用戶,也可以通過模仿良性用戶的屬性[25],[26]來偽裝自己。因此,虛假用戶和良性用戶具有相同的特征,傳統的異常檢測技術無法僅利用特征信息進行識別。同時,虛假用戶往往會與大量的良性用戶建立關系,增加自己的聲譽和影響力,從而獲得意想不到的好處,但良性用戶很少會出現[27]這樣的活動。因此,這些由虛假用戶形成的緊密而意外的聯系表明了他們的偏差到良性的,更全面的檢測技術應該考慮這些結構信息來消化異常的偏差模式。
在社會活動、電子商務、生物、學術和通信等諸多應用領域中,用圖形表示結構信息已經得到了廣泛的應用。具體來說,在圖中,節點/頂點表示真實的對象,邊表示它們的關系。利用圖中包含的結構信息,檢測圖中的異常在非歐空間中提出了一個更為復雜的異常檢測問題——圖異常檢測,其目的是識別異常的圖對象(即節點、邊或子圖)[24],[34],[35]。以圖1(b)為例,在給定在線社交網絡的情況下,圖異常檢測的目的是分別識別出異常節點(即惡意用戶)、異常邊緣(即異常關系)和異常子圖(即惡意用戶組)。因此,傳統的異常檢測技術不能直接用于圖的異常檢測,因為這些異常不能在歐幾里得特征空間中直接表示,近年來研究人員加強了對圖異常檢測的研究。
事實上,關于圖異常檢測的研究工作很少。在該領域的早期工作中,檢測方法大量依賴于領域專家[24],[36]-[38]建立的手工特征工程或統計模型。這本質上限制了這些技術檢測未知異常的能力,而且這是非常需要人力的工作。許多機器學習技術,如矩陣分解[39]和支持向量機[40],也已經被用于檢測圖的異常。然而,現實世界的網絡往往包含數以百萬計的節點和邊,這導致了非常高維和大規模的數據,這些技術不能有效地處理這些數據。實際上,它們在存儲和執行時間[41]上都表現出很高的計算開銷。然而,它們缺乏捕捉真實對象[23]的非線性屬性的能力,因此它們學習的實體表示不夠表達,無法完全支持圖異常檢測。
為了解決這些問題,最近的研究尋求采用深度學習技術來識別異常圖對象[52]-[54]的潛力。作為數據挖掘的有力工具,深度學習在數據表示和模式識別方面取得了相當的成功,因為它的深度結構很好地解決了上述傳統機器學習技術在實踐中遇到的問題。最近的研究,如深度圖表示學習和圖神經網絡(GNN),進一步豐富了深度學習對圖數據挖掘[58]-[61]的能力。通過提取圖形異常和正常對象的表達,或者通過深度學習技術直接學習異常的偏離模式,利用深度學習進行圖形異常檢測是目前異常檢測的前沿技術。由于異常檢測和圖數據挖掘的復雜性,采用深度學習技術進行圖異常檢測也面臨著巨大的挑戰[62]-[68]。因此,我們總結了這一領域的八個主要挑戰,并在附錄A中提供它們。
圖神經網絡為根據特定任務將真實世界的圖嵌入低維空間提供了一個強大的工具包。到目前為止,已經有一些關于這個主題的綜述。然而,它們往往側重于不同的角度,使讀者看不到圖神經網絡的全貌。本論文旨在克服這一局限性,并對圖神經網絡進行了全面的綜述。首先,我們提出了一種新的圖神經網絡分類方法,然后參考了近400篇相關文獻,全面展示了圖神經網絡的全貌。它們都被分類到相應的類別中。為了推動圖神經網絡進入一個新的階段,我們總結了未來的四個研究方向,以克服所面臨的挑戰。希望有越來越多的學者能夠理解和開發圖神經網絡,并將其應用到自己的研究領域。
導論
圖作為一種復雜的數據結構,由節點(或頂點)和邊(或鏈接)組成。它可以用于建模現實世界中的許多復雜系統,如社會網絡、蛋白質相互作用網絡、大腦網絡、道路網絡、物理相互作用網絡和知識圖等。因此,分析復雜網絡成為一個有趣的研究前沿。隨著深度學習技術的快速發展,許多學者采用深度學習體系結構來處理圖形。圖神經網絡(GNN)就是在這種情況下出現的。到目前為止,GNN已經發展成為一種流行和強大的計算框架,用于處理不規則數據,如圖形和流形。
GNN可以通過層次迭代算子學習任務特定的節點/邊/圖表示,從而利用傳統的機器學習方法執行與圖相關的學習任務,如節點分類、圖分類、鏈路預測和聚類等。盡管GNNs在圖形相關學習任務上取得了很大的成功,但他們仍然面臨著巨大的挑戰。首先,圖數據結構的復雜性給大型圖數據帶來了昂貴的計算代價。其次,擾動圖結構和/或初始特征會導致性能急劇下降。第三,wesfeiller - leman (WL)圖同構檢驗阻礙了GNNs的性能提升。最后,GNN的黑盒工作機制阻礙了將其安全部署到實際應用中。
本文將傳統的深度體系結構推廣到非歐氏域,總結了圖神經網絡的體系結構、擴展和應用、基準和評估缺陷以及未來的研究方向。到目前為止,已經對GNN進行了幾次調查。然而,他們通常從不同的角度、不同的側重點來討論GNN模型。據我們所知,關于GNN的第一次調查是由Michael M. Bronstein等人進行的。Peng Cui等[2]從三個方面綜述了應用于圖形的各種深度學習模型: 包括圖卷積神經網絡在內的半監督學習方法,包括圖自動編碼器在內的非監督學習方法,以及包括圖循環神經網絡和圖強化學習在內的最新進展。本研究側重于半監督學習模型,即空間圖和光譜圖卷積神經網絡,而對其他兩個方面的研究相對較少。由于篇幅有限,本調查只列出了GNNs的幾個關鍵應用,但忽略了應用的多樣性。孫茂松等人[3]從圖類型、傳播步驟和訓練方法三個方面詳細回顧了光譜和空間圖卷積神經網絡,并將其應用分為結構場景、非結構場景和其他場景三種場景。然而,這篇文章沒有涉及其他GNN架構,如圖形自動編碼器,圖形循環神經網絡和圖形生成網絡。Philip S. Yu等人[4]對圖神經網絡進行了全面的調查,并調查了可用的數據集、開源實現和實際應用。然而,對于每個研究主題,他們只列出了少量的核心文獻。Davide Bacciu等人[367]溫和地介紹了圖形數據的深度學習領域。本文的目的是介紹為圖數據構造神經網絡的主要概念和構建模塊,因此它沒有對最近的圖神經網絡工作進行闡述。
值得注意的是,上述所有調研都不涉及GNN的能力和可解釋性、概率推理和GNN的組合以及對圖的對抗攻擊。本文從架構、擴展和應用、基準測試和評估缺陷、未來研究方向四個方面為讀者提供了GNN的全景圖,如圖1所示。對于GNNs的結構,我們研究了圖卷積神經網絡(GCNNs)、圖池算子、圖注意機制和圖循環神經網絡(GRNNs)等方面的研究。通過對上述體系結構的集成,實現了GNNs的擴展和應用,展示了一些值得關注的研究課題。具體來說,這一視角包括深度圖表示學習、深度圖生成模型、概率推理(PI)和gnn的組合、GNN的對抗攻擊、圖神經結構搜索和圖強化學習和應用。綜上所述,本文對GNNs進行了完整的分類,并對GNNs的研究現狀和發展趨勢進行了全面的綜述。這些是我們與上述調查的主要不同之處。
我們的主要貢獻可以歸結為以下三個方面。
我們提出了一種新的GNN分類方法,它有三個層次。第一個包括架構、基準測試和評估缺陷以及應用程序。體系結構分為9類,基準測試和評估缺陷分為2類,應用程序分為10類。此外,圖卷積神經網絡作為一種經典的GNN體系結構,又被分為6類。
我們提供了GNN的全面回顧。所有的文獻都屬于相應的類別。希望讀者通過閱讀本概覽,不僅了解GNNs的全貌,而且了解GNNs的基本原理和各種計算模塊。
3.根據目前GNNs所面臨的挑戰,我們總結了未來四個研究方向,其中大部分在其他研究中沒有提及。希望通過克服這些挑戰,使GNNs的研究進入一個新的階段
未來研究方向:
盡管GNNs在許多領域取得了巨大的成功,但仍存在一些有待解決的問題。本節總結了GNNs未來的研究方向。
高度可伸縮的GNN。現實世界的圖通常包含數億個節點和邊,并具有動態演化的特征。事實證明,現有的GNN架構很難擴展到巨大的真實世界圖。這促使我們設計高度可伸縮的GNN架構,能夠高效和有效地學習節點/邊/圖表示為巨大的動態演化圖。
健壯的GNN。現有的GNN架構容易受到對抗性攻擊。也就是說,一旦輸入圖的結構和/或初始特征受到攻擊,GNN模型的性能就會急劇下降。因此,我們應該將攻擊防御機制整合到GNN體系結構中,即構建健壯的GNN體系結構,以增強其對抗攻擊的能力。
GNNs超過WL測試。空間廣義網格網絡的性能受單WL的限制,而高階WL檢驗的計算代價昂貴。因此,在適當的條件下,兩個非同構圖將產生相同的節點/邊/圖表示。這促使我們開發一個超越WL測試的新的GNN框架,或者設計一個優雅的高階GNN架構來對應高階WL測試。
可解釋的GNN。現有的GNN在一個黑盒中工作。我們不明白為什么它們在節點分類任務、圖分類任務和圖嵌入任務等方面都能達到如此先進的性能。可解釋性已經成為將GNNs應用于現實問題的一個主要障礙。雖然已有一些研究對某些特定的GNN模型進行了解釋,但它們不能解釋一般的GNN模型。這促使我們為gnn構建一個統一的可解釋框架。
【導讀】Graph Neural Network(GNN)由于具有分析圖結構數據的能力而受到了廣泛的關注。本文對Graph Neural Network進行了簡要介紹。它涵蓋了一些圖論,以便于理解圖和分析圖時遇到的問題。然后介紹了不同形式的Graph神經網絡及其原理。它還涵蓋了GNN可以做什么以及GNN的一些應用。
圖論
首先,我們需要知道什么是圖。圖是一種由兩個部分組成的數據結構:頂點和edge。它用作分析目標和實體之間成對關系的數學結構。通常,將圖定義為G =(V,E),其中V是一組節點,E是它們之間的邊。
圖通常由鄰接矩陣A表示。如果圖具有N個節點,則A的維數為(N x N)。人們有時會提供另一個特征矩陣來描述圖中的節點。如果每個節點都有F個特征,則特征矩陣X的維數為(N x F)。
為什么圖難以分析?
首先,在歐幾里得空間中不存在圖,這意味著它無法用我們熟悉的任何坐標系表示。與其他類型的數據(例如波,圖像或時間序列信號)相比,這使得圖數據的解釋更加困難(“文本”也可以視為時間序列),可以輕松地將其映射為2-D或3-D歐幾里德空間。
其次,圖沒有固定的形式。為什么?看下面的例子。圖(A)和圖(B)具有完全不同的結構和外觀。但是,當我們將其轉換為鄰接矩陣表示形式時,兩個圖具有相同的鄰接矩陣(如果不考慮邊的權重)。那么我們應該考慮這兩個圖是相同還是不同?
最后,一般來說,圖很難直觀地顯示出來以供人類解釋。我不是在談論像上面的例子這樣的小圖。我說的是涉及數百或數千個節點的巨型圖。它的維數很高,節點密集地分組在一起,甚至使人難以理解圖。因此,為該任務訓練機器是具有挑戰性的。以下示例顯示了對集成電路中邏輯門進行建模的圖。
Example of a giant graph: circuit netlist. Figure from J. Baehr et. al. “Machine Learning and Structural Characteristics of Reverse Engineering”
為什么要使用圖?
人們選擇使用圖的原因可以歸納為以下幾點:
傳統圖分析方法
傳統方法主要基于算法,例如:
圖神經網絡
所謂的圖神經網絡是一種可以直接應用于圖的神經網絡。它為節點級別,邊緣級別和圖級別的預測任務提供了一種方便的方法。
文獻中主要有三種類型的圖神經網絡:
GNN的直覺是,節點自然是由其鄰居和連接定義的。為了理解這一點,我們可以簡單地想象一下,如果刪除節點周圍的鄰居和連接,則該節點將丟失其所有信息。因此,節點的鄰居和與鄰居的連接定義了節點的概念。
考慮到這一點,我們然后給每個節點一個狀態(x)來表示其概念。我們可以使用節點狀態(x)產生輸出(o),即有關概念的決策。節點的最終狀態(x_n)通常稱為“節點嵌入”。所有GNN的任務是通過查看其相鄰節點上的信息來確定每個節點的“節點嵌入”。 我們將從圖神經網絡,循環圖神經網絡或RecGNN的經典版本開始。
遞歸圖神經網絡
正如原始GNN論文中介紹的那樣,RecGNN是基于Banach不動點定理的假設而構建的。Banach不動點定理指出:(X,d)是一個完整的度量空間,而(T:X→X)是一個壓縮映射。然后,T具有唯一的不動點(x ?),對于任何x∈X,n→∞的序列T_n(x)收斂到(x ?)。這意味著,如果我申請的映射T上X為?倍,X ^ K在幾乎等于x ^(K-1),即:
RecGNN定義了一個參數化函數f_w:
其中L_N,l_co,x_ne,l_ne 表示當前節點的特征[n],節點的邊緣[n],相鄰節點的狀態,與相鄰節點的功能。(在原始論文中,作者將節點特征稱為節點標簽。這可能會造成一些混亂。)
An illustration of node state update based on the information in its neighbors. Figure from “The Graph Neural Network Model” 最終,在經過k次迭代之后,最終的節點狀態將用于生成輸出,以決定每個節點。輸出函數定義為:
空間卷積網絡
空間卷積網絡的直覺類似于著名的CNN,后者主導著圖像分類和分割任務的文獻。要了解圖像上的CNN,您可以查看這篇文章,其中詳細說明了CNN。
簡而言之,在圖像上進行卷積的想法是對中心像素周圍的相鄰像素求和,該像素由參數化大小和可學習權重的濾波器指定。空間卷積網絡通過將相鄰節點的特征聚合到中心節點中采用了相同的思想。
Left: Convolution on a regular graph such as an image. Right: Convolution on the arbitrary graph structure. Figure from “A Comprehensive Survey on Graph Neural Networks”
譜卷積網絡
與其他類型的GNN相比,這種類型的圖卷積網絡具有非常強大的數學基礎。譜卷積網絡建立在圖信號處理理論的基礎上。并通過簡化和逼近圖卷積。 通過Chebyshev多項式逼近 (Hammond et al。2011),圖卷積可以簡化為以下形式:
進一步簡化后,GCN論文提出了一種2層神經網絡結構,可以用以下等式描述:
其中A_head是原始圖鄰接矩陣A的預處理拉普拉斯算子。(有關數學的詳細信息,請參見GCN論文。將需要大量的精力來進行充分說明。)
如果您有一些機器學習經驗,則此公式看起來非常熟悉。這不過是常用的兩個完全連接的層結構。但是在這種情況下,它確實可以用作圖卷積。我將在下面說明為什么它可以執行圖卷積。
Example of a graph with a feature assigned to each node. Figured by author
讓我們考慮一下,我們有一個包含4個節點的簡單圖。如上圖所示,為這些節點中的每個節點分配了一個特征矩陣。圖鄰接矩陣和特征矩陣很容易得出,如下所示:
Example of the adjacency matrix and feature matrix. Figure by author
注意,鄰接矩陣的對角線故意更改為“ 1”,以為每個節點添加一個自環。當我們執行特征聚合時,這將包括每個節點本身的特征。 然后,我們執行A x X(為簡單起見,我們先忽略A的拉普拉斯算子和權重矩陣W。)
Example of graph convolution by matrix multiplication. Figure by author
矩陣乘法的結果顯示在最右邊的矩陣中。讓我們以第一個節點的結果功能為例。不難發現結果是[節點1]的所有特征之和,包括[節點1]本身的特征,并且[節點4]中的特征不包括在內,因為它不是[節點1]的鄰居。。在數學上,僅當存在邊時,圖的鄰接矩陣才具有值“ 1”,否則具有“ 0”。這使得矩陣乘法成為連接到參考節點的節點的特征之和。 因此,頻譜卷積網絡和空間卷積網絡盡管是在不同的基礎上開始的,但是它們共享相同的傳播規則。 當前可用的所有卷積圖神經網絡共享相同的格式。他們都嘗試學習通過該消息傳遞過程傳遞節點信息并更新節點狀態的功能。 任何圖神經網絡可被表達為與消息傳遞神經網絡(J. Gilmer et al. , 2017)的消息傳遞功能,節點更新功能和讀出功能。
GNN可以做什么?
GNN解決的問題可以大致分為三類:
一些實際的應用
在了解了GNN可以執行哪種類型的分析之后,您一定想知道我可以對圖進行哪些實際應用。好了,本節將為您提供有關GNN實際應用的更多見解。
自然語言處理中的GNN
GNN被廣泛使用在自然語言處理(NLP)中。實際上,這也是GNN最初開始的地方。如果您中的某些人具有NLP經驗,則必須考慮到文本應該是一種序列或時間數據,則可以由RNN或LTSM最好地描述。然而,GNN則從完全不同的角度解決了這個問題。GNN利用單詞或文檔的內部關系來預測類別。例如,引文網絡嘗試根據論文引文關系和其他論文中引用的詞來預測網絡中每篇論文的標簽。它也可以通過查看句子的不同部分而不是像RNN或LTSM中那樣的純粹序列來構建語法模型。
計算機視覺中的GNN
許多基于CNN的方法已經在圖像中的目標檢測中達到了最新的性能,但是我們還不知道目標之間的關系。GNN在CV中的一種成功應用是使用圖來建模基于CNN的檢測器檢測到的物體之間的關系。從圖像中檢測到目標后,將它們輸入到GNN推理中以進行關系預測。GNN推斷的結果是生成的圖,該圖對不同目標之間的關系進行建模。
Scene Graph Generation. Figure from D. Xu, Y. Zhu, C. B. Choy, and L. Fei-Fei, “Scene graph generation by iterative message passing,” in Proc. of CVPR, 2017
CV中另一個有趣的應用是根據圖描述生成圖像。這可以解釋為幾乎與上述應用相反。圖像生成的傳統方式是使用GAN或自動編碼器生成文本到圖像。從圖到圖像的生成不是使用文本來描述圖像,而是提供了有關圖像語義結構的更多信息。
Image generated from scene graphs. Figure from J. Johnson, A. Gupta, and L. Fei-Fei, “Image generation from scene graphs,” in Proc. of CVPR, 2018 我想分享的最有趣的應用是零樣本學習(ZSL)。您可以找到這篇文章,以全面了解ZSL。總之,ZSL是想學給定的一類分類NO(目標類別的)訓練樣本。這是非常具有挑戰性的,因為如果沒有給出訓練樣本,我們需要讓模型在邏輯上“思考”以識別目標。例如,如果給了我們三張圖像(如下圖所示),并告訴我們在其中找到“ okapi”。我們以前可能沒有看過“okapi”。但是,如果我們還得到信息,“okapi”是一種有四只腿,斑馬紋皮膚的鹿面動物,那么我們就不難確定哪個是“okapii”。典型的方法是通過將檢測到的特征轉換為文本來模擬這種“思考過程”。但是,文本編碼彼此獨立。很難對文本描述之間的關系進行建模。換句話說,圖表示很好地模擬了這些關系。
Figure from X. Wang, Y. Ye, and A. Gupta, “Zero-shot recognition via semantic embeddings and knowledge graphs,” in CVPR 2018
其他領域的GNN
GNN的更多實際應用包括人類行為檢測,交通控制,分子結構研究,推薦系統,程序驗證,邏輯推理,社會影響預測以及對抗攻擊。下面顯示了對社交網絡中人際關系建模的圖表。GNN可用于將人們分為不同的社區群體。
結論
我們在本文中介紹了一些圖論,并強調了分析圖的重要性。人們總是將機器學習算法視為“ 黑匣子 ”。大多數機器學習算法僅從訓練數據的特征中學習,但沒有實際的邏輯可以執行。使用形,我們也許能夠將一些“邏輯”傳遞給機器,并使其更自然地“思考”。
GNN仍然是一個相對較新的領域,值得更多的研究關注。它是分析圖數據的強大工具。但是,它不僅限于圖中的問題。它可以很容易地推廣到任何可以通過圖建模的研究中。圖建模是分析問題的自然方法。
參考鏈接: