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

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

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

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

基于這些理解,我們設計了Aura,一個高效的數據驅動型應用程序開發的機器學習平臺。Aura把這四個重點有機的結合了起來,極大的提升了數據驅動型應用的開發效率。通過結合技術、業務、數據,并不斷的更新迭代,形成效能逐步提高的正反饋閉環過程。在Aura平臺上的最上層,我們為各種行業提供了廣泛的經過實踐檢驗的數據驅動應用程序,可以直接(或經過微調)應用于解決業務問題。提高數據驅動應用開發效率的最佳方案是已有應用的遷移,充分發揮業務與技術經驗結合的最大價值。

Aura通過使用“通用數據模型” (Common Data Model),強調領域知識的保存,標準化和重用。Aura底層是業界最領先的技術,包括人工智能和機器學習技術的領先框架和大數據處理技術。連接底層和高層應用開發的是科學高效的應用開發環境。Aura提供了兩種方式與用戶交互進行應用開發:(a)適用于數據科學家或具有編程技能的分析師的強大筆記本(b)積累了科學方法和最佳實應用開發踐的向導式的數據分析和建模場景。機器學習和人工智能的技能知識門檻較高,為了簡化學習曲線。我們定義了一些非常典型的機器學習的場景,這些典型場景是我們經過很多探索和實踐抽象出來的。針對每個場景,我們都將最科學的分析建模過程形成一個向導式的流程。使用者只需要提供一些必要的信息,就可自動生成一個有效的應用模型,也使整個流程變得水到渠成。
數據驅動型應用實例 – 支付風控
與大家分享一個具體的數據驅動型應用的案例。隨著我國銀行業全面開放和深化改革,互聯網金融的不斷發展以及電子銀行、手機銀行交易系統的全面鋪開,與這些全新業務模式相伴而生的欺詐風險也在頻繁發生。各類跨業務、跨條線的欺詐風險更是層出不窮。這些欺詐問題,對銀行社會聲譽以及用戶財產安全都造成嚴重威脅。隨著大數據、人工智能等技術的發展,也給金融領域各類新形態欺詐問題的解決帶來了新思路。

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

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

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