Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation

原文链接:https://arxiv.org/pdf/1901.08907v1.pdf

PS:做个笔记,以便自己查阅。

目录

摘要
1 介绍
2 研究方法
3 理论分析
4 实验
5 相关工作
6 总结和未来展望

摘要

在真实的推荐场景中,协同过滤往往存在稀疏性和冷启动问题,因此,研究人员和工程师通常利用辅助信息来解决问题,提高推荐系统的性能。本文将知识图作为辅助信息的来源。提出了一种多任务特征学习方法MKR,用于知识图增强推荐。MKR是一个利用知识图嵌入任务来辅助推荐任务的深度端到端框架。这两个任务通过交叉压缩单元相关联,该单元自动共享潜在特征,并学习推荐系统中的项目与知识图中的实体之间的高阶交互。证明了交叉和压缩单元具有足够的多项式逼近能力,并表明MKR是推荐系统和多任务学习的几种代表性方法的通用框架。通过对真实世界数据集的大量实验,我们证明了MKR在电影、书籍、音乐和新闻推荐方面取得了巨大的进步,超越了比较先进的模型。即使用户-项目交互很少,MKR也能够保持良好的性能。

1 介绍

推荐系统(RS)旨在解决信息爆炸问题并满足用户的个性化兴趣。最受欢迎的推荐技术之一是协作过滤(CF)[11],它利用用户的历史互动并根据用户的共同偏好进行推荐。但是,基于CF的方法通常会遇到用户与项目交互的稀疏性以及冷启动问题。因此,研究人员建议在推荐系统中使用辅助信息,包括社交网络[10],属性[30]和多媒体(例如文本[29],图像[40])。知识图谱(KGs)是RS的一种辅助信息,通常包含丰富的事实和有关项目的联系。最近,研究人员提出了一些学术和商业的知识图谱,例如NELL1,DBpedia2,Google Knowledge Graph3和Microsoft Satori4。由于KG的高维和异构性,通常通过知识图嵌入(KGE)方法对其进行预处理[27],该方法将实体和关系嵌入到低维向量空间中,同时保留其固有结构。

现有KG-aware模型

受到在各种任务中成功应用KG的启发,研究人员最近尝试利用KG来提高推荐系统的性能[31,32,39,40,45]。个性化实体推荐(PER)[39]和带有特征选择的分解因子机(FMG)[45]将KG视为异构信息网络,并提取基于元路径/元图的潜在特征来表示用户和项目之间的连通性 不同类型的关系路径/图形。应该注意的是,PER和FMG严重依赖手动设计的元路径/元图,这限制了它在通用推荐方案中的应用。深度知识感知网络(DKN)[32]设计了一个CNN框架,将实体嵌入与单词嵌入相结合以进行新闻推荐。但是,在使用DKN之前需要实体嵌入,这导致DKN缺乏端到端的培训方式。 关于DKN的另一个问题是,它几乎不能包含文字以外的辅助信息。RippleNet[31]是一个类似于内存网络的模型,它在KG中传播用户的潜在偏好,并探索用户的层次兴趣。但是关系的重要性在RippleNet中表现得很弱,因为关系R的嵌入矩阵很难训练成二次型v⊤R h(v和h是两个实体的嵌入向量)。协作性的知识基础嵌入(CKE)[40]在统一的框架中将CF与结构性知识,文本知识和视觉知识结合在一起。 但是,CKE中的KGE模块(即TransR)比推荐更适合于图形应用(例如KG完成和链接预测)。 另外,在贝叶斯框架下,CF模块和KGE模块在CKE中是松散耦合的,因此对于推荐系统,KG的监督不太明显。

方法

为了解决以往工作的局限性,我们提出了一种用于知识图增强推荐的多任务学习(MTL)方法MKR。MKR是一个通用的端到端的深度推荐框架,旨在利用KGE任务来辅助推荐任务5。注意,这两个任务不是相互独立的,而是高度相关的,因为RS中的一个项目可能与KG中的一个或多个实体相关联。因此,一个项目及其对应的实体可能在RS和KG中具有相似的邻近结构,在低层和非任务特定的潜在特征空间[15]中具有相似的特征。我们将在实验部分进一步验证相似性。为了对项目和实体之间的共享特性建模,我们在MKR中设计了一个交叉压缩单元。交叉压缩单元明确地对项与实体之间的高阶交互进行建模,并自动控制这两项任务的交叉知识传输。通过交叉压缩单元,项目和实体的表示可以互补,有助于避免拟合噪声和提高泛化能力。通过交替优化两个不同频率的任务,可以训练整个框架,使得MKR在实际的推荐算法中具有较高的灵活性和适应性。
我们探讨了MKR的表达能力,并通过理论分析表明,交叉压缩单元能够近似地表示项目和实体之间的高阶特征交互。我们还证明了MKR是一种广义的框架,适用于多种有代表性的推荐系统和多任务学习方法,包括因子分解机[22,23]、深度交叉网络[34]和十字绣网络[18]。根据经验,我们评估了我们的方法在四个推荐场景即。、电影、书籍、音乐和新闻推荐。结果表明,MKR在点击率(CTR)预测(例如,电影平均提高11.6%的AUC)和top-K推荐(例如,书籍平均提高66.4%的Recall@10)方面都取得了显著的进步。MKR还可以在稀疏场景中保持良好的性能。

贡献

值得注意的是,由于我们更关心推荐任务的性能,因此本文研究的问题也可以建模为跨域推荐[26]或迁移学习[21]。然而,关键的观察是,虽然跨域推荐和转移学习对于目标域只有一个目标,但是它们的损失函数仍然包含测量源域中数据分布或两个域之间相似性的约束项。在我们提出的MKR中,KGE任务明确地作为约束项,为推荐系统提供正则化。我们要强调的是,本文的主要贡献是将问题建模为多任务学习:我们比跨域推荐和转移学习更进一步,理论分析和实验结果表明,发现任务间的相似性不仅有助于推荐系统,而且有助于知识图谱的嵌入。

2 研究方法

在本节中,我们首先制定了知识图增强推荐问题,然后介绍了MKR的框架,并详细介绍了交叉压缩单元、推荐模块和KGE模块的设计。最后讨论了MKR的学习算法。

2.1问题公式化

在典型的推荐场景中,我们有一组M用户U={u1,u2,…,uM}和一组N项V={v1,v2,…,vN}。用户项交互矩阵Y∈RM×N是根据用户的隐式反馈定义的,其中yuv=1表示用户参与了项v,如点击、观看、浏览、购买等行为,否则yuv=0。此外,我们还可以访问一个知识图G,它由实体关系实体三元组(h,r,t)组成。这里h、r和t分别表示知识三元组的头、关系和尾。例如,三元组(昆汀·塔伦蒂诺,film.director.film,Pulp Fiction)表示昆汀·塔伦蒂诺导演电影Pulp Fiction。在许多推荐场景中,项目v∈v可能与G中的一个或多个实体相关联。例如,在电影推荐中,项目“低俗小说”与其在KG中的同名链接,而在新闻推荐中,新闻与标题“特朗普在技术会议上承诺向硅谷提供援助”与KG中的实体“唐纳德·特朗普”和“硅谷”相关联。鉴于用户-项目交互矩阵Y以及知识边缘图G,我们旨在预测用户u是否对之前没有互动的项目v感兴趣。我们的目标是学习预测函数yˆuv = F(u,v |Θ,Y,G),其中yˆuv表示用户u会参与项目v的概率,而Θ是函数F的模型参数。

2.2 框架

MKR的框架如图1a所示。MKR由三个主要组件组成:推荐模块、KGE模块和交叉压缩单元。
(1)左侧的推荐模块以用户和项目为输入,使用多层感知器(MLP)和交叉压缩单元分别提取用户和项目的短特征和密集特征。然后将提取的特征一起输入另一个MLP,输出预测概率。
(2)与左侧相似,右侧的KGE模块也使用多层结构从知识三元组的头部和关系中提取特征,并在分数函数f和真实尾部的监督下输出预测尾部的表示。
(3)推荐模块与KGE模块之间采用专门设计的交叉压缩单元桥接。该单元能自动学习推荐系统中项目与推荐实体之间的高阶特征交互。

2.3 交叉压缩单元

为了对物品和实体之间的特征交互进行建模,我们在MKR中设计了一个交叉压缩单元,如图5–8b所示。
对于物品v及与它关联的实体(之一)e,我们首先依据它们第层的特征,构造一个dxd维的特征交互矩阵:

其中是第层的交叉特征矩阵,是特征的维度。这个操作叫做“交叉”操作,因为在交叉特征矩阵中,物品v及其相关联的实体e的任何一组可能的特征相互作用都被显式地建模。然后,我们将特征交叉矩阵投影到各自的特征空间中,并输出物品和实体的下一层的表示向量:
  其中是权值和偏置参数。这个操作叫做“压缩”操作,因为权值向量将交叉特征矩阵重新从的空间映射回了特征空间。注意到在公式(2)中, 出于对称性的考虑,特征交叉矩阵被同时沿着水平和垂直的方向进行了压缩(通过在矩阵上进行操作)。但是我们会在第3.2节中提供更多关于该设计的理解。为了记号简便,在下文中,我们将交叉压缩单元记为:
   (3)
  并使用后缀来区分它的两个输出。通过交叉压缩单元,MKR可以适应性地调整知识迁移的权重并学习两个任务之间的相关度。
  
值得注意的是,交叉单元只存在于MKR模型的低层(low-level layers),如图1a所示。这是因为(1)一般而言,在深度结构中,特征沿着网络结构逐渐从一般性(general)转到特定性(specic),特征的可迁移性在高层(high-levellayers)会随着任务不相似性的增加而显著下降[38]。因此,在高层中共享特征会增加负迁(negative transfer)的风险,特别是对于MKR中的异构任务。(2)在MKR的高层中,物品特征和用户特征发生了混合,实体特征也与关系特征发生了混合。这种混合特征不再适合共享,因为它们没有显式的关联。

2.4 推荐模型

MKR 中的推荐系统模块的输入为用户u和物品v的原始特征u和v。根据应用场景的不同,u和v可以是one-hotID[59],属性[1],词袋(bag-of-words)[52],或它们的组合。 给定用户u的原始特征u,我们使用一个 L 层的MLP来提取他的隐含特征: 
(4)
其中是一个权重参数为W、偏执参数为 b、非线性激活函数为σ(·) 的全连接层。对于物品v,我们使用 L 层的交叉压缩单元来提取它的特征: 
(5)
其中是S(V)是和物品v关联的实体的集合。
在得到了用户的特征以及物品的特征后,我们将拼接起来以结合这两个通路。然而,一个简单的向量拼接不足以刻画用户和物品的交互[59]。因此, 我们使用另一个 H层的MLP来处理拼接后的向量。相比于内积,MLP的设计使得 MKR 具有更多的灵活性和非线性能力来处理的交互。最终,用户u和物品v有交互行为的预测概率为:
(6)

2.5 知识图谱特征学习模块

知识图谱特征学习的目的是将实体和向量映射到低维连续空间中,并保持它们的结构信息。最近,研究者们提出了很多知识图谱特征学习方法,包括翻译距离模型(translational distance models)[82,84] 和语义匹配模型(semantic matching models)[157,158]。在MKR 中,我们提出一种深度语义匹配模型用于知识图谱特征学习。和推荐系统模块类似,对于一个给定的三元组(h,r,t),我们首先使用多个交叉压缩单元和非线性层来分别处理头结点 h 和关系 r 的原始输入。(这可以包括 ID[84]、种类[159]、文字描述[83] 等)。它们的特征随后被拼接起来,送入一个 K 层的MLP来预测尾节点 t:

其中是实体 h 关联的物品的集合,是预测的尾节点t的向量。最终,三元组 (h,r,t) 的分数通过一个评分函数计算得到: 
(8)
其中是t尾节点 t 的实际特征。在本文中,我们使用归一化的内积作为评分函数[160],但是其它形式的相似度函数也可以在这里使用,例如Kullback–Leibler divergence。

2.6 学习算法

MKR的完整的损失函数如下所示:
(9)
在公式(9)中,第一项衡量推荐系统模块中的损失,其中u和v分别遍历了用户和物品的集合,J 是交叉熵(cross-entropy)函数。第二项计算了知识图谱特征学习模块中的损失,其中我们的目标是提升所有正确的三元组的分数,降低所有错误的三元组的分数。最后一项是防止过拟合的正则项。λ1 和 λ2 是权衡参数。

注意到公式(9)遍历了所有可能的用户-物品对和三元组。为了使计算更有效率,类似文献[17],我们在训练过程中使用负采样技术。MKR的学习算法如算法1所示。一个训练轮中包含了两个阶段:推荐系统任务(第4-8行)和知识图谱特征学习任务(第10-12行)。在每轮中,我们重复训练 t 次推荐系统任务(t 是一个超参数且一般t > 1)并训练一次知识图谱特征学习任务,因为我们更关注于提升推荐性能。我们会在实验部分讨论 t 的选择。

【注】7:根据公式(1)-(6),(9),使用梯度下降法更新F的参数;
12:根据公式(1)-(3),(7)-(9),使用梯度下降法更新F的参数;

3 理论分析

在本节中,我们证明了交叉压缩单元具有足够的多项式逼近能力。我们也证明了MKR是一个广义的框架,它涵盖了几种典型的推荐系统和多任务学习方法。

3.1 多项式拟合

根据魏尔斯特拉斯逼近定理(Weierstrass approximation theorem) [25],任何在特定平滑假设下的函数都可以被一个多项式近似到任意精度。因此,我们研究交叉压缩单元的高阶交互模拟的能力。我们证明交叉压缩单元可以拟合高达指数级别的物品-实体特征交互:

定理 1. 记 MKR 网络中的输入物品和实体的特征分别为和 e =。那么)的具有最大度数的交叉项是,其中
在推荐系统中,也叫做组合特征(combinatorial feature),因为它衡量了多个原始特征的交互。定理1表明交叉压缩单元可以自动模拟足够高阶的物品和实体之间的组合特征。和现有工作,例如Wide&Deep[3]、分解机(factorization machine)[22,23] 和DCN[34] 相比,MKR具有更强大的拟合能力。定理5.1的证明见附录。

3.2 代表方法的统一视角

在本节中,通过阐述推荐系统和多任务学习中的一些有代表性的方法是MKR的特殊版本或和MKR有理论上的关联,我们为这些方法提供一个统一的视角。这也验证了交叉压缩单元的设计的合理性,同时也从概念上解释了MKR和基准方法相比有较强的性能的原因。

3.2.1 分解机(Factorizationmachines)

因子分解机器[22,23]是推荐系统的一种通用方法。给定一个输入特征向量,FMs使用因式分解的参数对输入向量中所有变量之间的交互作用进行建模,从而能够在具有极大稀疏性的问题(如推荐系统)中估计交互作用。定义了2次因子分解机的模型方程为:

其中xi是第i个单元的输入向量x, w·体重标量,v·权向量,是两个向量的内积。我们证明分解机的核心和单层的交叉压缩单元在概念上是相似的。
命题 1.可以被写成如下形式:

其中,是两个标量的和。
有趣的是,与分解机中将的权值参数分解为两个向量的内积不同,在交叉压缩单元中的权值被分解成两个标量的和,用以减少参数的个数,提升模型的鲁棒性。

3.2.2 深度交叉网络(Deep&CrossNetwork)

深度交叉网络(DCN) [163] 通过引入如下的网络层来显式地学习高阶的特征交互:,其中分别是第层的特征、权值和偏置。我们通过如下的命题展示DCN和MKR之间的联系:
 命题 2. 在公式(2)的中,如果我们限制第一项满足,限制第二项(以及对施加相似的限制),那么交叉压缩单元和 DCN 网络层在多 任务学习的概念下是等价的: (13)
可以证明,上述的DCN等价版本的MKR的多项式拟合能力(即和中的交叉项的最大度数)为,这要远远弱于原版的交叉压缩单元的的拟合能力。

3.2.3十字绣网络(Cross-stitchNetworks)

十字绣网络[18]是卷积网络中的一个多任务学习模型,在该模型中,设计的十字绣单元可以学习两个任务之间共享和特定任务表示的组合。具体来说,给定两个激活地图图层l为任务,十字绣网络学习线性组合和的输入激活和饲料这些组合作为输入到下一层的过滤器。激活图中(i, j)处的公式为:

其中a’s是任务a和任务b之间表示的可训练的转移权重。我们通过以下步骤说明公式(14)中的十字绣单元是我们的交叉压缩单元的简化版本。

命题3.如果我们忽略公式(2)中所有的偏置,那么交叉压缩单元可以写成如下形式:

公式(15)中的转换矩阵类似于十字绣网络中的,这些 α 是十字绣网络中控制任务A和任务B之间的特征迁移程度的参数。和十字绣网络类似, MKR可以通过让变小来使得特定的层变得更加任务特定(task-specic),也可以给它们分配一个较大的数值来让该层变得更加共享(shared)。但是,交叉压缩单元中的转换矩阵更加细粒度(ne-grained),因为转换矩阵从十字绣网络中的两个数值变成了MKR中的两个向量的内积。更为有趣的是,公式(15)也可以被视为是一种注意力机制,因为转移权值的计算涉及了向量和本身。

论文阅读笔记(1):Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation相关推荐

  1. 知识图谱与推荐系统之《Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation》MKR

    依次训练的方法主要有:Deep Knowledge-aware Network(DKN) 联合训练的方法主要有:Ripple Network 交替训练主要采用multi-task的思路,主要方法有:M ...

  2. 【论文阅读笔记】Multi-Task Feature Learning for Knowledge Graph Enhanced

    Multi-Task Feature Learning for Knowledge Graph Enhanced 1.框架 MKR是一个通用的.端对端深度推荐框架, 由三个主要部分组成:推荐模块.KG ...

  3. 论文阅读笔记(2):Learning a Self-Expressive Network for Subspace Clustering,SENet,用于大规模子空间聚类的自表达网络

    论文阅读笔记(2):Learning a Self-Expressive Network for Subspace Clustering. SENet--用于大规模子空间聚类的自表达网络 前言 摘要 ...

  4. 知识图谱论文阅读(十六)【WWW2019】Knowledge Graph Convolutional Networks for Recommender

    题目: KGCN 论文链接: 代码链接:https://github.com/hwwang55/KGCN 想法 高阶的意思就是multi-hop的意思 注意是从外向里聚合的,第h-1跳是外侧,第h跳是 ...

  5. Kaiming He论文阅读笔记三——Simple Siamese Representation Learning

    Kaiming He大神在2021年发表的Exploring Simple Siamese Representation Learning,截至目前已经有963的引用,今天我们就一起来阅读一下这篇自监 ...

  6. 论文阅读笔记三十三:Feature Pyramid Networks for Object Detection(FPN CVPR 2017)

    论文源址:https://arxiv.org/abs/1612.03144 代码:https://github.com/jwyang/fpn.pytorch 摘要 特征金字塔是用于不同尺寸目标检测中的 ...

  7. 论文阅读笔记《Dynamic Few-Shot Visual Learning without Forgetting》

    小样本学习&元学习经典论文整理||持续更新 核心思想   本文提出一种不会遗忘的动态小样本学习算法,严格来讲应该也属于基于外部记忆的小样本学习算法.本文的主体结构依旧是特征提取+分类器的组合, ...

  8. 论文阅读笔记《Patch2CAD: Patchwise Embedding Learning for In-the-Wild Shape Retrieval from a Single Image》

    核心思想   本文提出一种通过图块匹配寻找图像和CAD模型之间的对应关系,并进一步实现位姿估计的算法.与许多从单目图像中实现目标物体三维识别并估计位姿的方法类似,本文也是通过从CAD模型库中检索最相似 ...

  9. 【论文阅读笔记】:CGD: Multi-View Clustering via Cross-View Graph Diffusion

    Summary 现有的多视图处理模型都是先进行表征学习,通过学习得到的表征得到统一的图,再利用该图进行谱聚类.本文考虑将特征通过kNN构图得到每个视图的图,再通过多视图融合迭代公式进行融合扩散.这样, ...

最新文章

  1. [转]c# 泛类型(泛型) 以及强类型与弱类型的 理解及优化
  2. python用中文怎么说-如何用Python做中文分词?
  3. Docker:Docker的简介、安装、使用方法之详细攻略
  4. ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Identify功能(六)
  5. 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  6. 英文 电气与计算机工程学报,ei来源刊分为哪三大类?如何区别compendex和ei page one的文章?...
  7. 历届试题 核桃的数量
  8. JQuery-让Ajax变的更简单
  9. Navicat Premium试用期破解方法(转)
  10. IAI OpenLab工业人工智能开放实验室白皮书(一)
  11. LKM:Linux Kernel Map(图解Linux内核)
  12. jquery.validate动态更改校验规则
  13. SQL 关于提示SQL Server 2008评估期已过解决办法
  14. IT项目管理流程总结·二十三
  15. 怎么删除远程桌面连接计算机,win10系统强制删除远程桌面连接软件的方法
  16. python练习题003:圆的面积
  17. 用java编写国际象棋
  18. boss金服:点买系统的基本解答
  19. ubuntu安装显卡驱动的三种方法
  20. mysql导入数据时 USING BTREE 错误解决办法

热门文章

  1. 诺亚传说手游怎么用电脑玩 诺亚传说手游PC电脑版教程
  2. 网站域名服务器加密,网站域名利用https防劫持方法
  3. 桂林电子科技大学校园网自动登录
  4. office打不开文件,显示需要修复文件,点击修复也没用的解决办法
  5. 利元转债,奕瑞转债上市价格预测
  6. 2021年起重机司机(限桥式起重机)最新解析及起重机司机(限桥式起重机)新版试题
  7. allegro 进行outline倒角
  8. 2019牛客暑期多校训练营(第二场)H Second Large Rectangle
  9. 二维空间最近点对问题 python
  10. 前端原生下载excel表格