Multi-level Cross-view Contrastive Learning for Knowledge-aware Recommender System—推荐系统读书笔记(三):MCCLK

推荐系统读书笔记(三):MCCLK——知识感知推荐系统的多层次视图交叉对比学习

收录会议:SIGIR 2022

原文:https://arxiv.org/pdf/2204.08807

在这里插入图片描述

ABSTRACT

背景及问题:在知识图谱在推荐系统中扮演越来越重要角色的同时, GNN也逐渐成为知识感知推荐(KGR)的主题,但是传统的基于GNN的KGR模型有个缺点——监督信号稀疏

Idea:于是,受到对比学习从数据本身挖掘有监督信号方面的成功的启发,本文作者专注于探索对比学习与KGR的结合,并提出了MCCLK。

模型(结构)概述:与传统对比学习方法通过统一的数据增强方案(如腐败或下降)生成两个图视图不同,作者综合考虑了三种不同的图视图,包括全局级结构视图局部级协同视图语义视图。具体而言,我们将UI二部图视为协同视图,将物品-实体图视为语义视图(用k-近邻来捕捉以往工作中经常忽略的物品与物品的语义关系),将用户-物品-实体图视为全局结构视图(具体为啥要这样建模,先按下不表)。在局部和全局层面上跨三个视图进行对比学习,以自监督的方式挖掘综合图特征和结构信息。

KEYWORDS

图神经网络,对比学习,知识图,推荐系统,多视图图学习

1 INTRODUCTION

传统方法面临的问题

  1. 原始的CF:把每一个UI交互视为一个独立的实例,存在严重的冷启动问题——用KG来整合侧信息

  2. 改进1-KGR:所用的预训练实体嵌入以进行item表示学习的方法,也只会单独地处理每个item-entity关系,无法为item表示提取足够的协同信号——用基于连接(connection-based)的方法来对U-I-E的连接进行建模,其又分为基于路径(path-based)和基于GNN

  3. 改进2.1-基于路径:捕获KG的长程结构来丰富用户与物品之间的交互,严重依赖于手工设计的元路径,因此在现实中很难优化(直接寄)。

    改进2.2-基于GNN:作为一种信息聚合范式,将多跳邻居集成到节点的嵌入表示中,但由于相互作用的极端稀疏性,存在很大的稀疏监督信号问题和随着嵌入分布不合理导致的退化问题——用自监督学习来缓解监督信号稀疏问题

引入的创新点:自监督学习可以弥补训练标签的不足,因为其强大的从无标签样本数据中学习判别嵌入的能力,通过最大化负样本之间的距离,最小化正样本之间的距离。

难点

  1. 图是异构的,如何设计一个合适的对比机制?

    需要同时处理多种类型的节点(用户、物品和实体)和关系(用户-物品、物品-实体等)——需要考虑全局、协同、语义这三个方面

  2. 对比学习应当在什么视图上进行对比?
    只考虑KGR的全局视图的话,很难充分利用丰富的协同和语义信息进行推荐——在同一层次上进行简单的对比是不可行的,因此需要一种多层次的跨视图对比机制。

模型设计思路

本文强调所设计的模型应该以更细粒度的方式探索更多的图视图。

为此,本文提出了一种基于自监督学习范式的知识感知推荐系统的多层次视图交叉对比学习模型(简称MCCLK),以充分利用KG上丰富的协同和语义信息以及KGR上的UI交互信息。

具体如下图所示,全面考虑三个互补的图视图:UI二部图——(局部)协同视图,物品-实体图——(局部)语义视图,用户-物品-实体图——(全局)结构视图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pacf7CRY-1670572866821)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221207162837364.png)]

在此基础上,提出了一种新型的多层级跨视图对比学习机制,实现了协同视图与语义视图之间的局部级对比学习,全局视图与局部视图之间的全局级对比学习。

特别地,在前人工作鲜有涉足的语义视图中,还提出了一个有效的k-近邻的物品-物品语义图构建模块,配备了一个关系感知GNN,用于显式地考虑来自知识信息的物品-物品语义相似性。此外,每个图视图采用基于GNN的自适应图编码器,根据视图的特点强调图信息的不同部分。

2 RELATED WORK

2.1 知识感知推荐

基于嵌入的方法——使用知识图嵌入(KGE)对KG进行预处理,然后将学习到的实体、关系嵌入纳入推荐中——更侧重于建模严格的语义相关性,更适合链路预测而不是推荐(CKE、KTUP、RippleNet)

基于路径的方法——捕获KG的长程结构来丰富用户与物品之间的交互——严重依赖于手动设计的元路径(PER、KPRN)

基于GNN的方法——是基于图神经网络(GNNs)的信息聚合机制——都在稀疏图上采用监督学习(KGAT、KGIN)

2.2 对比学习

DGI首先在图表示学习中采用了Infomax,并着重对比了局部节点嵌入和全局图嵌入。

GMI从节点特征和拓扑结构两方面对中心节点和局部节点进行对比。

MVGRL从两个结构图视图学习节点级和图级节点表示,并在两个图视图之间对比编码嵌入。

HeCo提出从网络模式视图和元路径视图学习节点表示,并在两者之间进行对比学习。

SGL对原始图和损坏图进行UI交互的对比学习。

共性:都没把对比学习和知识感知推荐结合起来

3 PROBLEM FORMULATION

此部分给出UI二部图和知识图谱的定义,以及交代知识感知推荐的具体任务

UI二部图(User-Item Bipartite Graph)

用于描述user与item之间有无交互
Y = { ( u , y u i , i ) ∣ u ∈ U , i ∈ I ) } y u i = { 1 u 、 i 有 交 互 0 u 、 i 无 交 互 Y = \{(u,y_{ui}, i)|u ∈ U, i ∈ I)\}\\ y_{ui}=\left\{ \begin{array}{rcl} 1 & & {u、i有交互}\\ 0 & & {u、i无交互} \end{array} \right. Y={(u,yui,i)uU,iI)}yui={10uiui

知识图谱(Knowledge Graph)

用于给item添加属性和外部知识,为有向图,
G = { ( h , r , t ) ∣ h , t ∈ E , r ∈ R } G=\{(h, r, t)|h, t∈\Epsilon , r∈R\} G={(h,r,t)h,tE,rR}
此外,还建立了一组UI对齐
A = { ( i , e ) ∣ i ∈ I , e ∈ E } A = \{(i, e)|i∈I, e∈E\} A={(i,e)iI,eE}
其中 ( i , e ) (i, e) (i,e)表示物品 i i i可以与KG中的实体 e e e对齐

任务陈述

已知UI二部图 Y Y Y和知识图谱 G G G,学习一个函数,该函数可以预测用户会和物品产生交互的可能性。

4 METHODOLOGY

下图为MCCLK的流程图,主要包括三个部分:

  1. 多视图生成——生成全局级结构视图、局部级协同视图和语义视图。为了探索语义视图,还提出了一个关系感知GNN构造了一个物品-物品语义图。

  2. 局部对比学习——使用LightGCN对协同视图和语义视图进行编码,然后在两个视图之间进行跨视图对比学习,学习局部层次的综合节点嵌入。

  3. 全局对比学习——使用路径感知GNN对结构视图进行编码,然后在全局视图和局部视图之间进行交叉视图对比学习,以学习全局级别的判别节点嵌入。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vHFNnoQK-1670572866822)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221207172238974.png)]

4.1 多视图生成

将用户-物品-实体(U-I-E)图分解成UI二部图(看做协同视图,挖掘物品之间协同关系)和IE二部图(看做语义视图,探索物品之间的语义相似性)。

并且还建立了一个k-近邻物品-物品语义图(用知识感知聚合机制来保存邻居实体和关系信息)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sF5x0FIu-1670572866823)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221208201022024.png)]

对于这个物品-物品语义图的生成,具体来讲,是在KG上递归 K ′ K' K次,进行关系感知聚合如下:
e i ( k + 1 ) = 1 ∣ N i ∣ ∑ ( r , v ) ∈ N i e r ⊙ e v ( k ) , e v ( k + 1 ) = 1 ∣ N v ∣ ( ∑ ( r , v ) ∈ N i e r ⊙ e v ( k ) + ∑ ( r , i ) ∈ N v e r ⊙ e i ( k ) ) e^{(k+1)} _i = \frac{1}{|N_i|}\sum_{(r,v)∈N_i} e_r ⊙ e^{(k)}_v,\\ e_v^{(k+1)} = \frac{1}{|N_v|}(\sum_{(r,v)∈N_i} e_r ⊙ e^{(k)}_v + \sum_{(r,i)∈N_v} e_r ⊙ e^{(k)}_i) ei(k+1)=Ni1(r,v)Nierev(k),ev(k+1)=Nv1((r,v)Nierev(k)+(r,i)Nverei(k))
其中, e i ( k ) e^{(k)}_i ei(k) e v ( k ) e^{(k)}_v ev(k)是物品和实体 ( k − 1 ) (k-1) (k1)跳邻居的嵌入表示; e r ⊙ e v ( k ) e_r ⊙ e^{(k)}_v erev(k)表示三元组 ( i , r , v ) (i,r,v) (i,r,v)的关系信息(relational message

紧接着,在全连接物-物图上进行k近邻稀疏化以简化计算、减少噪声:
S ^ i j = { S i j ,        S i j ∈ t o p − k ( S i ) 0 ,                     o t h e r w i s e \hat{S}_{ij} = \left\{\begin{aligned} S_{ij},\ \ \ \ \ \ S_{ij}∈top-k(S_i)\\ 0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ otherwise \end{aligned}\right. S^ij={Sij,      Sijtopk(Si)0,                   otherwise
再把稀疏化后的邻接矩阵归一化以防止梯度爆炸:
S ~ = ( D ) − 1 2 S ^ ( D ) − 1 2 \tilde{S} = (D)^{-\frac{1}{2}}\hat{S}(D)^{-\frac{1}{2}} S~=(D)21S^(D)21
其中 D ∈ R N × N D∈\mathbb{R}^{N×N} DRN×N是对角度(diagonal degree)矩阵

4.2 局部对比学习

一句话,基于协作视图和语义视图进行编码表示(LightGCN)并在它们之间执行对比学习以自监督方式迭代表示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qj48bdCn-1670572866823)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209121623535.png)]

4.2.1 协作视图编码

对协作信号用LightGCN来编码,包含简单的消息传递和聚合机制,轻便又不失全面。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E2kZSv1k-1670572866824)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221208200808697.png)]

公式:
e u ( k + 1 ) = ∑ i ∈ N u 1 ∣ N u ∣ ∣ N i ∣ e i ( k ) e i ( k + 1 ) = ∑ i ∈ N i 1 ∣ N u ∣ ∣ N i ∣ e u ( k ) e^{(k+1)}_u = \sum_{i ∈N_u} \frac{1}{\sqrt{|N_u | |N_i |} }e^{(k)} _i\\ e^{(k+1)}_i = \sum_{i ∈N_i} \frac{1}{\sqrt{|N_u | |N_i |} }e^{(k)} _u eu(k+1)=iNuNuNi 1ei(k)ei(k+1)=iNiNuNi 1eu(k)
把不同层的表示进行相加(丰富嵌入信息的同时还可以控制K)得U、I最后的表示:
z u c = e u ( 0 ) + ⋅ ⋅ ⋅ + e u ( K ) z i c = e i ( 0 ) + ⋅ ⋅ ⋅ + e i ( K ) z_u^c = e^{(0)}_u + · · · + e_u^{(K)}\\ z_i^c = e^{(0)}_i + · · · + e_i^{(K)} zuc=eu(0)++eu(K)zic=ei(0)++ei(K)
求解:这里它求 ∑ \sum 时咋不像LightGCN那样再用个 α k α_k αk加权?欢迎大佬们留盐指教

4.2.2 语义视图编码

在构建了物品-物品语义图之后,在其上采用了LightGCN进行 L L L次聚合操作,通过向嵌入中注入物-物相关性来学习更好的物品表示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kAMdE92c-1670572866824)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221208201902581.png)]

公式:
e i ( l + 1 ) = ∑ j ∈ N ( i ) S ~ e j ( l ) e_i^{(l+1)} = \sum_{j∈N(i)}\tilde{S}e_j^{(l)} ei(l+1)=jN(i)S~ej(l)
其中 S ~ \tilde{S} S~就是在4.1里面提到的稀疏且归一后的邻接矩阵;初始嵌入 e j ( 0 ) e_j^{(0)} ej(0)就是物品对应id的嵌入表示。

同样,也对每一层的进行相加得到每个物品在语义视图下的表示:
z i s = e i ( 0 ) + ⋅ ⋅ ⋅ + e i ( L ) z_i^s = e^{(0)}_i + · · · + e_i^{(L)} zis=ei(0)++ei(L)

4.2.3 局部横向对比优化

此部分将 z i s z_i^s zis z i c z_i^c zic进行横向对比学习。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vs4SgIAO-1670572866824)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209121242913.png)]

为了将它们映射到计算对比损失的空间,嵌入首先被馈送到具有一个隐藏层的MLP中:
z i c _ p = W ( 2 ) σ ( W ( 1 ) z i c + b ( 1 ) ) + b ( 2 ) , z i s _ p = W ( 2 ) σ ( W ( 1 ) z i s + b ( 1 ) ) + b ( 2 ) z_i^c\_p = W^{(2)}σ(W^{(1)}z_i^c+b^{(1)}) + b^{(2)},\\ z_i^s\_p = W^{(2)}σ(W^{(1)}z_i^s+b^{(1)}) + b^{(2)} zic_p=W(2)σ(W(1)zic+b(1))+b(2),zis_p=W(2)σ(W(1)zis+b(1))+b(2)
其中 W ( ⋅ ) ∈ R d × d W^{(·)}∈\mathbb{R}^{d×d} W()Rd×d b ( ⋅ ) ∈ R d × 1 b^{(·)}∈\mathbb{R}^{d×1} b()Rd×1都是可训练参数, σ σ σ是非线性激活函数ELU。

然后定义了正负样本:对于一个视图中的任何节点,由另一个视图学习的相同节点嵌入形成正样本;除了它之外的节点嵌入自然被视为负样本。

对比损失函数如下(地狱绘图#1):

在这里插入图片描述

可以发现,负样本有两个来源:视图内(intra-view)和视图间(inter-view),前者即只比较语义视图内的节点

4.3 全局对比学习

局部对比学习充分探索了UI信息,但但尚未探索完整的图形结构(U-I-E)信息

因此引入了全局对比学习,使用路径感知编码器(基于GNN)探索结构视图,然后在全局级和局部级视图之间执行对比学习。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7tFsLgg8-1670572866825)(C:\Users\ysx14\Desktop\image-20221209130023511.png)]

4.3.1 结构视图编码

本文设计了基于路径感知的GNN,在对邻居信息聚合 L ′ L' L次的同时,还保留了路径信息。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8LTS53wd-1670572866826)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209130321477.png)]

公式:
e u ( l + 1 ) = 1 ∣ N u ∣ ∑ i ∈ N u e i ( l ) , e i ( l + 1 ) = 1 ∣ N i ∣ ∑ ( r , v ) ∈ N i β ( i , r , v ) e r ⊙ e v ( l ) e^{(l+1)}_u = \frac{1}{|N_u | }\sum_{i ∈N_u} e^{(l)} _i,\\ e_i^{(l+1)} = \frac{1}{|N_i|}\sum_{(r,v)∈N_i}β(i,r,v)e_r⊙e_v^{(l)} eu(l+1)=Nu1iNuei(l),ei(l+1)=Ni1(r,v)Niβ(i,r,v)erev(l)
为了给实体及关系加权,注意力权值β公式如下:
β ( i , r , v ) = s o f t m a x ( e i ∣ ∣ e r ) ⊤ ⋅ ( e v ∣ ∣ e r ) = e x p ( ( e i ∣ ∣ e r ) ⊤ ⋅ ( e v ∣ ∣ e r ) ) ∑ ( v ′ , r ) ∈ N ^ ( i ) e x p ( ( e i ∣ ∣ e r ) ⊤ ⋅ ( e v ′ ∣ ∣ e r ) ) β(i,r,v) = softmax(e_i||e_r)^⊤·(e_v||e_r)\\ = \frac{exp((e_i||e_r)^⊤·(e_v||e_r))}{\sum_{(v',r)∈\hat{N}(i)}exp((e_i||e_r)^⊤·(e_{v'}||e_r))} β(i,r,v)=softmax(eier)(ever)=(v,r)N^(i)exp((eier)(ever))exp((eier)(ever))
其中, ∣ ∣ || 是连接运算, N ^ ( i ) \hat{N}(i) N^(i)是物品 i i i及其邻居的集合

最后把所有层的嵌入加起来得到用户和物品的全局嵌入:
z u g = e u ( 0 ) + ⋅ ⋅ ⋅ + e u ( L ′ ) z i g = e i ( 0 ) + ⋅ ⋅ ⋅ + e i ( L ′ ) z_u^g = e^{(0)}_u + · · · + e_u^{(L')}\\ z_i^g = e^{(0)}_i + · · · + e_i^{(L')} zug=eu(0)++eu(L)zig=ei(0)++ei(L)

4.3.2全局横向对比优化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KjkGfePX-1670572866826)(C:\Users\ysx14\Desktop\QQ截图20221209125526.png)]
同理,把 z u g z_u^g zug z i g z_i^g zig映射到能计算对比损失的空间里面:

z i g _ p = W ( 2 ) σ ( W ( 1 ) z i g + b ( 1 ) ) + b ( 2 ) , z i l _ p = W ( 2 ) σ ( W ( 1 ) ( z i s + z i c ) + b ( 1 ) ) + b ( 2 ) z_i^g\_p = W^{(2)}σ(W^{(1)}z_i^g+b^{(1)}) + b^{(2)},\\ z_i^l\_p = W^{(2)}σ(W^{(1)}(z_i^s+z_i^c)+b^{(1)}) + b^{(2)} zig_p=W(2)σ(W(1)zig+b(1))+b(2),zil_p=W(2)σ(W(1)(zis+zic)+b(1))+b(2)
局部和全局物品(用户)对比损失函数 L i l L_i^l Lil L i g L_i^g Lig L u l L_u^l Lul L u g L_u^g Lug同理)公式(地狱绘图#2):

总的全局损失函数如下:
L g l o b a l = 1 2 N ∑ i = 1 N ( L i g + L i l ) + 1 2 M ∑ i = 1 M ( L u g + L u l ) L^{global} = \frac{1}{2N}\sum^N_{i=1}(L_i^g + L_i^l) + \frac{1}{2M}\sum^M_{i=1}(L_u^g + L_u^l) Lglobal=2N1i=1N(Lig+Lil)+2M1i=1M(Lug+Lul)

4.4 模型预测

把之前学习到的用户、物品嵌入做整合,再融合计算得到打分预测。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YQO5CNYu-1670572866826)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209131651459.png)]
对于用户 u u u,我们现在有 z u c z^c_u zuc z u g z_u^g zug

对于物品 i i i,我们现在有 z i c z^c_i zic z i s z_i^s zis z i g z_i^g zig

则定义预测 y ^ ( u , i ) \hat{y}(u,i) y^(u,i)如下:
z u ∗ = z u g ∣ ∣ z u c , z i ∗ = z i g ∣ ∣ ( z i c + z i s ) , y ^ ( u , i ) = z u ∗ ⊤ z i ∗ z^*_u = z^g_u||z^c_u,\\ z^*_i = z^g_i||(z^c_i + z^s_i),\\ \hat{y}(u,i) = {z^*_u}^⊤ z^*_i zu=zugzuc,zi=zig(zic+zis),y^(u,i)=zuzi

4.5 多任务训练

多任务训练目的:为了将推荐任务与自我监督任务相结合

对于KG感知推荐——用BPR损失 L B P R = ∑ ︁ ( u , i , j ) ∈ O − l n σ ( y ^ ( u , i ) − y ^ ( u , j ) ) L_{BPR} = ∑︁_{(u,i,j) ∈O} {- ln σ (\hat{y}(u,i) − \hat{y}(u,j) }) LBPR=(u,i,j)Olnσ(y^(u,i)y^(u,j))来提高正样本权值

最终损失函数如下:
L M C C L K = L B P R + β ( α L l o c a l + ( 1 − α ) L g l o b a l ) + λ ∣ ∣ Θ ∣ ∣ 2 2 L_{MCCLK} = L_{BPR} + β(αL^{local}+ (1 − α)L^{global} ) + λ||\Theta||^2_2 LMCCLK=LBPR+β(αLlocal+(1α)Lglobal)+λΘ22
其中 Θ Θ Θ是模型参数集, α α α是跷跷板数,即确定局部-全局对比损失比率的超参数, β β β λ λ λ是分别控制对比损失和 L 2 L_2 L2正则化项的两个超参数。

5 EXPERIMENT

数据集及超参数一览:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5kyp79cl-1670572866827)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209151432389.png)]

传统艺能灵魂四问(有人怀疑之前不是我写的?那用方言证明一哈):

RQ1:MCCLK给比其他模型拽?

RQ2:局部对比学习和全局对比学习给有必要都整?

RQ3:不同的超参数对MCCLK性能影响咋个样?

RQ4:自我监督任务能改善表征学习,真呢该?

5.1 性能比较(RQ1)

Baseline所用方法
BPRMF经典CF+BPR损失
CKE多知识图嵌入
RippleNet涟漪式传播KG图嵌入
PER元路径
KGCNGNN
KGNN-LSGNN+标签平滑
KGATGNN+知识感知注意
KGINGNN+用户意图分解

下图(表)展示性能比较结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k0E9FYEw-1670572866827)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209152953794.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fwrxoQpT-1670572866828)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209153057339.png)]

显而易见:

  1. MCCLK在所有度量方面始终优于三个数据集的所有Baseline,得益于——

    ① 对语义和协作信号的捕捉更到位

    全局对比机制保留了来自两级自识别的结构和特征信息,捕获了更全面的信息。

  2. KG 让推荐系统如虎添翼——CKE比MF强

  3. 捕捉路径信息也很重要——PER竟然比MF还菜

  4. GNN 牛逼——有GNN的都比之前的强,完美阐释建模远程连通性和聚合机制对于图表示学习的重要性

5.2 消融实验(RQ2)

M C C L K w / o   G MCCLK_{w/o \ G} MCCLKw/o G阉割了全局对比学习, M C C L K w / o   L MCCLK_{w/o \ L} MCCLKw/o L阉割了局部对比学习。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-osCRPU1w-1670572866828)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209153902041.png)]

从上图可知,没了二者之一,模型性能直接断崖式下跌:

  1. 移除全局对比,对全局图结构的记录没了;
  2. 移除局部对比,无法捕捉协作、语义信号。

5.3 调参(RQ3)

本文调优的超参数有:

  1. 语义视图聚合层数 L L L

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w48gmjvq-1670572866828)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209154644413.png)]

  2. 全局结构视图聚合层数 L ′ L' L

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xYdP7eLz-1670572866829)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209154708033.png)]

  3. 局部-全局对比损失加权跷跷板数 α α α

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-evTjWzHX-1670572866829)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209154800540.png)]

  1. 对比损失加权参数 β β β

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EN9Yi3A0-1670572866830)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209154719592.png)]

5.4 可视化(RQ4)

为了评估对比机制是否影响表征学习性能,本文采用SVD分解来预测学习的物品嵌入到二维图中,并给出正则化的奇异值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8JCvsYYi-1670572866830)(C:\Users\ysx14\AppData\Roaming\Typora\typora-user-images\image-20221209155140323.png)]

从中我们可以得到以下观察结果:

  1. MCCLK的数据分布更广,因此能够表示不同的节点特征信息,体现出更好的表示学习和缓解表示退化问题方面的优势。
  2. 把MCCLK及其阉割版作比较可以发现,去除局部或全局的对比损失会使所学习的嵌入更加难以区分,这表明多层次的交叉视图对比学习机制雀食能增强表示学习的有效性和鲁棒性。

6 CONCLUSION

本文专注于探索基于知识图谱知识感知和对比学习融合在推荐系统的运用,以自我监督的方式提高用户-物品表示学习的质量。

MCCLK从两个维度实现了更好的用户/物品表示学习:

(1)MCCLK从全局结构视图、局部协作视图和语义视图三个角度考虑,并显式地构建了一个k近邻物品-物品语义图用于挖掘其语义相似性。

(2) MCCLK在三个视图之间执行多层次的交叉视图对比学习,探索特征和结构信息,并进一步学习表示。


参考:自己码的,除原文献外无任何参考!

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值