在9月27日于杭州雲栖小鎮召開的雲栖大會“金融智能”專場上,人工智能大咖宋樂教授分享了金融特色機器學習在螞蟻金服的發展與應用。宋樂教授是螞蟻金服人工智能部研究員,同時也是美國喬治亞理工大學終身副教授和機器學習中心副主任。他還是國際機器學習協會董事以及多個國際頂級會議的領域主席。
機器學習在螞蟻金服各個場景,已經像水和油一樣滲透,驅動着各種各樣業務的發展。會議現場,宋樂教授詳細介紹了金融特色的機器學習,重點闡述了三方面的技術:面向海量圖資料的深度學習系統、自動機器學習系統、多智體對抗強化學習系統。
以下為演講的文字實錄:
面向海量圖資料的深度學習系統
金融場景和網際網路其它場景不一樣的地方是,其資料是一個巨大的金融網絡。在這個網絡中資金在不同的個體之間流動。資金流動過程中涉及到各種各樣類型的節點,有使用者、商家、公司等角色節點,也有賬号等虛拟節點,還有WIFI設施、終端等裝置節點,以及地點等實體節點。同時,這些節點之間的關系和資訊互動的類型也可以不同,進而形成巨大的圖。如何對這個圖進行機器學習模組化,發現其中的有效資訊,是非常複雜的過程。
懂機器學習的同學知道,機器學習要對圖資料模組化,首先需要把資料進行向量表征,例如類似邏輯回歸、決策樹等模型都需要先對資料進行向量表征。但圖資料的輸入并不是向量表征,它是異構且不規則的,每個節點的鄰居個數不一樣,連接配接的關系也不一樣,這需要一個平台實作圖資料到向量表征的轉換過程,然後再基于向量表征實作各種各樣的機器學習模型。下圖展示了一種通用的圖向量表征架構。
圖資料進行表征學習之後,就可以做各種各樣的應用,例如推薦和決策應用,也可以做一些生成模型。現在有一個在學界比較火的深度學習模型叫做卷積神經網絡,其學習過程就是對每個節點和邊用神經網絡參數化傳播的方式來實作深度神經網絡的模組化。
螞蟻金服的圖資料非常複雜龐大,可以涉及到上百億的節點,上千億的邊。怎樣把大體量的資料用起來,進行機器學習模組化,需要很好的系統架構和平台建設支撐。其中包括,怎樣存儲這些圖資料,進而能夠支援快速查詢,快速推理;以及在邏輯層怎樣組織這些資料,是社交關系網絡、資金轉移網絡還是媒介網絡。有了這些資料的邏輯組織和圖資料的存儲以後,還要做通用的算子,包括對圖進行采樣、随機遊走和消息傳播。然後,基于這些算子的構件,我們就可以實作各種各樣的圖深度學習模型,其中既包括基于非監督學習的表征學習模型,也有基于監督學習的表征學習模型。進行表征學習以後,就可以通過機器學習對各種節點、邊的類型進行預測,或者時序行為的預測,以及多重目标的預測。基于這些預測模型,我們可以通過離線學習打分或線上學習打分的方式來支援各種上層金融業務。
針對螞蟻業務海量的資料,除了前面講的平台的架構設計的思考,還有一些技術上的難點需要解決。我們可能面臨百億級節點、千億級邊,需要考慮怎麼樣在圖上快速的查詢節點,并把節點周圍的子圖抽取出來,這裡會用到我們的圖存儲系統GraphFlat和PHStore。有了這個以後,需要設計機器學習的算法,譬如随機采樣的算法,然後把圖資料變成一個稀疏的或者是稠密的矩陣運算,在GPU和CPU上進行分布式計算。
除此之外,為了支援各種各樣的金融場景應用,還需要支援對不同結構的網絡模組化。通常金融場景涉及到的網絡可能是沒有屬性的同構網絡;也可能是在風控場景經常涉及的異構網絡,例如使用者和商家之間的資金轉移關系;也有可能是帶有屬性的網絡。我們需要用不同的算法模型來處理不同結構類型的網絡關系,同時無論哪種類型網絡,都可以用一套平台進行模組化。目前,我們已經建設了面向多類型圖資料的算法庫。包括:
- 面向無屬性網絡的xGrep,可以針對十億級節點,千億級邊,數千億樣本進行訓練,并研發了分布式随機遊走架構和分布式word2vec訓練架構;
- 面向屬性網絡的GeniePath,這是自适應深度/廣度的圖神經網絡,性能業内領先;
- 面向異質網絡的HeGNN& IGNN,其層次注意力機制提供金融級可解釋性,可以自動學習異質資訊豐富的語義;
- 面向知識圖譜的KGNN,可對知識圖譜進行表達學習,包括圖神經網絡+圖譜模型。
在金融場景很多時候需要具備可解釋性,因而需要我們對訓練出來的深度模型進行解釋,找出具體是網絡上的哪一條邊或者哪一個節點影響了整個風控系統的決策。為此,我們定義了各種各樣的模型,包括GeniePath可以在深度學習網絡中自動搜尋節點的鄰居,看哪個鄰居對目前的資訊節點的風控有影響;或者是基于HeGNN、IGNN考慮不同網絡層次的影響,甚至是比較粗糙的高層次的網絡影響,以及網絡的不同次元的影響。
綜上所述,一個可用性高的深度圖學習平台需要對架構做邏輯的劃分,同時中間的每個劃分子產品都會有很多技術點,包括系統工程的技術、高性能計算的技術,以及模型算法方面的技術。
上圖是兩個具體的落地執行個體。首先,我們把圖深度學習應用到營銷場景,通過使用者和商家的曆史購買行為來預測使用者對紅包金額的敏感程度,進而對商家紅包實作個性化定價,幫助商家更好地配置設定紅包金額,提升營銷資金利用效率,這個方法把營銷的成本降低了8%。我們還把深度圖學習和知識圖譜結合起來應用在企業信貸,提高了授信額度,新增授信額度數百億。此外,深度圖學習平台還在支付、貸款、保險,财富管理等其他場景中均有各種各樣的應用。
在網際網路金融中,圖神經網絡是非常有用的新技術,也是螞蟻金服大力發展的技術方向之一。
自動機器學習系統
除此之外,螞蟻金服内部有各種各樣的機器學習算法應用場景,每天都有成千上萬的模型在訓練中,但是算法人員投入在模型訓練上的時間和精力是有限的,由于産品紛繁複雜,算法人員既要選擇深度學習的網絡結構又要選擇算法的其他超參,這個過程可能還要加入業務知識;随着資料體量的增加,還需要在比較短的時間調好模型,對模型訓練的時間要求也越來越高,而傳統的單純依靠人工調參很難滿足我們對于模型更新疊代的效率要求。
為了解決這個問題,我們建立了自動化模組化工具AutoML計算平台,能夠支援讓平台和算法人員一起協作,進而加速機器學習模型的模組化和尋優過程。為此,我們在底層基礎設施之上實作了很多的算法來實作特征自動化、超參搜尋、網絡結構搜尋以及元學習,進而降低新模型開發的成本。
介紹一個具體的落地案例,叫做autonet,這是針對公司推薦場景大量使用的深度神經網絡算法,基本思想是我們通過将一些以前成功的小的深度神經網絡子子產品自動化拼裝起來,組合構成一個新的網絡結構并尋找更高效的模型:一方面将DNN的網絡結構自動化的建構起來,另外一方面也對最終的模組化效果進行提升。産出的模型在相同資源下,和對比的人工設計的模型基本耗時相當,同時在使用者拉新的場景取得了很好的效果,動銷率提升了14%。
此外,AotuML還有各種各樣的落地場景,後面都應用了自動機器學習平台的網絡結構搜尋、超參搜尋、元學習,以及一些端到端的解決方案能力。各種業務場景的機器學習模型,都可以通過這個平台進行優化,提升效率。甚至跨BU的一些業務場景也基于遷移學習來加速機器學習模組化的過程。
多智體對抗強化學習系統
上面兩點介紹的是我們的橫向技術如何從底層支援各種場景的機器學習模型。接下來介紹的是多智能體強化學習系統在螞蟻的應用和落地。在實際金融場景中,我們涉及到的節點不是靜态的,例如人和商家的節點在互動過程有博弈、合作、對抗,是以我們要把對抗學習跟多智能體的強化學習結合起來應用在這些場景。例如反欺詐場景和金融支付的場景,都可以用多智體強化學習的方式來模組化。
但是,很多傳統的強化學習的方法都是先假設一個模拟器,然後與之不斷進行互動來優化強化學習的政策,例如下圍棋。但在金融場景,多智能體強化學習涉及到的模拟器并不是一個靜态的,可能是一個人或者是一個機構,是以不存在一個明确好用的模拟器,我們也不知道多智體在行為中,其獎勵函數或者是損失函數是什麼。是以,使用傳統強化學習硬套金融場景是行不通的,首先要根據現有的金融資料或者是使用者行為資料學習到一個simulator及其獎勵函數,這樣才能在此基礎上進行強化學習。
為此,我們建立了一個多智能體的強化學習平台,中間用imitation learning的方法來學習使用者的行為特征,以及他的獎勵函數,在此基礎上做各種各樣的機器學習。
這是一個具體的多智體的強化學習在推薦系統上的應用。很多情況下,使用者登入到一個系統裡面,系統會對這個使用者進行長期的檢查、分析和推薦。好的推薦系統的模組化方式不是把使用者每次來的行為作為獨立的預測問題,而是把它看成強化學習的問題,這樣的話,我們可以針對使用者長期的獎勵、喜好進行優化,而不是短期的推薦,進而讓使用者長期對推薦的内容感興趣,産生價值。
這是我們在人工智能頂會ICML(2019)上的論文,我們把強化學習這套理論引入到對抗學習裡面,用這個方法來學習使用者的點選行為,以及點選行為對應的獎勵函數,有了使用者的行為模型和獎勵模型之後,就可以進行大規模的強化學習。
強化學習在螞蟻金服還有各種各樣的應用,我們還在不斷探索和開辟,也歡迎學術界和業界進行更多的交流,共同創新和推動發展。