作者:京東零售 呂豪
背景
EE(Explore & Exploit)模塊是搜索系統中改善生態、探索商品的重要鏈路,其目標是緩解資料馬太效應導致模型對商品排序豐富性、探索性不足,帶來的系統非最優解問題,
在JD搜索體系中,EE模塊被定義的核心定位是:在給定流量和時間的約束下,探索出更多高效率的商品,EE的優化目標即為,以保障搜索效率為前提,提升廣義中長尾商品的探索成功率,提升搜索結果的流動性、豐富性,
EE場景迭代倍訓
由于EE場景的特殊性,其從核心定位 → 在線指標 → 離線評估體系 → 模型迭代的優化鏈路中的每一步,都需結合EE特點進行針對性升級,
以下分別從模型迭代、在線實驗指標、離線評估體系介紹相應模塊的優化,
模型Debias迭代
問題背景
EE的核心定位在于探索更多更高效的潛力中長尾商品,其首要回答的問題便是,在目前搜索體系中,哪些因素阻礙中長尾商品獲得更公平合理的展現機會?系統性的各類bias ,
1). Position-bias (展示位置偏置)
當前打分模型基于每天dump的搜索日志進行訓練更新,由于搜索結果的position-bias(位置偏置)效應,user的行為動作不僅與商品本身質量有關,而且受position(展示位置)較大影響,position-bias(位置偏置)效應對頭部商品的增益,加劇了平臺生態的馬太效應,使用position-bias的日志資料進行訓練,而未對position(展示位置)做去偏,不利于中長尾商品的正確效率預估,不利于平臺流動性、豐富性和長期價值,
2). Polularity-bias (流行度偏置)
存在與user偏好匹配程度相當的多個商品時,由于商品間的歷史累計銷量、累計評論等流行度特征的差異,造成傾向于給用戶呈現熱門流行商品,已流行商品則更流行,而匹配程度相似的中長尾商品,則難有機會被展現,中長尾更中長尾,
3). Exposure-bias (曝光偏置)
一次搜索請求下,只有有限的商品串列展現給user,絕大多商品無法展示;搜索系統一天內,整體被展現的商品集也只占全部商品集的小部分, 由此帶來的問題一方面是模型泛化問題,訓練在已展現商品的日志上進行,serving需在所有商品上做推斷,如何平衡訓練、推斷樣本分布差異化的矛盾,尤其是頭、尾部商品的巨大差距,另一方面是商品label問題,商品未累積獲得用戶正反饋,是因為與用戶不匹配,還是未有展現機會?
針對以上bias問題,EE排序模型從位置偏置建模、反事實推理學習方面進行升級,嘗試緩解position-bias和polularity-bias,取得一定收益,而Exposure-bias由于隨機dump樣本的label問題,還需要做更多探索,
目前EE排序模型整體結構圖:
- 針對位置偏置,設計position-bias net于訓練時建模位置作用、預測時mask,進行展示位置去偏,
- 針對流行度偏置,構建 U-I net/ item_net/ user_net 分別建模 用戶-商品內容匹配度、流行度因子、用戶心智偏好因子的影響,依據因果效應消除偏置因子作用,還原用戶對商品本身內容的偏好度,
位置去偏迭代
1. Position-bias 位置偏置建模,
EE模型升級至訓練、預測兩階段的position-debias方案,通過pos-bias tower建模position-bias影響,并在高語意層級與輸出均值融合,擬合訓練label,而后在預測階段摘除,以期去除pos-bias影響,
Pos的建模方式
1.1 pos as feat
訓練階段,pos作為模型特征使用,與其他u/q/i側特征聯合,共同輸入模型網路,計算相應logits并梯度回傳,預測推理階段,所有樣本強制采用同一個pos值,近乎理解為:同一個user/query下, 所有商品在同樣的展示位置上,進行預測分數比較,
其潛在風險如下:
- 強制pos數值如何選擇,展示位置一般可限制在[0-30/60]內,然而不同強制位置的設定,會帶來排序結果的變化,如何在[0-60]間選擇合理的強制位置,以及不同時間和分布下,強制位置的選擇是否要重新進行,
- pos特征的重要性,將pos特征由網路底層輸入,其重要性可能難以在最后的logits中得以充分體現,其物理意義(位置因素影響用戶商品互動行為的作用大小)不易直觀理解,
1.2 multi-pos predict
設計最后一層為多位置通道輸出的網路,預測商品在各列舉位置上的logits輸出,訓練階段計算商品在所有位置上的輸出結果,只激活真實的pos通道計算logit和loss,其他位置通道進行mask,推斷時,貪心的從第一個位置開始,無放回的選擇當前位置上的最優商品,直至最后一個位置,
此方案適配用于排序位置較為固定的場景,如重排N選N,在搜索EE現有架構下并不適配,一方面是SVGP結構對多通道結果輸出并不友好,另一方面,EE現有插入范圍較大[1-60]、比較插入機制也需做非常復雜化的適配改造,方案過重,
1.3 pos as tower
升級現有DNN + 稀疏變分高斯(svgp) 采樣打分模型,采用基于position-bias net(位置偏置)的模型方案,方案具體為訓練、預測兩階段的位置去偏,
- 訓練階段通過引入展示位置表征作為位置偏好網路,與基于user/query/item的主網路共同輸入,預估商品在當前位置(位置偏好網路)及自身質量(主網路)下的打分,
- 預測階段通過摘除位置偏好網路,預測商品僅基于自身質量的采樣打分,去除展示位置影響,通過此方案可以緩解訓練資料的position-bias(位置偏執),降低頭部商品由于展示位置的打分增益,同時減少中長尾商品由于靠后位置的打分折損,優化搜索結果豐富性和平臺生態,
2. 個性化位置偏置建模,
用戶對商品的偏好是個性化的,不同用戶對商品的偏好不同,用戶對位置的偏好也是差異化的,不同用戶對位置的敏感度存在差異,
上文的bias-net建模方式,假定所有用戶對同一位置偏好相同,忽略了用戶間的位置偏好差異,典型例子如下,偏逛用戶在系統中對position相對不敏感,position的排名前后對用戶的行為決策影響相對更小,而對偏快速夠買用戶則影響截然相反,
個性化位置偏置建模,升級現有bias-net結構,引入用戶個性化特征,包括靜態profile和動態行為序列,通過個性化bias-net 計算不同用戶對不同position的位置偏好,更準確的還原用戶對商品內容的真實偏好,
Pos Tower 與 svgp的結合方式,
2.1 SVGP簡介
GP(Gaussian process,高斯程序)是用于在樣本間存在相關關系的情況下,通過觀測值對未知樣本label 進行修正預測的演算法,簡言之,距離觀測點越近的未知樣本,其均值被修正越多、更接近觀測值,方差也越收斂,反之亦然,SVGP(Sparse Variational Gaussian Process, 基于稀疏變分的高斯程序),針對大樣本量下協方差矩陣和求逆難以計算的問題,設計一定數量的可學習的引導點,對所有訓練樣本進行歸納,未知樣本通過與引導點的協方差來計算均值和方差,
2.2 表征層融合(Representation Fusion)
Pos-tower與Main-tower融合方式有兩種,表征層融合和logit層融合,在SVGP計算前進行融合,即表征層向量進行融合,可以采用 concat/sum/avg 等各種方式,其難點在于,向量間的相加、平均操作,無法直觀理解其物理意義和作用,向量疊加是否導致logit正向增大,向量帶來多大的logit提升,這些位置偏置作用難以決議,
另外從模型結構來看,svgp依賴樣本內容間相似度計算均值和方差,而position-bias的影回應該獨立于樣本內容的計算,
2.3 logit層融合(Logit Fusion)
在svgp之后的logit層融合,可采用 logits 相乘相加方式,其直接從模型結構上詮釋了這樣的公式 Label = f(content) + f(position) / Label = f(content) * f(position) ,其中 f(position)的絕對值大小,直觀的表示 position 帶來的增益大小,
位置偏置建模線上效果
保持大盤效率持平的情況下,EE核心指標提升明顯,探索流動性指標(探索更多商品)提升明顯 +1.35%,探索成功率指標(探索更高效商品)顯著改善 +0.74%,
流行度去偏
3.1 IPS
對每個商品預估 propensity score,然后采用逆向 propensity score 權重的方式,消除傾向分的影響,預估商品真實的內容匹配度得分,
挑戰點:
- 如何準確獲得 propensity score,這是對后續糾偏的前提挑戰,
- 整體為兩段式訓練,鏈路上有一定復雜度,
3.2 流行度降權
在實際搜推資料中,在user側、item側分別依據其流行程度,設計對應降權權重,緩解整體被熱門用戶、商品所主導的趨勢,增強所關注樣本的影響力,
面臨難點:
- 合理的設計權重方案,
- 如何挖掘hard example,
3.3 基于因果關系的反事實推理
如何緩解流行度偏置問題?在訓練鏈路中,增強改善中長尾商品的學習是一類重要方法;對用戶互動行為進行解構,拆分出商品流行度等因子的作用,是另一個視角的解決思路,
因果圖、因果關系簡介
因果圖是有向無環圖,其中節點表示隨機變數、有向邊表示節點之間的因果作用方向,如上圖對于節點Y變數,有兩條路徑的因果作用,分別是 I → Y 、I → K → Y,
- I → Y 表示從 I 節點開始的自然直接因果效應 (NDE),作用路徑上沒有中間節點,
- I → K → Y 表示從 I 節點開始的間接因果效應 (TIE),K是路徑上的中間節點,
- 直接因果效應和間接因果效應之和,即為Y變數的總因果效應 (TE),
總因果效應計算,可以由自變數的單位擾動帶來的因變數變化進行計算,自然因果和間接因果效應計算亦然:
以上公式可得,求出TE和NDE時,可推導計算中間接因果效應 TIE,
搜索中的因果效應
在電商搜索場景下,用戶對商品的互動行為,可表示為 U-I 間各種因子的綜合作用,常見思路為考慮 U-I 間內容匹配程度作為待預測因子,學習此因子在互動行為中的作用,在未來樣本上進行預測排序,
從電商搜索的現實情況出發,對互動行為進一步拆分,影響用戶商品互動行為的因子大體包含如下三方面:
- 1). (U-I) → Y, U-I 內容匹配度因子,用戶與item本身內容的匹配程度、喜好程度對互動行為的影響,越喜歡則越點擊購買,
- 2). I → Y, Item流行度特征,內容偏好匹配程度相當的幾個商品時,由于歷史累計銷量等流行度特征,熱門商品展現更多、被互動概率更高,
- 3). U → Y, 用戶天然心智,user對流行商品的偏好程度不同,有些用戶更傾向于熱門商品,部分用戶則并不敏感,
以上因子的拆解,包括了U/I 內容匹配度的間接因子的效應,也包括了 U、I的直接效應影響,因此在EE模型中設計如下網路,分別建模各個因子的作用:
具體分別設計 UI-Match-Net, User-Net, Item-Net 分別預測對應三種因子的作用,其中總效應,U/I 效應分別表示為
在訓練中Loss的設計如下,分別表示
- U-I與label的loss,優化主模型的準確性
- U、I側直接因子的loss,通過這種方式分別預測兩種直接因子對互動結果的影響
- alpha/beta 為訓練時超參
預測階段緩解流行度偏置,主要在于去除流行度因素、用戶心智因果(偏置因子)的影響,具體通過總因果效應減去自然直接效應(偏置因子效應),盡量準確還原 U-I 內容匹配程度的影響
TIE = TE - NDE
反事實推理后的因果圖狀態如下,將U/I 的直接效應消除,保留U-I 內容匹配度的效應:
反事實推理建模線上效果
保持大盤效率持平的情況下,EE核心指標提升明顯,探索流動性指標(探索更多商品)提高 +0.82% ,探索成功率指標(探索更高效商品) 顯著提升 +0.66%,
在線AB指標
探索成功率指標,用于在小流量AB期間指導EE效果分析,其設計思路從EE核心價值出發,推匯出長期價值相關聯的AB期間核心指標,
具體而言,即論證 探索成功率指標 → EE核心價值,
- 滿足探索成功率的商品,跟蹤其一定時間后在搜索中的承接狀態,是否被大盤較好承接,
- 搜索中承接狀態,主要為三要素:流量、點擊、訂單,
通過對 1). 商品概況和承接定義, 2). 商品承接統計, 3). 分層承接分析 等方面進行分析,迭代出搜索EE在AB實驗期間所關注的EE核心指標集–探索成功率,
離線評估體系
EE線上指標主要關注
- 1). 大盤效率,UCVR和UV價值
- 2). 探索成功率, 其余輔助觀測指標包括 流動性指標、豐富性指標,
在線的探索成功率和輔助指標,現階段難以與模型離線指標(AUC等)關聯,無法在離線評測EE模型的探索能力,限制EE模型迭代速度,極大增加迭代時間成本,
針對EE場景特異性的指標,設計了離線指標評測集合,分別從 效率、中長尾探索強度、不確定預估等方面,綜合評測EE模型,加速迭代,
總結
搜索EE是提升搜索場景流動性、多樣性的關鍵模塊,其面臨的問題和以效率排序為主模塊的問題有很大差異,對EE同學提出了不一樣的挑戰,
針對EE場景的特點,排序模型從Debias(打分公平性)入手,拆解存在于各種排序場景的bias問題,對位置偏置和流行度偏置問題升級較通用化的解決方案,取得了EE核心指標的顯著提升,同時對于迭代鏈路中的 在線AB指標、離線評估體系,也進行了論證和迭代,完成對整個EE排序倍訓鏈路的升級,限于篇幅,AB指標和離線評估體系在這里不做全面展開,感興趣的同學歡迎隨時交流,共同探討,
EE場景面臨的挑戰很多,后續計劃從如下方面繼續深入探索:
1). 引入更豐富的用戶探索信號的表達,增加explore-net和監督loss,提升EE模型對探索偏好的學習,
2). 思考EE的長期價值,如何在模型結構、Loss設計上結合長期價值,
3). 優化EE探索機制和EE候選集,提升EE全鏈路探索能力,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/544896.html
標籤:大數據