Neural Node Matching for Multi-Target Cross Domain Recommendation-ICDE2023-论文笔记

12 阅读5分钟

Neural Node Matching for Multi-Target Cross Domain Recommendation

作者:

image-20241203143237448

会议:ICDE 2023

1. Background

随着数字时代的快速发展,越来越多的用户出于各种目的参与多个领域(或平台)。由于跨领域的重叠用户可能具有相似的兴趣,通过使用来自多个(源)领域的信息来提升其他(目标)领域的推荐性能成为可能,这也是**跨域推荐(Cross-Domain Recommendation,CDR)**的核心思想。

根据不同的推荐场景,CDR问题通常可分为两类:单目标CDR多目标CDR。传统的单目标CDR旨在利用源领域信息提升目标领域的推荐性能,而多目标CDR希望同时提升多个领域的推荐性能。


2. Motivation

现有的大多数多目标CDR框架主要依赖于跨领域中存在的大量重叠用户。然而,实际的CDR场景通常无法满足这种严格的重叠要求,仅存在少量的跨领域共有用户;此外,在这种小重叠的CDR场景中,大多数用户的历史行为记录非常稀疏(呈现长尾分布)。


3. Contribution

论文提出了一种基于神经节点匹配的框架,适用于更一般的CDR设置,即:跨领域仅存在(少量)部分重叠用户,并且大部分重叠用户和非重叠用户的交互记录稀疏。

该框架主要包含两个模块:

  • 域内到跨域的节点匹配模块:通过完全连接的用户-用户同质图信息聚合,进行域内知识融合以及跨域知识融合。通过这种方式,所有用户的知识(尤其是非重叠用户)都可以被充分提取和转移,而无需过度依赖重叠用户。
  • 域内节点补全模块。引入用户-物品匹配机制,补全每个用户可能缺失的交互,并纠正其可能被低估的表示,特别是对于那些观察到交互稀疏的用户。

此外,为了指导知识转移过程,我们在每个模块中还插入了伴随目标(Companion Objectives),这对多个领域的推荐效果产生了积极影响。


4. Preliminaries

本研究聚焦于一个通用的部分重叠多目标CDR场景,该场景由两个领域 ZZZˉ\bar{Z} 组成。令 GZ=(UZ,VZ,EZ)G_Z = (U_Z, V_Z, E_Z)GZˉ=(UZˉ,VZˉ,EZˉ)G_{\bar{Z}} = (U_{\bar{Z}}, V_{\bar{Z}}, E_{\bar{Z}}) 表示领域数据,其中 UUVVEE 分别为每个领域的用户集合、物品集合和边集合。特别地,定义重叠用户子集为 UO=UZUZˉU_O = U_Z \cap U_{\bar{Z}},而每个领域的非重叠用户子集分别为 UZnon=UZUOU_Z^{\text{non}} = U_Z \setminus U_OUZˉnon=UZˉUOU_{\bar{Z}}^{\text{non}} = U_{\bar{Z}} \setminus U_O。 基于观察到的数据,多目标CDR的目标是通过跨领域知识融合与迁移,同时提升两个领域的推荐性能。


5. Methodology

5.1 总体概述

图2展示了我们提出的基于神经节点匹配的多目标跨域推荐框架(NMCDR)的工作流程,框架主要由两个模块组成:域内到跨域的节点匹配模块域内节点补全模块

image-20241204152922732

我们首先利用一个图编码器直接对异质图中的用户-物品交互进行建模。

然后,将学习到的用户表示输入到域内到跨域节点匹配模块中。该模块进一步包含两个组件:域内节点匹配组件和跨域节点匹配组件。

  • 域内节点匹配组件通过在领域内完全连接的用户-用户信息聚合来增强用户表示;
  • 跨域节点匹配组件通过跨领域完全连接的用户-用户信息聚合来迁移重叠用户和非重叠用户的知识。

随后,域内节点补全模块通过挖掘每个用户潜在缺失的用户-物品交互来纠正偏差的用户表示,特别是针对tail用户。

最后,预测层分别为每个领域输出用户-物品对的亲和度得分。


5.2 异质图编码器

对于领域 ZZ,我们首先构建一个异质用户-物品图 GZG_Z,以显式地学习用户在该领域的偏好。对于 GZG_Z 中的每个用户和物品,我们使用嵌入向量 uRDu \in \mathbb{R}^DvRDv \in \mathbb{R}^D 作为它们的表示,其中 DD 表示嵌入维度:

EZ={u1Z,,uNZ,v1Z,,vMZ}(1)E_Z = \{ u_1^Z, \cdots, u_N^Z, v_1^Z, \cdots, v_M^Z \} \tag{1}

形式化地,UZRUZ×DU^Z \in \mathbb{R}^{|U_Z| \times D}VZRVZ×DV^Z \in \mathbb{R}^{|V_Z| \times D} 分别为用户集 UU 和物品集 VV 的可学习嵌入。为了对领域 ZZ 内的显式用户-物品交互进行编码,我们使用了一种简单的图神经网络(GNN)操作,该操作可以分为消息构建和消息聚合两个步骤。

5.2.1 消息构建

给定一个用户-物品对 (uiZ,vjZ,euivjZ)(u_i^Z, v_j^Z, e_{u_i v_j}^Z),我们定义从物品 vjZv_j^Z 到用户 uiZu_i^Z 的消息(带有边 euivjZe_{u_i v_j}^Z)为:

muiZvjZ=fui(vjZ,euivjZ)(2)m_{u_i^Z \leftarrow v_j^Z} = f_{ui}(v_j^Z, e_{u_i v_j}^Z) \tag{2}

其中 muiZvjZm_{u_i^Z \leftarrow v_j^Z} 表示传递的消息表示,fui()f_{ui}(·) 是用户-物品图中的消息映射函数,接收物品嵌入和边嵌入作为输入。

在实际操作中,我们实例化 fui()f_{ui}(·) 并将上述公式改写为:

muiZvjZ=1NuiZ(vjZWhgeZ+bhgeZ)euivjZ(3)m_{u_i^Z \leftarrow v_j^Z} = \frac{1}{|\mathcal{N}_{u_i}^Z|} \left( v_j^Z W_{hge}^Z + b_{hge}^Z \right) e_{u_i v_j}^Z \tag{3}

其中,WhgeZRD×DhgeW_{hge}^Z \in \mathbb{R}^{D \times D_{hge}}bhgeZRDhgeb_{hge}^Z \in \mathbb{R}^{D_{hge}} 是信息传播过程中的可训练权重矩阵和偏置向量。当用户 uiZu_i^Z 与物品 vjZv_j^Z 有交互时,euivjZe_{u_i v_j}^Z 设置为1,否则为0。DhgeD_{hge} 是变换维度。

5.2.2 消息聚合

在这一阶段,我们聚合用户邻域中的所有消息以获取用户的表示。聚合函数定义为:

ug1iZ=ReLU(m~uiZ+vjNuiZmuiZvjZ)(4)u_{g1_i}^Z = \text{ReLU}\left( \tilde{m}_{u_i}^Z + \sum_{v_j \in \mathcal{N}_{u_i}^Z} m_{u_i^Z \leftarrow v_j^Z} \right) \tag{4}

其中 ug1iZu_{g1_i}^Z 是用户 uiZu_i^Z 的最终表示,m~uiZ\tilde{m}_{u_i}^Z 表示初始表示,ReLU 是激活函数。对于领域 Zˉ\bar{Z},我们构建了异构用户-物品图 GZˉG_{\bar{Z}},并执行类似领域 ZZ 的消息构建和消息聚合操作,以获得用户表示


5.3 域内到跨域的节点匹配模块

如图2所示,由异构图编码器生成的用户表示将被输入到域内到跨域的节点匹配模块中,该模块旨在有效融合和传递重叠用户和非重叠用户的知识,而不严重依赖公共用户。域内到跨域节点匹配模块进一步包含两个组件:域内节点匹配组件跨域节点匹配组件。以下将详细说明每个组件。

5.3.1 域内节点匹配组件

在大多数基于GNN的多目标CDR方法中,每个领域内通过图编码器生成的用户表示通常直接用于跨域知识转移。然而,由于每个领域的大多数用户都只有较少的历史交互记录,长尾用户可能因其稀疏的交互而被低估,从而削弱随后的跨域知识转移。因此,我们认为在每个领域内优先执行域内知识融合是至关重要的。

论文设计了一种简单但有效的完全连接的同质用户-用户图,并像图匹配过程中节点级别的匹配[18]一样,直接进行用户到用户的信息聚合。这种方式能够让每个用户直接与其他用户交互,并考虑其原始邻居以外的节点,从而促进领域内的知识流动

消息构建

在域内知识融合过程中,我们认为head用户和tail用户之间的信息桥接应有所不同。因此,对于领域 ZZ,我们首先将用户 uiZu_i^Z 区分为head用户或tail用户,具体如下:

uiZ={head user,NuiZKheadtail user,NuiZ>Khead(5)u_i^Z = \begin{cases} head \ user, & |\mathcal{N}_{u_i}^Z| \leq K_{head} \\ tail \ user, & |\mathcal{N}_{u_i}^Z| > K_{head} \tag{5} \end{cases}

其中,KheadK_{head} 表示head用户和tail用户的判别阈值,NuiZ|\mathcal{N}_{u_i}^Z| 表示领域 ZZ 中每个用户 uiZu_i^Z 交互的物品数量。

接着,通过构建一个完全连接的用户-用户同质图 GintraZG_{\text{intra}}^Z,对于每个用户 uiZu_i^Z,来自头部用户 ukZu_k^Z 和长尾用户 ulZu_l^Z 的匹配消息公式如下:

muiZukZhead=fhead(ug1iZ,ug1kZ)(6)m^{head}_{u_i^Z \leftarrow u_k^Z} = f_{head}(u_{g1_i}^Z, u_{g1_k}^Z) \tag{6}
muiZulZtail=ftail(ug1iZ,ug1lZ)(7)m^{tail}_{u_i^Z \leftarrow u_l^Z} = f_{tail}(u_{g1_i}^Z, u_{g1_l}^Z) \tag{7}

其中,muiZukZheadm^{head}_{u_i^Z \leftarrow u_k^Z}muiZulZtailm^{tail}_{u_i^Z \leftarrow u_l^Z} 分别表示来自head用户和tail用户的消息表示。fhead()f_{head}(\cdot)ftail()f_{tail}(\cdot) 表示图 GintraZG_{\text{intra}}^Z 中的对应消息映射函数。在图示的域内节点匹配模块中,muiZukZheadm^{head}_{u_i^Z \leftarrow u_k^Z}muiZulZtailm^{tail}_{u_i^Z \leftarrow u_l^Z} 分别用蓝色和黑色箭头表示。

在实际中,我们实现 fhead()f_{head}(\cdot)ftail()f_{tail}(\cdot) 的公式如下:

muiZukZhead=1NuiZhead(ug1kZWheadZ+bheadZ)muiZulZtail=1NuiZtail(ug1lZWtailZ+btailZ)(8)m^{head}_{u_i^Z \leftarrow u_k^Z} = \frac{1}{|\mathcal{N}^{head}_{u_i^Z}|} \left( u_{g1_k}^Z W_{head}^Z + b_{head}^Z \right) \\ m^{tail}_{u_i^Z \leftarrow u_l^Z} = \frac{1}{|\mathcal{N}^{tail}_{u_i^Z}|} \left( u_{g1_l}^Z W_{tail}^Z + b_{tail}^Z \right) \tag{8}

其中,WheadZRDhge×DigmW_{head}^Z \in \mathbb{R}^{D_{hge} \times D_{igm}}WtailZRDhge×DigmW_{tail}^Z \in \mathbb{R}^{D_{hge} \times D_{igm}}bheadZRDigmb_{head}^Z \in \mathbb{R}^{D_{igm}}btailZRDigmb_{tail}^Z \in \mathbb{R}^{D_{igm}} 是用于从头部用户和长尾用户传递信息的可训练权重矩阵和偏置向量,DigmD_{igm} 是自定义的变换维度。Nhead,uiZ\mathcal{N}_{head, u_i^Z}Ntail,uiZ\mathcal{N}_{tail, u_i^Z} 分别表示用户 uiZu_i^Z 的完全连接head用户集合和tail用户集合。

消息聚合

对于用户 uiZu_i^Z,首先从头部用户和长尾用户提取的消息分别按以下公式聚合:

uhead,iZ=ReLU(ukNuiZheadmuiZukZhead)utail,iZ=ReLU(ulNuiZtailmuiZulZtail)(9)u_{head, i}^Z = \text{ReLU}\left( \sum_{u_k \in \mathcal{N}^{head}_{u^Z_i}} m^{head}_{u_i^Z \leftarrow u_k^Z} \right) \\ u_{tail, i}^Z = \text{ReLU}\left( \sum_{u_l \in \mathcal{N}_{u^Z_i}^{tail}} m^{tail}_{u_i^Z \leftarrow u_l^Z} \right) \tag{9}

然后,我们设计了一种细粒度的门控机制来融合这两类消息,而不是简单地进行拼接或相加操作,公式如下:

HigmZ=σ(uhead,iZWhZ+bhZ+utailiZWtZ+btZ)ug2iZ=tanh((1HigmZ)uheadiZ+HigmZutailiZ)(10)H_{igm}^Z = \sigma\left( u_{head, i}^Z W_h^Z + b_h^Z + u_{tail_i}^Z W_t^Z + b_t^Z \right) \\ u_{g2'_i}^Z = \text{tanh}\left( (1 - H_{igm}^Z) \odot u_{head_i}^Z + H_{igm}^Z \odot u_{tail_i}^Z \right) \tag{10}

其中,ug2iZu_{g2'_i}^Z 表示用户 uiZu_i^Z 的融合消息向量,σ()\sigma(\cdot) 是 sigmoid 函数,\odot 是 Hadamard 点乘。WhZRDigm×DigmW_h^Z \in \mathbb{R}^{D_{igm} \times D_{igm}}WtZRDigm×DigmW_t^Z \in \mathbb{R}^{D_{igm} \times D_{igm}}bhZRDigmb_h^Z \in \mathbb{R}^{D_{igm}}btZRDigmb_t^Z \in \mathbb{R}^{D_{igm}} 是可训练参数。

最终,在域内节点匹配组件后,用户 uiZu_i^Z 的表示可以表示为:

ug2iZ=ug2,iZ+ug1,iZ(11)u_{g2i}^Z = u_{g2, i}^Z + u_{g1, i}^Z \tag{11}

对于领域 Zˉ\bar{Z},我们构建完全连接的同质用户-用户图 GintraZˉG_{\text{intra}}^{\bar{Z}},并执行与领域 ZZ 类似的域内知识融合操作。

5.3.2 跨域节点匹配组件

在此组件中,我们对重叠和非重叠用户执行节点匹配操作,以融合和迁移跨领域的知识。与域内节点匹配组件类似,我们引入一个完全连接的跨域用户-用户图,并通过不同的消息传递桥接对重叠用户和非重叠用户进行处理。

消息构建

完全连接的跨域用户-用户同质图 GinterG_{\text{inter}} 表示每个领域中的用户与另一个领域中的用户完全连接。对于每个用户 uiZu_i^Z,给定重叠和非重叠的用户对 (uiZ,uiZˉ)(u_i^Z, u_i^{\bar{Z}})(uiZ,urZˉ)(u_i^Z, u_r^{\bar{Z}}),跨域消息传递公式如下:

muiZuiZˉself=fself(ug2iZ,ug2iZˉ)muiZurZˉother=fother(ug2iZ,ug2kZˉ)(12)m^{self}_{u_i^Z \leftarrow u_i^{\bar{Z}}} = f_{self}(u_{g2_i}^Z, u_{g2_i}^{\bar{Z}}) \\ m^{other}_{u_i^Z \leftarrow u_r^{\bar{Z}}} = f_{other}(u_{g2_i}^Z, u_{g2_k}^{\bar{Z}}) \tag{12}

其中,muiZuiZˉselfm^{self}_{u_i^Z \leftarrow u_i^{\bar{Z}}} 表示来自领域 Zˉ\bar{Z} 中相同(重叠)用户的跨域消息表示,muiZurZˉotherm^{other}_{u_i^Z \leftarrow u_r^{\bar{Z}}} 表示来自领域 Zˉ\bar{Z} 中其他(非重叠)用户的跨域消息表示。fselff_{self}fotherf_{other} 是消息映射函数,其实例化公式如下:

muiZuiZˉself=ug2iZˉWselfZ+bselfZmuiZurZˉother=1NuiZcdr(ug2kZˉWotherZ+botherZ)(13)m^{self}_{u_i^Z \leftarrow u_i^{\bar{Z}}} = u_{g2_i}^{\bar{Z}} W_{self}^Z + b_{self}^Z \\ m^{other}_{u_i^Z \leftarrow u_r^{\bar{Z}}} = \frac{1}{|\mathcal{N}_{u_i^Z}^{cdr}|} \left( u_{g2_k}^{\bar{Z}} W_{other}^Z + b_{other}^Z \right) \tag{13}

其中,WselfZRDigm×DcgmW_{self}^Z \in \mathbb{R}^{D_{igm} \times D_{cgm}}WotherZRDigm×DcgmW_{other}^Z \in \mathbb{R}^{D_{igm} \times D_{cgm}}bselfZRDcgmb_{self}^Z \in \mathbb{R}^{D_{cgm}}botherZRDcgmb_{other}^Z \in \mathbb{R}^{D_{cgm}} 是可训练参数,用于传递重叠用户和非重叠用户之间的跨域知识。DcgmD_{cgm} 是转换维度。NuiZcdr\mathcal{N}_{u_i^Z}^{cdr} 表示领域 Zˉ\bar{Z} 中与 uiZu_i^Z 完全连接的非重叠用户的数量。如图中的跨域节点匹配模块所示,muiZuiZˉselfm^{self}_{u_i^Z \leftarrow u_i^{\bar{Z}}}muiZurZˉotherm^{other}_{u_i^Z \leftarrow u_r^{\bar{Z}}} 分别用蓝色和黑色实线箭头表示。

消息聚合

对于用户 uiZu_i^Z,从重叠用户和非重叠用户聚合的消息表示分别计算如下:

uselfiZ=ReLU(muiZuiZˉself)uotheriZ=ReLU(urNuiZcdrmuiZurZˉother)(14)u_{self_i}^Z = \text{ReLU}\left( m^{self}_{u_i^Z \leftarrow u_i^{\bar{Z}}} \right) \\ u_{other_i}^Z = \text{ReLU}\left( \sum_{u_r \in \mathcal{N}_{u_i^Z}^{cdr}} m^{other}_{u_i^Z \leftarrow u_r^{\bar{Z}}} \right) \tag{14}

接着,我们将用户表示 ug2iZu_{g2_i}^Z 与来自重叠用户的跨域信息 uselfiZu_{self_i}^Z 进行融合,公式如下:

ug3iZ=ug2iZWcrossZ+uselfiZ(1WcrossZˉ)ug3iZˉ=ug2iZˉWcrossZˉ+uselfiZˉ(1WcrossZ)(15)u_{g3^\ast_i}^Z = u_{g2_i}^Z W_{cross}^Z + u_{self_i}^Z \left( 1 - W_{cross}^{\bar{Z}} \right) \\ u_{g3^\ast_i}^{\bar{Z}} = u_{g2_i}^{\bar{Z}} W_{cross}^{\bar{Z}} + u_{self_i}^{\bar{Z}} \left( 1 - W_{cross}^Z \right) \tag{15}

其中,WcrossZRDcgm×DcgmW_{cross}^Z \in \mathbb{R}^{D_{cgm} \times D_{cgm}}WcrossZˉRDcgm×DcgmW_{cross}^{\bar{Z}} \in \mathbb{R}^{D_{cgm} \times D_{cgm}} 表示转换矩阵。然后,我们利用一个门控网络通过非重叠用户的跨域消息进一步增强用户表示,数学公式如下:

HcdrZ=σ(ug3iZWsZ+bsZ+uotheriZWoZ+boZ)ug3iZ=tanh((1HcdrZ)ug3iZ+HcdrZuotheriZ)(16)H_{cdr}^Z = \sigma\left( u_{g3^\ast_i}^Z W_s^Z + b_s^Z + u_{other_i}^Z W_o^Z + b_o^Z \right) \\ u_{g3'_i}^Z = \text{tanh} \left( \left( 1 - H_{cdr}^Z \right) \odot u_{g3^\ast_i}^Z + H_{cdr}^Z \odot u_{other_i}^Z \right) \tag{16}

其中,{WsZ,WoZ}RDcgm×Dcgm\{W_s^Z, W_o^Z\} \in \mathbb{R}^{D_{cgm} \times D_{cgm}}{bsZ,boZ}RDcgm\{b_s^Z, b_o^Z\} \in \mathbb{R}^{D_{cgm}} 为可训练的权重和偏置,σ()\sigma(\cdot) 是 sigmoid 函数,\odot 表示 Hadamard 乘积。

最终,在跨域节点匹配组件后的用户表示可以表示为:

ug3iZ=ug3iZ+ug2iZ(17)u_{g3_i}^Z = u_{g3'_i}^Z + u_{g2_i}^Z \tag{17}

类似的跨域节点匹配过程也适用于领域 Zˉ\bar{Z}


5.4 域内节点补全模块

域内到跨域节点匹配模块通过在域内和跨域传递信息来补全用户的潜在兴趣,但由于用户历史行为的稀疏性,用户表示的不充分性问题依然存在。为进一步解决这一问题,我们提出了一个节点补全模块,用于在排名推荐任务之前修正偏差表示。具体而言,我们通过衡量用户和物品表示之间的相似性(即用户-物品匹配过程)来补全潜在的缺失交互,并为每个领域生成虚拟链接强度。

对于一个用户-物品对 (uiZ,vjZ)(u_i^Z, v_j^Z),虚拟链接强度的计算公式如下:

αuiZvjZ=exp(ug3iZvjZ)vjNuiZexp(ug3iZvjZ)(18)\alpha_{u_i^Z v_j^Z} = \frac{\exp\left(u_{g3_i}^Z {v_j^Z}^\top\right)}{\sum_{v_j \in \mathcal{N}_{u^Z_i}} \exp\left(u_{g3_i}^Z {v_j^Z}^\top\right)} \tag{18}

基于虚拟链接强度,我们更新用户表示为:

ug4iZ=ug3iZ+vjNuiZαuiZvjZvjZWrefZ+brefZ(19)u_{g4_i}^Z = u_{g3_i}^Z + \sum_{v_j \in \mathcal{N}_{u_i^Z}} \alpha_{u_i^Z v_j^Z} v_j^Z W_{ref}^Z + b_{ref}^Z \tag{19}

其中,WrefZRDcgm×DrefW_{ref}^Z \in \mathbb{R}^{D_{cgm} \times D_{ref}}brefZRDrefb_{ref}^Z \in \mathbb{R}^{D_{ref}} 是节点补全操作的可训练参数,DrefD_{ref} 是变换维度。类似的域内节点补全过程也适用于领域 Zˉ\bar{Z}


5.5 预测层

在获得用户/物品表示后,我们构建了一个预测层来估计用户对目标物品的偏好,公式如下:

y^ui,vjZ=σ(MLPs(ug4iZvjZ))(20)\hat{y}_{u_i, v_j}^Z = \sigma\left(\text{MLPs}\left(u_{g4_i}^Z || v_j^Z\right)\right) \tag{20}

其中,MLPs 是一组堆叠的多层感知机(MLP)层,其输入为用户和物品嵌入的拼接向量,σ\sigma 表示 sigmoid 函数。领域 Zˉ\bar{Z} 中的预测层计算方式与此类似。


5.6 伴随目标与损失函数

受文献[19]和[20]的启发,我们在每个关键模块中插入伴随目标,用于正则化嵌入学习并加速模型训练过程的收敛。对于每个关键组件对应的用户-物品对,即 (uiZ,vjZ)(u_i^Z, v_j^Z)(ug1iZ,vjZ)(u_{g1_i}^Z, v_j^Z)(ug2iZ,vjZ)(u_{g2_i}^Z, v_j^Z)(ug3iZ,vjZ)(u_{g3_i}^Z, v_j^Z),它们分别被输入到共享的预测层中,根据公式 (20)(20) 得到对应的预测输出 y^g0Z\hat{y}_{g0}^Zy^g1Z\hat{y}_{g1}^Zy^g2Z\hat{y}_{g2}^Zy^g3Z\hat{y}_{g3}^Z

在本研究中,我们采用二元交叉熵(Binary Cross Entropy,BCE)损失作为伴随目标的损失函数,其通用定义如下:

L(y^,y)=[ylogy^+(1y)log(1y^)](21)\mathcal{L}(\hat{y}, y) = -\left[ y \log \hat{y} + (1 - y) \log(1 - \hat{y}) \right] \tag{21}

其中,y^\hat{y} 是预测结果,yy 表示真实标签。

伴随目标损失

伴随目标的损失函数定义如下:

LCOZ=uiUZ,vjVZ(w1L(y^g0uivjZ,yuivjZ)+w2L(y^g1uivjZ,yuivjZ)+w3L(y^g2uivjZ,yuivjZ)+w4L(y^g3uivjZ,yuivjZ))(22)\mathcal{L}_{CO}^Z = \sum_{u_i \in U^Z, v_j \in V^Z} \Big( w_1 \mathcal{L}(\hat{y}_{g0_{u_i v_j}}^Z, y_{u_i v_j}^Z) + w_2 \mathcal{L}(\hat{y}_{g1_{u_i v_j}}^Z, y_{u_i v_j}^Z) + w_3 \mathcal{L}(\hat{y}_{g2_{u_i v_j}}^Z, y_{u_i v_j}^Z) + w_4 \mathcal{L}(\hat{y}_{g3_{u_i v_j}}^Z, y_{u_i v_j}^Z) \Big) \tag{22}

其中,yuivjZy_{u_i v_j}^Z 是领域 ZZ 中用户 uiu_i 与物品 vjv_j 的真实交互标签,w1,w2,w3,w4w_1, w_2, w_3, w_4 是每项伴随目标损失的静态或动态权重。


最终预测损失

除上述伴随目标损失外,模型的最终预测损失定义如下:

LclsZ=uiUZ,vjVZL(y^uivjZ,yuivjZ).\mathcal{L}_{cls}^Z = \sum_{u_i \in U^Z, v_j \in V^Z} \mathcal{L}(\hat{y}_{u_i v_j}^Z, y_{u_i v_j}^Z).

总损失

领域 Zˉ\bar{Z} 的伴随目标损失和最终预测损失可以采用类似方式定义。最终,总损失函数可表示为:

Ltotal=w5LCOZ+w6LCOZˉ+w7LclsZ+w8LclsZˉ,\mathcal{L}_{total} = w_5 \mathcal{L}_{CO}^Z + w_6 \mathcal{L}_{CO}^{\bar{Z}} + w_7 \mathcal{L}_{cls}^Z + w_8 \mathcal{L}_{cls}^{\bar{Z}},

其中,w5,w6,w7,w8w_5, w_6, w_7, w_8 是损失项之间的权衡参数。