圖計算在翼支付風控場景的應用
一、翼支付業務介紹
首先簡單介紹一下翼支付,作為中國電信旗下的子公司,負責包括支付方案等金融板塊的工作。具體來看,翼支付主要有三大業務場景:支付場景、電商場景和信貸場景。
對于風控領域來說,其挑戰是業務中面臨的諸多風險。
首先是支付場景,常見的有欺詐類(涉及到賬戶盜用、銀行卡盜刷),還有洗錢類,犯罪團伙會利用金融機構來做洗錢的平臺,以及賭博套現類等。
第二個是電商場景。電商場景與之相應的更多的是營銷套利的風險,例如做發放補貼或者消費券的工作時,補貼或消費券存在被羊毛黨薅走,或者被虛假的交易盜用的風險。
第三個是信貸場景。信貸主要分兩種風險類型。第一類是信用類,是對人的借貸能力和還款能力的評估。第二類是欺詐類,信貸場景存在中介的團伙欺詐或者惡意的騙貸行為,會對整個機構和金融秩序造成非常大的影響。
我們的對手統稱為黑產。黑產從規模上來看,是一個具有千億黑產值和約 160 萬的從業人員的團體。從分工來看,整個黑產的鏈路分工明確,包括最底層的物料提供商,到技術的提供商,再到相關從業人員共同構成了一個完整的鏈路。
黑產具有技術多樣,分工明確的特點。圖中是我們經常遇到的一些黑產對手使用的設備,比如貓池、卡池、云手機,是為了大規模地注冊賬戶使用的。還有一些打碼平臺,可以自動地識別驗證碼。以及用來跑分的設備模擬器等。根據對手的不同形式,我們會從風控的體系上做出針對性建設。
風控作為一個整體的解決方案,不只有模型這一部分。我們從底層的數據加工到形成一套實時的風控決策引擎,以及一些分析模塊、預警模塊和系統處置管理來共同完善整個金融業務流程中的風控體系建設。
除了圖以外,當今的很多 AI 技術已經在風控中有較好的應用。比如 CV 領域做的視覺反詐。圖中左下的兩張圖是在實際業務中遇到的,在用戶準入的時候,欺騙者會通過合成虛假的身份證圖像,或翻拍圖像來實現用戶的準入。對此,CV 可以有針對性地應對。
接著,是無監督的能力,在電商場景下,很明顯的特點是數據通常是無標簽的。對此我們有一套基于無監督的黑產團伙的挖掘方案。
同樣,有監督的模型也會運用在風控中,比如 XGB,LGB 等模型是在欺詐或者信用場景下,有明確的樣本標簽時使用的方法。
還有一類是聯邦學習的方法,從監管的角度來看,對用戶隱私的保護和數據合規要求更加嚴格。模型的好壞,數據占很重要的成分。把更多的數據在安全的、合規的情況下使用起來,是我們基于聯邦學習的聯合建模的能力。
那么,為什么說圖學習是風控業務的重要解決手段呢?我們先來看兩個案例,這是我們在業務中發現的兩種經典黑產團伙模式。第一類是大規模的團伙(見左圖),考慮這個黑產團伙以黃色點為中心節點,假設該節點是一個設備,我們就可以通過發現該設備登錄了很多賬戶來判斷其為異常節點。但是作為傳統角度識別方法來說,可能就到此為止了,因為無法看到一個完整的圖結構。在圖學習的視角中,一個完整的圖結構中,黑產節點通過一些中間節點關聯到更大更多的團伙,這是通過傳統的方法看不到的。
第二類是如右圖這種長鏈路的團伙。黑產是狡猾的,會與風控做對抗攻擊。當我們對單賬戶做了非常嚴格的限制,導致黑產不能做明確的攻擊時,黑產會轉換思路。在圖中,從藍色的節點來看會覺得這是個正常的用戶,因為他具有非常少的關聯。但當我們做長鏈路拓展的時候,就可以發現它們是通過這種細長的環狀結構彼此串聯在一起,是一個風險團伙,會對業務進行攻擊。
當前黑產的特點,第一個是團伙性。團伙性帶給我們的挑戰是傳統規則模型以單主題為預警對象,并不能發現風險的全貌。第二個是隱蔽性。無論是規則體系也好,模型體系也好,都會有一個閾值,閾值之上的我們認為是風險。黑產就會通過不斷地試探這種攻擊,對它的操作行為進行包裝,讓我們難以識別,但其中也有難以隱藏的關聯關系,是可以通過隱蔽性挖掘進行識別的,這是圖學習非常擅長的。第三個是實時性,比如一個用戶被騙了,給黑產的轉賬是很快的。我們對轉賬的攔截需要做到更快的響應。
二、翼支付圖風控體系
簡單來說,以點邊為基礎單元構成的數據是圖數據。比如金融業務中,賬戶,設備,銀行卡,身份證都可以是圖中的點。不同點之間的關系,包括轉賬關系,登錄關系,或者賬戶間的發紅包行為或者幫人助力等任何關系都是圖中的邊,共同構成圖數據。
圖算法可以分成兩類。一種是基于圖論的傳統算法,像連通圖、Louvain、標簽傳播和 PageRank 等。另一種是基于深度學習和神經網絡圖算法模型。比如 Node2Vec、GCN、GAT、GraphSage 等基于深度學習的方法。
關于圖數據建設,我們使用分布式的圖數據庫來做數據的存儲。在支付、金融和通訊三個業務板塊,根據業務的需求建設不同體量的圖數據庫。
數據之上我們需要一套系統來承載更多的功能,因此,我們實現了一套整體的知識圖譜解決方案的開發:翼支付云篆知識圖譜。它包括前端圖數據可視化的展示、基于圖譜的案例分析,基于圖的查詢管理功能。
如圖是翼支付圖譜的整個體系建設,對于底層數據,我們有對應的圖譜構建平臺。平臺之下是一套分布式的存儲系統,因為這種百億級的體量是需要分布式的方案來做的。接著會有整個應用工具庫,工具庫主要是實現分析、路徑挖掘、檢驗探索、可視化等功能。工具的底層是算法能力,包括傳統算法和深度算法的實現,用來作為支撐工具庫的基礎。我們把這套系統應用在整個金融、支付和通信反查的業務當中。
三、圖學習算法及應用
我們有三部分算法體系,一是基于傳統圖論的方法,我們稱之為基于 SubGraph 的子圖挖掘。二是 MetaPath,是基于圖模式匹配的。三是基于深度學習圖神經網絡(GNN)的。
首先介紹 SubGraph 子圖挖掘方法。這里舉兩個例子,通過左圖某大規模團伙案例的可視化圖可以發現,黑產團伙攻擊的行為具有規模大、破壞性強、隱蔽性高的特點。此外,我們在生產中發現這樣一個情況:在信貸業務中授信額度認證環節,申請的人提交認證照片的背景是非常相似的(見右圖),這就說明它們是在同一個地方進行的認證,可以推斷出有很大可能性存在中介騙貸的行為。
那么,為什么要使用圖計算作為解決方案呢?
第一,從同質性的角度來考慮,若一個節點和一個非法節點關聯密切,無論這個節點是人,設備,還是資質都大概率是非法的。從傳播性的角度來說,這是我們認為可以用基于社區發現方法的重要前提。
第二,從稀缺性角度。用圖數據一定要保證它的數據上是存在關聯性的,關聯性的產生原因很重要的就是黑產資質的稀缺性,比如身份證銀行卡,貓池卡池這種設備。對黑產來說,為了降低作案成本,他們會把生產資質做復用,比如不同的手機號去匹配不同的身份證注冊銷戶,再重新匹配注冊。這個過程中就難免留下一些綁定關聯關系。同樣,在洗錢或者詐騙中涉及到資金轉移,通過轉賬或商戶消費一系列的行為,都一定會留下資金鏈路的蛛絲馬跡。因此,同質性和稀缺性是我們做子圖挖掘的思路。
我們面臨的挑戰首先是將黑產識別全,然后是在于識別的效率。因為對于風控業務來說,我們想實時攔截就要在毫秒級完成整個任務的響應。因此我們的工作基于實時的子圖挖掘展開,來滿足業務對實時性的要求。
下面介紹實時子圖劃分的方案,我們借助外置緩存 Redis 來滿足實時性的要求。方案的第一步,我們會基于離線數據將整個群組的劃分和初始信息的存儲好,再放一份到外置緩存中。接著,對于每日增量數據帶來的圖譜結構的變化,分不同情況進行對應群組計算,保證 Redis 中群組編號為最新映射,從而降低圖譜本身群組計算的壓力。
對于群組劃分方案,如流程圖中所示,在更新實體時如果發現該實體為已屬于多個群組的實體,則對外置緩存進行以下操作:添加新的群組到緩存中,合并所有該實體屬于群組,公式為:
RESULTSET=SETAMATCHED ∪SETBMATCHED ∪?∪SETNMATCHED
在業務中,我們有很多寶貴的專家經驗,我們要做的就是如何運用好這些經驗來精準地識別風險。通過充分利用圖數據庫 AP 和 TP 的能力,我們實現了查詢的離線支持、實施規則推理的部署、實時的數據入圖、毫秒級響應等功能。
接著我們來看這樣一個案例:營銷行為中,營業員故意隱瞞活動信息,將高價值營銷物品私藏,用低額轉賬代替,這是典型的活動欺詐,同時,隨著營業員反偵意識的提升,可能持有多個賬號,一個進行辦理訂單另一個進行轉賬,規避風控檢查。對此,業務專家抽象出 schema 圖,圖中的每個流程看似正常,不過結合在一起就會發現符合業務專家經驗的欺詐風險模式。我們把這個模式抽象出來基于 Cypher 進行表達,可以為整個庫上的實時查詢能力做支撐。
同樣,對于非技術背景的同學,我們也專門做了一個模塊,可以通過點選和拖拉拽操作,把想要的節點和模式勾選出來,從而實現進一步的條件過濾和篩選,以提升工作效率。
在洗錢的場景下,會存在圖中這種分散轉出、集中轉入的模式,對于圖來說,其的本身的查詢能力可以很好地勝任對異常結構的描述。
我們基于業務經驗梳理出來異常的單元結構,并在全圖上進行統計。得到數據后我們可以做以下兩個工作:第一是異常檢測,將模型輸出的 Embedding 和其他的屬性拼接,去進行分類或者聚類去判斷賬戶是否異常。第二是基于不同 Pattern Cnt 做用戶的風險的評分,再把這種評分輸入下游的機器學習分類任務,可以很好地提升已知的業務信息和已知其他的機器學習模型的推理的準確率。
最后是基于 GNN 的方法,對于洗錢的案例,較難用一種固定的單一模式來描述,因為實際業務中是千變萬化的。因此,問題來了,對于非固定 pattern 的拓撲結構和屬性信息,應該如何精確地表達識別呢?對此,我們想到了 GNN 的方法。GNN 最擅長的就是我們把拓撲信息和屬性信息結合起來,需要面對的挑戰是在數據量非常大的部署 GNN 模型,比如在百億級的體量上直接跑一個 GNN 的模型。如果是純內存非分布式的方案,成本消耗將非常驚人,整個訓練收斂難度非常大。
對此,這里有兩個思路,第一是利用支持 batch 的架構。第二,是從降低數據上的思路上解決問題,來篩選掉大部分的正常用戶。第三是基于用戶的行為 pattern,可以通過基于時間的劃分來觀察每個時間段用戶的行為分布的 pattern 來判斷洗錢者和正常人的區別。
如圖是我們整個 GNN 的方案。首先是對圖做了切割,把大量正常用戶過濾掉,剩下的這一部分就是我們覺得有風險的用戶。從數據層面來說降低了計算壓力。下面又分了三部分,第一部分是 GNN 的模型來產生用戶的評分。第二個就是基于資金折損的角度得到的用戶評分。第三部分就是基于用戶 pattern 得到的評分,求和后得到 Risk Score 整體洗錢風險的總分。
四、未來展望
最后想跟大家一起探討一下我們未來可能會有的應用方向。
在數據方面。我們其實會有兩部分的需求。第一部分是大規模分布式的原生圖數據庫,因為用單機不可能承載這么大的數據量。第二部分是數據庫的實時插入和保持數據一致性的能力以及時序圖數據能力,因為群組會隨時間維度信息變化,這種演化的時序信息在數據庫存好,才能為后面做更好的應用。
在系統方面,我們會側重兩點。第一個是自動規則挖掘。我們現在已經可以很好地把專家的經驗通過人工的方式做挖掘,那么在我們構建的圖業務數據中,自動地挖掘出可疑的規則,來極大地降低人工工作量,是我們努力的方向。第二個是可解釋性的預警,對于金融機構,面對的用戶的投訴監管,整個檢出的準確率可能受到質疑。那么如何利用好圖的可解釋性,也是我們在系統方面的挑戰。
在算法方面,第一是分布式的圖訓練框架,基于 batch 的方式構建。比如 DGL 或者 PyG,他們有很好的分布式訓練框架方案,來真正實現工業界上大規模數據的訓練。第二點是多模態異構數據的融合,我們現在更多依賴 node attribute 信息,未來還有一些基于 NLP 的信息,怎么把這些信息融合到一個框架里面來做 GNN 訓練,更好更全面地識別風險,也是會一個很好的方向。第三塊就是圖的聯邦學習,圖聯邦重要在于關聯性的構建,如何在數據彼此不完整的情況下,把這種各方的關聯性的數據基于聯邦學習的方式融合到一起,也是我們探索的方向。最后一點是對監管的要求。我們監管上做了很多的工作,包括行業的一些風控和金融算法的認證和標準的制定工作,對于對抗攻擊的魯棒性,對用戶隱私的保護,對算法公平性的保障等,這同樣是我們未來的一個大的趨勢。
翼支付這些年在 AI 領域做了一些積累,如果有同學或者公司對此感興趣,我覺得我們可以一起來探索。
五、問答環節
Q1:GNN 有和 GBDT 這種樹模型融合嗎?有沒有相應的落地經驗?
A1:有的,一般做法就是在 GNN 的最后一層,也就是 Embedding 之后的那一層的向量,拿出來作為節點特征信息的補充方案來和 GBDT 做融合以實現分類任務。
Q2:在 GNN 反洗錢的圖中,實體和邊大概是個什么量級?
A2:為了使服務端的壓力減小一些,我們首先會盡可能把大量的正常用戶過濾掉,最后實際用于 GNN 的大概是百萬級的量級。