论文笔记 : Dual Neural Personalized Ranking

2020 年 2 月 26 日 机器学习与推荐算法
作者:阿瑟_f7b5
链接:www.jianshu.com/p/0d959d2e11e7
来源:简书


本文是自己在推荐系统研究中研读的论文翻译及解读,本篇笔记非标准译文,其中包含了笔者自己对问题的部分理解,仅供参考,欢迎学习交流。

背景

隐式反馈数据是推荐中常见的数据类型,但是由于其固有的稀疏和单一类(one-class 0/1 )特性,很难从中完整发现有效的用户/物品特征。
文中提到: 现有的针对隐式反馈的推荐模型往往存在数据稀疏问题,通常使用矩阵分解获取潜在用户/物品表示; 此外,隐式反馈只提供了已知的正向数据,而未知反馈是模糊的(即数据模糊,不确定是正还是负例)。 因此,有必要区分负反馈和未知反馈。 关于隐式反馈,可以看https://www.jianshu.com/p/d8173f29e4f8
本文作者提出DualNPR(双NPR) ,以统一的形式实现对用户和物品侧的逐对排序(pairwise ranking 两个PR)。
本文主要的创新点包括:
  1. DualNPR利用用户和物品的成对排名发现用户和物品之间的真实相关性,缓解了数据稀疏问题。 不需要额外的辅助信息,仅需要用户-物品交互矩阵。
  2. 其基于深度矩阵分解Deep Matrix Factorization来捕获用户/物品表示的可变性。 特别是,它选择原始用户/物品向量作为输入,学习潜在用户/物品表示。
  3. 使用动态负采样方法提升了推荐效果。

相关知识

推荐中的排序最经典的要数BPR(Bayesian Personalized Ranking):
BPR
BPR算法中,将任意用户u对应的物品进行标记,如果用户u在同时有物品i和j的时候点击了i,那么就得到了一个三元组 ,它表示对用户u来说,i的排序要比j靠前。
基于贝叶斯,BPR有两个假设: 一、每个用户之间的偏好行为相互独立,即用户u在商品i和j之间的偏好和其他用户无关; 二、同一用户对不同物品的偏序相互独立,也就是用户u在商品i和j之间的偏好和其他的商品无关。为了便于表述,我们用 符号表示用户u的偏好, 可以表示为:

在排序关系的基础上,BPR的优化目标是最大化后验概率 
省略部分推导 具体的总结可见:https://www.cnblogs.com/pinard/p/9128682.html
在实际模型中,对应到相应的Loss:

其中为sigmoid函数,上式即为常见的MF-BPR模型
NPR

那么所谓的NPR的概念则是在BPR的基础上,加上神经网络

对于模型输入,通过embedding矩阵  ,这些参数用来转换得到用户和物品的向量表示,是模型训练的目标参数

对于模型预测而言,即在原来的基础上加上非线形操作

,而具体的目标函数与上面BPR所列相同,整个过程类似于Deep Matrix Factorization,虽然NPR相较于BPR,效果有很大的提升,但它并没有解决以下问题:

(1)物品侧三元组也是一个有用的训练资源,NPR并没有利用
(2)更广义的DMF可以用来表示潜在的用户/物品向量,
(3)负采样是学习BPR及其变体的关键组成部分之一,而NPR并没有进行讨论/改进 这一点在论文中有点牵强

DualNPR 模型设计


核心思想就是双侧设计,同时对用户侧和物品侧的排序关系进行考虑,围绕这个思想,作者进行了一下设计:
输入层设计
对于用户和物品采用one-hot编码,其实应该叫multi-hot编码

对于例子 用户比起更喜欢,有7个用户,5个物品的话,表示为:

相应的形式化表示为:

该部分表示成为用户/物品的raw vector表示,为了方便后续模型的计算处理,对两种不同维度的向量需要做填充操作

Embedding

在NPR和DMF的基础上,将经过多层隐含层的处理,模型中采用了共享权重的设计,可以加速训练,但是否有利于提高模型效果,原文并未给出解释


Scoring Layer

具体的评分函数则比较简单,有多种设计方式:

而双层设计的思想则体现在模型的输出上,包含两个输出:

那么相应的Loss对应如下,包含用户侧误差项和物品侧误差项:


具体模型使用/预测的时候,只用计算即可


模型训练

动态负采样 Dynamic Negative Sampling

模型训练中所需数据为三元组形式<u,i,j>,<i,u,v>,需要通过负采样获取负例,常见做法是从未交互过的物品/用户中等概率选取一定数量的样本作为负样本,本文提出使用动态负采样,对负例计算其排序重要程度,在此基础上计算其被采样概率,使得同一三元组中的正负样例差异增大,加快训练提升效果。

该部分细节仍在学习理解中,后续更新补充


整体流程如下:

实验结果

部分实验结果如下:



登录查看更多
2

相关内容

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。内部排序的过程是一个逐步扩大记录的有序序列长度的过程。
【SIGIR2020】用于冷启动推荐的内容感知神经哈希
专知会员服务
22+阅读 · 2020年6月2日
因果关联学习,Causal Relational Learning
专知会员服务
179+阅读 · 2020年4月21日
专知会员服务
85+阅读 · 2020年1月20日
【论文笔记】基于LSTM的问答对排序
专知
12+阅读 · 2019年9月7日
论文浅尝 | 面向知识图谱补全的共享嵌入神经网络模型
开放知识图谱
31+阅读 · 2019年4月7日
论文浅尝 | Zero-Shot Transfer Learning for Event Extraction
开放知识图谱
25+阅读 · 2018年11月1日
论文浅尝 | 一种用于新闻推荐的深度知识感知网络
开放知识图谱
5+阅读 · 2018年6月17日
论文笔记之attention mechanism专题1:SA-Net(CVPR 2018)
统计学习与视觉计算组
16+阅读 · 2018年4月5日
论文浅尝 | CFO: Conditional Focused Neural Question Answering
开放知识图谱
6+阅读 · 2017年12月15日
推荐中的序列化建模:Session-based neural recommendation
机器学习研究会
17+阅读 · 2017年11月5日
Adversarial Mutual Information for Text Generation
Arxiv
13+阅读 · 2020年6月30日
Learning to Focus when Ranking Answers
Arxiv
5+阅读 · 2018年8月8日
Arxiv
4+阅读 · 2018年3月30日
Arxiv
6+阅读 · 2017年12月2日
VIP会员
相关VIP内容
【SIGIR2020】用于冷启动推荐的内容感知神经哈希
专知会员服务
22+阅读 · 2020年6月2日
因果关联学习,Causal Relational Learning
专知会员服务
179+阅读 · 2020年4月21日
专知会员服务
85+阅读 · 2020年1月20日
相关资讯
【论文笔记】基于LSTM的问答对排序
专知
12+阅读 · 2019年9月7日
论文浅尝 | 面向知识图谱补全的共享嵌入神经网络模型
开放知识图谱
31+阅读 · 2019年4月7日
论文浅尝 | Zero-Shot Transfer Learning for Event Extraction
开放知识图谱
25+阅读 · 2018年11月1日
论文浅尝 | 一种用于新闻推荐的深度知识感知网络
开放知识图谱
5+阅读 · 2018年6月17日
论文笔记之attention mechanism专题1:SA-Net(CVPR 2018)
统计学习与视觉计算组
16+阅读 · 2018年4月5日
论文浅尝 | CFO: Conditional Focused Neural Question Answering
开放知识图谱
6+阅读 · 2017年12月15日
推荐中的序列化建模:Session-based neural recommendation
机器学习研究会
17+阅读 · 2017年11月5日
Top
微信扫码咨询专知VIP会员