a dual-embedding based deep latent factor model for recommendation

推荐系统

原文网盘分享:链接:https://pan.baidu.com/s/1YyRKEY-5FlpcM1dkWQ1NTQ
提取码:k6xj

DELF: A Dual-Embedding based Deep Latent Factor Model for Recommendation 总结

Abstract

  • 在各种推荐方法中,潜因子模型通常被认为是最先进的技术,其旨在学习user和item的嵌入以预测uesr-item偏好。
  • 存在的问题
    • 当将潜因子模型应用于隐式反馈的推荐时,嵌入的质量总是受到不充分的正反馈和噪声负反馈的影响。
  • 受NSVD中基于交互的item来表示user的思想的启发,本文提出一种基于对偶嵌入的深度潜在因子模型DELF,用于隐式反馈的推荐。
    • 除了为user学习单个嵌入之外,我们还从交互item的角度为每个user提供一个附加的嵌入。

Introduction

  • 在各种协同过滤方法中,潜因子模型被广泛使用,并被认为是最先进的推荐解决方案。
    • 潜因子模型通常在相同的潜在空间中用特征向量描述user和item,并基于相应的向量估计每个user-item偏好。
    • 例如:矩阵分解(MF)直接计算user和item向量的内积作为偏好得分。
    • 神经协同过滤(NCF)利用非线性函数来模拟user和item潜因子之间的相互作用。
  • 早期的潜因子模型主要关注的是显式反馈,例如用户在所有item上的评分表达了用户的偏好,在这些研究工作中,推荐被公式化为评分预测问题,并且通过最小化预测和观察到的评分之间的误差来迭代更新user和item的嵌入。
  • 问题:
    • 在很多实际应用中难以获得显式评分,这促使推荐系统利用来自user的行为历史的更丰富的隐式反馈进行推荐。
    • 一个重要的问题是:
      • 一直以来,仅利用正反馈学习user和item的嵌入将导致严重的过拟合
      • 当给出稀疏的负反馈时,如何为user和item学习适当的嵌入
  • 解决:
    • 将所有未观察到的user-item交互都作为负反馈
      • 问题:由于并非所有未观察到的item都是真正的负反馈,因此解决方案可能会降低user和item嵌入的质量
  • 本文思路:
    • 根据NSVD是根据user评价的item对user进行参数化。在NSVD中,user的嵌入由与user交互的所有item的嵌入确定。其不受负反馈的影响而且对user交互的数量更加鲁棒。
    • 这激励我们根据用于user交互的item的特征向量来表示user,以便通过隐式反馈进行推荐。
    • 此外,NSVD只是平均与其交互的item的嵌入来表示user,但不同的item可能对同一个user建模有不同的贡献,因此,我们结合了注意力机制来自动区分不同交互item的重要性。
    • 并且可以通过聚合具有非均匀权重的item嵌入来计算基于item的user嵌入。同样,我们可以获得基于user的item嵌入,从user的角度来描述item。
  • 总结:
    • 本文提出了一种基于对偶嵌入的深度潜因子模型,命名为DELF,用于隐式反馈的推荐。
    • 我们引入了一种基于注意力机制的神经方法来为每个user(相应的item)构建基于item的(基于user的)嵌入,它自动区分不同user和item的重要性。
    • 然后,我们将这些嵌入与一个基本的嵌入相结合,使用深度神经网络架构建模非线性的user-item交互关系。 DELF的一个新尝试就是我们使用对偶嵌入来为每个user-item对学习四种深度交互,这使得DELF能够推广两种有原则的CF方法,即NCF和NSVD。

Preliminaries

  • Rui = 1表示user u 和 item i之间有交互, Rui = 0表示没有观察到交互。
  • Neural Collaborative Filtering
    • 诸如矩阵因子分解(MF)的潜在因子模型通常用潜在特征的实值向量表示每个user/item。
    • 我们分别用pu和pi表示user u和item i在K维潜在空间中的向量。 u和i之间的偏好得分Rui由pu和qi的内积计算。
    • 内积运算线性地聚合成对潜在特征的乘法,这不足以捕获复杂的user-item交互。
    • 因此使用更高级的神经协同过滤
    • 其中X是神经网络中隐藏层的数量,⊕是向量的串联,Wl,bl和δl分别是第l层的权重矩阵,偏置向量和非线性激活函数。
  • NSVD
    • NSVD根据user评分的item对user进行建模。
    • 形式上,每个item与两个潜在向量qi和yi相关联。
    • 估计user u对item i的偏好分数。其中R(u)是user u评定的item集合,bu和bi是偏差项。
    • NSVD通过使用item因子的线性组合来表示user来减少user因子的冗余。
    • 然而,NSVD的主要问题是,对具有完全不同评级的相同item集合评级的两个user具有相同的表示。
  • SVD++
    • 为了解决NSVD的问题,SVD++建议用于具有显式评级的推荐。其中pu是user的潜因子。 SVD ++利用基于NSVD的表示来调整user的潜因子,而不是代表user。

DELF

Model

DELF大体上是基于潜因子模型的传统框架,其假设偏好得分Rui可以由底层user和item潜因子生产,其中Θ表示u和i的潜在因子,f表示交互函数

Input Layer
  • DELF的输入层由user u和item i的特征向量组成。
  • 基于单嵌入的潜因子模型,简单地将u和i与它们的one-hot表示user和item相关联。
  • 除了one-hot向量之外,DELF还从观察到的u和i的交互关系中分别得到二进制交互向量的集合Ru*和R*i。
    为此,我们从输入层获得user和item两种特征向量。
Embedding Layer
  • 嵌入层将来自输入层的每个特征向量投影到密集向量表示中(从稀疏向量=>密集向量)
  • u 和i 的one-hot向量通过嵌入矩阵来获得原始特征向量的嵌入。
  • 对于交互向量Ru和Ri,我们采用一种注意力机制来学习相应的嵌入表示。 (原因前面已经提到)
    • 其中mu是基于item的user嵌入,αi是user u评定的item i的注意分数,yi是潜因子
    • 其中Wa,ba分别表示权重矩阵和偏差向量,ha是上下文向量。
    • 也就是说,我们首先将item的潜因子yi提供给单层MLP,其产生转换成hi作为yi的潜在表示。
    • 然后,我们基于hi和上下文向量ha之间的相似性来度量item i的重要性,并通过softmax函数导出归一化的重要性权重αi。
Pairwise Neural Interaction Layers
  • 将对偶嵌入成对的输入到神经交互层中以模拟u和i之间的特征交互。
  • 不是使用单一的网络结构,而是分别为两种user/item嵌入模拟交互,并为不同的嵌入交互获得四种深度表示。
    • hj是第j个前馈神经网络学习嵌入交互的深层表示;
    • φjl是网络j中的第l层; Wlj,bj l和δlj分别表示网络j中层l的权重矩阵,偏置向量和激活函数;
    • z0包括user和item双嵌入的成对拼接。
Fusion and Prediciton
  • 融合层位于成对神经交互层之上,其将嵌入交互的四个深度表示组合成单个。
  • 融合方案:
    • MLP(DELF-MLP)
      • 其中Wf,bf,δf分别是权重矩阵,偏差,激活函数; zf是这四个潜在的交互表示的拼接。
    • 经验方案(DELF-EF)
      • 根据经验将非均匀的权重分配给四个深度表示
      • 其中λu和λi是要在验证集上调的超参数
    • 最后,融合层的输出hf转换为最终的预测分数
    • 其中Wp,bf分别是权重矩阵和偏差项; δp是sigmoid函数,因为我们期望预测分数在[0,1]。