團隊介紹
螞蟻金服風險與決策中心整體負責其國内外業務場景的交易和資金風險防控,包括盜用、欺詐、營銷作弊、垃圾注冊識别和決策等。團隊以大資料積澱挖掘和前沿機器學習研發應用為核心能力,開發了支付寶第五代風控引擎AlphaRisk,運用人工智能全面更新了螞蟻金服的風控體系。
1.背景
擁有世界級領先的風控技術能力,曆經十多年的發展,支付寶已從原先的CTU大腦全面進入人工智能時代,AlphaRisk[1]作為第五代風控引擎,其核心正是由AI驅動的智能風險識别體系AI Detect。
AI Detect是一套智能、高效的風險識别算法體系,不僅包含了傳統的像GBDT,內建學習這種有監督學習算法,還包括了大量基于深度學習的無監特征生成算法,以及監督&無監督概念之外的新算法,本文介紹的工作正是其中之一。
當你站在超市收銀台前,從點開支付寶二維碼給掃碼槍掃描,到支付成功的短短時間内,支付寶風控系統的上百個模型已經對這筆交易完成重重掃描,以檢查是否手機丢失賬戶被盜用,是否欺詐被騙,是否有違法套現等風險。

實踐中,不同的風險類型會給模組化帶來不同的挑戰。
一般而言,識别套現風險的模型建設相比盜用和欺詐更困難一些,因為缺少主動的外部回報機制,即缺少樣本上的黑白标簽。使用者在被盜、被騙之後往往會聯系支付寶,告知哪些交易非本人操作,抑或哪些交易是被騙的,這些回報可以相對準确有效地沉澱成曆史資料的标簽。然而不會有套現的人在交易後主動告訴支付寶或者銀行,這筆交易他是在做套現,而另一筆不是。
對于最常見的有監督算法來說,沒有标簽就會面臨巧婦難為無米之炊的困境。是以,現有的套現風險識别方案多是基于無監督模型,如異常檢測、圖算法等。
無監督模型的優勢正如其字面意義而言,即不需要标簽,當然這也有其代價。
舉例來說,異常檢測模型(如Isolation Forest)對于輸入特征的要求遠高于一般的有監督模型,通常在特征數量稍多的情況下就難以保持其分值頂部的性能。
而圖算法則往往需要巨大的運算能力,才能應付支付寶每日億級别的支付筆數,意味着更大的技術難度和計算成本。
當然,我們還可以用另一種方法解決無标簽的問題:那就是基于人的業務經驗進行人工标注,随後基于标注進行有監督學習得到模型。但這也面對着不少困難:
标注存在一定誤差:即使是領域專家,在很多案例中也難以保證自己判斷的準确率。一般來說,專家對于判定為黑的往往比較有信心,因為通常有證據可循。然而要判定為白,則需要排除所有不可能,這在事實上是難以真正做到的。
本文提出了一種基于主動學習(Active Learning[2],簡稱AL)與半監督(two-step Postive and Unlabled Learning[3],簡稱PU)結合的方法Active PU Learning。
在人工标注工作量有限的情況下,改善了前述兩點困難,并基于該方法針對信用卡交易,開發了一個套現風險的識别模型,在相同準确率下,相比無監督模型Isolation Forest提升套現交易識别量3倍。
2.相關算法介紹
2.1 Active Learning
Active Learning來自于一個樸素的想法,假如得到标簽的成本很高昂,那就應該去尋找能對目前算法提升最大的樣本請求打标,起到事半功倍的效果。該方法假設了一個active learner與專家進行多輪主動的互動,并持續地根據專家标注傳回的結果更新分類器。
下圖一直覺地展示了Active Learning的基本工作流程。
( 圖一 )
2.2 PU Learning
AL本身并不限制圖一中分類器的具體種類,在更新樣本後,按照新的樣本庫直接進行二分類的有監督分類是最簡單直接的方法,但考慮到我們樣本标注的來之不易以及P樣本集的高可靠性,我們在這裡采用一種半監督的算法Two-step PU Learning,以提升樣本的使用效率。
PU Learning假定我們面對的資料中,真實黑樣本中的小部分已經被标記了出來,構成集合P(Positve),剩下所有資料都無标記構成集合U(Unlabeled),如何建設模型可以對未标注的樣本進行黑白分類?
把U中的樣本标簽視為缺失,那麼我們便可以考慮使用EM(Expectation Maximization)的思想,EM可以了解為是存在隐變量時MLE(Maximum Likelihood Estimation)的一種改進方法,這裡我們在E步對缺失值進行填充,M步基于上次填充結果進行疊代,如是多輪之後産出最終模型,這就是原始的PU。
Two-step PU Learning是在原始的PU Learning上的進一步發展,假如P在真實黑樣本集上是有偏的,那麼多輪的EM反而很有可能會起到負向的效果。Two-step PU Learning引入了spy機制,可以更可靠的生成白樣本。
下文所提到的PU Learning,如不作特殊說明,都指代two-step PU Learning。
3.算法實作
3.1 算法Workflow
Algorithm: Active PU Learning
1.生成樣本池:選取問題所需的樣本集,并根據其他領域遷移而來的知識給部分樣本打上正例标簽
2.while 不滿足停止條件 do
3. 采樣:基于特定的采樣方法,在采樣環節選取出待标注樣本
4. 标注:對待标注樣本進行人工标注
5. 更新樣本:采用特定的方法更新樣本庫
6. 更新模型:使用two-step PU Learning方法更新模型
7.end while
相比Stikic[4]中的方法,我們将采樣與模型更新方式改進為批量采樣以及two-step PU Learning。
3.2 采樣
在很多Active Learning工作中,采樣與疊代是流式的,也即是基于目前算法采樣一個,标注一個,算法疊代一次,基于目前算法采樣一個,…,如是循環。該方法的時間效率較低,假如标注100個樣本,那就需要疊代100次模型,對于較大的訓練資料集和較為複雜的模型,其時間成本是不可接受的。
作為替代,我們采取了mini-batch的方法批量采樣,每次采樣多個紀錄,采樣全都标注完成後算法才更新,在相同标注數量下顯著減少了時間成本。
采樣的方式基于Uncertainty & Diversity标準,即盡量取出目前模型最不确定同時又有着豐富的多樣性的樣本集。具體流程為:
對新的資料Dnew,使用目前模型打分。
抽取出若幹個模型最不确定的白樣本構成Duncertain,不确定性的衡量基于模型打分而來。
對Duncertain進行K-Means聚類,在每個類中取出最不确定的若幹個樣本,構成最終的待标注樣本。
3.3 标注
專家進行标注,由于我們的方法對于P集合的資訊會充分的信賴與利用,是以要求專家判斷時,僅把具有充分信心的樣本标注為1,保證P集合的正确性。
3.4 更新樣本
在這一環節,由于我們對于專家标注的0無法完全信任,是以會選擇将标為0的部分放入U集合中,假裝沒有标注過。而對于标注為1的部分,則進行多倍的上采樣後全都放入P集合,以強化這批樣本在下一輪模型更新中的作用。
3.5 更新模型
正常的Active Learning通常如圖二左邊所示,專家會多次标注,逐漸擴充L(Labeled)集合,active learner則會在多次學習L集合時不停提升自己的性能,我們稱之為LU setting。
然而在本場景,我們更像是一個PU setting,專家多次标注,擴充P(Positive)集合,Learner則在每次疊代的時候,基于PU Learning進行學習。
( 圖二 )
使用PU Learning的原因有兩個,一是我們希望新的模型能夠生長在已有知識的基礎上,目前我們已經有大量的基礎子產品的資訊帶來高準确率但低召回率的黑樣本标注。二是在樣本标注量較小的情況下,U(Uncertain)集合中的資訊對于模型訓練預期會帶來更多的幫助。
我們基于two-step PU實作模型更新,之是以稱為two-step PU是因為它可以分為兩步,第一步是将P集合中部分樣本作為spy混入U集合中并進行多輪EM疊代,第二步則是考察spy樣本的分值分布,将U集合中所有分值小于spy中10%分位模型分值的樣本标記為0,生成N(Negative)集合,并基于此進行多輪EM疊代。
EM疊代的思路在two-step PU過程中都是一緻的,将P集合的樣本score标記為1,U集合的樣本score繼承上一輪模型打分,訓練新的模型拟合樣本score并給出新的模型打分,即完成一輪疊代。
我們采用了GBRT(Gradient Boosting Regression Tree)作為Active Learning的基分類器,這意味着在整個學習過程結束後,我們将産出一個GBRT模型。
4.實驗結果
我們總共設計了三個實驗,分别證明了two-step PU的有效性,Active Learning的有效性,以及Active PU Learning的方案有效性。
由于實驗成本較高,三組實驗并沒有采取完全一樣的setting與考察方法。在三組實驗中,訓練集的樣本量都在百萬級别,評估集都經過特殊的非均勻采樣以提升計算效率。
4.1 two-step PU Learning 有效性
我們單獨考察了two-step PU的算法有效性,考察方法如下:
1. 基于相同的訓練資料集,訓練三個模型,無監督模型IF(Isolation Forest), 有監督模型GBRT,two-step PU Learning疊代生成的GBRT(簡稱PU GBRT);
2. 同一時間段的信用卡交易,IF, GBRT, PU GBRT分别打分;
3. 在各自的95~100分位采樣,得到若幹樣本;
4. 評估得到IF&GBRT準确率為60%,PU GBRT為70%;
結果證明了,PU産出的模型是更優的。
4.2 Active Learning 有效性
同樣,我們單獨考察了Active Learning的有效性,AL的有效性考察可以分成三塊:
業務性能提升考察:對比目前無監督模型,考察是否AL帶來模型性能提升;
AL架構有效性考察:對比不利用人工标注資料的有監督GBRT模型,考察AL訓練出來的GBRT模型是否有提升;
AL采樣方法有效性考察:對比随機采樣标注相同個數訓練得到GBRT模型,考察AL采樣方法訓練出來的GBRT模型是否有提升。
考察1的方法如下:
基于訓練資料集A,訓練無監督模型IF;
在資料集A上應用Active Learning,額外标注部分資料并多輪疊代生成RF(Random Forest)(簡稱AL RF);
同一時間段的信用卡交易,IF和AL RF分别打分;
分别在各自的99分位以上,95~99分位,90~95分位,80~90分位采樣,得到若幹樣本;
評估得到IF準确率為91%,AL RF準确率為94% 。
結果證明了,AL産出的模型是更優的。考察2與考察3的方法類同,實驗結果也都是正面的,此處不再贅述。
4.3 Active PU Learning方案有效性
最後,我們考察了Active PU Learning是否擁有良好的性能(參見圖三),考察方法如下:
基于相同的訓練資料集A,訓練兩個模型,無監督模型IF, 有監督模型GBRT;
在資料集A上應用Active PU Learning,疊代生成GBRT(簡稱APU GBRT);
同一時間段的信用卡交易,IF, GBRT, APU GBRT分别打分;
在各自的85-90分位,90-95分位,95-99分位,99-100分位抽取若幹樣本,進行人工标注;
橫向比較相同Percentile下,不同模型的标注準确率,在每個區間上,APU GBRT都勝于或等同于另兩個模型的準确率。
( 圖三 )
5.總結與展望
在各行各業的機器學習問題中,缺少标簽或者标簽擷取代價昂貴的現象是普遍存在的,從業者為了在這類場景中建設可靠的模型實踐了各種方法。
本文的Active PU Learning方法集中在了如何以較小的代價,引入更多的外部資訊,并且更好地利用目前已有标簽知識。
相比之前的同類工作,Active PU Learning主要貢獻在于引入了two-step PU Learning改進了Active Learning中模型更新的方法。當然該方法也有其局限,算法對人工标注的品質有很高的要求,整套方案的訓練流程相比正常的GBRT也更耗時。
目前,我們在反套現該場景應用Active PU Learning産出的模型後,相比基于Isolation Forest方法在相同準确率下,識别量提升3倍。
作為一種驗證已有成效的方法論,在内我們正在積極的拓展應用場景,對外則希望本文能給所有的讀者帶來一些啟發。
原文釋出時間為:2018-05-7
本文作者:四二
本文來自雲栖社群合作夥伴“
阿裡技術”,了解相關資訊可以關注“
”。