Aura 以機(jī)器學(xué)習(xí)為核心的數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用開發(fā)平臺(tái)
3月18日,亞信數(shù)據(jù)與北京郵電大學(xué)聯(lián)合主辦的“開源技術(shù)與深度學(xué)習(xí)meetup”在北京郵電大學(xué)舉行。來自亞信數(shù)據(jù)硅谷研發(fā)中心高級(jí)數(shù)據(jù)科學(xué)家常劍發(fā)表了《Aura: 以開源機(jī)器學(xué)習(xí)框架為核心的數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用開發(fā)平臺(tái)》主題演講。
常劍演講實(shí)錄:
現(xiàn)今大數(shù)據(jù)和人工智能科技的發(fā)展大多是由開源技術(shù)驅(qū)動(dòng)的。大家逐漸意識(shí)到獨(dú)自開發(fā)一項(xiàng)專有技術(shù)并推動(dòng)其他人接受和使用是比較低效的,更有效率的方法是整合資源大家共同創(chuàng)造一個(gè)技術(shù)生態(tài)圈,這樣可以更好的推動(dòng)進(jìn)步。今天的題目是Aura - 以機(jī)器學(xué)習(xí)的技術(shù)為基礎(chǔ)進(jìn)行高效的數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用開發(fā)的平臺(tái)。希望借今天Meetup這個(gè)平臺(tái)和契機(jī)與大家共同交流。

先簡單介紹一下亞信,亞信是中國互聯(lián)網(wǎng)的締造者。多年以來,亞信一直以電信運(yùn)營商領(lǐng)域?yàn)楹诵牟⑾蚱渌I(lǐng)域輻射,勤奮耕耘,積累頗豐。亞信數(shù)據(jù)是亞信集團(tuán)旗下專注于大數(shù)據(jù)和人工智能應(yīng)用子公司。大數(shù)據(jù)產(chǎn)業(yè)本身是依靠諸多開源技術(shù)為基礎(chǔ)發(fā)展起來的,亞信數(shù)據(jù)在這方面一直大力投入,亞信數(shù)據(jù)橘云團(tuán)隊(duì)也以其技術(shù)實(shí)力強(qiáng)在業(yè)內(nèi)聞名。橘云團(tuán)隊(duì)為Hadoop等大數(shù)據(jù)開源軟件貢獻(xiàn)了很多Contributors和Patches。亞信數(shù)據(jù)的橘云產(chǎn)品集合了諸多先進(jìn)的大數(shù)據(jù)處理平臺(tái),是亞信數(shù)據(jù)一個(gè)強(qiáng)有力的產(chǎn)品。
大數(shù)據(jù)與人工智能的歷史和未來
大部分企業(yè)的數(shù)據(jù)分析和應(yīng)用一般屬于Business Intelligence (BI)這個(gè)范疇,企業(yè)內(nèi)的數(shù)據(jù)分析師利用企業(yè)已經(jīng)積累的客戶、產(chǎn)品等各方面數(shù)據(jù),為企業(yè)發(fā)展提出更好的建議。傳統(tǒng)的企業(yè)BI分析大部分是Descriptive Analytics和Diagnostic Analytics。Descriptive Analytics是把數(shù)據(jù)中的事實(shí)呈現(xiàn)出來。Diagnostic Analytics是診斷性,它的作用是發(fā)現(xiàn)企業(yè)運(yùn)營中的問題,并找出原因,通過深挖數(shù)據(jù),尋找更多價(jià)值。這兩項(xiàng)分析是企業(yè)里各種數(shù)據(jù)分析的支柱性任務(wù)。
隨著企業(yè)BI業(yè)務(wù)的不斷深入,大家發(fā)現(xiàn)可以應(yīng)用這些數(shù)據(jù)做更多更智能的事情,并構(gòu)建一些更智能的應(yīng)用。也就是Predictive Analytics或者Prescriptive Analytics。企業(yè)不僅想要知道過去發(fā)生什么,更希望能找到一些規(guī)律來幫助預(yù)測(cè)將來,幫助企業(yè)搶占先機(jī),為客戶提供更好的提供服務(wù)。根據(jù)這些預(yù)測(cè)和分析,指導(dǎo)企業(yè)行動(dòng),把這些信息和預(yù)測(cè)能力轉(zhuǎn)化成生產(chǎn)力。大數(shù)據(jù)平臺(tái)發(fā)展支撐了現(xiàn)代企業(yè)大部分的Descriptive Analytics和Diagnostic Analytics任務(wù)。而更有價(jià)值的Predictive Analytics或者Prescriptive Analytics就要靠各類人工智能技術(shù)來實(shí)現(xiàn)。

想理解“人工智能”就先要明確定義什么是“智能”。人作為智能體的典范和非智能的物體有三個(gè)方面主要區(qū)別。首先,智能的人可以通過“感知”可以從非結(jié)構(gòu)化的信息中獲取各類信息。人有語言并能利用語言進(jìn)行交流,視覺聽覺等各類感知功能也給人提供各種信息。其次,智能體現(xiàn)在人可以根據(jù)獲得的信息做復(fù)雜的判斷。最后,智能體可以形成獲取信息,決策判斷、調(diào)整策略的反饋閉環(huán)。這三點(diǎn)是智能和非智能的重要區(qū)別。

機(jī)器學(xué)習(xí)這個(gè)領(lǐng)域正是關(guān)注智能中“決策分析“這個(gè)領(lǐng)域。計(jì)算機(jī)的程序源代碼就是計(jì)算機(jī)做決策分析全部邏輯的呈現(xiàn)。傳統(tǒng)方式一直是人通過編程語言將人類的決策分析過程以程序的形式輸出給計(jì)算機(jī)。而機(jī)器學(xué)習(xí)則提供了一個(gè)新的典范,它通過處理期望的輸入輸出數(shù)據(jù),自動(dòng)形成決策程序,大大提高效率。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中的一個(gè)子領(lǐng)域。深度學(xué)習(xí)受人腦結(jié)構(gòu)啟發(fā),進(jìn)行端到端的模型訓(xùn)練。近幾年來,深度學(xué)習(xí)領(lǐng)域發(fā)展很快,主要依靠理論不斷改進(jìn),并行計(jì)算能力提高,大數(shù)據(jù)技術(shù)提供海量數(shù)據(jù)這三個(gè)因素,不斷發(fā)展,使許多問題從不可能變成了可能。
Aura平臺(tái)的產(chǎn)品設(shè)計(jì)和架構(gòu)
亞信一直在實(shí)踐把人工智能帶入各個(gè)領(lǐng)域,我們做了大量的工作來幫助企業(yè)建立屬于自己的數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用。什么是數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用呢?與“數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用”相對(duì)的概念是“事務(wù)驅(qū)動(dòng)型應(yīng)用”。事務(wù)驅(qū)動(dòng)型應(yīng)用是業(yè)務(wù)專家的經(jīng)驗(yàn)固化為程序代碼。數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用則是在已經(jīng)積累了相關(guān)業(yè)務(wù)數(shù)據(jù)的條件下,利用機(jī)器學(xué)習(xí)和人工智能技術(shù)來挖掘規(guī)律指導(dǎo)業(yè)務(wù),這也是對(duì)企業(yè)本身的數(shù)據(jù)資源的開發(fā)。作為中國最大的大數(shù)據(jù)技術(shù)提供商,我們從與眾多企業(yè)的深入互動(dòng)中獲得了寶貴的經(jīng)驗(yàn),也使我們能夠深刻了解到數(shù)據(jù)驅(qū)動(dòng)運(yùn)營在實(shí)踐中的一些重要問題:
首先,要有過硬技術(shù),人工智能和機(jī)器學(xué)習(xí)是一個(gè)非?;钴S的快速變化的領(lǐng)域,充分理解技術(shù)本質(zhì),并不斷的提供最新最好的技術(shù)是一切的基礎(chǔ)。其次,數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用做的好,離不開對(duì)業(yè)務(wù)知識(shí)的熟悉。任何在數(shù)據(jù)中發(fā)現(xiàn)的規(guī)律和特征,應(yīng)該找到具體的業(yè)務(wù)意義來支撐,對(duì)于模糊的甚至是誤導(dǎo)性的發(fā)現(xiàn),也可以通過業(yè)務(wù)知識(shí)的啟發(fā)進(jìn)行規(guī)避。第三,是要有數(shù)據(jù)強(qiáng)有力的支撐,很多重要行業(yè)的數(shù)據(jù)是獨(dú)占性的,如果想涉獵這個(gè)行業(yè),技術(shù)和業(yè)務(wù)都要向數(shù)據(jù)靠攏。最后,是人員方面。傳統(tǒng)軟件功能往往是確定性的,開發(fā)之后可以維持相對(duì)穩(wěn)定。而對(duì)于數(shù)據(jù)驅(qū)動(dòng)型的應(yīng)用,程序語義和數(shù)據(jù)本身的特性相關(guān)度高,很可能隨時(shí)間變化而需要進(jìn)行增量訓(xùn)練或者增強(qiáng)。這使得數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用的生命周期對(duì)持續(xù)性的人員投入要求較高。

基于這些理解,我們?cè)O(shè)計(jì)了Aura,一個(gè)高效的數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用程序開發(fā)的機(jī)器學(xué)習(xí)平臺(tái)。Aura把這四個(gè)重點(diǎn)有機(jī)的結(jié)合了起來,極大的提升了數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用的開發(fā)效率。通過結(jié)合技術(shù)、業(yè)務(wù)、數(shù)據(jù),并不斷的更新迭代,形成效能逐步提高的正反饋閉環(huán)過程。在Aura平臺(tái)上的最上層,我們?yōu)楦鞣N行業(yè)提供了廣泛的經(jīng)過實(shí)踐檢驗(yàn)的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序,可以直接(或經(jīng)過微調(diào))應(yīng)用于解決業(yè)務(wù)問題。提高數(shù)據(jù)驅(qū)動(dòng)應(yīng)用開發(fā)效率的最佳方案是已有應(yīng)用的遷移,充分發(fā)揮業(yè)務(wù)與技術(shù)經(jīng)驗(yàn)結(jié)合的最大價(jià)值。

Aura通過使用“通用數(shù)據(jù)模型” (Common Data Model),強(qiáng)調(diào)領(lǐng)域知識(shí)的保存,標(biāo)準(zhǔn)化和重用。Aura底層是業(yè)界最領(lǐng)先的技術(shù),包括人工智能和機(jī)器學(xué)習(xí)技術(shù)的領(lǐng)先框架和大數(shù)據(jù)處理技術(shù)。連接底層和高層應(yīng)用開發(fā)的是科學(xué)高效的應(yīng)用開發(fā)環(huán)境。Aura提供了兩種方式與用戶交互進(jìn)行應(yīng)用開發(fā):(a)適用于數(shù)據(jù)科學(xué)家或具有編程技能的分析師的強(qiáng)大筆記本(b)積累了科學(xué)方法和最佳實(shí)應(yīng)用開發(fā)踐的向?qū)降臄?shù)據(jù)分析和建模場景。機(jī)器學(xué)習(xí)和人工智能的技能知識(shí)門檻較高,為了簡化學(xué)習(xí)曲線。我們定義了一些非常典型的機(jī)器學(xué)習(xí)的場景,這些典型場景是我們經(jīng)過很多探索和實(shí)踐抽象出來的。針對(duì)每個(gè)場景,我們都將最科學(xué)的分析建模過程形成一個(gè)向?qū)降牧鞒獭J褂谜咧恍枰峁┮恍┍匾男畔?,就可自?dòng)生成一個(gè)有效的應(yīng)用模型,也使整個(gè)流程變得水到渠成。
數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用實(shí)例 – 支付風(fēng)控
與大家分享一個(gè)具體的數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用的案例。隨著我國銀行業(yè)全面開放和深化改革,互聯(lián)網(wǎng)金融的不斷發(fā)展以及電子銀行、手機(jī)銀行交易系統(tǒng)的全面鋪開,與這些全新業(yè)務(wù)模式相伴而生的欺詐風(fēng)險(xiǎn)也在頻繁發(fā)生。各類跨業(yè)務(wù)、跨條線的欺詐風(fēng)險(xiǎn)更是層出不窮。這些欺詐問題,對(duì)銀行社會(huì)聲譽(yù)以及用戶財(cái)產(chǎn)安全都造成嚴(yán)重威脅。隨著大數(shù)據(jù)、人工智能等技術(shù)的發(fā)展,也給金融領(lǐng)域各類新形態(tài)欺詐問題的解決帶來了新思路。

我們的支付欺詐檢測(cè)解決方案提供了4個(gè)方面的能力:首先,我們引入數(shù)據(jù)驅(qū)動(dòng)的風(fēng)控模型,以機(jī)器學(xué)習(xí)為基礎(chǔ),科學(xué)設(shè)定反欺詐規(guī)則,實(shí)現(xiàn)從數(shù)據(jù)到業(yè)務(wù)語言以及機(jī)器代碼的轉(zhuǎn)化。其次,我們實(shí)現(xiàn)了包括電子、手機(jī)、網(wǎng)銀等多渠道的全面數(shù)據(jù)接入,提供完善的欺詐案件記錄和處置的功能,填補(bǔ)事中風(fēng)險(xiǎn)管控工作的空白。第三,系統(tǒng)提供了優(yōu)化的交易風(fēng)險(xiǎn)處置,通過量化風(fēng)險(xiǎn),觸發(fā)不同級(jí)別的防控策略,優(yōu)化系統(tǒng)效果和用戶體驗(yàn)。最后,我們提供全面的報(bào)表和分析功能,實(shí)時(shí)監(jiān)控全局的風(fēng)險(xiǎn)情況,以便掌握信息。
一般來說,金融欺詐檢測(cè)的方法分為兩大類:第一類是依靠專家驅(qū)動(dòng)的方法,這類方法把業(yè)務(wù)專家的經(jīng)驗(yàn)進(jìn)行積累沉淀,把第一線接觸各類金融欺詐案件的專業(yè)人員的知識(shí)進(jìn)行梳理。第二類的方法是數(shù)據(jù)驅(qū)動(dòng)的,這類方法依靠數(shù)學(xué)模型進(jìn)行數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí),并建立檢測(cè)模型,再利用檢測(cè)模型的預(yù)測(cè)能力進(jìn)行實(shí)時(shí)的反欺詐檢測(cè)工作。 我們采用了專家經(jīng)驗(yàn)和數(shù)據(jù)驅(qū)動(dòng)模型相結(jié)合的方法,有序的建立支付欺詐檢測(cè)的業(yè)務(wù)邏輯。

首先要對(duì)現(xiàn)有的數(shù)據(jù)進(jìn)行梳理和清洗。然后利用各種適當(dāng)?shù)慕y(tǒng)計(jì)計(jì)算方法,大量廣泛的提取和預(yù)測(cè)目標(biāo)相關(guān)的特征信息。之后再利用系統(tǒng)性的方法來對(duì)提取的特征進(jìn)行進(jìn)一步的篩選。經(jīng)過這樣一個(gè)過程之后的準(zhǔn)備好的數(shù)據(jù)特征就可以輸出到適當(dāng)?shù)臋C(jī)器學(xué)習(xí)算法中去進(jìn)行模型的訓(xùn)練。訓(xùn)練模型的時(shí)候,根據(jù)數(shù)據(jù)測(cè)試的效果,還要對(duì)一些先驗(yàn)性的模型參數(shù)進(jìn)行調(diào)整,使模型的預(yù)測(cè)性能到達(dá)最優(yōu)。最后經(jīng)過調(diào)優(yōu)的模型就可以用到生產(chǎn)系統(tǒng)去進(jìn)行使用。當(dāng)然如果有新的數(shù)據(jù)或者新的特征提取思路,可以快速重復(fù)和迭代整個(gè)過程,不斷的改進(jìn)現(xiàn)有的模型。
我們也并不會(huì)簡單的拋棄已有的專家經(jīng)驗(yàn)和沉淀下來的業(yè)務(wù)知識(shí),恰恰相反,特征提取工程正是數(shù)據(jù)驅(qū)動(dòng)模式下與現(xiàn)有專家知識(shí)的一個(gè)有效的集合點(diǎn)。特征工程要做的工作往往是對(duì)現(xiàn)有的基礎(chǔ)數(shù)據(jù)進(jìn)行進(jìn)一步的統(tǒng)計(jì),分級(jí)和變換,提取出和模型的預(yù)測(cè)目標(biāo)可能相關(guān)的因素。這時(shí)專家經(jīng)驗(yàn)可以起到很好的指導(dǎo)作用,已知的相關(guān)因素,或者業(yè)務(wù)人員直覺上認(rèn)為可能有效的因子都可以充分的引入到特征提取工程中。特征工程的原則就是要做到有效的發(fā)散。如果沒用充分有效的特征信息,再好的機(jī)器學(xué)習(xí)算法也很難發(fā)揮它的作用。當(dāng)然,特征提取中所需的計(jì)算過程都要在Hadoop, Spark這樣的大數(shù)據(jù)平臺(tái)上進(jìn)行實(shí)現(xiàn),才能滿足在大數(shù)據(jù)集下的系統(tǒng)性能要求。
對(duì)于訓(xùn)練出的模型,利用交叉驗(yàn)證進(jìn)行一些模型參數(shù)的選擇和調(diào)優(yōu)工作,調(diào)優(yōu)后的模型還有經(jīng)過嚴(yán)格的歷史數(shù)據(jù)的回測(cè),確認(rèn)其在長周期下模型的可靠性。另外,如果單一的機(jī)器學(xué)習(xí)模行無法滿足預(yù)測(cè)性能的需要,可以利用同樣的數(shù)據(jù),選擇不同算法訓(xùn)練多個(gè)特性各異的模型,然后進(jìn)行模型的綜合,讓不同的模型互相取長補(bǔ)短。

我們?yōu)閷?shí)時(shí)金融欺詐提供了一整套完整的系統(tǒng)解決方案。剛才著重介紹的基于機(jī)器學(xué)習(xí)風(fēng)控模型只是其中的一個(gè)子系統(tǒng)。整個(gè)系統(tǒng)的實(shí)時(shí)部分設(shè)計(jì)完全基于大數(shù)據(jù)流處理平臺(tái)和高性能的實(shí)時(shí)數(shù)據(jù)庫,保證了高并發(fā)、低延遲的實(shí)時(shí)響應(yīng)能力。系統(tǒng)也提供全生命周期的金融欺詐檢測(cè)和防控功能。除了欺詐檢測(cè)模型,我們系統(tǒng)還會(huì)進(jìn)一步的進(jìn)行風(fēng)險(xiǎn)的量化評(píng)分,以便觸發(fā)相應(yīng)的風(fēng)險(xiǎn)控制策略。這也是之前講到的決策引擎的主要算法邏輯。風(fēng)險(xiǎn)量化評(píng)分考慮到欺詐風(fēng)險(xiǎn)和交易金額兩個(gè)因素,欺詐風(fēng)險(xiǎn)越大,交易所涉及的金額越多,風(fēng)險(xiǎn)評(píng)分就會(huì)越高。根據(jù)風(fēng)控模型實(shí)時(shí)計(jì)算的交易風(fēng)險(xiǎn)評(píng)分,系統(tǒng)自動(dòng)采取對(duì)應(yīng)的策略。主要策略包括:交易放行、警告、短信提醒、加強(qiáng)驗(yàn)證、人工坐席核實(shí),直至自動(dòng)交易阻斷??蛻舳绦膨?yàn)證,客服坐席核實(shí)的結(jié)果也都會(huì)及時(shí)反饋到大數(shù)據(jù)分析系統(tǒng)的數(shù)據(jù)庫中,以供模型更新使用,使整個(gè)系統(tǒng)中的信息形成閉環(huán)。也使模型可以快速迭代更新,大大提高模型預(yù)測(cè)準(zhǔn)確度。