網(wǎng)站沒有在工信部備案新鄉(xiāng)seo外包
論文筆記-NeurIPS2017-DropoutNet: Addressing Cold Start in Recommender Systems
- DropoutNet:解決推薦系統(tǒng)中的冷啟動問題
- 摘要
- 1.引言
- 2.前言
- 3.方法
- 3.1模型架構
- 3.2冷啟動訓練
- 3.3推薦
- 4.實驗
- 4.1實驗設置
- 4.2在CiteULike上的實驗結果
- 4.2.1 Dropout率的影響
- 4.2.2 實驗結果
- 4.3在RecSys上的實驗結果
- 5.總結
DropoutNet:解決推薦系統(tǒng)中的冷啟動問題
論文: DropoutNet: Addressing Cold Start in Recommender Systems
代碼: DropoutNet
摘要
大多數(shù)潛在模型主要集中在用戶-物品交互的建模上,關于冷啟動問題的研究相對較少。因此,本文提出了一種名為 DropoutNet 的基于神經(jīng)網(wǎng)絡的潛在模型,以解決推薦系統(tǒng)中的冷啟動問題。與現(xiàn)有方法不同的是,DropoutNet 沒有引入額外的基于內(nèi)容的目標項,而是專注于優(yōu)化,表明神經(jīng)網(wǎng)絡模型可以通過 dropout 明確訓練以應對冷啟動問題。
1.引言
冷啟動等同于缺失數(shù)據(jù)問題,即缺失偏好信息。因此,DropoutNet 并不添加額外的目標項來建模內(nèi)容,而是修改學習過程,明確地使模型適應缺失的輸入。該方法的關鍵思想是,通過對輸入小批量應用dropout,訓練DNN以對缺失輸入進行泛化。
通過選擇適當?shù)膁ropout比例,DropoutNet 在熱啟動時的性能與最先進的模型相當,而在冷啟動時則顯著優(yōu)于其性能。DropoutNet 比大多數(shù)結合內(nèi)容信息的方法簡單,并且使用單一的目標函數(shù),聯(lián)合優(yōu)化所有組件以最大化推薦準確性。該方法的另一個優(yōu)點是,它可以在任何現(xiàn)有的潛在模型之上應用,以提供或增強其冷啟動能力。
2.前言
定義如下:
-
用戶集合: U = { u 1 , u 2 , … , u N } U = \{ u_1, u_2, \ldots, u_N \} U={u1?,u2?,…,uN?}
-
物品集合: V = { v 1 , v 2 , … , v M } V = \{ v_1, v_2, \ldots, v_M \} V={v1?,v2?,…,vM?}
-
偏好矩陣: R R R
-
用戶 u u u 對物品 v v v 的偏好: R u v ? R_{uv}? Ruv??
-
對物品 v v v 表達偏好的用戶集合: U ( v ) = { u ∈ U ∣ R u v ≠ 0 } U(v) = \{ u \in U \mid R_{uv} \neq 0 \} U(v)={u∈U∣Ruv?=0}
-
對用戶 u u u 表達偏好的物品集合: V ( u ) = { v ∈ V ∣ R u v ≠ 0 } V(u) = \{ v \in V \mid R_{uv} \neq 0 \} V(u)={v∈V∣Ruv?=0}
-
冷啟動條件: V ( u ) = ? V(u) = \emptyset V(u)=? 和 U ( v ) = ? U(v) = \emptyset U(v)=?
-
用戶的內(nèi)容特征: Φ U ? \Phi^U? ΦU?
-
物品的內(nèi)容特征: Φ V ? \Phi^V? ΦV?
-
用戶 u u u 的內(nèi)容特征向量: Φ u U ? \Phi_u^U? ΦuU??
-
物品 v v v 的內(nèi)容特征向量: Φ v V ? \Phi_v^V? ΦvV??
-
當內(nèi)容缺失時,特征向量設置為 Φ u U ? = 0 \Phi_u^U?=0 ΦuU??=0或 Φ v V = 0 ? \Phi_v^V=0? ΦvV?=0?
3.方法
DropoutNet 使用潛在表示作為偏好輸入。潛在模型通常用低秩矩陣 U U U 和 V V V 的乘積來近似偏好矩陣積來近似偏好矩陣: KaTeX parse error: Undefined control sequence: \* at position 19: …uv} \approx U_u\?*?V_v^T,其中 U u ? U_u? Uu?? 和 V v ? V_v? Vv?? 分別是用戶 u u u 和物品 v v v 的潛在表示。 U U U 和 V V V 都是密集且低維的,秩為 D ≤ min ? ( N , M ) D \leq \min(N, M) D≤min(N,M)。考慮到潛在方法在各種協(xié)同過濾數(shù)據(jù)集上的強大表現(xiàn),可以合理假設潛在表示準確地總結了用戶和物品的偏好信息。此外,低輸入維度顯著降低了深度神經(jīng)網(wǎng)絡(DNN)的模型復雜性,因為第一個隱藏層的激活大小與輸入大小成正比。鑒于這些優(yōu)勢,將每個用戶 u u u 和物品 v v v 的輸入設定為 [ U u , Φ u U ] [U_u, \Phi_u^U] [Uu?,ΦuU?] 和 [ V v , Φ v V ] [V_v, \Phi_v^V] [Vv?,ΦvV?]。
3.1模型架構
模型架構如圖1所示,對于每個用戶,兩個形式的輸入通過相應的DNN進行處理,連接之后傳遞給微調(diào)網(wǎng)絡 f U ? f_U? fU???,然后輸出潛在表示 U ^ u ? \hat{U}_u? U^u??。對于每個物品,得到潛在表示 V ^ v ? \hat{V}_v? V^v??。在訓練過程中,所有組件通過反向傳播共同優(yōu)化。一旦模型訓練完成就將其固定,并進行前向傳播以映射 U → U ^ U \to \hat{U} U→U^ 和 V → V ^ V \to \hat{V} V→V^。所有檢索操作都使用 U ^ \hat{U} U^ 和 V ^ \hat{V} V^ 進行,相關性評分則按之前的方式估算為 s ^ u v = U ^ u V ^ v T ? \hat{s}_{uv} = \hat{U}_u \hat{V}^T_v? s^uv?=U^u?V^vT??。
3.2冷啟動訓練
借鑒去噪自編碼器的思想,本文的目標是學習一個模型,即使在輸入的部分缺失時仍能產(chǎn)生準確的表示。為此,提出了一個目標,即在輸入通過模型后重現(xiàn)相關性評分:
目標O是最小化輸入潛在模型和DNN產(chǎn)生的評分之間的差異。當所有的輸入可用時,也就是熱推薦時,通過將內(nèi)容權重設置為0來使模型專注于偏好輸入。這意味著模型不再考慮內(nèi)容的影響,只依賴于用戶的偏好來生成相關性評分。在這種情況下,模型學習到一個恒等函數(shù),即對于給定的偏好輸入,輸出的評分與輸入完全相同。這是一個理想的狀態(tài),因為它意味著模型在這種情況下可以準確地反映用戶的偏好。
在冷啟動情況下, U u ? U_u? Uu?? 或 V v ? V_v? Vv??(或兩者)可能缺失,因此主要思路是通過應用輸入丟棄(dropout)進行訓練。使用隨機的小批量優(yōu)化,隨機抽取用戶-物品對來計算梯度并更新模型。在每個小批量中,隨機選擇一部分用戶和物品,并將它們的偏好輸入設置為 0,然后將小批量傳遞給模型。對于“丟棄”的對,模型必須在沒有看到偏好輸入的情況下重構相關性評分:
使用丟棄(dropout)進行訓練具有雙重效果:丟棄的對促使模型僅使用內(nèi)容信息,而沒有丟棄的對則鼓勵模型忽略內(nèi)容,簡單地重現(xiàn)偏好輸入。這兩者的結合可以達到一種平衡。使用丟棄的另一個優(yōu)點是,它最初是作為一種正則化模型的方法開發(fā)的。在這里也有類似的效果,即使對于更深和更復雜的模型,通常也不需要額外的正則化。
類似于去噪自編碼器,DropoutNet 模型被訓練來從噪聲版本中重建輸入。噪聲以丟棄的形式出現(xiàn),完全去除一部分輸入維度。然而,DropoutNet 的目標不是重建實際的未損壞輸入,而是最小化原始空間和重建空間中點之間的成對距離??紤]相關性評分 S = { U u V v T ∣ u ∈ U , v ∈ V } S = \{ U_u V^T_v | u \in U, v \in V \} S={Uu?VvT?∣u∈U,v∈V} 和 S ^ = { U ^ u V ^ v T ∣ u ∈ U , v ∈ V } \hat{S} = \{ \hat{U}_u \hat{V}^T_v | u \in U, v \in V \} S^={U^u?V^vT?∣u∈U,v∈V} 作為一維空間中的點集,DropoutNet 目標是保留由模型生成的 S ^ \hat{S} S^ 中點的相對排序與原始集 S S S 的相對排序。DropoutNet 專注于重建距離,提供了更大的靈活性,使模型能夠?qū)W習全新的潛在空間,而不是將其綁定到另一個模型學習的表示上。這個目標類似于許多流行的降維模型,它們將數(shù)據(jù)投影到低維空間中,同時保留點之間的相對距離。
3.3推薦
訓練完成后,固定模型并進行前向傳播,以推斷新的潛在表示。為了在觀察到冷啟動用戶 u u u 的首個偏好時更新潛在表示 U ^ u ?? \hat{U}_u?? U^u???,需要推斷輸入偏好向量 U u ? U_u? Uu??。由于許多主流潛在模型使用復雜的非凸目標,使用新偏好更新潛在表示是一項非平凡的任務,需要迭代優(yōu)化。為避免這一問題,本文使用一個簡單的技巧,將每個用戶表示為其交互過的物品的加權和,直到輸入潛在模型被重新訓練。形式上,給定生成了新交互集 V ( u ) V(u) V(u) 的冷啟動用戶 u u u,用該用戶在 V ( u ) V(u) V(u) 中物品的平均潛在表示來近似 U u ? U_u? Uu??:
使用這一近似,通過用戶 DNN 進行前向傳播,可以獲得更新的表示: U ^ u = f U ( mean v ∈ V ( u ) V v , Φ u U ) \hat{U}_u = f_U\left(\text{mean}_{v \in V(u)} V_v, \Phi_u^U\right) U^u?=fU?(meanv∈V(u)?Vv?,ΦuU?)。這一過程可以在收集新數(shù)據(jù)的近實時情況下持續(xù)進行,直到輸入潛在模型被重新訓練。冷啟動物品的處理方式類似,使用用戶表示的平均值。通過這種近似獲得的表示的分布可能會偏離輸入潛在模型生成的分布。使用類似于冷啟動的丟棄方法顯式地為此進行訓練。在學習過程中,每個小批量中隨機選擇的用戶和物品的偏好輸入被替換為方程 (4)。在丟棄和這一轉(zhuǎn)換之間交替,并控制每種轉(zhuǎn)換的相對頻率(即丟棄比例)。算法 1 概述了完整的學習過程。
4.實驗
4.1實驗設置
數(shù)據(jù)集:CiteULike 和 ACM RecSys 2017
基線:WMF、CTR、DeepMusic 和 CDL
4.2在CiteULike上的實驗結果
4.2.1 Dropout率的影響
圖 2 顯示了 dropout 率在 0 到 1 之間的熱啟動和冷啟動 recall@100 的準確性。
結論:
熱啟動的準確性幾乎保持不變,下降幅度不到 1%,直到 dropout 達到 0.7 時迅速下降。另一方面,冷啟動的準確性隨著 dropout 的增加而穩(wěn)步上升。此外,在沒有 dropout 的情況下,冷啟動性能較差,即使是 0.1 的 dropout 也能使其提高超過 60%。這表明在某些 dropout 值的范圍內(nèi),可以在冷啟動準確性上獲得顯著提升,而不會對熱啟動造成損失。
4.2.2 實驗結果
本文使用 WMF 和 CDL 作為輸入偏好模型,偏好輸入 dropout 率均為 0.5,熱啟動和冷啟動的 recall@100 結果如表 1 所示。
結論:
-
大多數(shù)基線在熱啟動上產(chǎn)生了相似的結果,因為幾乎所有模型都使用 WMF 目標來建模 R。其中一個例外是 DeepMusic,這歸因于 DeepMusic 中項目潛在表示僅為內(nèi)容的函數(shù),因此缺乏偏好信息。
-
DN-WMF 和 DN-CDL 的表現(xiàn)與最佳基線相當,表明將偏好信息作為輸入添加到模型中顯著改善了性能。相比之下,像 DeepMusic 這樣的僅基于內(nèi)容的模型效果較差。
-
Dropout=0.5 不會影響熱啟動性能,我們的模型仍然能夠恢復輸入潛在模型的準確性。冷啟動結果則更加多樣化,最佳冷啟動基線如預期為 DeepMusic。
4.3在RecSys上的實驗結果
結論:
-
所有基線的表現(xiàn)相近,除了 DeepMusic,這表明僅基于內(nèi)容的模型在熱啟動上不太可能表現(xiàn)良好。
-
用戶和項目冷啟動的結果顯示 DN-WMF 的表現(xiàn)明顯優(yōu)于 DeepMusic,對于大多數(shù)截斷,提升超過 50%。進一步表明,即使最終目標是冷啟動,將偏好信息作為輸入納入模型是非常重要的。
5.總結
提出了 DropoutNet,一種用于推薦系統(tǒng)冷啟動的深度神經(jīng)網(wǎng)絡模型。DropoutNet 在訓練過程中應用輸入 dropout,以適應缺失的偏好信息。缺失數(shù)據(jù)的優(yōu)化迫使模型利用偏好和內(nèi)容信息,而不明確依賴兩者同時存在。這使得模型在熱啟動和冷啟動場景中都具有出色的泛化能力。此外,與通常具有復雜多項目標函數(shù)的現(xiàn)有方法不同,DropoutNet 的目標函數(shù)只有一個單一項,易于實現(xiàn)和優(yōu)化。DropoutNet 可以有效地應用于任何現(xiàn)有的潛在模型之上,提供冷啟動能力,并充分發(fā)揮深度架構在內(nèi)容建模中的優(yōu)勢。從實證上看,DropoutNet 在兩個公共基準上展示了最先進的結果。