论文笔记-NeurIPS2017-DropoutNet: Addressing Cold Start in Recommender Systems
- DropoutNet:解决推荐系统中的冷启动问题
- 摘要
- 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:解决推荐系统中的冷启动问题
论文: DropoutNet: Addressing Cold Start in Recommender Systems
代码: DropoutNet
摘要
大多数潜在模型主要集中在用户-物品交互的建模上,关于冷启动问题的研究相对较少。因此,本文提出了一种名为 DropoutNet 的基于神经网络的潜在模型,以解决推荐系统中的冷启动问题。与现有方法不同的是,DropoutNet 没有引入额外的基于内容的目标项,而是专注于优化,表明神经网络模型可以通过 dropout 明确训练以应对冷启动问题。
1.引言
冷启动等同于缺失数据问题,即缺失偏好信息。因此,DropoutNet 并不添加额外的目标项来建模内容,而是修改学习过程,明确地使模型适应缺失的输入。该方法的关键思想是,通过对输入小批量应用dropout,训练DNN以对缺失输入进行泛化。
通过选择适当的dropout比例,DropoutNet 在热启动时的性能与最先进的模型相当,而在冷启动时则显著优于其性能。DropoutNet 比大多数结合内容信息的方法简单,并且使用单一的目标函数,联合优化所有组件以最大化推荐准确性。该方法的另一个优点是,它可以在任何现有的潜在模型之上应用,以提供或增强其冷启动能力。
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)=∅
-
用户的内容特征: Φ U \Phi^U ΦU
-
物品的内容特征: Φ V \Phi^V ΦV
-
用户 u u u 的内容特征向量: Φ u U \Phi_u^U ΦuU
-
物品 v v v 的内容特征向量: Φ v V \Phi_v^V ΦvV
-
当内容缺失时,特征向量设置为 Φ 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)。考虑到潜在方法在各种协同过滤数据集上的强大表现,可以合理假设潜在表示准确地总结了用户和物品的偏好信息。此外,低输入维度显著降低了深度神经网络(DNN)的模型复杂性,因为第一个隐藏层的激活大小与输入大小成正比。鉴于这些优势,将每个用户 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进行处理,连接之后传递给微调网络 f U f_U fU,然后输出潜在表示 U ^ u \hat{U}_u U^u。对于每个物品,得到潜在表示 V ^ v \hat{V}_v V^v。在训练过程中,所有组件通过反向传播共同优化。一旦模型训练完成就将其固定,并进行前向传播以映射 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^uV^vT。
3.2冷启动训练
借鉴去噪自编码器的思想,本文的目标是学习一个模型,即使在输入的部分缺失时仍能产生准确的表示。为此,提出了一个目标,即在输入通过模型后重现相关性评分:
目标O是最小化输入潜在模型和DNN产生的评分之间的差异。当所有的输入可用时,也就是热推荐时,通过将内容权重设置为0来使模型专注于偏好输入。这意味着模型不再考虑内容的影响,只依赖于用户的偏好来生成相关性评分。在这种情况下,模型学习到一个恒等函数,即对于给定的偏好输入,输出的评分与输入完全相同。这是一个理想的状态,因为它意味着模型在这种情况下可以准确地反映用户的偏好。
在冷启动情况下, U u U_u Uu 或 V v V_v Vv(或两者)可能缺失,因此主要思路是通过应用输入丢弃(dropout)进行训练。使用随机的小批量优化,随机抽取用户-物品对来计算梯度并更新模型。在每个小批量中,随机选择一部分用户和物品,并将它们的偏好输入设置为 0,然后将小批量传递给模型。对于“丢弃”的对,模型必须在没有看到偏好输入的情况下重构相关性评分:
使用丢弃(dropout)进行训练具有双重效果:丢弃的对促使模型仅使用内容信息,而没有丢弃的对则鼓励模型忽略内容,简单地重现偏好输入。这两者的结合可以达到一种平衡。使用丢弃的另一个优点是,它最初是作为一种正则化模型的方法开发的。在这里也有类似的效果,即使对于更深和更复杂的模型,通常也不需要额外的正则化。
类似于去噪自编码器,DropoutNet 模型被训练来从噪声版本中重建输入。噪声以丢弃的形式出现,完全去除一部分输入维度。然而,DropoutNet 的目标不是重建实际的未损坏输入,而是最小化原始空间和重建空间中点之间的成对距离。考虑相关性评分 S = { U u V v T ∣ u ∈ U , v ∈ V } S = \{ U_u V^T_v | u \in U, v \in V \} S={UuVvT∣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^uV^vT∣u∈U,v∈V} 作为一维空间中的点集,DropoutNet 目标是保留由模型生成的 S ^ \hat{S} S^ 中点的相对排序与原始集 S S S 的相对排序。DropoutNet 专注于重建距离,提供了更大的灵活性,使模型能够学习全新的潜在空间,而不是将其绑定到另一个模型学习的表示上。这个目标类似于许多流行的降维模型,它们将数据投影到低维空间中,同时保留点之间的相对距离。
3.3推荐
训练完成后,固定模型并进行前向传播,以推断新的潜在表示。为了在观察到冷启动用户 u u u 的首个偏好时更新潜在表示 U ^ u \hat{U}_u U^u,需要推断输入偏好向量 U u U_u Uu。由于许多主流潜在模型使用复杂的非凸目标,使用新偏好更新潜在表示是一项非平凡的任务,需要迭代优化。为避免这一问题,本文使用一个简单的技巧,将每个用户表示为其交互过的物品的加权和,直到输入潜在模型被重新训练。形式上,给定生成了新交互集 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)。这一过程可以在收集新数据的近实时情况下持续进行,直到输入潜在模型被重新训练。冷启动物品的处理方式类似,使用用户表示的平均值。通过这种近似获得的表示的分布可能会偏离输入潜在模型生成的分布。使用类似于冷启动的丢弃方法显式地为此进行训练。在学习过程中,每个小批量中随机选择的用户和物品的偏好输入被替换为方程 (4)。在丢弃和这一转换之间交替,并控制每种转换的相对频率(即丢弃比例)。算法 1 概述了完整的学习过程。
4.实验
4.1实验设置
数据集: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 的增加而稳步上升。此外,在没有 dropout 的情况下,冷启动性能较差,即使是 0.1 的 dropout 也能使其提高超过 60%。这表明在某些 dropout 值的范围内,可以在冷启动准确性上获得显著提升,而不会对热启动造成损失。
4.2.2 实验结果
本文使用 WMF 和 CDL 作为输入偏好模型,偏好输入 dropout 率均为 0.5,热启动和冷启动的 recall@100 结果如表 1 所示。
结论:
-
大多数基线在热启动上产生了相似的结果,因为几乎所有模型都使用 WMF 目标来建模 R。其中一个例外是 DeepMusic,这归因于 DeepMusic 中项目潜在表示仅为内容的函数,因此缺乏偏好信息。
-
DN-WMF 和 DN-CDL 的表现与最佳基线相当,表明将偏好信息作为输入添加到模型中显著改善了性能。相比之下,像 DeepMusic 这样的仅基于内容的模型效果较差。
-
Dropout=0.5 不会影响热启动性能,我们的模型仍然能够恢复输入潜在模型的准确性。冷启动结果则更加多样化,最佳冷启动基线如预期为 DeepMusic。
4.3在RecSys上的实验结果
结论:
-
所有基线的表现相近,除了 DeepMusic,这表明仅基于内容的模型在热启动上不太可能表现良好。
-
用户和项目冷启动的结果显示 DN-WMF 的表现明显优于 DeepMusic,对于大多数截断,提升超过 50%。进一步表明,即使最终目标是冷启动,将偏好信息作为输入纳入模型是非常重要的。
5.总结
提出了 DropoutNet,一种用于推荐系统冷启动的深度神经网络模型。DropoutNet 在训练过程中应用输入 dropout,以适应缺失的偏好信息。缺失数据的优化迫使模型利用偏好和内容信息,而不明确依赖两者同时存在。这使得模型在热启动和冷启动场景中都具有出色的泛化能力。此外,与通常具有复杂多项目标函数的现有方法不同,DropoutNet 的目标函数只有一个单一项,易于实现和优化。DropoutNet 可以有效地应用于任何现有的潜在模型之上,提供冷启动能力,并充分发挥深度架构在内容建模中的优势。从实证上看,DropoutNet 在两个公共基准上展示了最先进的结果。