『幹貨』阿裏研究員徐盈輝:在線AI技術在搜索與推薦場景的應用
近日,美國權威雜誌《麻省理工科技評論》(MIT Technology Review)發布了2017全球十大突破性技術榜單,強化學習(Reinforcement Learning)技術位列該榜單第一位,正是阿裏近兩年布局和重點投入的技術之一。
該技術曾在2016年雙十一期間大規模應用於阿裏電商搜索和推薦應用場景。通過持續機器學習和模型優化建立決策引擎,對海量用戶行為以及百億級商品特征進行實時分析,幫助每一個用戶迅速發現寶貝、為商家帶來投緣的買家,提高人和商品的配對效率,實現了用戶點擊率提升10%-20%。阿裏因此成為國際上將該技術率先大規模應用在商業領域的企業之一。
對於阿裏巴巴電子商務平台而言,它涉及到了買家、賣家和平台三方的利益,因此必須最大化提升消費者體驗;最大化提升賣家和平台的收益。在消費者權益中,涉及到了一些人工智能可以發力的課題,如購物券和紅包的發放,根據用戶的購物意圖合理地控製發放速率和中獎概率,更好地刺激消費和提升購物體驗;對於搜索,人工智能主要用於流量的精細化匹配以及在給定需求下實現最佳的人貨匹配,以實現購物路徑效率最大化。經過幾年的努力,阿裏研發了一套基於個性化技術的動態市場劃分/匹配技術。
電商搜索和推薦的智能化演進路程可以劃分為四個階段:人工運營和非智能時代、機器學習時代、準人工智能時代、人工智能時代。人工運營和非智能時代,主要靠領域知識人工專業運營,平台的流量投放策略是基於簡單的相關性+商品輪播;在機器學習時代,利用積累的大數據分析用戶購物意圖,最大化消費者在整個鏈路中可能感興趣的商品;準人工智能時代,將大數據處理能力從批量處理升級到實時在線處理,有效地消除流量投放時的誤區,有效地提高平台流量的探索能力;人工智能時代,平台不僅具有極強的學習能力,也需要具備一定的決策能力,真正地實現流量智能投放。
智能化時代,對於搜索和推薦而言,可以提煉為兩點:學習能力和決策能力。學習能力意味著搜索體係會學習、推薦平台具有很強的建模能力以及能夠索引原始數據到索引知識提升,學習能力更多是捕捉樣本特征空間與目標的相關性,最大化曆史數據的效率。決策能力經曆了從LTR到MAB再到CMAB再到DRL的演變過程,使得平台具備了學習能力和決策能力,形成了智能化體係。
借他山之石以攻玉。在線服務體係中,我們基於參數服務器構建了基於流式引擎的Training體係,該體係消費實時數據,進行Online Training;On Training的起點是基於離線的Batch Training進行Pre-train和Fine Tuning;然後基於實時的流式數據進行Retraining;最終,實現模型捕捉實時數據的效果。
上圖是基於Wide & Deep Learning for Recommender Systems的工作建立的Large Scale Sparse&Dense DNN訓練體係的架構,該架構中利用Batch Learning進行Pre-Train,再加上Online數據的Retrain&fine Tuning。模型在雙11當天完成一天五百萬次的模型更新,這些模型會實時輸送到在線服務引擎,完成Online的Prediction。
Streaming FTRL stacking@offline GBDT的基本理念是通過離線的訓練,在批量數據上建立GBDT的模型;在線的數據通過GBDT的預測,找到相應的葉子節點作為特征的輸入,每一個特征的重要性由online training FTRL進行實時調整。
雙11當天的成交額是是普通成交日的十到十二倍,點擊量將近三十倍。在用戶行為密集發生的情況下,有理由相信數據分布在一天內發生了顯著的變化,基於這樣的考慮,GBDT的Training由原來的日級別升級到小時級別(每小時進行GBDT Training),這些Training的模型部署到Streaming的計算體係中,對於實時引入的訓練樣本做實時的預測來生成對應的中間節點,這些中間節點和人工的特征一起送入FTRL決出相應特征的重要性。
Online Learning和Batch Learning有很大的區別,在Online Learning的研發過程中,總結了一些技巧:
- 實時streaming樣本分布不均勻時,由於線上環境比較複雜,不同來源的日誌qps和延遲都不同,造成不同時間段樣本分布不一樣,甚至在短時間段內樣本分布異常。比如整體一天下來正負例1:9,如果某類日誌延遲了,短時間可能全是負例,或者全是正例,很容易導致特征超出正常值範圍。對應的解決方案是提出了一些 Pairwise sampling:曝光日誌到了後不立即產出負樣本,而是等點擊到了後找到關聯的曝光,然後把正負樣本一起產出,這樣的話就能保證正負樣本總是1:9;成交樣本緩存起來,正樣本發放混到曝光點擊中,慢慢將Training信號發放到樣本空間中。
- 異步sgd更新造成模型不穩定時,由於訓練過程采用的是異步SGD計算邏輯,其更新會導致模型不穩定,例如某些權重在更新時會超出預定範圍。對應的解決方案是采用mini batch,一批樣本梯度累加到一起,更新一次;同時將學習率設置小一點,不同類型特征有不同的學習率,稠密特征學習率小,稀疏特征學習率大一些;此外,對每個特征每次更新量上下限進行限製保護。
- 預測時,在參數服務器中進行Model Pulling,通過采用合理的Model smooth和Model moving average策略來保證模型的穩定性。
智能化體係中的決策環節
電商平台下的大數據是源自於平台的投放策略和商家的行業活動,這些數據的背後存在很強Bias信息。所有的學習手段都是通過日誌數據發現樣本空間的特征和目標之間的相關性;進而生成模型;之後利用模型預測線上的點擊率或轉化率,由於預測模型用於未來流量投放中,因此兩者之間存在一定的時間滯後(systematic bias),也就觀測到的數據和實際失效的數據存在著Gap。在工作邏輯中,如果一個特征和目標存在很強的Correlation,則該特征就應該在線上的預測中起到重要作用。
在整個體係中,Systematic Bias很難做到理想化的控製,而且離線模型預期效果與線上的實際生效效果存在差異,這背後的根本原因是Correlation並不等於Causation,也就是特征與目標相關並不意味著特征出現一定導致目標發生。
那麼怎麼解決Offline Reward Signal不等於Online Dashboard Metrics的問題呢?我們引入了強化學習,通過引入Online User Feedback更好地定義Reward,對線上排序策略進行調整,使其具有更強的自適應性。
搜索引擎和投放頁麵天然存在互動:搜索引擎觀測消費者的交互狀態;搜索引擎根據交互狀態執行投放策略;投放策略之後,呈現商品結果頁,消費者在商品結果頁中的操作行為反饋給搜索引擎。引擎決策實際上能改變投放環境,進而影響消費者的交互,改變消費者的狀態。如果不需要建立從狀態到動作的策略映射,可以采用Multi-armed Bandits方法進行流量探索;如果需要建立該映射時,需要采用Contextual MAB方法;在新狀態下,考慮消費者的滯後Feedback對於引擎在之前狀態下的Action正確與否產生影響,需要引入強化學習的思想。
搜索和推薦過程可以抽象成一個序列決策問題,從消費者與引擎的交互過程中尋找每一個不同狀態下的最優排序策略(各種排序因子的合理組合)。
我們的目標是希望搜索引擎決策體係進化為具有強化學習能力的智能化平台。過去的搜索,我們隻能做到遇到同樣的用戶購物訴求下,盡可能保證做得不必以前最好的方法差,也就是所謂的Historical Signal==Best Strategy;一切模型都是建立在優化直接收益的基礎上。未來的搜索,我們希望能夠保證長期收益最大化來決定引擎的排序策略,也就是Immediate Reward+Future Expectation=Best Strategy;未來的排序融合入模式都是建立在優化馬爾科夫決策過的基礎上,最大化The Discounted Reward。
基於強化學習的實時搜索排序調控
下麵簡要介紹下為應對今年雙11提出的基於強化學習的實時搜索排序調控算法。
對於強化學習,它的目標是最大化時刻T所選擇的策略的長期收益最大。對於離散state和離散Action的情況,可以采用Tabular RL方法求解;對於連續State和連續Action,采用RL with Function Approximation。其中State表示用戶近期發生行為商品的可量化特征,Action表示權重量化(維度是排序特征分),Reward是Systematic Valid User Feedback。
雙11采用Q-learning的方式進行實時策略排序的學習,將狀態值函數從狀態和策略空間將其參數化,映射到狀態值函數的參數空間中,在參數空間中利用Policies Gradient進行求解;將狀態值函數Q拆解成狀態值函數V(s)和優勢函數A(s,a)進行表達。
其算法邏輯如上圖所示,基本算法是實現線上幾十個排序分的有效組合,樣本包括日誌搜集到的狀態空間、Action Space(這裏對應的是排序分空間),獎賞是用戶有效的Feedback,具體的排序策略表達公式以及策略更新和值函數更新的公式可以參考Maei,HR的《Toward off-policy learning control with function approximation》一文。
在雙11采用的基於強化學習的實時搜索排序調控的實現體係如上圖所示。當用戶輸入query時,會向係統詢問哪一種排序策略最適合自己;該查詢策略請求會上傳至在線策略決策引擎,在線策略決策引擎通過實時學習的Q(s,a)模型合理選擇有效策略,然後再返回給搜索引擎;搜索引擎依據當前狀態下最有效策略執行搜索排序;在搜索排序頁麵展示的同時,係統會及時搜集相應的狀態 action以及用戶feedback的信號,並進入到Online Training Process;而Online Training Process會通過Off-policy model-free RL方法學習State To Action的映射關係,再從映射關係中得到線上排序所需要的策略參數;該策略參數由在線策略決策引擎通過Policy Invalid Process輸出給在線搜索引擎。
整體搜索/推薦希望建立一個Close-loop for iCube learning體係,其中iCube要求係統具備immediate、interactive、intelligent的能力。整體從日誌搜集到maximize rewards、minimize dynamic regret實現Online Training;其中Training模塊能夠高效地部署到Online Service;而Online Service必須具有很強的探索和overcome bias能力,進而使得整個體係能夠適應新的數據,提升流量投放效率,同時能夠探索新奇和未知的空間。
在AI應用到商業的過程中,未來努力方向是:
- From batch to streaming,希望從historical batch learning轉化為life long learning;
- 整個學習體係由tailor for tasks 向利用transfer learning實現不同渠道、應用下學習模型的複用轉變;
- Training process 從Blackbox轉變為實現合理的knowledge representation,實現線上投放邏輯的controlled&comprehensible;
- 學習體係隨著強化學習和在線決策能力的增強,從local optimization向global evolving轉變。
最後更新:2017-06-21 15:32:05