推薦系統中的冷啟動


問題描述

  • 如何給新加入的用戶推薦可能感興趣的物品?如何將新上架的物品推薦給潛在的用戶?這兩個問題分別是用戶冷啟動和物品冷啟動,統稱為冷啟動推薦
  • 尾部用戶/cold-start用戶,行為稀疏,還存在問題:有噪聲,間隔大;目的是得到這部分用戶的個性化表示
    • 頭部用戶相對於長尾用戶,具有大量交互
    • 行為: 點擊、加購、收藏、購買、(不點擊)等
    • 推薦系統--用戶行為建模(依賴於行為的規模和質量)--用戶活躍度低、行為少(尾部用戶,用戶行為稀疏且噪音大/頻次少、間隔大、帶噪聲)--CTR預估(用戶是否點擊目標item,用戶興趣預估)
  • 解決思路主要從兩個角度出發: 一是數據水平,二是模型水平;前者利用輔助side信息/數據(數據增強,如微博間關注的關系、用戶物品的屬性信息、圖片文本音頻視頻等多媒體信息、上下文信息比如購買時的位置時間信息)
    • 把除了id信息以外的別的信息統稱為side information,比如屬性特征,用戶性別、年齡特征,物品的類別、價格,額外的補充信息比如知識圖譜,輔助領域等等

數據層面

高效利用屬性特征

  • DropoutNet[7]: 在訓練過程中加入dropout的機制,使得模型不過度依賴於ID embedding,而是其他內容特征。從而使得冷啟動推薦主要是根據內容特征來進行推薦,減小了不好的ID embedding的影響
  • MetaEmbedding[8]: 冷啟動推薦效果不佳,主要原因在於交互數量少,ID embedding學不好。那么為了更好地學習ID embedding,應該給ID embedding一個不錯的初始化值。MetaEmbedding提出使用物品(廣告)其他特征,通過一個生成器來輸出一個ID embedding的初始化值。該方法通過使用已有的物品來模擬冷啟動的過程來學習這個生成器,對於每一個新加入的物品,都是用這個生成器預測ID embedding的初始化值,基於這個初始化值再做后續的訓練及預測
  • Meta Warm Up Framework(MWUF)[9]: 冷啟動物品的ID embedding和非冷啟動物品的ID embedding的分布不相同,而深度推薦模型的深度模塊更適合非冷啟動物品(大量數據都是在非冷啟動物品上產生)。換句話說冷啟動的ID embedding和深度模型之間存在一個gap。MWUF提出通過一個元拉伸網絡從物品特征中預測一個拉伸函數,對冷啟動ID embedding進行一個特征變換,將其變換到一個更好的特征空間中。另外MWUF還使用一個元偏移網絡利用所有的交互過的用戶的表示,來輸出一個偏移向量,鞏固ID embedding的表示(高效利用有限的交互數據)

基於內容的推薦

組推薦/聚類

  • HIM(混合興趣建模)[1]:用戶交互序列間隔大,分session,session內按頻次排序(信息時序依賴少,交互展現基於session的特征)

    • 行為的置信度: 頻次加權嵌入(更頻繁的交互有更高的置信度來表明用戶的興趣);利用負反饋建模正反饋的置信度(負反饋減輕正反饋的稀疏問題;負反饋需要池化,減少單個負反饋內的噪聲;計算每個正反饋和池化后的負反饋的歐式距離,與基於內積的注意力機制不同,基於距離的能為與負反饋更不相似的正反饋賦予更大的權重)。將一系列正反饋輸入GRU,捕獲高頻和低頻之間的關系。將正反饋輸出和負反饋連接得到個性化表示。使用自注意力可得到聚合個性化表示(高階表示保持某種遞進關系)
    • 個性化行為的稀疏: 引入組推薦的思想(隱含用戶組)做半個性化建模
      • AE(無監督):encoder為線性層+softmax得到用戶對應於各個組的概率,decoder也為線性層,重建損失與聚合個性化表示做比較
      • 使用AE時可引入聚類損失(如KL散度)進行優化
    • 輸入為item嵌入,包括目標item和用戶歷史交互item,后者需要分時間窗口組織,且需要統計頻次信息,最后可得到每個session的個性化表示。使用AE得到半個性化表示(啟發式重建loss提升聚類的魯棒性,使用hinge loss,同時隨機選擇P個用戶作為負用戶)。各個session的個性化表示和半個性化表示都各自連接。目標item的特征包括 ID、價格、品牌、商戶、類型,均連接。使用目標注意力(目標item嵌入和個性化表示以及半個性化表示的點積)。最后連接個性化表示、半個性化表示、目標item表示以及其他特征,進入MLP進行二分類
  • 區分warm用戶和cold用戶[2]: 針對warm用戶使用協同過濾的隱含模型,學習一個嵌入空間,用戶和item(track)都表示成d維向量,它們之間的相似性可用內積或余弦相似度來衡量

    • 隱含模型可以是UT-ALS(user-track alternating least squares),使用加權矩陣分解,交互矩陣的元素由啟發式規則定義;還可以是TT-SVD(track-track singular value decomposition),使用PMI矩陣,受word2vec的共現上下文啟發,基於在不同音樂集中track的共現,warm用戶的嵌入通過平均他們聆聽歷史中的track向量得到
    • 基於上述得到的用戶嵌入,計算warm用戶的一個划分(k-means),每個用戶聚類由用戶嵌入的平均表示
    • 自動集成cold用戶到現有的嵌入空間並預測他們的偏好
      • 輸入特征: 來自不同源;人口信息如年齡、國家,對應的嵌入通過由同一年齡和同一國家的warm用戶嵌入平均得到;交互信息;人口信息缺失采用onboarding過程;人口嵌入和交互嵌入連接,進入前饋神經網絡,最小化MSE(預測嵌入和實際值)
      • 利用在warm用戶上訓練好的模型,將cold用戶的輸入特征輸入到該模型中預測cold用戶的嵌入向量,這樣就集成了cold用戶;這是全個性化,還是會有噪聲
      • 半個性化:基於上述預測將cold用戶包括進warm用戶聚類中(和預測嵌入靠的最近的聚類中心),隨后推薦預計算的那個聚類中心中的最流行的track
  • 從原始特征中學習半個性化表示,然后再將半個性化表示連接到原始特征中,連接時可使用注意力機制確定不同用戶對半個性化表示的依賴;其實學習半個性化表示就是對用戶進行聚類,我們可以使用專家網絡來直接實現這個目的;不過[23]中的不同專家網絡均接受相同的輸入,用戶的聚類學習能力較弱,借鑒[24]中虛擬核專家的思想,不同專家網絡依據注意力機制接受不同的輸入,之后再依據注意力機制結合不同專家網絡的輸出得到用戶的個性化表示

基於圖的推薦

  • 知識圖譜輔助推薦系統[10]
    • 基於嵌入方法(Embedding-based methods)
      • 首先用KGE的方法處理KG,得到實體、關系的embedding,利用推薦系統的方法得到物品、用戶的embedding,設計一種模型來融合四類embedding
    • 基於結構方法(Structure-based methods)
      • 將KG和用戶物品交互的圖結構概括在一個統一的框架下,挖掘圖結構信息
  • 在性能方面,KGCN[3] (基於結構的方法)性能最好,DKN表現最差,即KGCN>MKR[5] (基於嵌入的方法)>PippleNet[4] (基於結構的方法)>DKN[6] (基於嵌入的方法)。在可擴展性方面,embedding-based方法可擴展性更好,因為embedding方法可以復用,而structure-based方法在面對新的物品、用戶時需要對整個方法需要重新訓練。在可解釋性方面,structure-based方法的圖結構比embedding更直觀

基於遷移學習的推薦

  • 將知識從頭部遷移到尾部
  • 交叉域
  • 基於映射的方法[11]: 通過學習一個從源領域到目標領域的映射函數,將用戶或者物品在源領域的embedding映射到目標領域,來作為目標領域的初始化。但是現有的這類方法在冷啟動物品或者用戶上泛化能力不足,TMCDR[12]提出了一種新的框架,來提升這類方法在冷啟動上的泛化能力

多行為推薦

  • 一個用戶可能只有很少的購買行為,在購買這個目標上,該用戶是冷啟動用戶,但是該用戶可能有很多其他行為,比如點擊、加購物車等等。通過利用這些輔助行為也可以幫助目標行為上用戶冷啟動推薦[13-14]

模型層面

  • 高效地利用有限的交互數據

元學習/元優化

  • 只以一些過去的交互item來預測用戶的偏好(解決數據稀疏性)
  • 大部分方法采用基於優化的算法,如model-agnostic元學習MAML
  • MAMO[22]
    • 元學習先為所有用戶學習全局共享初始化參數/先驗知識(meta-training),然后為每個用戶單獨學習個性化參數(基於一些樣本進行一或幾個的更新步)(meta-testing);全局參數通過最小化所有訓練任務的損失來更新。局限在於不穩定、收斂慢、泛化差,特別是會導致局部最優
    • 內存增強元優化MAMO(自適應元學習)
      • 特征特定內存: 解決局部最優;當初始化模型參數時提供個性化偏差項;包含兩個內存矩陣,一個存儲用戶畫像,另一個存儲梯度
      • 任務特定內存: 學會捕捉不同item上共享的潛在用戶偏好共性,矩陣存儲權重
      • 訓練開始,隨機初始化全局參數,包括用戶和item嵌入函數參數、預測函數參數以及上述三個矩陣。局部學習期間,用全局參數初始化模型參數,其中用戶嵌入函數參數需要引入偏差項;初始化偏好內存,計算預測分數,局部更新偏好內存和模型參數(支持集)。全局更新(查詢集)
  • Twitter recommendation[15]: 針對推特上的冷啟動物品推薦,使用用戶交互過的物品,來預測一個分類器,然后使用該生成的分類器判斷用戶是否對冷啟動的物品感興趣,這個思想和metric-based meta learning很相似
  • MeLU[16]采用一種基於梯度的元學習算法MAML來學習一個深度推薦模型公共的初始化參數,然后針對每一個冷啟動用戶,使用有限的交互數據來對這個初始化模型進行微調,得到用戶定制化的模型進行推薦
  • MetaHIN[17]: 異構圖通常也含有大量額外的信息。MetaHIN在MeLU的基礎上引入異構信息網絡,進一步提升了冷啟動的效果
    • 除了用戶直接交互的item,還引入與用戶語義相關的item,以此來豐富交互
    • 也結合基於內容的方法(從數據水平上減輕cold-start問題)
    • meta-path: 高階圖結構捕獲語義上下文(多方面的,每一個path表示一個方面)
    • 使用異質語義上下文來增強支持集和查詢集
    • co-adaptation元學習: 學習細粒度先驗知識;全局先驗被抽象成一個基模型
      • semantic-wise adaptation
      • task-wise adaptation
    • 基模型: 以用戶或item的特征初始化他們的嵌入
  • 冷啟動場景: 在推薦系統中有時會有新的場景出現,比如亞馬遜電商推薦,增加一個母嬰場景,新的場景通常只有少量交互數據,如何利用其他場景幫助冷啟動場景進行推薦。S^2meta[20]提出了一種基於元學習的方法,思想和少樣本學習類似
  • 冷啟動市場營銷任務: 在推薦系統中每天會有大量新的市場營銷任務來推廣各種內容、廣告等等。這些新的市場營銷任務通常只會給有限的種子用戶(對定向內容感興趣的用戶,可以理解為交互數據),如何根據少量種子用戶進行更大規模的推廣。MetaHeac[21]提出了一種基於元學習的方法,該方法同時可以建模多個市場營銷任務之間的關系

探索和利用

  • 主要思想是在冷啟動的過程中,什么時候應該去探索用戶額外的興趣偏好,什么時候應該基於現有的興趣偏好進行推薦。針對物品側也是同理,什么時候應該嘗試進行推廣[18-19]

參考文獻

  • [1] 2020 | Hybrid Interest Modeling for Long-tailed Users | Lifang Deng et al.
  • [2] 2021 | KDD | A Semi-Personalized System for User Cold Start Recommendation on Music Streaming Apps | Léa Briand et al.
  • [3] 2019 | WWW | Knowledge Graph Convolutional Networks for Recommender Systems | H. Wang et al.
  • [4] 2018 | CIKM | RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems | H. Wang et al.
  • [5] 2019 | WWW | Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation | H. Wang et al.
  • [6] 2018 | WWW | DKN: Deep knowledge-aware network for news recommendation | H. Wang et al.
  • [7] 2017 | NIPS | DropoutNet: Addressing Cold Start in Recommender Systems
  • [8] 2019 | SIGIR | Warm Up Cold-start Advertisements: Improving CTR Predictions via Learning to Learn ID Embeddings
  • [9] 2021 | SIGIR | Learning to Warm Up Cold Item Embeddings for Cold-start Recommendation with Meta Scaling and Shifting Networks
  • [10] 2019 | KDD | Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Recommender Systems
  • [11] 2017 | IJCAI | Cross-Domain Recommendation: An Embedding and Mapping Approach
  • [12] 2021 | SIGIR | Transfer-Meta Framework for Cross-domain Recommendation to Cold-Start Users
  • [13] 2020 | SIGIR | Multi-behavior Recommendation with Graph Convolutional Networks
  • [14] 2021 | KDD | Modeling the Sequential Dependence among Audience Multi-step Conversions with Multi-task Learning in Targeted Display Advertising
  • [15] 2017 | NIPS | A Meta-Learning Perspective on Cold-Start Recommendations for Items
  • [16] 2019 | KDD | MeLU: Meta-Learned User Preference Estimator for Cold-Start Recommendation
  • [17] 2020 | KDD | Meta-learning on Heterogeneous Information Networks for Cold-start Recommendation
  • [18] 2010 | WWW | A Contextual-Bandit Approach to Personalized News Article Recommendation
  • [19] 2019 | WWW | Policy Gradients for Contextual Recommendations
  • [20] 2019 | KDD | Sequential Scenario-Specific Meta Learner for Online Recommendation
  • [21] 2021 | KDD | Learning to Expand Audience via Meta Hybrid Experts and Critics for Recommendation and Advertising
  • [22] 2020 | KDD | MAMO: Memory-Augmented Meta-Optimization for Cold-start Recommendation
  • [23] 2018 | KDD | Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts | Google
  • [24] 2021 | Mixture of Virtual-Kernel Experts for Multi-Objective User Profile Modeling | Tencent


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM