*資料取自於2023年第二季
#快手是一款備受歡迎的短影片和直播社群應用,其在今年第二季取得了令人矚目的MAU和DAU新紀錄。快手的核心理念是透過觀察和分享一般人的生活,讓每個人都能成為內容的創造者和傳播者。 在快手的應用中,短視頻場景主要分為單列和雙列兩種形式。目前,單列的流量較大,用戶可以透過上下滑動的方式沉浸式地瀏覽影片內容。而雙列的呈現形式類似於資訊流,使用者需要從螢幕上出現的幾個內容中選擇感興趣的進行點擊觀看。 推薦演算法是快手業務生態的核心,對於流量分發和使用者體驗的提升起著重要作用。透過分析用戶的興趣和行為數據,快手能夠精準地推送符合用戶口味的內容,進而提高用戶的黏性和滿意度。 總的來說,快手作為一個國民級的短視頻和直播社區應用,憑藉其獨特的觀察和分享普通人生活的理念,以及優秀的推薦算法,不斷吸引更多的用戶加入其中,並在用戶體驗和流量分發方面取得了顯著的成績。
#快手短影片推薦場景中,以單列為主要形式。用戶透過上下滑動的行為模式瀏覽視頻,影片一旦被滑到即自動播放,無需用戶先選擇再點擊觸發播放。此外,使用者回饋形式非常豐富,包括關注、按讚、評論分享和進度條拖曳等,隨著業務發展,互動形式也日益多樣化。優化目標包括長期目標和短期目標,長期目標包括優化用戶體驗和留存 DAU 等,短期指標涵蓋了用戶的各種正向回饋。
推薦系統的建立是基於機器學習和深度學習,日誌主要來自使用者實際行為產生的特徵和回饋。然而,日誌存在局限性,只能反映用戶當前興趣的有限信息,而真實姓名、身高體重等隱私信息無法獲取。同時,推薦演算法是基於先前的日誌學習訓練得到的,再去為使用者推薦,存在自循環的特性。此外,由於受眾廣泛且差異大,影片數量龐大且更新頻繁,建議系統容易出現各種偏差,如流行度偏差、長短影片曝光偏差等。在短影片推薦中,利用因果推斷技術進行偏差建模有助於糾偏並提升推薦效果。
#接下來分享我們與兄弟團隊在因果推論與模型表示上的工作。
#推薦系統通常透過分析互動日誌來進行模型學習。使用者的回饋不僅來自於對內容的喜好,也受到從眾心理的影響。以電影選擇為例,使用者在做出決策時可能會考慮作品的獲獎情況或周圍人的意見。不同使用者之間在從眾心理上有差異,有些使用者較主觀獨立,有些使用者則較容易受到他人或熱度的影響。因此,在進行使用者互動歸因時,除了考慮使用者的興趣,還需要考慮從眾心理的因素。
現有工作大多將流行度視為靜態偏差,如電影的流行度僅與 item 相關,且在建模用戶與 item 評分時未考慮用戶間的偏差。流行度通常被作為一個單獨的評分項,與 item 的曝光次數相關,而對流行度較低的 item 偏差較少。這種建模方式是靜態的,並且與 item 相關。隨著因果推斷技術在建議領域的應用,一些研究嘗試透過解耦表示來處理這個問題,考慮使用者選擇 item 時的從眾心理差異。與現有方法相比,我們的方法能夠更準確地建模使用者的從眾心理差異,從而更有效地糾偏並提升推薦效果。
在Webconf2021 的一篇論文中,使用者互動被建模為既受使用者對item的興趣影響,又受item 對使用者在選擇item 時的從眾心理程度影響。因果關係圖如左圖所示,關係相對簡單。在具體建模時,user 和 item 的表示會拆分為興趣表示和從眾性表示。對於興趣表示,建構了一個興趣 loss;對於從眾性表示,建構了一個 confirmation loss;針對回饋行為,建構了一個 click loss。由於表示結構的拆分,interest loss 被用作監督信號來學習 interest 表示,而 confirmation loss 用於建模從眾心理表示。 Click loss 與兩個因素相關,因此透過連接和交叉來建構。整個處理方式既清晰又簡單。
在建構 interest loss 和 confirmation loss 時,研究也運用了因果推論中的一些概念和技術。例如,如果一個不流行的影片或商品獲得了正向交互,則很可能是由於用戶真正喜歡它。這可以透過反向驗證來確認:如果一個商品既不流行,同時使用者又對其不感興趣,則不太可能有正向互動。至於 click loss,則採用了常見的處理方式,即 pairwise loss。關於 colliding effect,有興趣的讀者可以查閱論文以獲取更詳細的建構方式。
在解決推薦系統中的複雜性問題時,有研究從模型表示入手,旨在區分使用者對item 的興趣和從眾心理。然而,在實際應用上存在一些問題。推薦系統中的影片數量龐大,曝光量分佈不均,頭部影片曝光次數多,長尾影片曝光次數少,導致資料稀疏。稀疏性給機器學習模型帶來學習困難。
為解決這個問題,我們引入了對比學習進行樣本增廣。具體而言,除了用戶與 item 的正向互動外,我們還選取了用戶行為範圍內的其他影片作為負樣本進行擴充。同時,我們沿用了因果圖來設計模型,將 user 和 item 側的 interest 和 conformity 表示拆分。該模型與傳統的 DICE 的主要區別在於學習 interest 和 confirmation 的 loss 時採用了對比學習加樣本增廣的方法,並針對 interest loss 和 confirmation loss 分別構建了歸一化的 item popularity 的 ratio 指數項。透過這種方式,可以更好地處理資料稀疏問題,並更準確地建模使用者對不同流行度 item 的興趣和從眾心理。
#該工作基於短視訊互動中的興趣和從眾心理疊加作用,採用了因果推論技術與causal embedding 手段來實現結構表示的解耦。同時,考慮到實際系統中長尾影片樣本稀疏問題,採用對比學習和樣本增廣方法緩解稀疏性。此工作結合線上表示模型與因果推斷,實現了一定的 conformity 解耦效果。在離線和線上實驗中,此方法表現良好,並成功應用於快手推薦 LTR 實驗,帶來了一定的效果提升。
在短影片推薦業務中,觀看時間長度是重要的最佳化目標,它與用戶留存、DAU 和回訪率等長期指標密切相關。為了提升用戶體驗,我們需要專注於在給用戶推薦影片時的中間行為指標。經驗表明,觀看時長是一個非常有價值的指標,因為使用者的注意力有限。透過觀察使用者觀看時長的變化,可以更好地理解哪些因素影響了使用者的觀看體驗。
影片長度是影響觀看時間長度的重要因素之一。隨著影片長度的增加,用戶的觀看時間長度也會相應增加,但過長的影片可能會導致邊際效應遞減,甚至觀看時長會略有下降。因此,推薦系統需要找到一個平衡點,以推薦適合用戶需求的影片長度。
為了優化觀看時長,推薦系統需要預測使用者的觀看時間。這涉及到回歸問題,因為時長是一個連續值。然而,時長相關工作較少,可能是因為短影片推薦業務相對較新,而推薦系統研究的歷史較長。
在解決觀看時間預估問題時,可以考慮影片長度以外的其他因素,例如使用者興趣、影片內容品質等。透過綜合考慮這些因素來提高預測的準確性,並為使用者提供更好的推薦體驗。同時,我們也需要不斷迭代和優化推薦演算法,以適應市場的變化和用戶需求的變化。
#在KDD212 會議上,我們提出了一個解決短視訊推薦中時長預估問題的新方法。此問題主要源自於因果推論中的 duration bias 自我強化現象。為了解決這個問題,我們引入了因果圖來描述使用者、影片和觀看時間長度之間的關係。
在因果圖中,U 和 V 分別代表使用者和影片的特徵表示,W 代表使用者觀看影片的時長,D 代表影片的長度。我們發現,由於推薦系統的自循環生成過程,duration 不僅與觀看時間直接相關,還會影響影片表示的學習。
為了消除 duration 對影片表示的影響,我們運用 do calculus 進行了推導。最終的結論表明,為了透過後門調整解決這個問題,最簡單直接的方法是為每一種 duration 的影片對應的樣本單獨估計觀看時長。這樣就能消除 duration 對觀看時間長度的放大效應,從而有效地解決因果推論中的 duration bias 問題。這種方法的核心思想是消除 d 到 v 的誤差,從而實現對 bias amplification 的緩解。
在解決短影片推薦中的長度預估問題時,我們採用了基於因果推論的方法,以消除d 到v 的誤差並實現對bias amplification 的緩解。為了處理 duration 作為連續變數以及影片數量分佈的問題,我們將推薦池中的影片根據 duration 分組,並使用分位數進行計算。每個分組內的資料被拆分後,用於訓練組內的模型。在訓練過程中,迴歸的是每個 duration 分組內視訊時長對應的分位數,而不是直接迴歸時長。這樣可以降低資料的稀疏性並避免模型過度擬合。在線上推理時,對於每個視頻,首先找到其對應的分組,然後計算對應的時長分位數。透過查表,可以根據分位數找到實際的觀看時間。這種方法簡化了線上推理過程,提升了時長預估的準確性。綜上所述,我們的方法透過消除 d 到 v 的誤差,有效解決了短影片推薦中的長度預估問題,為優化使用者體驗提供了有力支援。
在解決短影片推薦中的時間預估問題時,我們也引入了參數共享的方法來降低技術難度。在拆分訓練過程中,一種理想的方式是實現資料、特徵和模型的完全分離,但這樣會帶來部署成本的增加。因此,我們選擇了更簡單的方式,即共享底層特徵的 embedding 和中間層的模型參數,僅在輸出層進行拆分。為了進一步擴大 duration 對實際觀看時長的影響,我們引入了一個殘差連接,將 duration 直接連接到輸出預估時長的分位數的部分,從而增強了 duration 的影響力。這種方法降低了技術難度,並有效地解決了短影片推薦中的長度預估問題。
#在实验中,主要使用了快手发布的公开数据集。通过对比几种方法可以看到,直接回归和时长加权模型的表现各有千秋。时长加权模型在推荐系统中并不陌生,其核心思想是将观看时长作为正样本的权重纳入模型中。而 D2Q 和 Res-D2Q 则是两种基于因果推断的模型结构,其中 Res-D2Q 引入了残差连接。通过实验,我们发现将视频按照 duration 分组至 30 组时能达到最佳效果。与朴素的回归模型相比,D2Q 方法有显著提升,并能在一定程度上缓解 duration bias 自循环放大问题。然而,从时长预估问题的角度来看,挑战仍未完全解决。
时长预估问题作为推荐系统中的核心问题,具有其独特的特点和挑战。首先,回归模型无法反映推荐结果的顺序关系,使得即使在回归误差相同的情况下,实际推荐结果也可能大相径庭。此外,预估模型除了要保证预估值的准确性,还需要考虑模型给出的预估值的置信度。一个值得信赖的模型不仅应给出准确的预估值,还应以高概率给出该预估值。因此,在解决时长预估问题时,我们不仅要关注回归的精准度,还要考虑模型的置信度,以及预估值的顺序关系。
在观看行为中,用户连续观看视频的行为存在条件依赖关系。具体来说,如果观看整个视频是一个随机事件,那么先看完 50% 的视频也是一个随机事件,它们之间存在严格的条件依赖关系。解决偏差放大问题在观看时长预估中非常重要,而 D2Q 方法很好地解决了这一问题。相比之下,我们提出的 TPM 方法旨在全面覆盖所有时长预估问题。
TPM 方法的主要思想是将时长预估问题转化为离散的搜索问题。通过构建一个完全的二叉树,将时长预估问题转化为若干个互相有条件依赖的分类问题,然后使用二分类分类器解决这些分类问题。通过不断地向下进行二分搜索,确定观看时长在每个有序区间内的概率,最终形成观看时长的一个多项分布。这种方法能够有效地解决不确定性建模问题,使预估时长的均值与真实值尽可能接近,同时减小预估时长的方差。整个观看时长的问题或者预估过程就可以逐渐通过不断地解决互相依赖的二分类问题来求解。这种方法为解决时长预估问题提供了一种新的思路和框架,能够提高预估准确性和置信度。
在介绍 TPM 的建模关键时长思路时,展示了 TPM 与 D2Q 的后门调整之间的无缝连接。这里通过一个简单的因果图,将用户和 item 侧的特征与混杂因子进行关联。为了实现 TPM 里面的后门调整,需要为每个混杂因子取值的样本构建一个对应的模型,并为每个混杂因子构建一个对应的 TPM 树。完成这两个步骤后,TPM 就能与后门调整进行无缝连接。这种连接方式使得模型能够更好地处理混杂因子,提高预测准确性和置信度。
具體的解決方法是,針對每個深層的混雜因子建立一個對應的模型,與D2Q 一樣,這也會帶來資料稀疏和模型參數過多的問題,需要share-bottom 的處理,將每個混雜因子的樣本都整合到一個相同的模型中,但模型的底層embedding 表示、中間參數等都是共享的,只是在輸出層部分與實際的節點和乾擾因子取值相關。在訓練時,只需要找到每個訓練樣本對應的真實葉子節點即可進行訓練。而在預估時,由於不知道觀看時長屬於哪個葉子節點,因此需要進行從頂到底的遍歷,將觀看時長所處每個葉子節點的機率和對應葉子節點的期望時長進行加權求和,以獲得實際的觀看時長。這種處理方式使得模型能夠更好地處理混雜因子,提高預測準確度和置信度。
在快手公開資料集和CIKM16 關於停留時長的資料集上,我們進行了實驗,比較了WLR、D2Q 和OR 等方法,結果顯示TPM具有顯著的優勢。每個模組都有其特定的作用,我們也進行了缺省實驗,實驗結果顯示每個模組都發揮了作用。我們也在線上實驗了 TPM,實驗條件是將快手的精選流量均勻劃分為十組,20% 的流量作為基準和線上實驗組進行比較。實驗結果顯示,TPM 在排序階段能夠顯著提升用戶的觀看時長,同時其他指標則基本持平。值得注意的是,負向指標如用戶短波的數量也有所下降,我們認為這與時長預估的準確性和預估不確定性降低有一定的關係。觀看時間長度作為短影片推薦平台的核心指標,TPM 的引入對於提升使用者體驗和平台指標具有重要意義。
總結一下這部分的介紹。在短影片推薦平台中,觀看時間長度是核心指標。解決此問題有兩個層面需要考慮:一是偏差問題,包括duration bias 和popularity bias,這需要在整個系統鏈路日誌到訓練的自循環中解決;二是時長預估問題,這本身是一個連續值的預測問題,通常對應迴歸問題。然而,對於特殊的時長預估迴歸問題,需要以特定的方法處理。首先,針對偏差問題,可以透過後門調整來緩解,具體做法是將 duration 進行分組,為每個組別設計對應的模型進行迴歸。其次,處理時長預估的回歸問題,可以採用樹結構分解時長預估,將其分解成若干層次化的有序區間,透過樹的遍歷過程,從頂到葉子節點的路徑進行問題的拆解和解決。在預估時,透過樹的遍歷來進行時長預估。這種處理方式能夠更有效地解決時長預估的迴歸問題,提高預測準確度與信賴度。
#隨著科技發展的加速,我們所處的世界改變得越來越複雜。在快手的短視頻推薦場景中,推薦系統的複雜性也日益凸顯。為了更好地進行推薦,我們需要深入研究因果推論在推薦系統中的應用。首先,我們需要定義一個具有業務價值的問題,例如觀看時間預估。然後,我們可以從因果推論的角度來認識和建模這個問題。透過因果調整或因果推斷的方法,我們可以更好地分析和解決偏差問題,例如 duration bias 和 popularity bias。此外,我們還可以利用技術手段,如機器學習和運籌優化,來解決系統複雜性和場景分佈性等問題。為了實現高效率的解決方案,我們需要找到一個系統化、自動化的方式去解決問題。這樣不僅可以提高工作效率,還可以為業務帶來持續的價值。最後,我們需要關注技術的可擴展性和成本效益,以確保解決方案的可行性和可持續性。
綜上所述,因果推論在推薦系統中的應用是一個具有挑戰性和潛力的研究方向。透過不斷探索和實踐,我們可以不斷提升推薦系統的效果,為使用者帶來更好的體驗,並為業務創造更大的價值。
以上就是這次分享的內容,謝謝大家。
A1:從頭節點走到葉子節點可以視為類似 MDP 的持續決策過程。條件依賴意味著下一層的決策是基於上一層的結果。例如,為了達到葉節點也就是區間[0,1],必須先經過中間節點,也就是區間[0,2]。這種依賴關係在實際上線預估時,透過每個只解決特定節點是否要走到下一個葉子節點的分類器得以實現。這就像在猜年齡的例子中,首先詢問年齡是否大於 50 歲,然後根據回答再問是否大於 25 歲。這裡隱含了一個條件依賴關係,即小於 50 歲是回答第二個問題的前提。
A2:在 TPM 和 D2Q 的優勢對比中,主要優勢在於問題的分割。 TPM 更好地利用了時序訊息,並將問題拆分為若干個樣本相對均衡的二分類問題,這有助於模型訓練和學習的可學習性。相較之下,迴歸問題可能會受到離群點等異常值的影響,帶來較大的學習不穩定性。在實際應用中,我們進行了大量的實作工作,包括樣本構造和 TF 圖節點 label 的計算等。在線上部署時,我們使用一個模型,但其輸出維度是中間節點分類器的數量。對於每個視頻,我們只選擇 duration group 中的一個,併計算對應的分類器的輸出。然後透過循環計算葉子節點上的分佈,最後進行加權求和。雖然模型結構相對簡單,但每個 duration group 和每個非葉子節點的分類器可以共享底層 embedding 和中間層,因此在前向推理時,除了輸出層外,它與普通模型沒有太大差異。
以上是快手短影片推薦中的因果推斷實踐的詳細內容。更多資訊請關注PHP中文網其他相關文章!