本次分享的主題為基於因果推論的推薦系統,回顧過去的相關工作,並提出本方向的未來展望。
為什麼在推薦系統中需要使用因果推論技術?現有的研究工作用因果推論來解決三類問題(參見Gao et al.的TOIS 2023 論文Causal Inference in Recommender Systems: A Survey and Future Directions):
#首先,在推薦系統中存在各種各樣的偏差(BIAS),因果推論是一種有效去除這些偏差的工具。
為了解決資料稀缺性和無法準確估計因果效應的問題,推薦系統可能面臨挑戰。為了解決這個問題,可利用基於因果推論的資料增強或因果效應估計的方法,來有效解決資料稀缺性、因果效應難以估計的問題。
最後,透過利用因果知識或因果先驗知識來指導推薦系統的設計,可以更好地建立推薦模型。這種方法使得推薦模型超越傳統的黑盒模型,不僅在準確性方面有所提升,在可解釋性、公平性等方面更有顯著改善。
從這三種想法出發,本次分享展開介紹下面三部分工作:
##首先,透過因果推論方法為使用者的興趣以及從眾性分辨學習相應的表徵。這屬於前述分類架構中的第三部分,即在有因果先驗知識的情況下,使模型更具解釋性。
回到研究背景。可以觀測到使用者和商品的互動背後儲存在深層的、不同面向的原因。一方面是使用者本身的興趣,另一方面使用者可能會傾向於追隨其他使用者的做法(從眾性/Conformity)。在具體的系統中,這可能表現為銷售或流行。例如,現有推薦系統會將銷量較高的商品展示在靠前的位置,這導致了用戶自身興趣以外的流行度影響互動、帶來偏差。所以,為了進行更精準的推薦,需要分辨學習和解決纏繞這兩部分的表徵。
為什麼需要學習解糾纏表徵呢?在這裡,進一步做一個更深入的解讀。解糾纏表徵可以幫助克服離線訓練資料和線上實驗資料分佈不一致(OOD)的問題。在真實的推薦系統中,如果在某一個資料分佈下訓練了一個離線推薦系統模型,需要考慮到部署到線上時資料分佈可能會改變。使用者最終的行為是由從眾性和興趣共同作用產生的,這兩部分的相對重要性在線上和線下環境存在區別,可能導致資料分佈發生變化;而如果分佈發生變化,無法保證學習的興趣仍然有效。這是一個跨分佈的問題。下圖可以形象化地說明這個問題。在這個圖中,訓練資料集和測試資料集存在分佈差異:同樣的形狀,其大小和顏色也改變了。而對形狀的預測,傳統模型在訓練資料集上可能會依據大小和顏色來推斷形狀,例如矩形都是藍色的和最大的,但是對於測試資料集推斷並不成立。
如果要更好地克服這個困難,就需要有效地確保每個部分的表徵是由相應的因子決定的。這是學習解糾纏表徵的動機。能夠將潛在因子解糾纏出來的模型,在類似上圖的跨分佈情況下可以取得更好的效果:例如解糾纏學習到輪廓、顏色和大小等因子,並偏向使用輪廓預測形狀。
###傳統做法是使用 IPS 方法來平衡商品的流行度。這種方法在推薦系統模型學習的過程中,懲罰過於流行的商品(這些商品在從眾上有更大的權重)。但這種做法將興趣和從眾性捆綁在一起,沒有有效地將它們分開。
早期還有一些工作,透過因果推論的方法來學習因果表徵(Causal embedding)。這類工作的缺點是必須依賴一些無偏的資料集,透過無偏資料集來約束有偏資料集的學習過程。雖然不需要太多,但仍需要一小部分無偏數據來學習解糾纏的表徵。因此,在真實系統中,其適用性相對有限。
如果想對興趣和從眾性解糾纏,需要解決三個挑戰:
為了針對性解決上述挑戰,我們提出了 DICE 方法(Disentangling Interest and Conformity with Causal Embedding (DICE))。
接下來對這三部分設計(即因果embedding、解糾纏表徵學習、多工課程學習)具體展開介紹。
#首先,建構一個結構因果模型,包括興趣和從眾行為。
為這兩個因素分別分配對應的獨立表徵,使用者側和物品側每側都有兩部分錶徵。使用經典的點積來計算匹配分數。在最後的預測任務中,綜合考慮兩部分的內積分數。
##在給定上述這樣一個對撞結構後,當固定條件c 時, a 和b 其實是不獨立的。舉一個例子來解釋這個效果:例如,a 代表一個學生的天賦,b 代表這個學生的勤奮程度,c 代表這個學生是否能夠通過一個考試。如果這個學生通過考試,而且他沒有特別強的天賦,那麼他一定是很努力的。另外一個學生,他沒有通過考試,但是他卻非常有天賦,那麼這個同學可能不太努力。
基於這樣的思想,進行方法設計,分有興趣的匹配和從眾度的匹配,並使用商品流行程度作為從眾性的代理。
第一個案例:如果一個使用者點擊了一個比較流行的項目a,而沒有點擊另外一個不那麼流行的項目b,類似剛才的例子,會有下圖這樣的興趣關係:a 對使用者的從眾性大於b(因為a 比b 更流行),且a 對使用者的整體吸引力(興趣從眾性)大於b(因為使用者點擊了a 而沒有點擊b)。
第二個案例:一個使用者點選了一個不流行的項目c,但沒有點選一個流行的項目d,產生如下的一個關係:c 對使用者的從眾性小於d(因為d 比c 更流行),但c 對用戶的整體吸引力(興趣從眾性)大於d(因為用戶點擊了c 而沒有點擊d),因此用戶對c 的興趣大於d(因為對撞關係,如前述)。
總體而言,透過上述方法建構了兩個集合:一是那些比正樣本不流行的負樣本(使用者對正負樣本的興趣的對比關係未知),二是那些比正樣本更流行的負樣本(使用者對正樣本的興趣大於負樣本)。在這兩個部分上,都可以建構對比學習的關係,從而有針對性地訓練兩個部分的表徵向量。
當然,在實際訓練過程中,最主要的目標仍然是擬合觀測到的互動行為。和大多數推薦系統工作相同,使用 BPR loss預測點擊行為。 (u: 用戶,i:正樣本商品,j:負樣本商品)。
另外基於上述思想,也分別設計了兩個部分的對比學習方法,並引入對比學習的損失函數,額外引入兩部分表徵向量的約束,來最佳化這兩部分的表徵向量
此外,也要約束這兩部分的表徵向量盡可能地遠離彼此。這是因為如果距離過近,它們可能會失去區分度。因此,額外引入了一個損失函數來約束兩部分錶徵向量之間的距離。
#最終,多工學習將把多個目標整合在一起。在這個過程中,設計了一種策略,確保能夠從學習的難度逐漸從簡單過渡到困難。在訓練的開始,使用區分度較小的樣本,來引導模型參數在正確的大方向上進行最佳化,然後逐漸尋找困難樣本進行學習,進一步精細調整模型參數。 (將和正樣本的流行度差異大的負樣本視為簡單樣本,差異小的視為困難樣本)。
#在常見的資料集上,進行了測試,檢驗方法在主要排序指標上的表現。由於 DICE 是一個通用的框架,不依賴特定的推薦模型,因此可以將不同模型視為一種 backbone,並將 DICE 作為即插即用的框架。
首先是主角 DICE。可以看到在不同的 backbone 上,DICE 的提升比較穩健,因此可以認為它是能帶來效能提升的通用框架。
DICE 學習到的表徵是可解釋的,為興趣和從眾度分別學習表徵之後,從眾部分的向量蘊含了商品的流行度。透過進行視覺化,發現它確實與流行度有關係(不同流行度的表徵呈現明顯的分層:綠橙黃色的點)。
並且,不同流行度的商品的興趣向量表徵均勻散佈在空間中(青紫色叉)。從眾性向量表徵和興趣向量表徵也各自佔有不同的空間,解糾纏區隔開來。這個視覺化驗證了 DICE 學習到的表徵具有實際意義。
DICE 達到了設計的預期效果。進一步在不同幹預強度的數據上進行了測試,結果顯示 DICE 的表現在不同實驗組上都比 IPS 方法好。
總結一下,DICE 透過因果推論工具,為興趣和從眾性分別學習相應的表徵向量,在非IID 情形下提供了良好的魯棒性和可解釋性。
第二項工作主要解決序列推薦中長期興趣和短期興趣的解糾纏問題,具體而言,用戶興趣是複雜的,一部分興趣可能相對穩定,被稱為長期興趣,而另一部分興趣可能是突發的,稱為短期興趣。在下圖這個例子中,使用者長期對電子產品感興趣,但短期內想買一些衣服。如果能夠很好地辨識這些興趣,就能更好地解釋每次行為產生的原因,並提升整個推薦系統的效能。
這樣的問題可以稱為長短時興趣的建模,即能夠自適應地分別建模長時興趣和短時興趣,並且進一步推斷用戶當前的行為主要由哪一部分驅動。如果能夠辨識當前驅動行為的興趣,就能更好地根據當前興趣進行推薦。例如,如果用戶在短時間內瀏覽相同的類別,那可能是一種短時興趣;如果用戶在短時間內廣泛探索,那麼可能需要更多地參考以前觀測到的長期興趣,而不局限於當前興趣。總的來說,長期興趣和短期興趣性質相異,需要很好地解決長期需求和短期需求的解糾纏。
一般而言,可以認為協同過濾實際上是一種捕捉長期興趣的方法,因為它忽略了興趣的動態變化;而現有的序列推薦更多關注短期興趣建模,這導致了長期興趣的遺忘,即使考慮到了長期興趣,它在建模時仍主要依賴短期興趣。因此,現有方法在結合這兩種興趣學習方面仍有所缺乏。
一些最近的工作開始考慮長期和短期興趣的建模,分別設計短期模組和長期模組,然後將它們直接結合在一起。但在這些方法中,最終學習的使用者向量只有一個,同時包含短期訊號和長期訊號,兩者依然糾纏在一起,需要進一步改進。
然而,解耦長短時興趣依然是具有挑戰性的:
針對這個問題,提出了對比學習的方法,來同時建模長短期興趣。 (Contrastive learning framework of Long and Short-term interests for Recommendation (CLSR))
#對於第一個挑戰-長期興趣和短期興趣分離,我們為長期和短期興趣分別建立相應的演化機制。在結構因果模型中,設定和時間無關的長期興趣,以及由上一個時刻的短期興趣和通用的長期興趣決定的短期興趣。即在建模過程中長期興趣是比較穩定的,而短期興趣則是即時變化的。
第二個挑戰是對於兩部分興趣缺乏明確的監督訊號。為了解決這個問題,引入對比學習方法來進行監督,建立代理標籤來取代顯式標籤。
代理標籤分為兩部分,一部分是長期興趣的代理,另一部分是短期興趣的代理。
使用整個歷史的pooling 作為長期興趣的代理標籤,在長期興趣的學習中,使編碼器學習的表徵更朝向這個方向優化。
對於短期興趣也是類似的,對用戶最近若干次行為的平均pooling,作為短期的代理;同樣地,雖然它不直接代表用戶興趣,但是在用戶短期興趣的學習過程中,盡可能朝這個方向進行優化。
這樣的代理表徵,雖然不嚴格代表興趣,但是它們代表了一個最佳化方向。對於長期興趣表徵和短期興趣表徵而言,它們會盡可能地接近相應的表徵,而遠離另一個方向的表徵,從而構建一個對比學習的約束函數。反過來同理,因為代理表徵也要盡可能接近實際的編碼器輸出,所以它是一個對稱的兩部分損失函數,這樣的設計有效地彌補了剛剛提到的缺乏監督訊號的問題。
#第三個挑戰是對於給定的行為,判斷兩部分興趣的重要性,解決方法是自適應地融合兩塊興趣。這一部分的設計比較簡單直接,因為前面已經有了兩個部分的表徵向量,要將它們混合在一起就並不困難了。具體而言,需要計算一個權重 α 來平衡兩部分的興趣,當 α 比較大時,當前的興趣主要由長期興趣主導;反之亦然。最後得到交互行為的預估。
對於預測,一方面是前面提到的通用推薦系統的損失,另一方面以加權的形式將對比學習的損失函數加入其中。
以下是整體的方塊圖:
##這裡有兩個分離的編碼器(BCD),相應的代理表徵以及對比學習的目標(A),以及自適應地混合融合兩部分的興趣。
在這個工作中,使用了序列推薦的資料集,包括淘寶的電商資料集和快手的短視訊資料集。將方法分為長期、短期和長短期結合三種。
#觀察整體實驗結果可以看到,只考慮短期興趣的模型比只考慮長期興趣的模型表現更好,也就是說,序列推薦模型通常比純靜態的協同過濾模型更好。這是合理的,因為短期興趣建模可以更好地識別當前最近的一些興趣,而這些最近的行為對當前行為的影響最大。
第二個結論是同時建模長期和短期興趣的SLi-Rec 模型,不一定比傳統的序列推薦模型更好。這突顯了現有工作的不足。原因是,如果只是簡單地混合兩種模型,可能會引入偏差或雜訊;從這裡可以看出,最好的 baseline 實際上是一種序列短期興趣模型。
我們提出的長短期興趣解耦方法解決了長期和短期興趣之間的解糾纏建模問題,在兩個資料集和四個指標上都能夠取得穩定的最佳效果。
為了進一步研究這種解糾纏效果,為長短期興趣相應的兩部分錶徵進行實驗。將 CLSR 學習的長期興趣、短期興趣和 Sli-Rec 學習的兩種興趣進行比較。實驗結果表明,在每個部分上我們的工作(CLSR)都能夠穩定地取得更好的效果,而且也證明了將長期興趣建模和短期興趣建模融合在一起的必要性,因為使用兩種興趣進行融合效果是最好的。
進一步,使用購買行為和按讚行為來對比研究,因為這些行為的成本比點擊更高:購買需要花錢,點贊需要一定的操作成本,因此這些興趣實際上反映了更強的偏好,更偏向穩定的長期興趣。首先,在效能對比方面,CLSR 取得了更好的效果。此外,建模的兩個方面的權重更加合理。對於更偏向長期興趣的行為,CLSR 能夠分配相比 SLi-Rec 模型更大的權重,這與先前的動機相吻合。
#
進一步進行了消融實驗和超參數實驗。首先,去掉了對比學習的損失函數,發現表現下降,說明對比學習對於解糾纏長期興趣和短期興趣是非常必要的。這個實驗進一步證明了 CLSR 是一個更好的通用框架,因為它在現有方法的基礎上也能發揮作用(自監督對比學習可以提升 DIEN 的性能),是一個即插即用的方法。對 β 的研究發現,一個比較合理的值是 0.1。
接下來進一步研究自適應融合和簡單融合的關係。自適應權重融合相比固定權重融合在所有不同的α 取值上都表現穩定更好,這驗證了每次交互行為可能都由不同大小的權重決定,並且驗證了通過自適應融合實現興趣融合以及最後行為預測的必要性。
這項工作提出了一種對比學習方法來建模序列興趣中的長期興趣和短期興趣,分別學習相應的表徵向量,實現解糾纏。實驗結果證明了此方法的有效性。
#前面介紹了兩個工作,關注在興趣的解糾纏。第三個工作則關注興趣學習的行為糾偏。
短影片推薦成為了推薦系統中一個非常重要的組成部分。然而,現有的短視頻推薦系統仍然遵循以前長視頻推薦的範式,可能存在一些問題。
例如,如何評估在短影片推薦中使用者的滿意度和活躍度?優化目標又是什麼?常見的最佳化目標是觀看時間或觀看進度。那些被預估為可能具有更高完播率和觀看時長的短視頻,可能會被推薦系統排在更前的位置。在訓練時可能基於觀看時長進行優化,在服務時根據預估的觀看時長進行排序,推薦那些觀看時長更高的影片。
然而,在短視頻推薦中存在一個問題是更長的觀看時間並不一定代表用戶對該短視頻很感興趣,即短視頻的時長本身就是一個很重要的偏差。在使用上述最佳化目標(觀看時間或觀看進度)的推薦系統中,較長的影片自然具有優勢。推薦過多這種長視頻,很可能與用戶的興趣不匹配,但由於用戶跳過視頻的操作成本,實際的線上測試或離線訓練得到的評估都會很高。因此,僅依靠觀看時長是不夠的。
可以看到,在短影片中存在著兩種形態。一種是比較長的視頻,例如 vlog,而另一種是較短的娛樂視頻。對真實的流量進行分析後發現,發布長影片的用戶基本上能夠獲得更多的推薦流量,這個比例非常懸殊。僅使用觀看時長來評估不僅不能滿足使用者的興趣,也可能存在不公平的問題。
在本工作中,希望解決兩個問題:
實際上,核心挑戰是不同時長的短影片無法直接進行比較。由於這個問題是天然且普遍存在於不同的推薦系統中的,而且不同推薦系統的結構差異很大,所以設計的方法需要與模型無關。
首先,選擇了幾個具有代表性的方法,並使用觀看時間進行了模擬訓練。
可以从曲线中看到时长偏差被增强了:对比 ground truth 的曲线,推荐模型在长视频的观看时间预测结果上明显偏高。在预测模型中,对于长视频的推荐过多是有问题的。
此外,还发现推荐结果中存在许多不准确的推荐(#BC)。
我们可以看到一些 bad case,即观看时间小于 2 秒且用户很不喜欢的视频。然而,由于偏差的影响,这些视频被错误地推荐。换而言之,模型只学习到了推荐视频的时长差异,基本上只能区分视频的长短。因为想要预测的结果是推荐更长的视频,以增加用户的观看时长。所以模型选择的是长视频,而不是用户喜欢的视频。可以看到,这些模型在 bad case 的数量上甚至与随机推荐一样,因此这种偏差导致了非常不准确的推荐。
进一步说,这里存在不公平性问题。当控制 top k 值较小时,较短的视频发布者很难被推荐;即使 k 值足够大,这种推荐的比例也小于 20%。
为了解决这个问题,我们首先提出了一个叫 WTG(Watch Time Gain)的新指标,考虑了观看时长,以尝试实现无偏。例如,一个用户观看了一个 60 秒的视频达 50 秒;另一个视频也是 60 秒,但只看了 5 秒。显然,如果控制在 60 秒的视频上,这两个视频的兴趣差异就很明显。这是一个简单但有效的想法,只有当其他视频数据的时长相近时,观看时长才具有比较的意义。
首先将所有的视频等间距地划分到不同的时长组中,然后在每个时长组中比较用户的兴趣强度。在固定的时长组中,用户的兴趣可以由时长来代表。引入了 WTG 之后,实际上就是直接使用 WTG 来表示用户的兴趣强度,不再关注原始的时长。在 WTG 的评价下,分布就更加均匀了。
在 WTG 的基础上,进一步考虑了排序位置的重要性。因为 WTG 只考虑了一个指标(单一点),进一步地将这种累计效应考虑进来。即在计算排序列表中各个元素的指标时,还要考虑到每一个数据点的相对位置。这个思路与 NDCG 类似。因此,在此基础上,定义了 DCWTG。
我們先前定義了能夠反映時長無關的使用者興趣的指標,即 WTG 和 NDWTG。接下來,設計一個能夠消除偏差的建議方法,該方法與具體模型無關,並且適用於不同的 backbone。提出方法DVR(Debiased Video Recommendation),核心思想是,在推薦模型中,如果能夠去除與時長相關的特徵,即使輸入的特徵很複雜,其中可能包含與時長有關的信息,只要在學習過程中能夠使模型的輸出忽略這些時長特徵,那麼可以認為它本身是無偏的,也就是讓模型能夠過濾掉時長相關的特徵,從而實現無偏推薦。這裡涉及一種對抗的思想,需要另一個模型,基於推薦模型的輸出來預測時長,如果它無法精確預測時長,那麼認為前一個模型的輸出就不包含時長特徵。因此,採用對抗學習方法,在建議模型上加入一個迴歸層,該迴歸層基於預測出的 WTG 來預測原始的長度。如果 backbone 模型確實能夠達到沒有偏差的效果,那麼迴歸層就無法重新預測還原出原始的時長。
3. 實驗效果
#在微信與快手的兩個資料集上進行了實驗。首先是 WTG 和觀看時長的比較。可以看到,分別使用了這兩個最佳化目標,並與 ground truth 中的觀看時間進行比較。使用 WTG 作為目標後,模型在短影片和長影片上的建議效果都更好,WTG 曲線穩定地位於觀看時長曲線上方。
此外,在使用WTG 作為目標後,帶來了更平衡的長短影片推薦流量(傳統模型中長影片的推薦份額顯然更多)。
提出的DVR 方法適用於不同的backbone 模型:測試了7 種常見的backbone 模型,結果顯示沒有使用去偏方法的效能較差,而DVR 在所有的backbone 模型和所有指標上都有一定的提升。
進一步做了一些消融實驗。前文提到,這個方法有三個部分設計,分別去掉了這三個部分。第一個是將時長當作輸入特徵去掉,第二個是將 WTG 當作預測目標去掉,第三個是去掉對抗學習的方法。可以看到每個部分的去掉都會導致效能下降。因此,這三個設計都至關重要。
總結我們的工作:從削減偏差的想法來研究短視頻推薦,關注時長偏差。首先,提出了一個新的指標:WTG。它能夠很好地消除實際行為中(使用者興趣和時長)時長的偏差。第二,提出了一種通用的方法,使模型不再受視訊時長的影響,從而產生無偏的推薦。
##########最後對本次分享進行總結。首先,對使用者興趣和從眾度進行了解糾纏學習。接下來,在序列行為建模方面,研究了長期興趣和短期興趣的解糾纏。最後,針對短影片推薦中觀看時間優化的問題,提出了一種消偏的學習方法。
以上就是這次分享的內容,謝謝大家。
[1] Gao et al. Causal Inference in Recommender Systems: A Survey and Future Directions, TOIS 2024
#[2] Zheng et al. Disentangling User Interest and Conformity for Recommendation with Causal Embedding, WWW 2021.
#[3] Zheng et al. DVR:Micro-Video Recommendation Optimizing##[3] Zheng et al. DVR:Micro-Video Recommendation Optimizing##[3] Zheng et al. DVR:Micro-Video Recommendation Optimizing Watch- Time-Gain under Duration Bias, MM 2022
[4] Zheng et al. Disentangling Long and Short-Term Interests for Recommendation, WWW 2022.
以上是基於因果推論的推薦系統:回顧與前瞻的詳細內容。更多資訊請關注PHP中文網其他相關文章!