快手短視頻推薦中的因果推斷實踐
一、快手單列短視頻推薦場景
1、關于快手
*數(shù)據(jù)取自于2023年二季度
快手是一個國民級的短視頻和直播社區(qū)應用,其 MAU 和 DAU 在今年第二季度創(chuàng)下了新高??焓值暮诵睦砟钍怯^察并分享每個普通人的生活。在快手的 APP 中,短視頻場景主要有單列和雙列兩種。目前,單列的流量較大,其體驗主要是沉浸式的上下滑動。雙列的呈現(xiàn)形式與信息流類似,用戶需要從屏幕上出現(xiàn)的幾個內容中選擇感興趣的點擊觀看。推薦算法是快手業(yè)務生態(tài)中的核心,在流量分發(fā)和提升用戶體驗方面發(fā)揮了重要作用。
2、快手單列短視頻推薦場景
快手短視頻推薦場景中,以單列為主要形式。用戶通過上下滑動的行為模式瀏覽視頻,視頻一旦被滑到即自動播放,無需用戶先選擇再點擊觸發(fā)播放。此外,用戶反饋形式非常豐富,包括關注、點贊、評論分享和進度條拖動等,隨著業(yè)務發(fā)展,互動形式也日趨多樣化。優(yōu)化目標包括長期目標和短期目標,長期目標包括優(yōu)化用戶體驗和留存 DAU 等,短期指標則涵蓋了用戶的各種正向反饋。
推薦系統(tǒng)的建立基于機器學習和深度學習,日志主要來源于用戶實際行為產生的特征和反饋。然而,日志存在局限性,只能反映用戶當前興趣的有限信息,而真實姓名、身高體重等隱私信息無法獲取。同時,推薦算法是基于以前的日志學習訓練得到的,再去為用戶推薦,存在自循環(huán)的特點。此外,由于受眾廣泛且差異大,視頻數(shù)量龐大且更新頻繁,推薦系統(tǒng)容易出現(xiàn)各種偏差,如流行度偏差、長短視頻曝光偏差等。在短視頻推薦中,利用因果推斷技術進行偏差建模有助于糾偏并提升推薦效果。
二、因果推斷技術與模型表示
接下來分享我們與兄弟團隊在因果推斷和模型表示方面的工作。
1、背景
推薦系統(tǒng)通常通過交互日志進行模型學習。用戶的反饋可能來自于對內容的喜好,但我們也注意到用戶存在從眾心理。例如,在選擇電影時,除了個人喜好,用戶還可能受到作品獲獎情況或周圍人的影響。這種從眾心理在不同用戶之間存在差異,有的用戶比較有主見,而有的用戶可能更易受他人或熱度的影響。因此,在用戶交互歸因上,除了考慮用戶的興趣,還要考慮從眾心理。
現(xiàn)有工作大多將流行度視為靜態(tài)偏差,如電影的流行度僅與 item 相關,且在建模用戶與 item 評分時未考慮用戶間的偏差。流行度通常被作為一個單獨的評分項,與 item 的曝光次數(shù)相關,而對流行度較低的 item 偏差較少。這種建模方式是靜態(tài)的,并且與 item 相關。隨著因果推斷技術在推薦領域的應用,一些研究嘗試通過解耦表示來處理這個問題,考慮用戶選擇 item 時的從眾心理差異。與現(xiàn)有方法相比,我們的方法能夠更準確地建模用戶的從眾心理差異,從而更有效地糾偏并提升推薦效果。
2、相關工作
在 Webconf2021 的一篇論文中,用戶交互被建模為既受用戶對 item 的興趣影響,又受 item 對用戶在選擇 item 時的從眾心理程度影響。因果關系圖如左圖所示,關系相對簡單。在具體建模時,user 和 item 的表示被拆分為興趣表示和從眾性表示。對于興趣表示,構建了一個興趣 loss;對于從眾性表示,構建了一個 confirmation loss;針對反饋行為,構建了一個 click loss。由于表示結構的拆分,interest loss 被用作監(jiān)督信號來學習 interest 表示,而 confirmation loss 用于建模從眾心理表示。Click loss 與兩個因素相關,因此通過連接和交叉來構建。整個處理方式既清晰又簡單。
在構建 interest loss 和 confirmation loss 時,該研究還運用了因果推斷中的一些概念和技術。例如,如果一個不流行的視頻或商品獲得了正向交互,則很可能是由于用戶真正喜歡它。這可以通過反向驗證來確認:如果一個商品既不流行,同時用戶又對其不感興趣,則不太可能有正向交互。至于 click loss,則采用了一種常見的處理方式,即 pairwise loss。關于 colliding effect,感興趣的讀者可以查閱論文以獲取更詳細的構建方式。
在解決推薦系統(tǒng)中的復雜性問題時,有研究從模型表示入手,旨在區(qū)分用戶對 item 的興趣和從眾心理。然而,實際應用中存在一些問題。推薦系統(tǒng)中的視頻數(shù)量龐大,曝光量分布不均,頭部視頻曝光次數(shù)多,長尾視頻曝光次數(shù)少,導致數(shù)據(jù)稀疏。稀疏性給機器學習模型帶來學習困難。
為解決這一問題,我們引入了對比學習進行樣本增廣。具體而言,除了用戶與 item 的正向交互外,我們還選取了用戶行為范圍內的其他視頻作為負樣本進行擴充。同時,我們沿用了因果圖來設計模型,將 user 和 item 側的 interest 和 conformity 表示拆分。該模型與傳統(tǒng)的 DICE 的主要區(qū)別在于學習 interest 和 confirmation 的 loss 時采用了對比學習加樣本增廣的方法,并針對 interest loss 和 confirmation loss 分別構建了歸一化的 item popularity 的 ratio 指數(shù)項。通過這種方式,可以更好地處理數(shù)據(jù)稀疏問題,并更準確地建模用戶對不同流行度 item 的興趣和從眾心理。
3、總結
該工作基于短視頻交互中的興趣和從眾心理疊加作用,采用了因果推斷技術與 causal embedding 手段來實現(xiàn)結構表示的解耦。同時,考慮到實際系統(tǒng)中長尾視頻樣本稀疏問題,采用對比學習和樣本增廣方法緩解稀疏性。該工作結合線上表示模型與因果推斷,實現(xiàn)了一定的 conformity 解耦效果。在離線和在線實驗中,該方法表現(xiàn)良好,并成功應用于快手推薦 LTR 實驗,帶來了一定的效果提升。
三、觀看時長預估與因果推斷技術
1、觀看時長重要性
在短視頻推薦業(yè)務中,觀看時長是一個重要的優(yōu)化目標,它與用戶留存、DAU 和回訪率等長期指標密切相關。為了提升用戶體驗,我們需要關注在給用戶推薦視頻時的中間行為指標。經驗表明,觀看時長是一個非常有價值的指標,因為用戶的注意力有限。通過觀察用戶觀看時長的變化,可以更好地理解哪些因素影響了用戶的觀看體驗。
視頻長度是影響觀看時長的重要因素之一。隨著視頻長度的增加,用戶的觀看時長也會相應增加,但過長的視頻可能會導致邊際效應遞減,甚至觀看時長會略有下降。因此,推薦系統(tǒng)需要找到一個平衡點,以推薦適合用戶需求的視頻長度。
為了優(yōu)化觀看時長,推薦系統(tǒng)需要預測用戶的觀看時長。這涉及到回歸問題,因為時長是一個連續(xù)值。然而,時長相關工作較少,可能是因為短視頻推薦業(yè)務相對較新,而推薦系統(tǒng)研究的歷史較長。
在解決觀看時長預估問題時,可以考慮視頻長度以外的其他因素,例如用戶興趣、視頻內容質量等。通過綜合考慮這些因素提高預測的準確性,并為用戶提供更好的推薦體驗。同時,我們也需要不斷迭代和優(yōu)化推薦算法,以適應市場的變化和用戶需求的變化。
2、D2Q
在 KDD212 會議上,我們提出了一種解決短視頻推薦中時長預估問題的新方法。該問題主要源于因果推斷中的 duration bias 自我強化現(xiàn)象。為了解決這一問題,我們引入了因果圖來描述用戶、視頻和觀看時長之間的關系。
在因果圖中,U 和 V 分別代表用戶和視頻的特征表示,W 代表用戶觀看視頻的時長,D 代表視頻的長度。我們發(fā)現(xiàn),由于推薦系統(tǒng)的自循環(huán)生成過程,duration 不僅與觀看時長直接相關,還會影響視頻表示的學習。
為了消除 duration 對視頻表示的影響,我們運用 do calculus 進行了推導。最終的結論表明,為了通過后門調整解決這個問題,最簡單直接的方法是為每一種 duration 的視頻對應的樣本單獨估計觀看時長。這樣就能消除 duration 對觀看時長的放大效應,從而有效地解決因果推斷中的 duration bias 問題。這種方法的核心思想是消除 d 到 v 的誤差,從而實現(xiàn)對 bias amplification 的緩解。
在解決短視頻推薦中的時長預估問題時,我們采用了基于因果推斷的方法,以消除 d 到 v 的誤差并實現(xiàn)對 bias amplification 的緩解。為了處理 duration 作為連續(xù)變量以及視頻數(shù)量分布的問題,我們對推薦池中的視頻根據(jù) duration 進行分組,并使用分位數(shù)進行計算。每個分組內的數(shù)據(jù)被拆分后,用于訓練組內的模型。在訓練過程中,回歸的是每個 duration 分組內視頻時長對應的分位數(shù),而不是直接回歸時長。這樣可以降低數(shù)據(jù)的稀疏性并避免模型過擬合。在線上推理時,對于每個視頻,首先找到其對應的分組,然后計算出對應的時長分位數(shù)。通過查表,可以根據(jù)分位數(shù)找到實際的觀看時長。這種方法簡化了線上推理過程,提升了時長預估的準確性。綜上所述,我們的方法通過消除 d 到 v 的誤差,有效解決了短視頻推薦中的時長預估問題,為優(yōu)化用戶體驗提供了有力支持。
在解決短視頻推薦中的時長預估問題時,我們還引入了參數(shù)共享的方法來降低技術難度。在拆分訓練過程中,一種理想的方式是實現(xiàn)數(shù)據(jù)、特征和模型的完全分離,但這樣會帶來部署成本的增加。因此,我們選擇了更為簡便的方式,即共享底層特征的 embedding 和中間層的模型參數(shù),僅在輸出層進行拆分。為了進一步擴大 duration 對實際觀看時長的影響,我們引入了一個殘差連接,將 duration 直接連接到輸出預估時長的分位數(shù)的部分,從而增強了 duration 的影響力。這種方法降低了技術難度,并有效地解決了短視頻推薦中的時長預估問題。
在實驗中,主要使用了快手發(fā)布的公開數(shù)據(jù)集。通過對比幾種方法可以看到,直接回歸和時長加權模型的表現(xiàn)各有千秋。時長加權模型在推薦系統(tǒng)中并不陌生,其核心思想是將觀看時長作為正樣本的權重納入模型中。而 D2Q 和 Res-D2Q 則是兩種基于因果推斷的模型結構,其中 Res-D2Q 引入了殘差連接。通過實驗,我們發(fā)現(xiàn)將視頻按照 duration 分組至 30 組時能達到最佳效果。與樸素的回歸模型相比,D2Q 方法有顯著提升,并能在一定程度上緩解 duration bias 自循環(huán)放大問題。然而,從時長預估問題的角度來看,挑戰(zhàn)仍未完全解決。
3、TPM
時長預估問題作為推薦系統(tǒng)中的核心問題,具有其獨特的特點和挑戰(zhàn)。首先,回歸模型無法反映推薦結果的順序關系,使得即使在回歸誤差相同的情況下,實際推薦結果也可能大相徑庭。此外,預估模型除了要保證預估值的準確性,還需要考慮模型給出的預估值的置信度。一個值得信賴的模型不僅應給出準確的預估值,還應以高概率給出該預估值。因此,在解決時長預估問題時,我們不僅要關注回歸的精準度,還要考慮模型的置信度,以及預估值的順序關系。
在觀看行為中,用戶連續(xù)觀看視頻的行為存在條件依賴關系。具體來說,如果觀看整個視頻是一個隨機事件,那么先看完 50% 的視頻也是一個隨機事件,它們之間存在嚴格的條件依賴關系。解決偏差放大問題在觀看時長預估中非常重要,而 D2Q 方法很好地解決了這一問題。相比之下,我們提出的 TPM 方法旨在全面覆蓋所有時長預估問題。
TPM 方法的主要思想是將時長預估問題轉化為離散的搜索問題。通過構建一個完全的二叉樹,將時長預估問題轉化為若干個互相有條件依賴的分類問題,然后使用二分類分類器解決這些分類問題。通過不斷地向下進行二分搜索,確定觀看時長在每個有序區(qū)間內的概率,最終形成觀看時長的一個多項分布。這種方法能夠有效地解決不確定性建模問題,使預估時長的均值與真實值盡可能接近,同時減小預估時長的方差。整個觀看時長的問題或者預估過程就可以逐漸通過不斷地解決互相依賴的二分類問題來求解。這種方法為解決時長預估問題提供了一種新的思路和框架,能夠提高預估準確性和置信度。
在介紹 TPM 的建模關鍵時長思路時,展示了 TPM 與 D2Q 的后門調整之間的無縫連接。這里通過一個簡單的因果圖,將用戶和 item 側的特征與混雜因子進行關聯(lián)。為了實現(xiàn) TPM 里面的后門調整,需要為每個混雜因子取值的樣本構建一個對應的模型,并為每個混雜因子構建一個對應的 TPM 樹。完成這兩個步驟后,TPM 就能與后門調整進行無縫連接。這種連接方式使得模型能夠更好地處理混雜因子,提高預測準確性和置信度。
具體的解決方法是,針對每個深層次的混雜因子構建一個對應的模型,與 D2Q 一樣,這也會帶來數(shù)據(jù)稀疏和模型參數(shù)過多的問題,需要 share-bottom 的處理,將每個混雜因子的樣本都整合到一個相同的模型中,但模型的底層 embedding 表示、中間參數(shù)等都是共享的,只是在輸出層部分與實際的節(jié)點和干擾因子取值相關。在訓練時,只需要找到每條訓練樣本對應的真實葉子節(jié)點即可進行訓練。而在預估時,由于不知道觀看時長屬于哪個葉子節(jié)點,因此需要進行從頂?shù)降椎谋闅v,將觀看時長所處每個葉子節(jié)點的概率和對應葉子節(jié)點的期望時長進行加權求和,以得到實際的觀看時長。這種處理方式使得模型能夠更好地處理混雜因子,提高預測準確性和置信度。
在快手公開數(shù)據(jù)集和 CIKM16 關于停留時長的數(shù)據(jù)集上,我們進行了實驗,對比了 WLR、D2Q 和 OR 等方法,結果顯示TPM具有顯著的優(yōu)勢。每個模塊都有其特定的作用,我們也進行了缺省實驗,實驗結果表明每個模塊都發(fā)揮了作用。我們還在線上實驗了 TPM,實驗條件是將快手的精選流量均勻劃分為十組,20% 的流量作為基線和在線實驗組進行對比。實驗結果顯示,TPM 在排序階段能夠顯著提升用戶的觀看時長,同時其他指標基本持平。值得注意的是,負向指標如用戶短波的數(shù)量也有所下降,我們認為這與時長預估的準確性和預估不確定性降低有一定的關系。觀看時長作為短視頻推薦平臺的核心指標,TPM 的引入對于提升用戶體驗和平臺指標具有重要意義。
總結一下這部分的介紹。在短視頻推薦平臺中,觀看時長是核心指標。解決此問題有兩個層面需要考慮:一是偏差問題,包括 duration bias 和 popularity bias,這需要在整個系統(tǒng)鏈路日志到訓練的自循環(huán)中解決;二是時長預估問題,這本身是一個連續(xù)值的預測問題,通常對應回歸問題。然而,對于特殊的時長預估回歸問題,需要采用特定的方法處理。首先,針對偏差問題,可以通過后門調整來緩解,具體做法是將 duration 進行分組,為每個組設計對應的模型進行回歸。其次,處理時長預估的回歸問題,可以采用樹結構分解時長預估,將其分解成若干個層次化的有序區(qū)間,通過樹的遍歷過程,從頂?shù)饺~子節(jié)點的路徑進行問題的拆解和解決。在預估時,通過樹的遍歷來進行時長預估。這種處理方式能夠更有效地解決時長預估的回歸問題,提高預測準確性和置信度。
四、未來展望
隨著技術發(fā)展的加速,我們所處的世界變得越來越復雜。在快手的短視頻推薦場景中,推薦系統(tǒng)的復雜性也日益凸顯。為了更好地進行推薦,我們需要深入研究因果推斷在推薦系統(tǒng)中的應用。首先,我們需要定義一個具有業(yè)務價值的問題,例如觀看時長預估。然后,我們可以從因果推斷的角度來認識和建模這個問題。通過因果調整或因果推斷的方法,我們可以更好地分析和解決偏差問題,如 duration bias 和 popularity bias。此外,我們還可以利用技術手段,如機器學習和運籌優(yōu)化,來解決系統(tǒng)復雜性和場景分布性等問題。為了實現(xiàn)高效的解決方案,我們需要找到一個系統(tǒng)化、自動化的方式去解決問題。這樣不僅可以提高工作效率,還可以為業(yè)務帶來持續(xù)的價值。最后,我們需要關注技術的可擴展性和成本效益,以確保解決方案的可行性和可持續(xù)性。
綜上所述,因果推斷在推薦系統(tǒng)中的應用是一個具有挑戰(zhàn)性和潛力的研究方向。通過不斷探索和實踐,我們可以不斷提升推薦系統(tǒng)的效果,為用戶帶來更好的體驗,并為業(yè)務創(chuàng)造更大的價值。
以上就是本次分享的內容,謝謝大家。
五、問答環(huán)節(jié)
Q1:TPM 相對于 D2Q,在回歸的時候做了一些改進,能更好地利用時長的依賴關系。想問下這里的依賴關系是指什么?
A1:從頭節(jié)點走到葉子節(jié)點可以視為類似 MDP 的持續(xù)決策過程。條件依賴意味著下一層的決策是基于上一層的結果。例如,為了達到葉子節(jié)點也就是區(qū)間[0,1],必須先經過中間節(jié)點,也就是區(qū)間[0,2]。這種依賴關系在實際上線預估時,通過每個只解決特定節(jié)點是否要走到下一個葉子節(jié)點的分類器得以實現(xiàn)。這就像在猜年齡的例子中,首先詢問年齡是否大于 50 歲,然后根據(jù)回答再問是否大于 25 歲。這里隱含了一個條件依賴關系,即小于 50 歲是回答第二個問題的前提。
Q2:采用樹模型,會給模型訓練以及線上推斷的開銷會帶來困難嗎?
A2:在 TPM 和 D2Q 的優(yōu)勢對比中,主要優(yōu)勢在于問題的拆分。TPM 更好地利用了時序信息,并將問題拆分為若干個樣本相對均衡的二分類問題,這有助于模型訓練和學習的可學習性。相比之下,回歸問題可能會受到離群點等異常值的影響,帶來較大的學習不穩(wěn)定性。在實際應用中,我們進行了大量的實踐工作,包括樣本構造和 TF 圖節(jié)點 label 的計算等。線上部署時,我們使用一個模型,但其輸出維度是中間節(jié)點分類器的數(shù)量。對于每個視頻,我們只選擇 duration group 中的一個,并計算對應的分類器的輸出。然后通過循環(huán)計算葉子節(jié)點上的分布,最后進行加權求和。雖然模型結構相對簡單,但每個 duration group 和每個非葉子節(jié)點的分類器可以共享底層 embedding 和中間層,因此在前向推理時,除了輸出層外,它與普通模型沒有太大差異。