GCN基礎知識 ·
其實有關GCN的相關基礎知識在網上都查的到,后面涉及到的數學知識還是十分復雜的,這里就不詳細推導每一個步驟。這里就直接給出一個最終的結論,也是Kipf and Welling在2016年 GCN領域最經典的paper《Semi-supervised classification with graph convolutional networks.》里對原始的基于拉普拉斯譜變換進行了一些簡化得到最終的圖卷積公式:
,其中是一個對稱歸一化矩陣, ,,其中是單位矩陣,是臨接矩陣,是矩陣 的對角度矩陣,是第t層的中間隱層表示。即初始的輸入是每一個node節點的embedding表示,這樣最后GCN輸出的最后一層節點的Embedding包不但包含了節點的初始特征還包含了網絡的拓撲特征。從GCN最基本的變換公式可以看出,我們需要做的是結合業務場景定義的是臨接矩陣和節點的初始狀態。
上面其實是最基本的GCN的函數形式,以后所有的GCN變體都是在這個基礎之上進行衍生,比方說當的時候,就是另一種形式的GCN。
下面從2篇paper出發,講解一下GNN在反欺詐領域的落地應用。
一、《Heterogeneous Graph Neural Networks for Malicious Account Detection》
即在異構網絡中使用Graph Neural network去進行欺詐。根據分析出的欺詐賬戶規律,總結出黑產用戶活動的2個規律:
Device aggregation:設備聚集性,即黑產手中的設備資源是有限的,這里的設備是一個抽象的概念,具體化可以有IP、設備ID、賬戶等信息。
Activity aggregation:活動方式的聚集性,即由于黑產設備是在同一批的控制之下活動的,那么這些賬戶之間一定存在著較大的共線性。
理解這兩個黑產活動規律是很重要的,后面的模型都是針對這兩個規律進行構建。
正如paper標題中所說的,論文提出的是一個異構網絡,即網絡中的節點包括了2類:Account(賬戶) 和 Device(設備資源)。如果網絡中某一個節點account i在設備節點device j上有登錄或者注冊等行為(這里的account可以認為是主維度字段,device可以認為是關聯維度字段),那么節點i和j之間就有一條邊(個人認為這樣的定義有點太寬松了,應該加上時間窗口),這樣N個account和device的節點就可以形成一個網絡,其臨接矩陣的表征形式為。由于這里面的設備是一個抽象的概念,如果具體的話可以有IP、設備ID、阿里設備指紋等形式(假設具體的設備字段個數為D),所有針對某一類具體的設備字段會有一個sub-graph即,而的鄰居矩陣維度即頂點數和一樣,只不過只留下了和當前type d有關系的邊。
接下來我們要定義節點的初始狀態矩陣,這里可以發現矩陣的行數是節點的數量N,而列數是。其中是當節點為account時,將數據按照時間劃分出個time slot(在實際工程中,可以加入其它和節點相關的特征進去),并統計每一個time slot中的操作次數;而則是當節點為device不同關聯維度的種類數即type d的數量,這里采用的是one-hot編碼的方式。由于是異構網絡,即一個矩陣中存在含義不同的節點,但是為了保證每一個節點的維度都一致,多余的維度即針對account 節點來說就多余了為,對于device 節點來說就多余了維,都采用填充0的方式進行對齊。
下面就是圖神經網絡的遞推迭代公式:
其中屬于圖神經網絡的中間層輸出,和屬于模型參數,隨著模型一起學習。最后的損失函數,即當T層之后,可以使用少部分標注數據進行網絡參數的學習,最終的損失函數是交叉熵形式為:
這里作者發現,在公式一中,可以使用attention機制來優化效果,即優化升級公式二引入attention機制,得到
其中,,其中。
二、《GeniePath: Graph Neural Networks with Adaptive Receptive Paths》
從題目中可以看到“Adaptive Receptive Paths”,即自適應的最佳搜索路徑。
這也是本篇paper最大的創新點和貢獻點,創新點是相對于基礎的GCN來講的,從上面可知基礎的GCN迭代公式形式為:,如果神經網絡的層數為T,那么T層的節點輸出就是考慮了距離當前節點t距離為T的所有鄰居,為了增加考慮的鄰居數,可以不斷的增加T,但是過多的層數會導致模型參數量過大,導致模型在訓練的時候難以收斂,故有些paper會結合殘差網絡的概念引入殘差網絡,即。
但是這樣依然是會有2個比較顯著的缺陷:
并不是所有鄰居都是同等重要的(對應paper里的breadth 方向的Adaptive Receptive Paths);
并不是所有深度搜索的路徑都是一樣重要的(對應paper里的depth方向的Adaptive Receptive Paths)。
上圖形象的說明了adaptive receptive path的概念,即目標target節點周圍的鄰居以及對應更遠的hop的路徑重要程度是不一樣的,圖中有淺藍色底色的區域就是adaptive receptive path。哪些鄰居節點和更遠的延伸路徑是adaptive receptive path,這就是本篇paper要解決的問題。
基于此,paper提出了基于breadth 和depth兩個方向自適應優化的算法框架:
//這里需要注意的是, breadth function需要具備permutation invariant的性質,即無論鄰居節點輸入的順序如何, breadth function生成的結果都是一樣的
具體來說:breadth function 形式:,其中
depth function 形式(很大程度上借鑒了LSTM的信息流控制形式):
對于每一個節點i來講,這兩個步驟的具體表現如下圖所示:
圖中操作代表了。
另一種綜合考慮breadth function和depth function的變體Variant形式
即將depth function的操作推遲,首先僅僅按照breadth function操作對原始輸入數據進行T層轉換,得到每一層的輸出結果向量,接下來將序列輸入到下述變換公式中:
其中
這兩年GNN以及GCN的概念還是非常火的,個人經驗是,我們在運用的時候,網絡層間的迭代公式使用目前常用的幾種就可以,作為算法工程師的我們唯一需要注意的地方就是:
定義好臨接矩陣AA的形式;
定義好節點特征狀態XX的初始形式。
接下來就可以使用GCN來直接進行節點的分類,或者提取節點的全面特征,供后續的分類所用。
作者有話說·
本文主要參考了阿里螞蟻金服團隊的《Heterogeneous Graph Neural Networks for Malicious Account Detection》和《GeniePath: Graph Neural Networks with Adaptive Receptive Paths》,兩篇論文均使用了當下最流行的Graph Neural Network 相關知識。
隨著GNN技術應用于反欺詐領域,GNN以及相關變種模型以強大的網絡拓撲表征能力,挖掘出具有欺詐社區屬性的黑產團伙,也使得反欺詐挖掘算法邁上了一個新的臺階。
原文標題:“芯”分享 | GNN在反欺詐領域的落地應用
文章出處:【微信公眾號:芯盾時代】歡迎添加關注!文章轉載請注明出處。
-
網絡安全
+關注
關注
10文章
3155瀏覽量
59701
原文標題:“芯”分享 | GNN在反欺詐領域的落地應用
文章出處:【微信號:trusfort,微信公眾號:芯盾時代】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論