7.5 探索基於強化學習的智能推薦之路
1. 背景
隨着千人千面個性化推薦技術在手機淘寶的全面應用,推薦場景日均引導成交在整個手淘平台占據着非常重要的比例。用戶越來越習慣於逛淘寶來滿足日常的休閑或者購物的需求。然而很多時候,用戶購買的目的性並不是很明確。一個寶貝的成交,可能會跨越多天,經歷較長的決策周期。與此同時,在整個用戶的購買決策過程中,他們經常在多個異構的推薦場景間進行跳轉,進而影響自身后續的行為序列。
因此,推薦的優化需要從單一場景的直接優化,逐步進階到多場景的聯動優化,這就需要我們將用戶的長期行為序列納入建模,從而實現整個手淘推薦鏈路的累積收益最大化。在這樣的背景目標下,我們先后探索落地了兩項階段性的優化工作:
1)基於監督學習的購買決策建模;
2)基於強化學習的全鏈路場景優化;
通過這兩個階段的工作,我們初步實現了手淘推薦引擎的合理化與智能化,它能根據用戶-系統的聯動交互,結合用戶當前的狀態,給出最優的推薦決策,從而獲得長期累積受益的最大化。
2. 基於監督學習的購買決策
我們首先對已有的單一場景推薦過程進行深入地思考和分析:常見的成交模型僅僅通過用戶短期行為對用戶當天的成交進行預估,實際上是局部貪心的算法。導致的結果是無法引導高質量的成交,在優化cvr時往往會引起筆單價的下降(筆單價低的商品存在cvr高的天然屬性),即使最終gmv提升,也是建立在降低成交質量的代價之上。
2.1 建模背景
以首頁導購場景猜你喜歡為例,我們對用戶的行為與成交日志進行分析。可以發現用戶在某一類目或商品上的購買行為存在一個決策的過程,並且這一過程的長度與成交單價強相關,如下圖所示:
購買決策過程是一個解釋消費者行為的成熟理論,除去購買價格低決策風險小或品牌忠實用戶導致快速決策的情況,大部分購買決策過程包括以下幾個階段:
- 需求產生:用戶通過內部以及外部刺激發現現狀與理想狀態存在的差距,從而激發了購買需求。
- 信息搜集:用戶通過各種渠道(廣告、親友、互聯網搜索引擎)學習到相關的行業知識。
- 候選比較:用戶在這一階段,將根據學到的行業知識聚焦到契合用戶需求的幾款候選商品並進行評估。
- 購買決策:完成評估后,用戶將會進入最后的決策階段,根據自身購買力與偏好等信息進行選擇,這一環節仍然會受到其他因素(親友反饋、預算不符等)影響而被打斷。
- 購后反饋:用戶購后對商品的體驗環節會修正用戶對行業的認知。
我們借鑒這樣的思路,將用戶的購買行為看作多個階段組成的過程,並結合場景日志對購買決策過程進行建模。我們暫不討論用戶成交后的行為(即購后反饋),只將購買決策階段作為整個購買決策過程的終點。
2.2 決策建模
如上圖所示,以CF(協同過濾)方式召回的商品會通過小時級曝光日志進行曝光過濾。這一策略在整體上對ctr指標有提升,向用戶曝光更為豐富多樣性的商品,提升用戶購買初期信息搜集的體驗,但也會過濾用戶行為收斂后真正中意的商品,打斷用戶的購買過程。
因此,我們在CF之外增加購買決策階段商品的召回,不對決策商品進行強制曝光過濾,只是將曝光作為特征加入模型。我們為購買決策階段進行建模,用戶反饋點擊通過購買決策模型判別為決策商品或非決策商品:決策商品被重新召回,而非決策商品將會在排序中被降權。
我們收集用戶在詳情頁的行為作為判斷用戶是否處在購買決策階段的主要特征,結合全網以及場景的用戶偏好,以場景GMV為目標進行建模。
page_(u,i)為用戶u在商品i詳情頁的行為,描述了用戶對商品的決策行為。prefer_(u,i)表示用戶u對商品i的偏好向量。g(.)與h(.)是我們結合場景樣本與模型擬合得到的ctr與cvr預估函數。
與常規gmv優化任務所不同的是,我們的<u, i>是全部來自於場景點擊召回再次曝光的樣本。我們使用gbdt作為ctr與cvr的擬合函數g(.)、h(.)。
根據訓練的模型,我們可以以預估的gmv進行排序,並設置閾值將回歸模型轉化為二分類模型,從而判斷用戶是否處在購買決策的階段。決策商品會被重新召回,而非決策商品會被降權。在此基礎上結合商品降價、售罄等利益點在推薦場景中向用戶展示,從而促使用戶做下最終的購買決定,減少用戶的決策時間。
我們的策略在日常進行小流量實驗,對比效果在客單價與總成交上都有非常顯著的提升;雙11當天大促全量上線,更是以極少的pv占比引導了很大比例的成交。
3. 基於強化學習的全鏈路優化
在第一階段的工作中,我們基於傳統監督學習建模的方式,在一定程度上提升了單一場景的引導成交和客單價。但總體上來講,模型上仍然不夠優雅智能,用戶在成交鏈路上的行為序列特性並沒有在模型上體現。
事實上,在電商的個性化推薦中,存在一條典型的交易鏈路,它能基本刻畫一個用戶完成一次購買行為所經歷的路徑環節。比如用戶在首頁閑逛時可能會對某個商品發生興趣,然后點擊進去查看商品的詳情,或加購、或收藏;當用戶下定決心購買后,會到達付款完成頁,之后又可能會查看訂單詳情、物流信息等,直到最后確認收貨。
這些頁面都有相應的推薦場景,在購買前通過推薦輔助促進用戶的決策過程;用戶完成某個寶貝購買后,全力捕捉用戶的購物熱情,繼續通過合理的推薦讓用戶繼續購買更多的寶貝。整個交易鏈路的核心就是最大力度的引導用戶成交,實現全鏈路成交的累積最大化。
所以我們就繼續考慮能否采用類MDP的方式,進行更為合理智能的全鏈路優化建模,即在用戶每一個當前的鏈路狀態,推薦引擎可以依據一定的策略,輸出相應的推薦行為,然后根據用戶的反饋交互,對策略進行迭代更新,從而最終逐步學習到最優的推薦策略。換句話講,也就是強化學習的建模優化思想。
然而與搜索等場景不同的是,商品的個性化推薦對用戶來講是一個“Soft Need”,很多時候購物的目的性並不是非常的明確。一個寶貝的成交,可能會跨多天,決策周期較長。並且在購買決策的過程中,用戶會經常性的在多個異構的推薦頁面場景中進行跳轉,情況也較搜索更為復雜。
3.1 算法背景
結合推薦場景的語義環境,首先明確強化學習幾個核心元素的基本含義。我們將推薦引擎視為Agent,
S:引擎能感知的當前用戶狀態空間;
A:商品推薦空間;
R:獎賞函數;一次狀態跳轉Agent能獲得的獎賞;
強化學習學到的是一個從環境狀態到動作的映射,即行為策略 π:S →A ,而學習的目標,就是通過與環境的交互過程中,尋找到一個最優策略π^*,在任意狀態s下,獲得的長期累積獎賞最大化,即:
V^π (s)為策略對應的狀態值函數,表示狀態s下的折算累積回報:
對應的狀態-動作值函數為:
即在狀態s下,采用動作a,Agent能獲得累積獎賞期望。顯然,對於最優的策略π^*對應的狀態值函數和動作值函數,有:
對於經典的強化學習,可以通過尋找最優的狀態值函數或動作值函數,學習最優策略π^*。
3.2 算法估計
基於值函數估計的核心思想就是,將狀態-動作值函數進行參數化,將大規模的狀態動作空間轉化為參數空間,在降維的同時增加函數本身的泛化能力。即:
我們通過更新參數w來使得Q函數逼近最優的Q值。
其中,ϕ(s)為狀態s的特征向量,包含:用戶自身維度的一系列特征、當前所處鏈路場景的特征信息、以及上一跳的trigger特征信息等;ψ(a)為商品維度的一系列特征。
而f本身是一個回歸模型,典型的包括:線性回歸,樹回歸(e.g., rf或gbrt等),以及神經網絡的方式。
我們通過Q-Learning的方式進行估值的迭代,即:
其中,α 能夠減減少估計誤差造成的影響,類似隨機梯度下降,從而最終收斂到最優的Q值。
在電商的個性化推薦中,用戶的購物目的性並不是很明確。一個寶貝的成交,可能會跨多天,決策周期較長。並且在購買決策的過程中,用戶經常會在多個異構的推薦頁面場景中進行跳轉。為了應對這一狀況,我們對交易鏈路多個關鍵場景中,一定周期內的用戶真實曝光、點擊、成交等行為,在類目限制的基礎上按照時序進行關聯,從而可以構建出一個行為決策序列,如下圖所示:
我們結合實際的業務需求,對行為序列中單步的獎賞收益可以進行具體的定義。
當我們找到最優的估值函數,就可以依據當前的Q值計算出最優的動作輸出給用戶。這種方式稱之為Greedy Policy,即:
這里可以進一步使用e-greedy policy的方式,增加一定的exploration,會有利於更新Q值從而獲得更好的Policy。
強化學習的全鏈路優化策略最終在多個場景取得了非常大的業務指標提升。策略本身具有很好的智能迭代成長能力,同時可以優雅地建模用戶長周期的購買決策行為,有效促進了高客單價格商品的決策成交。
結語
每年的雙11都是對我們日常算法優化的一次大考,也是我們實驗前沿技術的最佳陣地。我們在去年千人千面全面觸達終端用戶的基礎上,進一步探索了更為復雜的多場景全鏈路聯動優化,使推薦本身更加的合理化和智能化。從基於監督學習的購買決策,到基於強化學習的全鏈路優化,我們穩扎穩打,初步開啟了智能推薦的新篇章。