微信支付基於圖計算的反欺詐實踐

分享嘉賓:張傑 騰訊 高級研究員

編輯整理:王彥磊 靈數科技

出品平臺:DataFunTalk

**導讀:**微信支付作爲一個國民級工具,用戶量級很大,而且用戶黏性也很強,這麼多用戶每天在用,就會產生大量的交易、連接。黑產對技術的嗅覺是非常靈敏的,如果一個產品連黑產都沒有關注的話,那這個產品很難稱之爲好產品。

我們每天也和微信支付大量的黑灰用戶對抗,而且是在一個十億結點,萬億邊的網絡進行對抗,因此我們需要用到網絡化的利器:圖算法和圖數據庫。這次分享,希望把我們之前的圖計算應用的一些經驗,還有一路走過的坑,跟各位分享。主要內容包括:① 風控新視角;② 圖計算平臺;③ 支付的實踐;④ 科技向善成果。

01

風控新視角

1. 風控的全新視角:各種騙術層出不窮

最近有一位國外的馬老師(馬斯克)很火,雖然他的產品在國內爭議非常大,但是在美國,捧誰誰火,比如狗狗幣推成天狗,帶貨能力非常強,這種一夜暴富的情緒傳到國內,會發現如果平時聊天不聊 “幣”,可能跟朋友就聊不下去了。所以最近發現詐騙份子利用這一點,推出各種比如空氣幣傳銷幣等,這些都是新型的資金盤,也成了我們最近風控反詐的熱點。

2. 特徵工程還是網絡工程

正因爲有各類層出不窮的新型詐騙手法,我們馬上就會碰到一個痛點:用戶畫像、特徵工程不好使了,以我們微信支付爲例,我們這麼多年也是在不斷的往上堆特徵,特徵數量已經達到了 6 位數,這時你會發現特徵堆積的越多,效果提升的其實並不明顯,這是第一個問題,另一個問題是,特徵堆積的越多,成本會越高,如右圖的指數曲線一樣。

舉個用戶畫像的例子,比如研究一個人的消費習慣,之前按照天分析,後來會按小時去分析,或者說發現兩個畫像特徵特別有用,會考慮把兩者結合起來,做一個交叉特徵,這樣特徵數量也會漲的特別快,特徵數量增長會帶來很多問題,首先是存儲的問題,還有特徵管理的問題,包括配置特徵告警、特徵穩定性、生命週期等等,這一系列的配套工程會讓我們的成本越來越高,所以從個體的特徵工程到全局的網絡工程的轉變,會給我們帶來新的視角,新的知識。

3. 網絡視角:個人 vs 團伙

另外一個視角是我們看待黑產是個體還是團伙,以前我們印象中黑產可能是一個非常聰明、技術非常好的獨來獨往的黑客,深諳 SQL 注入、DDOS 攻擊等技術,通過各種手段敲詐勒索很多錢。實際上從警情案例來看,黑產大多是右圖的這種情況:團隊有很多頂尖的技術人才、甚至還有北大畢業的、不少黑產躲在山溝裏辦公,反偵意識很強,黑產頭目很會打雞血,內部分工明確,還有大量的手機卡、貓池,身份證和銀行卡等作案工具。互聯網崇尚合作,所以現在黑產更多的是團伙作案,所以我們就需要從個體視角轉換到團伙視角,而且要相信團體能量遠比個體大得多。

拿我們自己舉個例子,如果我們只關注個人的技術成長,我們對行業,對社會的影響力就比較小,但如果我們有勇氣走出去,和外界建立更多的連接,我們對社會的影響力就大,這裏也感謝 DataFun 提供這麼好的平臺,讓我們能跟更多的同行建立起連接。

4. 網絡建設:點線面怎麼鋪開

既然對抗新形勢下的風控需要用網絡去做,問大家一個問題,大家覺得理解網絡難不難?如果研究一個個體難度爲 10 分,大家覺得研究一個關係對難度是多少分?答案是 100 分,因爲是兩兩之間產生互動,特徵產生交叉,所以是 10*10=100 分。如果是一個 100 人的團伙,研究網絡難度最大是多少?答案大概是 100 分乘以 10000 倍,因爲是 100 個結點的全連通圖最多會形成 9900 條邊。即便對於這種節點數不多的圖,研究網絡的難度可以是研究個體的難度的 10 萬倍,所以我們研究網絡時,既要認識到它對風控有巨大的收益,也要理解研究網絡難度是非常大的。

02

圖計算平臺

主要介紹微信支付圖數據平臺的建設和經驗。

1. 微信支付圖數據計算平臺:三駕馬車

圖數據計算平臺有三駕馬車,第一駕馬車是圖計算引擎,第二駕馬車是存儲引擎,也就是圖數據庫,第三駕馬車是算法設計,也就是是針對業務去設計算法。

2. 微信支付合作共建的圖計算平臺

安利兩個好用的圖計算平臺,都是騰訊開源且在 GitHub 高星的項目,一個是 Angel,一個是 Plato(柏拉圖),我們都有參與共建。

這兩個平臺都有相應的開源項目,大家可以下載使用。對於大多數公司來說,開箱即用就會有一個比較好的效果,而且他們技術諮詢服務也做的不錯。

3. 圖計算平臺:爲什麼速度是第一考慮

這裏分享一個經驗:我們在選用圖計算平臺時,首先考慮的是速度,其次是不折騰。舉一個我自己日常跑算法的例子:在某個風控場景針對某一批數據樣本訓練某一個圖算法,就需要做大量實驗(用不同的參數組合,如圖所示),還不包括前面的預演和後面的上線。第一個實驗的第一輪花費 3000 多秒,也就是大概一個小時,到最後第七組的實驗參數,50 輪花了大概 8 到 10 個小時,所以可以看到在做算法實驗的時候,如果沒有好的計算平臺保證運行速度,就很難得到一個較優的結果。

比如圖中的上半部分,訓練的輪次越多,效果反而越差;而我們期望是得到下半部分的結果:隨着訓練迭代次數增加、效果越來越好,但這種參數組合可能要實驗非常多次才能得到。這也告訴我們圖算法上限是非常高的,需要反覆不斷去嘗試才能把它用好,因此計算速度是擺在第一位的。

4. 圖數據庫:高效分析案例的利器

我們之前跟公司的 Angel 團隊合作共建了騰訊的圖數據庫 EasyGraph,它可以做到更好的查詢和更直觀的展現,這樣我們分析案例,特別是挖掘團伙就非常方便了。

舉個例子:左邊是我們日常寫 SQL 去跑,花了 17 分鐘,右邊使用圖數據庫查詢,只花了 1 秒鐘,而且把關係網絡做了非常直觀的展現,EasyGraph 底層是借鑑 S2Graph 圖數據庫進行開發的,這是我們內部使用的其中一個圖數據庫;外部的圖數據庫個人推薦的是 TigerGraph,我們通過支付的數據去對比市面上的幾款圖數據庫,TigerGraph 無論是單機還是分佈式模式,性能都是很優秀的。

5. 圖算法設計:基於業務去思考和創新

圖算法設計方面,我們主要做了以下探索:包括團伙識別、圖神經網絡、傳播染色、異常檢測,這幾類算法都是針對我們自己的業務去思考和創新的。

03

圖計算的實踐

1. 樣本增強

我們平時參加 Kaggle 算法競賽,比較頭疼的是樣本通常很少;對於風控場景的建模,這個問題可能更加嚴重:樣本少,或者很難收集到高質量的樣本,就算在外面購買,質量也不一能保證或者適用我們的場景,但是風控場景的複雜性本身又需要大量的數據才能學習到好的模型,一個數據增強的好辦法就是通過網絡關係去實現。吳軍曾經提到 Google 挖了一位做 NLP 的教授,任務是提高中日英翻譯的準確率,他的做法跟以前優化模型的思路不一樣,不斷蒐集數據,拿到比以往建模多一萬倍的數據,這讓他一下領先了第二名 5 個點,而此前每年的進步大概是 0.5 個點,換言之他已經領先第二名十年,這就是樣本增強的一個價值。

所以遇到樣本少的情況,可以通過複雜網絡做一個”lookalike”,找出跟樣本相似的用戶,這往往對訓練模型有很大的幫助。

2. 傳播染色

跟傳播有關的算法,最著名的應該是 PageRank 了,一個算法讓 Google 從一個很小的公司變成了互聯網巨頭。舉個身邊傳播染色的例子,有位同事發現最近門禁掃臉的時候經常掃不出來,因爲比入職的時候長胖了一圈,互聯網員工長胖的原因通常都是因爲加班多,人一到晚上自控力就會降低,很難拒絕高卡路里的食物,一開始我們招呼他去喫炸雞他也是拒絕的,但最後變成是他最積極了。所以說壞習慣傳播的是非常快的,如果你在一個羣體裏,有很多習性不好的人,你可能很容易被影響。我們在風控場景做傳播,染色擴散的時候會用到這樣的思想。以前反賭的同事會去賭博平臺收集一些惡意的二維碼,然後通過這些二維碼去做傳播、染色擴散,然後挖掘到更多的人和二維碼,後來我們自研了一套 Personalized  PageRank 算法,對黑灰種子用戶進行擴散,效果也非常好,大家可以在網上搜一搜這個算法。

3. 基於時序的異常挖掘

基礎版:

舉一個挖掘套現商戶 / 用戶的例子,套現商戶有一個明顯的特徵:對於一個線下面對面商戶,交易對象的地域應該是比較固定的(比如賣煎餅果子的小商家,付款方都是附近的居民和上班族),但如果一個線下面對面商家是涉及套現的,他的交易對象就有比較明顯的地域多樣性,這個多樣性可以用香農係數來定義,一般套現商戶的香農係數比正常的商戶大很多(一般是 3 個標準差)。找到高置信的套現商戶後,我們再分析跟這些商戶交易過的用戶過去 120 天的消費支出,通過 HP 濾波器發現交易異常點,如果這些交易異常點恰好是在異常商戶消費,通過一定的累計命中次數就可以說明他是一個高置信度的套現用戶,這種是比較傳統的時序挖掘。

進階版:

但 HP 濾波器畢竟是一種非參數方法(非參數方法在具體應用中不可避免地依賴於調節參數),如果 HP 濾波器過於粗糙,我們可以通過 T-LSTM 融合時序信息同邊信息做卷積,結合 ego network 的概念,自研了新的算法 EgoTLSTM,這樣就解決了 HP 濾波器的問題。

4. 團伙快速挖掘

團伙挖掘也是風控中比較重要的工作,我們的工作也分爲基礎版和進階版

基礎版:

基礎版比較簡單但比較耗時,也就是通過網絡去關聯更多的用戶。舉個例子,我們可以針對一批高惡意樣本,去挖掘他們的資金關係鏈,通過各種關係(資金,證件,設備,環境等)去擴散,再通過一些可信關係去做過濾,通過觀察用戶的資金流向,挖掘出相關的團伙和並找出涉及資金較大的頭目。

進階版:

進階版是用了一個簡單實用的方法:connected component,目前用到的是無方向的弱的連通圖,這種算法可以快速把網絡劃分爲一個個小的連通子圖,再計算子圖的密度或者聚集係數進行後過濾,得到的連通子圖就會是一個關係緊密的小團伙,最後通過我們自研的 TPNet 這種角色識別算法就可以得到團伙裏面的成員構成。比如一個殺豬盤中就包括了資料組、話務組、技術組和洗錢組,可以看到團伙不僅關係緊密且分工是比較明確的。

順便補充一點,我們經常接觸的 Louvain 算法,在大數據下很容易形成怪物社區,在業務中較少用到。

5. GNN 在設備網絡的應用

用戶 - 設備網絡在我們支付各種風控場景中的應用效果也是非常好的,大家也可以去搜索騰訊、阿里相關的論文,無論在交易欺詐,惡意賬號識別,用戶 - 設備二分網絡都是非常有用的,原因是用戶的設備是比較私人且有成本的,而人與人的連接往往帶有大量的隨機性。但是構建設備網絡也是要降噪的,不僅是對邊的降噪,也包括節點的降噪,包括剔除山寨機這類有噪音的節點。

圖神經網絡算法一般分爲兩種,一種是 random walk ,比如大名鼎鼎的 node2vec,另一種是 neighborhood aggregation 比如 GAT,Graphsage,我們比較推薦使用鄰居匯聚這種算法,因爲有監督的學習我們比較好把握優化的方向。舉個例子,下面這個圖有 1 到 8 個點,5,6 是標註的異常的點(因爲圖計算都是半監督學習,所以我們也需要做一定的標註),然後 1,2 這兩個點跟他們是多跳關係,可以去掉,這就是做了一步降噪。我們跑圖算法,最終還是要把一個異構圖變成一個同構圖的,如上圖,這個例子雖然只減少了 2 個節點,但生成同構圖的邊可能會少一半。通過實驗對比,如果只用 GNN 來跑有監督學習的話,AUC 是 0.92,比 XGBoost 跑畫像特徵得到的 0.93 稍差,但如果把 GNN 學習到的個體 Embedding 拼接到原有的畫像特徵,再跑 XGBoost,AUC 會有大幅度提升至 0.97,這也說明了網絡結構特徵能給原有的個體畫像特徵帶來明顯的增益。

6. 團隊在圖算法的探索和創新

再講講我們的團隊,他們都是一些很聰明的,來自於南洋理工、香港理工和北大清華的博士,他們也有很多新的想法,比如說 motif 是一個沒有方向的東西,但是我們同事就把他變成了一個有方向的,還附帶了時序,比如說左圖的第 3 個 motif 是一個套現特徵。另外一個創新是我們同事針對支付網絡優化 GNN,引入了 Self-Training 和 Joint-Learning 兩個半監督圖算法,綜合得到一個效果更好的圖算法(如右圖所示)。

04

科技向善成果

最後展示一下我們科技向善的成果。上市公司對股東的承諾都是保證收入、利潤的增長。但今年不太一樣,公司投入了非常大的資源,甚至專門成立一個科技向善的部門,希望通過互聯網技術,讓這個世界效率更高,社會變的更公平。所以我們做了很多事情,協助國家開展反詐反賭反洗錢等工作,去幫助很多弱勢羣體,我們也收到了大量感謝信和感謝錦旗。我們身處其中,感受到非常強的使命感和意義,希望以我們的技術所長爲弱勢羣體多做一些事情。

05

問答環節

Q:老師用的是什麼圖數據庫?

A:用過兩種圖數據庫,一種是底層基於 S2Graph 開發的,我們內部叫 Easygraph, 經過 3 年打磨,已經優化的非常好,界面也很友好,但目前僅限於內部使用,如果是外部的話可以考慮 TigerGrpah,還有一個叫 Nebula Graph,體驗也不錯,也是開源的,推薦去試試。

Q:圖是同質還是異質的?

A:在微信支付來說,很多有用的圖都是異構的,比如人和物,比如說用戶和商戶是一個異構關係,用戶和設備在風控好用的網絡,這也是異構的,但是在做算法的時候,會先把異構圖變成同構圖。

Q:爲什麼異構圖要轉成同構圖?

A:因爲異構圖算法不好跑,甚至很多算法本身雖然可以接受異構圖數據的輸入,但是內部他也需要轉化成同構圖才能執行,比如說 GNN,在跑 GNN 的時候需要把用戶和設備轉成用戶和用戶之間的連接,因爲設備只是起到一個媒介的作用,關鍵是我們看用戶和用戶之間的關聯。圖的問題都是半監督的問題,相對於網絡來說,我們只有很少量的樣本,需要從這少量的標註樣本中在網絡中找到更多相似的樣本。剛剛有朋友也問到了怎麼做樣本增強,我們其實也可以通過這種方法,去半監督學習,找到更多相似樣本(有關係且預測概率相近),就能做到樣本增強了。

Q:反洗錢方面應用

A:反洗錢方面有剛剛提到的資金盤,資金盤其實涉及到傳銷反洗錢,涉及到使用 USDT,現在很多洗錢都是通過 USDT 去走,還會涉及到二維碼、銀行卡,我們這裏的話會通過很多關係的數據,先建立一個純度高的網絡,然後用 WCC,就是不考慮方向的 connected component, 得到一個個小團伙之後,再用角色識別算法區分它們的角色。比如說在一些虛擬幣、租碼跑分平臺,是屬於國家管控洗錢領域的,這些平臺我們是有進行反洗錢打擊的,把裏面的號該封封了,該處置的號處置了,該上策略上策略,這就是反洗錢的其中一個應用。

Q:GNN 的降噪

A:圖(參 GNN 在設備網絡的應用 ppt 圖)本來這個網絡是有 1 到 8 的節點,但是不需要那麼多,因爲有一些點沒有跟我們標註的樣本節點產生直接的聯繫的話,是可以直接把它剔除的,這樣的話整個網絡純度會高一些,有可能會犧牲一些召回率,但這個問題不大,因爲我們做了一輪後有可能會得到更多的樣本,得到更多的樣本後再持續標註和分析可以得到更多新的樣本。

今天的分享就到這裏,謝謝大家。

分享嘉賓:

社羣推薦:

歡迎加入 **DataFunTalk 圖計算 **交流羣,跟同行零距離交流。識別二維碼,添加小助手微信,入羣。

關於我們:

**DataFunTalk **專注於大數據、人工智能技術應用的分享與交流。發起於 2017 年,在北京、上海、深圳、杭州等城市舉辦超過 100 + 線下和 100 + 線上沙龍、論壇及峯會,已邀請近 1000 位專家和學者參與分享。其公衆號 DataFunTalk 累計生產原創文章 400+,百萬 + 閱讀,10 萬 + 精準粉絲。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/molCANpMR7OY9ObEpgGx_Q