目录

跨域推荐的用户偏好的个性化转移(PTUPCDR)论文笔记


概述

推荐系统在网络和移动应用中发挥着越来越重要的作用,但冷启动问题仍然是一个非常具有挑战性的问题。

幸运的是,辅助源域中冷启动用户的交互可以辅助目标域中的冷启动推荐。如何将用户的偏好从源域转移到目标域,是跨域推荐(CDR)的关键问题,它是处理冷启动问题的一个有前景的解决方案。大多数现有的方法都建立了一个共同的偏好桥来转移所有用户的偏好。

由于用户与用户之间的偏好不同,不同用户的偏好桥应该是不同的。沿着这个思路,论文提出了一个新的框架,名为跨域推荐的个性化用户偏好转移(PTUPCDR)。具体来说,论文学习了一个以用户特征嵌入为基础的元网络,以生成个性化的桥梁函数,实现每个用户的个性化偏好转移。为了稳定地学习元网络,论文采用了一个面向任务的优化程序。通过元生成的个性化桥梁函数,用户在源域的偏好嵌入可以转化为目标域,转化后的用户偏好嵌入可以作为目标域的冷启动用户的初始嵌入。利用大型真实世界数据集,论文进行了广泛的实验,以评估PTUPCDR在冷启动和热启动阶段的有效性。

总的来说,这篇论文的主要贡献归纳为三个方面:

  • 为了解决CDR中的冷启动问题,论文提出了一种名为PTUPCDR的新方法,利用元网络为每个用户生成个性化的桥梁函数,给定源域中的编码用户特征。
  • 为了稳定地学习元网络,论文采用了一个面向任务的优化流程来减轻不合理的用户embedding的副作用。
  • 论文使用亚马逊评论数据集对三个跨域任务进行了广泛的实验,证明了PTUPCDR不仅对冷启动场景而且对暖启动场景的有效性和稳健性,而现有的方法只证明了它们在冷启动场景中的有效性。

论文被WSDM 2022收录,见于https://arxiv.org/abs/2110.11154

相关代码见于https://github.com/easezyc/WSDM2022-PTUPCDR

相关术语

跨域推荐 Cross-domain Recommendation

跨域推荐是为了解决长期存在的数据稀少问题而提出的,它利用来自多个领域的反馈或评分,以一系列方式提高推荐的准确性。

受迁移学习的启发,CDR是在辅助(源)域的帮助下缓解目标域的数据稀少和冷启动问题的一个很有前景的解决方案。PTUPCDR是第一个为每个用户学习个性化的转移桥的研究工作。

例如某公司有一个音乐软件和一个视频软件,如何将用户在音乐软件的兴趣特征迁移到用户在视频软件中的兴趣特征,就归属于跨域推荐问题。

冷启动推荐 Cold-start Recommendation

为新的、尚未在系统中产生任何交互行为的用户或项目提供推荐是推荐系统的挑战,也被称为冷启动问题(cold-start problem),与之相对的是暖启动问题或热启动问题(warm-start problem)。

还是例如某公司有一个音乐软件和一个视频软件,某些用户是音乐软件的活跃用户且刚刚成为视频软件的用户。由于用户与视频软件几乎没有任何交互,因此不能个性化的根据用户的行为挖掘用户在视频领域的兴趣特征,这个问题就属于冷启动问题。

有两种方法来解决冷启动问题。第一种是通过设计决策策略来主动解决冷启动问题,第二种是利用辅助信息来辅助解决冷启动问题。PTUPCDR属于后一种。

元学习 Meta Learning

它也被称为"学习如何学习",旨在通过类似任务的训练来提高新任务的性能。许多元学习方法如基于矩阵的方法、基于梯度的方法和基于参数生成的方法。

PTUPCDR属于基于参数生成的方法。

模型

问题背景

在CDR中, 论文有一个源域(source domain)和一个目标域(target domain)。每个域有一个用户集$\mathcal{U} = {u_1, u_2, …}$、一个项目集$\mathcal{V} = {v_1, v_2, … }$和一个评分矩阵$\mathcal{R}$。 $r_{ij} \in \mathcal{R}$表示用户$u_i$和项目$v_j$之间的交互行为。为了区分源域和目标域,论文把源域的用户集、项目集、评分矩阵分别表示为$\mathcal{U}^s, \mathcal{V}^s, \mathcal{R}^s$,目标域的用户集、项目集、评分矩阵分别表示为$\mathcal{U}^t, \mathcal{V}^t, \mathcal{R}^t$。论文将两个领域之间的重叠用户定义为$\mathcal{U}^o = \mathcal{U}^s \cap \mathcal{U}^t$。(*即在源域和目标域都有交互操作的用户*)相反,$\mathcal{V}^s$和$\mathcal{V}^t$是不相交的,这意味着两个域之间没有共享项。(*不存在既属于源域有在目标域的项目*)

在隐变量模型(latent factor models)中,用户和项目被转化为密集的向量,也被称为factors或embeddings。在这篇论文中, $\bm{u}^d_i \in \mathbb{R}^{k}$和$\bm{v}^d_j \in \mathbb{R}^{k}$表示用户$u^d_i$和项目$v^d_j$的embeddings,其中,$k$表示embeddings的维度,$d \in {s ,t}$代表域的类型。对每个用户$u_i$,论文将她在源域的连续互动项目列表表示为$\mathcal{S}_{u_i} = {v^s_{t_1}, v^s_{t_2}, \cdots, v^s_{t_n}}$,其中$n$表示互动的项目的数量,$v^s_{t_n}$表示时间戳为$t_n$时的源域中的互动项目。

特征编码器 Characteristic encoder

生成个性化桥梁函数的第一步是从互动项目中获取用户的个性化可转移特征。然而,冷启动用户在目标域中没有互动项目。因此,必须利用源域中的互动项目$\mathcal{S}$。请注意,论文需要找到对知识迁移有帮助的可迁移特性。

直观地说,各种项目对知识迁移有不同的贡献。注意力机制允许不同的部分在压缩到一个单一的表示时有不同的贡献。因此,论文提出在项目embeding上采用注意力机制,进行加权求和:

$$\bm{p}_{u_i} = \sum_{v^s_j \in \mathcal{S}_{u_i}} a_j \bm{v}^s_j,$$

在这里$\bm{p}_{u_i} \in \mathbb{R}^{k}$表示用户$u_i$的可转移的特征embedding,$a_j$是项目$v_j$的注意力得分(attention score)(可以理解为$v_j$在预测个性化桥梁函数方面的重要性)。对于目标领域来说,一个不相关的项目对所有用户的个性化桥梁功能没有什么帮助。因此,论文通过一个注意力网络从项目的embedding中学习注意力得分。从形式上看,注意力网络被定义为:

$$ \begin{aligned} a'_j &= h(\bm{v}_j;\theta),\\ a_j &= \frac{\exp(a'_j)}{\sum_{v^s_l \in \mathcal{S}_{u_i}} \exp(a'_l)}, \end{aligned} $$

在这里$h(\cdot)$表示这个注意力网络,$\theta$表示$h(\cdot)$的参数。在这篇论文中,$h(\cdot)$是一个两层的前馈网络(two-layer feed-forward network)。请注意这个归一化的注意力得分$a_j$有利于找到对特定用户有用的互动项目。之后,论文可以利用每个用户的特征作为输入,指导个性化桥梁函数的生成。

元网络 Meta Network

论文已经提到,用户在不同域的偏好之间的关系因用户而异。换句话说,偏好转移的过程需要个性化。直观地说,偏好关系和用户的特征之间存在着某种联系。基于这一直觉,论文提出了一个元网络,它将用户的可转移特征作为输入,然后在用户在源域和目标域的embeddings之间生成一个个性化的桥梁函数。提出的元网络的公式为:

$$\bm{w}_{u_i} = g(\bm{p}_{u_i}; \phi),$$

在这里$g(\cdot)$是元网络,参数为$\phi$。在本文中,元网络是一个两层前馈网络。$\bm{w}_{u_i}$ 是一个向量,其大小取决于桥梁函数的结构。个性化的桥梁函数公式为:

$$f_{u_i}(\cdot;\bm{w}_{u_i}),$$

其中利用$\bm{w}_{u_i}$作为桥梁函数$f(\cdot)$的参数。桥梁函数可以被定义为任何结构。在这篇论文中,出于简单明了,论文借鉴EMCDR使用一个线性层$f(\cdot)$。因此,为了适应桥梁参数的大小,论文将向量$\bm{w}_{u_i} \in \mathbb{R}^{k^2}$变形为矩阵$\bm{w}_{u_i} \in \mathbb{R}^{k \times k}$. 注意$\bm{w}_{u_i}$被用作桥梁函数的参数,而不是输入。生成的桥梁函数取决于用户的特点,并因人而异,论文称之为个性化的桥梁函数。

通过个性化的桥梁函数,论文可以得到个性化的转换后的用户的embeddings信息:

$$\hat{\bm{u}}_i^t = f_{u_i}(\bm{u}^s_i;\bm{w}_{u_i}),$$

在这里$\bm{u}^s_i$表示在源域中的用户$u_i$的embedding,$\hat{\bm{u}}_i^t$表示转移后的embedding。最终论文可以利用转移后的embedding $\hat{\bm{u}}_i^t$做预测。

面向任务的优化

为了训练元网络和特征编码器,论文可以依照现有的基于桥梁的方法,使用面向映射的优化(mapping-oriented optimization)流程来最小化距离:

$$\mathcal{L} = \sum_{u_i \in \mathcal{U}^o} || \hat{\bm{u}}^t_i - \bm{u}_i^t ||^2$$

在这里$\hat{\bm{u}}^t_i$表示来自源域中的用户$\bm{u}^s_i$转换后的embedding,$\bm{u}_i^t$表示目标域中的用户embedding。面向映射的优化流程会使转换后的embedding $\hat{\bm{u}}_i^t$靠近目标域中embedding$\bm{u}_i^t$。

然而,由于一些用户只有有限的互动,用户的embedding $\bm{u}_i^t$可能不够合理和准确。对相对不合理的embeddings学习会导致对模型的负面影响。因此,论文提出了一个面向任务的优化方法来训练元网络和特征编码器。面向任务的训练程序直接利用最终推荐任务的性能作为优化目标。在本文中,论文专注于评分任务,所以面向任务的损失可以表述为:

$$\min_{\theta, \phi} \frac{1}{|\mathcal{R}^t_o|} \sum_{r_{ij} \in \mathcal{R}^t_o} (r_{ij} - f_{u_i}(\bm{u}^s_i;\bm{w}_{u_i})\bm{v}_j)^2$$

在这里$\mathcal{R}^t_o = {r_{ij}| u_i \in \mathcal{U}^o, v_j \in \mathcal{V}^t}$表示目标域中重叠用户的互动。

与面向映射的程序相比,面向任务的优化有两个优点:

  1. 面向任务的优化可以减轻不合理的embeddings的影响。它直接使用评分数据,是真实值而不是近似的中间结果。
  2. 面向任务的学习过程有更多的训练样本,这可以避免过度拟合。例如,有$N$个重叠用户,每个用户有$M$的评分。面向映射的过程使用$|\mathcal{U}^o = N|$个样本学习映射函数,而面向任务的学习过程利用$|\mathcal{R}^t_o| = M \times N$个用户-项目评分。

整体流程

../images/ptupcdr-network.png

PTUPCDR的整体架构如图所示。训练过程可以分为三个步骤:预训练、元和初始化阶段。训练结束后,该方法可以适用于冷启动(cold-start)和暖启动(warm-start)阶段。

预训练阶段: 这一步是为每个域分别学习隐空间。损失函数表述为: $$\min_{\bm{u}, \bm{v}} \frac{1}{|\mathcal{R}|} \sum_{r_{ij}\in \mathcal{R}} (r_{ij} - \bm{u}_i \bm{v}_j)^2,$$ 在这里$|\mathcal{R}|$表示评分的数量。预训练后,论文可以获得预训练的embeddings $\bm{u}^s, \bm{u}^t, \bm{v}^s, \bm{v}^t$.

元阶段: 现有的方法直接训练一个普通的桥函数,而PTUPCDR则训练特征编码器和元网络。

初始化阶段: 当一个新用户到来时(CDR假设新用户在源域有一些互动),论文使用转换后的embedding $\hat{\bm{u}}_i^t = f_{u_i}(\bm{u}^s_i;\bm{w}_{u_i})$来初始化新用户在目标域的embedding。

测试阶段: 对于在目标领域没有互动的极端冷启动用户,直接利用初始embedding $\hat{\bm{u}}_i^t = f_{u_i}(\bm{u}^s_i;\bm{w}_{u_i})$进行预测。对于在目标域有一些交互的温启动用户来说,用新的交互对初始嵌入进行微调,并利用微调后的嵌入进行预测是很方便的。

论文中的实验

数据集: 数据集采用了Amazon-5cores1

基准对照:

  • TGT:只用了目标域中的数据

  • CMF:源域和目标域中的用户使用相同的embeddings

  • EMCDR:它采用矩阵分解法(MF)首先学习嵌入,然后利用网络将用户嵌入从辅助域连接到目标域。

  • DCDCSR:属于基于桥梁的方法,它考虑了不同领域中单个用户的评分稀疏程度

  • SSCDR:一个半监督的基于桥梁的方法。

实现细节:

  • Adam优化器的初始学习率在0.001, 0.005, 0.01, 0.02, 0.1范围内通过网格搜索进行调整

  • embedding的维度:10

  • mini-batch大小:512

  • 元网络的隐藏单元为$2\times k$,其中$k$表示嵌入维度,元网络的输出维度为$k\times k$

  • 注意力网络是一个具有$k$隐藏单元的两层网络

实验结果

PTUPCDR在大多数情况下都能明显超过最佳的基准对照,这说明PTUPCDR对冷启动推荐是有效的。

实验数据显示PTUPCDR方法对于暖启动阶段也有很大的帮助。

总结

论文发现现有研究的由所有用户共享的单一桥梁函数很难捕捉到源域和目标域中用户偏好之间的各种关系。因此,论文提出了一个新的框架PTUPCDR。具体来说,通过学习用户特征嵌入的元网络来生成个性化的桥梁函数,实现用户偏好的个性化转移。在真实世界的数据集上进行了广泛的实验来评估所提出的PTUPCDR,结果验证了PTUPCDR在冷启动和热启动阶段的有效性。

总的来说,论文的着眼点在于个性化上,充分考虑域之间的个性化、不同用户的个性化,并将这一抽象概念进行数学建模,捕捉可能有关联的变量并与待预测任务之间建立合适的层次关联,从而形成个性化的知识迁移桥梁函数。将训练后的模型在冷启动、热启动等场景下与现有的最前沿的研究工作进行对比,证明了PTUPCDR不仅对冷启动场景而且对暖启动场景的有效性和稳健性。