联邦学习:联邦场景下的跨域推荐

1 导引

1.1 跨域推荐模型

推荐系统中常常面临冷启动和用户交互数据稀疏的问题。解决这个问题的一个手段就是对用户在多个领域(domain)的日志数据联合起来进行建模,这里的多个领域的数据可以指用户在诸如新闻App、音乐App、视频App等多个软件的日志数据(比如点击的浏览新闻标题和描述等)。这种联合建模基于一个假设:用户在不同领域也倾向于拥有相似的偏好,比如喜欢爱情电影的用户也很可能喜欢言情小说。

而多视角(multi view)或跨域(cross domain)推荐模型[1]就是一种常见的跨域数据联合建模方式,它会将多个视角/多个领域对应的特征映射到一个共享的隐空间(latent space)。事实上,这即是迁移学习中经典的几何特征变换(表征对齐) [11]思路,也是 度量学习(Metric Learning) [12]思想的一种体现。

上图展示了对跨域数据建模的多视角DNN,它基于深度结构化语义模型(Deep Structured Sematic Models, DSSM)的计算最大化用户视角和多个物品视角对应隐向量的相似度,并按照相似度排序来推荐物品。图中的User View对应的特征为用户使用搜索引擎的查询信息,而其他的Item View对应的特征为用户在其它App所点击过的物品特征数据。该模型假定所有领域都对应着共同的用户。它使用了DNN将多个视角对应的高维稀疏特征映射\(x_U, x_1, \cdots, x_D\)到共享隐空间中的低维稠密特征\(y_U, y_1, \cdots, y_D\)

之后可以计算用户隐向量\(y_U\)和物品隐向量\(y_j(j=1,\cdots, D)\)的语义相似度:

\[\operatorname{cosine}\left(y_{U}, y_{j}\right)=\frac{y_{U}^{\top} y_{j}}{\left\|y_{U}\right\| \cdot\left\|y_{j}\right\|} \]

这里假设用户隐向量\(y_U\)和物品隐向量\(y_j(j=1,\cdots, D)\)相关,然后接下来的目标就是为每个视角都找到一个非线性的映射,以使\(y_U\)视角和其它物品视角\(y_1,\cdots,y_D\)在隐空间的相似度之和最大化:

\[p=\arg \max _{W_{U}, W_{1}, \ldots W_{D}} \sum_{i=1}^{N} \frac{e^{\gamma \cos \left(y_{i,U}, y_{i, a}\right)}}{\sum_{x_j \in \mathbb{R}^{d_{j}}} e^{\gamma \cos \left(y_{i,U}, f_j\left(x_j, W_j\right)\right)}} \]

其中\(W_{U}, W_{1}, \ldots W_{D}\)为各个视角对应的权重参数,一共有个\(N\)用户-物品对样本和\(D\)个物品视角,其中每个物品视角\(x_j\)都有其单独的输入特征维度\(d_{j}\)

\(i\)个用户-物品对样本拥有一个用户视角的输入特征\(x_{i, u}\)和其对应的物品视角特征\(x_{i, a}\),这里\(a\)是样本\(i\)对应物品视角的索引,样本\(i\)对应的其它物品视角的输入\(x_{i,j \neq a}\)则设为\(0\)向量。\(\gamma\)为温度系数。

如上文所述,跨域推荐本质上是个迁移学习问题,它需要在多个领域异构数据的基础上通过某种“桥梁”(bridge)来提高一个或多个目标域的推荐效果。这里的“桥梁”指不同领域之间的关联项目,比如共同的用户,共同的物品,共同的特征等。上面的多视角DNN模型就假定所有领域都对应着共同的用户。

1.2 联邦跨域推荐模型

跨域推荐在实际应用中常常面临隐私性的挑战,其一是不同用户的数据难以合法地进行集中化收集;其二是其使用的迁移学习模型跨不同的域和数据集进行映射,这常常会关联到不同的组织机构,同样会面临隐私问题[2]。此时上面提到的需要将数据集中起来的跨域推荐方法就不再行得通了,需要考虑在联邦场景下的跨域推荐模型。

而联邦场景下的跨域推荐模型根据其隐私保护的出发点不同,可大致分为以下三类:

  • 横向 保证用户(client)之间的数据数据不共享,但多视角的数据是打通的。如下图所示[7],不同的用户可能具有A、B两个领域的信息,且A领域的数据和B领域的数据可共享:

  • 纵向 可以将用户的数据进行集中化收集,但多视角的数据不能共享。如下图所示[10],Platform \(1\)到Platform \(K\)都拥有用户的行为数据,然后依靠第三方的服务器对其进行联合建模。

  • 横向+纵向 不仅保证client之间的数据不共享,且多视角的数据也是不能共享的。如下图所示[5],用户\(u\)的数据不能直接上传到云端(但可上传下载模型),且对于用户\(u\)而言,其在领域\(d_1\)的数据不能与其在领域\(d_2\)的数据共享。

我个人觉得在保证隐私的条件下进行跨领域之间的信息共享(纵向/横向+纵向)是最有意思的,其核心是联邦迁移学习相关的理论:即在隐私保护的前提下,根据不同领域之间的关联来生成共享表征。根据我阅读过的大部分论文来看,如不同领域对应不同的组织机构,则它们的embeddings不能直接进行迁移,需要采取间接的迁移方法。这些方法具体来说就五花八门了,有用GAN来生成带差分隐私保护的共享embeddings的(参见我上一篇博客《联邦学习:联邦场景下的多源知识图谱嵌入》),有用另一个中间视角的数据来训练共享子模型的[4],有用VAE来生成一个独立于所有领域的共享embeddings的[5],有先对数据加以差分隐私保护再用自编码器生成共享embeddings的[6]。可以预见这在未来仍将是个热点。

以下我们分别看下这三类所对应的相关论文,了解一下该领域的大致情况。

2 论文阅读

2.1 ECML-PKDD20《Federated multi-view matrix factorization for personalized recommendations》[3]

这篇论文提出了联邦多视角矩阵分解分解算法,因为其使用的多视角数据不涉及跨组织机构,故只需要保证用户数据不共享即可,属于前面所说的横向类型。具体而言,在传统的矩阵分解算法中,常常只考虑用户-物品矩阵,即所谓共现矩阵\(R\),通过分解该矩阵得到用户的隐向量矩阵\(P\)和物品隐向量矩阵\(Q\)

\[R \approx PQ^T \]

之后再基于用户矩阵\(P\)和物品矩阵\(Q\)得到用户\(u\)对物品\(i\)的预估评分:

\[\hat{r}_{i,j}= p_i q_j^T \]

其中\(p_i\)是用户\(i\)在用户矩阵\(P\)中的对应行向量,\(q_j\)是物品\(j\)在物品矩阵\(Q\)中的对应行向量。

而所谓多视角矩阵分解,即包括以下三个视角:用户-物品,用户-特征,物品-特征。这三个视角分别对应用户-物品矩阵\(R\in\mathbb{R}^{N_u\times N_v}\),用户特征矩阵\(X\in \mathbb{R}^{N_u\times D_u}\),物品特征矩阵\(Y\in \mathbb{R}^{N_v\times D_v}\)。这里\(N_v\)为用户个数,\(N_v\)为物品个数,\(D_u\)\(D_v\)分别为用户和物品的特征维度。则多视角矩阵分解可表示为如下形式:

\[\begin{aligned} &R \approx P Q^{T} \\ &X \approx P U^{T} \\ &Y \approx Q V^{T} \end{aligned} \]

如下图所示:

其中\(P\in \mathbb{R}^{N_u\times K}\)是用户隐向量矩阵,\(Q\in \mathbb{R}^{N_v\times K}\)是物品隐向量矩阵,\(U\in\mathbb{R}^{D_u\times K}\)是用户特征隐向量矩阵,\(V\in \mathbb{R}^{D_v\times K}\)是物品特征隐向量矩阵,这里\(K\)是隐向量维度。

此时所要优化的目标函数可以写为:

\[\begin{array}{r} J=\sum_{i} \sum_{j} c_{i, j}\left(r_{i, j}-p_{i} q_{j}^{T}\right)^{2}+\lambda_{1}\left(\sum_{i} \sum_{d_{u}}\left(x_{i, d_{u}}-p_{i} u_{d_{u}}^{T}\right)^{2}+\sum_{j} \sum_{d_{y}}\left(y_{j, d_{y}}-q_{j} v_{d_{y}}^{T}\right)^{2}\right) \\ \quad+\lambda_{2}\left(\sum_{i}\left\|p_{i}\right\|^{2}+\sum_{j}\left\|q_{j}\right\|^{2}+\sum_{d_{u}}\left\|u_{d_{u}}\right\|^{2}+\sum_{d_{y}}\left\|v_{d_{y}}\right\|^{2}\right) \end{array} \]

这里\(c_{ij}=1+\alpha r_{ij}\)\(\alpha\)是一个表示隐式反馈不确定性的置信参数;\(\lambda_2\)是L2正则项;\(\lambda_1\)表示用户-物品视角与其它视角间的信息共享强度,若令\(\lambda_1=0\)则表示用户-物品视角不与其它视角进行信息共享,\(0\leqslant\lambda_1\leqslant 1\)可以根据数据生成过程的先验知识选择,也可以通过超参数优化来决定。

模型参数\(P, Q, U, V\)可以通过交替最小二乘法(Alternating Least Square, ASL)来求解。

下图描述了在联邦场景下用交替最小二乘法求解该问题的算法。

如图所示,用户\(i\)和物品的交互信息\(r(i)\)(用户\(i\)\(R\)中的对应行向量)及用户\(i\)的特征向量\(x_i\)(用户\(i\)\(X\)中的对应行向量)只能在client \(i\)本地使用。物品的特征矩阵\(Y\)存储在item server中。fl server会将\(Q, U\)分发给client(用户),并将\(Q\)发往item server。

在每个client \(i\),用户的隐向量\(p_i\)会在本地进行计算,其中会使用到该用户与物品的交互信息\(r(i)\)、该用户的特征向量\(x_i\)与来自server的\(Q, U\)。新的用户隐向量\(p_i^*\)计算公式如下:

\[p_{i}=\left(r(i) \hat{C}^{(i)} Q+\lambda_{1} x_{i} U\right)\left(Q^{T} C^{(i)} Q+\lambda_{1} U^{T} U+\lambda_{2} I\right)^{-1} \]

之后,client \(i\)按照下式计算\(f(j, i)\)(用于之后在fl server计算\(\partial J / \partial q_{j}\)以更新\(Q\)):

\[f(j, i)=\left[c_{ij}\left(r_{i, j}-p_{i} q_{j}^{T}\right)\right] p_{i} \]

按照下式梯度\(f(i, d_u)\)(用于之后在fl server计算\(\partial J / \partial u_{d_u}\)以更新\(U\)):

\[f\left(i, d_{u}\right)=\left[\left(x_{i, d_{u}}-p_{i} u_{d_{u}}^{T}\right)\right] p_{i} \]

上述计算完毕后将\(f(j, i),f(i, d_u)\)发往fl server。

与此同时,在item server,物品特征隐向量矩阵\(V\)也会得到更新(其中会用到物品特征),新的物品隐向量\(v^*_{d_y}\)计算方式如下:

\[v_{d_{y}}^{*}=\left(y_{d_{y}} Q\right)\left(Q^{T} Q+\frac{\lambda_{2}}{\lambda_{1}} I\right)^{-1} \]

更新完成后,在此基础上计算\(f(j, d_y)\)(用于之在fl server计算\(\partial J / \partial q_{j}\)以更新\(Q\)):

\[f\left(j, d_{y}\right)=\left[\left(y_{j, d_{y}}-v_{d_{y}} q_{j}^{T}\right)\right] v_{d_{w}} \]

之后再将\(f(j ,d_y)\)发给fl server。

而在fl server接收\(f(j, i), f\left(i, d_{u}\right), f(j, d_y)\)后,按照下列两个式子计算梯度并更新\(Q\)\(U\):

\[\begin{aligned} \frac{\partial J}{\partial q_{j}} &=-2 \sum_{i} f(j, i)-2 \lambda_{1} \sum_{d_{y}} f\left(j, d_{y}\right)+2\lambda_{2} q_{j} \\ \frac{\partial J}{\partial u_{d_{u}}} &=-2 \lambda_1\sum_{i} f\left(i, d_{u}\right)+2 \lambda_{2} u_{d_{u}} \end{aligned} \]

然后又将\(Q\)\(U\)发往各client,将\(Q\)发往item server,以此循环往复。

综上,该篇论文按照损失函数\(J\)对多视角数据矩阵\(R, X, Y\)共同进行矩阵分解,以学习隐向量矩阵\(P, Q, U\)\(V\),具体算法采用了联邦交替最小二乘法。可以注意到联邦场景下对参数矩阵\(Q\)\(U\)进行的更新并不需要对用户数据进行聚合(虽然\(Q\)\(U\)的更新依赖于用户数据)。

2.2 FTL-IJCAI21 《A federated multi-view deep learning framework for privacy-preserving recommendations》[4]

上面提到的是基于联邦矩阵分解的推荐模型,而下面要介绍的是联邦场景下基于内容的(content-based)推荐模型,它侧重将用户或者物品的特征信息作为输入特征来建模。具体的模型采用我们第1部分中所叙述的多视角DSSM模型。该模型同时满足了多个client数据的隐私性和单个client中多视角数据的隐私性,属于横向+纵向类型

不过本文与原始多视角模型中共享用户视角的特征不同,本文共享的是物品视角的特征。设共有\(C\)个client,第\(c\)个client中的本地数据集表示为\(\mathcal{D}^c=\{x_I, x_1,\cdots x_D \}\)。这里\(x_1,\cdots x_D(x_j\in\mathbb{R}^{d_{j}})\)为用户在\(D\)个不同App中记录的多视角特征数据,而物品视角数据集\(x_I\in \mathbb{R}^{d_I}\)从server下载,比如移动App的后端。DSSM模型将从各个App视角数据集\(x_I, x_1,\cdots x_D\)和物品数据集\(x_I\)中分别提取隐向量。算法的目标是为每个视角学得一个非线性映射\(f(\cdot)\)以使物品视角隐向量和多个用户视角隐向量相似度的和最大化。第\(c\)个client的目标定义如下:

\[p=\arg \max _{W_{I}, W_{1}, \ldots W_{D}} \sum_{i=1}^{N_c} \frac{e^{\gamma \cos \left(y_{i,I}, y_{i, a}\right)}}{\sum_{x_j \in \mathbb{R}^{d_{j}}} e^{\gamma \cos \left(y_{i,I}, f_j\left(x_j, W_j\right)\right)}} \]

这里\(N_c\)表示client \(c\)中用户-物品对的数量,第\(i\)个用户-物品对样本拥有一个物品视角的输入特征\(x_{i, I}\)和其对应的用户视角特征\(x_{i, a}\),这里\(a\)是样本\(i\)对应用户视角的索引。\(y\)表示\(f(\cdot)\)的映射结果,\(\gamma\)是温度参数。

联邦多视角DSSM模型(FL-MV-DSSM)求解算法的架构如下所示:

(a)FL-MV-DSSM和(b)SEMI-FL-MV-DSSM 都以传统的FedAvg算法为基础,且它们都需要server提供物品数据供所有client共享。不过在FL-MV-DSSM中每个client \(c\)中用户子模型和物品子模型的梯度会根据本地用户数据和本地物品数据进行计算,然后在server端对用户和物品子模型的梯度进行聚合;而SEMI-FL-MV-DSSM则只会聚合物品子模型的梯度,而不会聚合用户子模型的梯度。

注意,client在将梯度发往server前,会在本地先多个视角所算得的物品子模型梯度聚合(注意,\(D\)个用户视角共享同一个物品特征,会总共算得\(D\)个物品子模型的梯度);而为了保护各视角梯度中蕴含的敏感信息,FL-MV-DSSM使用差分隐私技术向各个视角所算得的物品子模型梯度中加入高斯噪声。在本地聚合完成后,client又会再将前述物品子模型梯度同\(D\)个用户子模型的梯度进行加密,然后发往server。

2.3 SIGIR21 《FedCT: Federated Collaborative Transfer for Recommendation》[5]

本论文提出的模型满足了多个client数据的隐私性和单个client中跨领域数据的隐私性,也属于横向+纵向类型。不过与前文采用的方法不同,本文提出的DUE(Decentralized User Encoding)模型并没有利用一个中间视角的数据来训练共享子模型,而是采用变分自编码器(VAE)来生成一个单独的用户编码隐向量,该隐向量可以被所有领域共享。在模型训练过程中,每个领域会使其对应的用户隐向量去对齐这个领域共享的用户隐向量。

上面的图 (a) 中展示的为领域-领域两两间的EMCDR[8]式(直接对齐)知识迁移,而 (b) 则为本文提出的DUE模型中所采用的基于中间表征的迁移方式。用户的表征\(X_{u}=\left[\mathbf{U}_{u}^{\left(d_{1}\right)}, \ldots, \mathbf{U}_{u}^{\left(d_{D}\right)}\right]\)。事实上,(a) 中的这种方法直接对齐用户表征有违隐私性,而且当领域数量增长时计算量会很大。而 (b) 则更能保证隐私性,而且其计算代价也不会随领域数量快速增长。此外,(b) 这种方法有利于各领域随时加入(plug-in)和退出(plug-out),更具灵活性。

设领域集合为\(\mathcal{D}=\left\{d_{1}, \ldots, d_{D}\right\}\)。对每个领域\(d\in \mathcal{D}\),将起对应的物品集合表示为\(I_d\)(大小为\(N_d\))。设领域之间的物品无重叠,即满足\(\forall d, d^{\prime} \in \mathcal{D}, d \neq d^{\prime}, I_{d} \cap I_{d^{\prime}}=0\)。设每个client对应一个用户,一共有\(C\)个用户。一个领域\(d\)可能只涉及到用户集合的子集\(\mathcal{U}^{(d)} \subseteq \mathcal{U}\),一个用户\(u \in \mathcal{U}\)也可能只涉及到领域集合的子集\(\mathcal{D}^{(u)} \subseteq \mathcal{D}\)。每个领域都有对应的共现矩阵\(R_d\)及其协同过滤模型\(f_d\)\(f_d\)为一个给定用户-物品对\((u, i)\)预测评分结果\(: \hat{r}_{u, i, d}=f_{d}\left(\mathbf{U}_{u}^{(d)}, i\right)\)的函数,这里\(\mathbf{U}_{u}^{(d)} \in \mathbb{R}^{L_{d}}\)表示用户\(u\)在领域\(d\)的表征,\(L_d\)为用户表征的维度。在本文的边缘跨域推荐场景下,\(f_d\)\(\mathbf{U}^{(d)}\)根据特定领域的协同过滤目标函数\(\mathcal{L}^{CF}_d\)进行预训练,并作为该领域对应的本地预训练模型使用。

加上server端,整体的联邦跨域迁移架构如下图所示(图中仅仅展示了单个用户):

这里设\(\boldsymbol{\mathcal{S}}_d\)为server端的领域服务商存储空间(存有\(f_d\)\(\mathbf{U}_d\));\(\mathcal{E}_u\)为用户在设备上所拥有的个人
存储空间(任何领域都能对其进行访问),用于存放共享隐向量\(\textbf{z}_u\)\(\mathcal{E}_{d,u}\)为领域服务商在用户设备上的存储空间。它能够与\(S_d\)同步获取预训练模型并与用户的个人存储空间\(\mathcal{E}_u\)通信。正如图中所示,对任意领域\(d\)\(d^{\prime}\)而言,本文在设定上禁止\(\{\boldsymbol{\mathcal{S}}_d, \mathcal{E}_{d, u}\}\)\(\{\boldsymbol{\mathcal{S}}_{d^{\prime}}, \mathcal{E}_{d^{\prime}, u}\}\)的信息交互。不过,正如我们前面所说的,本文允许用户个人存储空间\(\mathcal{E}_u\)和client端任意领域存储空间\(\mathcal{E}_{d,u}\)的信息交换,这也就意味着用户个人存储空间充当了中间代理的作用,以协调间接性的知识迁移。

本文的最终目标是在为目标领域\(d_t\in\mathcal{D}\)的冷启动用户提供推荐(使用根据其它领域的用户表示做为辅助信息)。给定多个领域的用户表示做为训练数据,则问题就成为了学习对用户表示进行迁移的模型:\(g: \mathbb{R}^{L_{d_{1}}+L_{d_{2}}+\cdots+L_{d_{D}}} \rightarrow \mathbb{R}^{L_{d_{t}}}\),该模型将来自所有领域的用户信息映射到\(d_t\)

\[\widehat{\mathbf{U}}_{u}^{\left(d_{t}\right)}=g\left(\mathbf{X}_{u}\right) \]

这里假定用户的表征\(X_{u}=\left[\mathbf{U}_{u}^{\left(d_{1}\right)}, \ldots, \mathbf{U}_{u}^{\left(d_{D}\right)}\right]\)在优化和推断的过程中是固定的。若是在中心化环境下,所有领域协作训练一个共享的\(g\)是很容易的。但正如开头所说,直接迁移emebddings会带来隐私性的问题,而这就需要使用用户存储空间中的共享编码隐向量\(\mathbf{z}_u\)这一中介了。

由于需要隐向量与用户emebddings的双向编码与恢复,故采用AE/VAE对用户隐向量进行建模。具体地,本文为每个领域\(d\)都设置了一个VAE \(g_d\)(包含编码器和解码器)。如下图所示,设\(\mathbf{z}_u\in\mathbb{R}^{L_c}\),则\(g_d\)由一个编码器\(\mathrm{ENC}_{d}: \mathbb{R}^{L_{d}} \rightarrow \mathbb{R}^{L_{c}}\)(参数为\(\Phi_d\),负责根据特定领域的用户表征\(\mathbf{U}^{(d)}\)生成\(\mathbf{z}_u\))和一个解码器\(\mathrm{DEC}_{d}: \mathbb{R}^{L_{c}} \rightarrow \mathbb{R}^{L_{d}}\)(参数为\(\Theta_d\),负责根据\(z_u\)生成\(\hat{\mathbf{U}}^{(d)}\))组成。这里\(\mathrm{DEC}_d(\cdot)\)生成的\(\hat{\mathbf{U}}_u^{(d)}\)含有来自所有领域的丰富信息,将会被用于之后的推荐服务。另一方面,每个领域也会不断更新自己的编码器和解码器。

下面我们来看论文VAE部分的模型和损失函数细节。这里论文采用生成模型的视角(关于生成模型的一些前置知识可以参见我的博客《寻找领域不变量:从生成模型到因果表征 》),对隐向量\(\mathbf{z}_u\)进行变分推断。

首先,将用户表征\(\textbf{X}_u\)视为观测数据,它由隐向量\(\mathbf{z}_u\)生成:

\[p\left(\mathbf{X}_u\right)=\sum_{\mathbf{z}_u} p\left(\mathbf{X}_u, \mathbf{z}_u\right)=\sum_{\mathbf{z}_u} p\left(\mathbf{z}_u\right) p_{X \mid Z}\left(\mathbf{X}_u \mid \mathbf{z}_u\right) \]

注意,这里论文假设各领域的独立性,有:\(\prod_d p_{X \mid Z}\left(\mathbf{U}_u^{(d)} \mid \mathbf{z}_u\right)\)\(\mathbf{z}_u\)的后验分布\(p_{Z \mid X}\left(\mathbf{z}_u \mid \mathbf{X}_u\right)\)难以推断,故采用其变分近似\(q_{Z \mid X}\left(\mathbf{z}_u \mid \mathbf{X}_u\right)\)。优化目标为最大化与用户表征\(\mathbf{X}_u\)相关联的变分下界:

\[\begin{aligned} & \log p\left(\mathbf{X}_u\right) \\ & \geq-D_{\mathrm{KL}}\left(q_{Z \mid X}\left(\mathbf{z}_u \mid \mathbf{X}_u\right) \| p\left(\mathbf{z}_u\right)\right)+\sum_d \underset{\sim q_{Z \mid X}}{\mathbb{E}}\left[\log p_{X \mid Z}\left(\mathbf{U}_u^{(d)} \mid \mathbf{z}_u\right)\right] \end{aligned} \]

用户\(u\)本地训练的损失函数\(\mathcal{L}_{\text{transfer}}\)\(\mathcal{L}_{\text{dec}}\)\(\mathcal{L}_{\text{enc}}\)两部分组成:

\[\mathcal{L}_{\text {transfer }}=\mathcal{L}_{\text {dec }}+\mathcal{L}_{\text {enc }} \]

其中,\(\mathcal{L}_{\text{dec}}\)在最大化解码分布\(p_{X|Z}\)的同时,拉近共享隐向量分布\(q_{X|Z}(\textbf{z}_u|\boldsymbol{\mathcal{E}}_u)\)和其先验\(p(\textbf{z}_u)\)的距离:

\[\mathcal{L}_{\mathrm{dec}}=\sum_{d \in \mathcal{D}^{(u)}}\left(-\underset{\sim q_{Z \mid X}\left(\mathbf{z}_u \mid \boldsymbol{\mathcal{E}}_u\right)}{\mathbb{E}}\left[\log p_{X \mid Z}\left(\mathbf{U}_u^{(d)} \mid \mathbf{z}_u\right)\right]+\frac{1}{\left|\mathcal{D}^{(u)}\right|} D_{\mathrm{KL}}\left(q_{Z \mid X}\left(\mathbf{z}_u \mid \boldsymbol{\mathcal{E}}_u\right)|| p\left(\mathbf{z}_{\mathbf{u}}\right)\right)\right) \]

\(\mathcal{L}_{\text{enc}}\)则拉近隐向量近似后验\(q_{Z|X}(\textbf{z}_u|\textbf{U}_u^{(d)})\)和共享隐向量分布的距离:

\[\mathcal{L}_{\mathrm{enc}}=\sum_{d \in \mathcal{D}^{(u)}} W_2\left(q_{Z \mid X}\left(\mathbf{z}_u \mid \mathbf{U}_u^{(d)}\right), q_{Z \mid X}\left(\mathbf{z}_u \mid \boldsymbol{\mathcal{E}}_u \right)\right) \]

接下来设\(q_{Z \mid X}\left(\textbf{z}_u \mid \boldsymbol{\mathcal{E}}_u\right) \sim \mathcal{N}\left(\boldsymbol{\mu}_u, \boldsymbol{\sigma}_u^2\right)\)\(p\left(\textbf{z}_u\right) \sim \mathcal{N}(\mathbf{0}, \mathbf{I})\)\(\boldsymbol{\mu}_d, \boldsymbol{\sigma}_d=\operatorname{ENC}\left(\mathbf{U}_u^{(d)}\right)\),且通过重参数化来完成\(\mathbf{z}_u\)的采样过程:\(\epsilon \sim \mathcal{N}(\mathbf{0}, \mathbf{I})\), \(\mathbf{z}_u \mid \mathbf{U}_u^{(d)}=\boldsymbol{\mu}_d+\boldsymbol{\sigma}_d \times \epsilon\)

将编码器的分布函数代入上式,我们就能进一步地将损失函数写为

\[\begin{aligned} & \mathcal{L}_{\mathrm{dec}}^{(d)}=-\frac{1}{2\left|\mathcal{D}^{(u)}\right|} \sum_{j=1}^{L_c}\left(-\log \boldsymbol{\sigma}_{u, j}+\boldsymbol{\sigma}_{u, j}^2+\boldsymbol{\mu}_{u, j}^2-1\right)-\underset{\sim q_{Z \mid X}\left(\mathbf{z}_u \mid \boldsymbol{\mathcal{E}}_u\right)}{\mathbb{E}}\left[\log p_{X \mid Z}\left(\mathbf{U}_u^{(d)} \mid \mathbf{z}_u\right)\right] \\ & \mathcal{L}_{\text {enc }}^{(d)}=-\frac{1}{2} \sum_{j=1}^{L_c}\left(\left\|\boldsymbol{\mu}_{d, j}-\boldsymbol{\mu}_{u, j}\right\|^2+\left\|\boldsymbol{\sigma}_{d, j}-\boldsymbol{\sigma}_{u, j}\right\|^2\right) \end{aligned} \]

对于解码器分布\(P_{X|Z}\),虽然前面假定了各领域条件独立,即各领域允许有不同的解码器损失函数,但这里为了简便,我们统一定义为高斯核:

\[p_{X \mid Z}\left(\mathbf{U}_u^{(d)} \mid \mathbf{z}_u\right)=\frac{1}{\sqrt{2(\pi \sigma)^{L_d}}} e^{-\frac{\left\|\hat{\mathbf{U}}_u^{(d)}-\mathbf{U}_u^{(d)}\right\|^2}{2 \sigma^{L_d}}} \]

这里\(\widehat{\mathbf{U}}_u^{(d)}=\operatorname{DEC}_d\left(\mathbf{z}_u\right)\),且方差\(σ\)在实验中固定,此时即为最小化均方误差。

最后我们可以得到联邦优化过程如下:

注意,这里在用户\(u\)本地进行联邦平均的是各领域迭代更新之后的用户隐向量\(\mathbf{z}_u^{\prime}|d\),而不是各领域的用户embeddings本身。不同领域的用户embeddings是不能直接拿来混合平均的,因为这样会导致领域的信息丢失(这也就是为什么会有EMCDR等基于表征对齐的方法出现的原因)。正如上面所说的,本文采取的方案则更进一步,在用户表征基础上提取用户隐向量,并使得各领域的用户隐向量去对齐共享的用户隐向量,从而在隐私保护的条件下来完成知识迁移。此外,在用户本地的编码器和解码器参数也是按照不同领域来分别进行的平均。

2.4 WWW22 《Differential Private Knowledge Transfer for Privacy-Preserving Cross-Domain Recommendation》[6]

本文不考虑用户间数据的隔离性,只考虑在两个相互隔离的领域间进行知识迁移,属于纵向类型。本文假定两个领域(源域和目标域)之间有着相同的用户,但是有着不同的用户-物品共现矩阵,目标在于在保证数据隐私的情况下,利用原域的数据以提高目标域的推荐表现。本文基于Johnson-Lindenstrauss变换(JLT)将共现矩阵加以差分隐保护,然后使用深度自编码器和深度学习网络来分别对源域和目标域中的共现矩阵进行建模,

本文采用的技术解决方案具体描述如下两个阶段:

在第一阶段,先基于JLT变换将共现矩阵由高维空间映射到低维空间空间,能够在够保护数据隐私(即无法辨识出某个用户的评分情况)的同时保持用户间的几何相似度(即相似评分的用户有相似品味)。此外本文还给出了考虑到稀疏情形的JLT(SJLT),能够进一步减少JLT的计算复杂度并解决源域的数据稀疏性问题,其中使用了sub-Gaussian随机矩阵和Hadamard变换。

在第二阶段,本文提出了一个异构的跨域推荐模型(HeteroCDR),该模型使用深度自编码器和DNN来分别对差分隐私保护的源域共现矩阵和目标域共现矩阵进行建模。此外,论文对这两个网络学得的用户embeddings进行对齐,从而使知识能够进行迁移。

论文采用JLT随机变换以得到差分隐私保护的共现矩阵\(R^{\prime}\)。JLT将一个来自\(\mathbb{R}^d\)的向量变换到\(\mathbb{R}^{d^{\prime}}\)\(\phi: x \rightarrow Mx\)。这里\(M\sim \mathcal{N}(0, O_{d^{\prime}\times d})\)\(O_{d^{\prime}\times d}\)为所有元素为1的稠密矩阵。

而稀疏架构下的JLT和JLT的作用原理相似,也是定义一个从从高维到低维空间的映射,同时大概率保持变换后向量的\(l_2\)范数不变。将稀疏向量从\(\mathbb{R}^d\)转换到\(\mathbb{R}^{d^{\prime}}\)的SJLT定义为:\(\psi: x \rightarrow Mx\),这里\(M=PHD\)\(P \in \mathbb{R}^{d^{\prime}\times d}\)\(H\in \mathbb{R}^{d\times d}\)\(D\in\mathbb{R}^{d\times d}\)

\[p_{i j}=\left\{\begin{array}{lll} 0 & \text { with probability } & 1-q_{;} \\ \xi \sim \mathcal{N}\left(0, q^{-1}\right) & \text { with probability } & q_{:} \end{array}\right. \]

\(h_{i j}=d^{-1 / 2}(-1)^{(i-1, j-1)}\)是标准化后的Hadamard矩阵(每个元素都是 +1或−1且每行互相正交),这里\((i, j)=\sum_{k} i_{k} j_{k} \text{ mod } 2\)是一个按位运算并模2的内积,\(D\)是个随机对角矩阵并满足

\[d_{i i}=\pm 1 \text { with equal probability. } \]

整个隐私保护下的跨域推荐架构如下:

如图所示,将\(R^A\in \mathbb{R}^{m\times n_1}\)变换到\(R^{\prime}\in \mathbb{R}^{m\times n^{\prime}_1}\)后,会通过自编码器来学习用户的embeddings(用于源域和目标域的知识迁移)。先通过编码器获取用户embeddings:\(u_{i}^{A}=\text{ENC}\left(r_{(i)}^{\prime A}\right) \in \mathbb{R}^{h}\),这里\(h\)是用户embeddings的维度;然后解码器对共现矩阵进行重构:\(\hat{r}_{(i)}^{\prime A}=\text{DEC}\left(u_{i}^{A}\right) \in \mathbb{R}^{n_{1}^{\prime}}\)。重构的loss为:

\[\mathcal{L}_{r e c}=\sum_{i=1}^{m} \mathcal{F} (r_{(i)}^{\prime A}, \hat{r}^{\prime A}_{(i)}) \]

这里\(\mathcal{F}\)为均方误差。

此外,论文对源域和目标域用户embeddings进行对齐以完成知识迁移。在对齐模型中,论文将用户embeddings的loss表示如下:

\[\mathcal{L}_{a l i}=\sum_{i=1}^{m}\left\|u_{i}^{A}-u_{i}^{B}\right\|^{2} \]

在目标域\(B\)方面,采用深度矩阵分解模型来拟合用户评分,其核心思想为最小化真实评分\(r^B_{ij}\)和预测评分\(\hat{r}^B_{ij}\)之间的交叉熵,这里预测评分由多层全连接网络输出。该网络会先计算计算用户和物品的隐向量\(u_{i}^{B} \in \mathbb{R}^{h}\)\(v_{j}^{B} \in \mathbb{R}^{h}\)(\(h\)表示隐向量维度),然后计算用户和物品的隐向量的余弦相似度做为评分预测值,即\(\hat{r}_{i j}^{B}=\left(u_{i}^{B}\right)^{T} v_{j}^{B}\)。损失函数描述如下:

\[\left.\mathcal{L}_{r e g}=\sum_{i=1}^{m} \sum_{j=1}^{n_{2}}\left(\frac{r_{i j}^{B}}{\max \left(R^{B}\right)} \log \left(\hat{r}_{i j}^{B}\right)+\left(1-\frac{r_{i j}^{B}}{\max \left(R^{B}\right)}\right) \log \left(1-\hat{r}_{i j}^{B}\right)\right)\right) \]

最终的完整损失函数为以上三个损失函数之和:

\[\mathcal{L}=\mathcal{L}_{r e c}+\mathcal{L}_{r e g}+\alpha \mathcal{L}_{a l i} \]

2.5 CIKM22 《FedCDR: Federated Cross-Domain Recommendation for Privacy-Preserving Rating Prediction》[7]

本论文提出的模型满足了多个client数据的隐私性,但单个client中跨领域数据是可以共享的,属于横向类型。本文的亮点在于使每个客户端维护一个用户个性化模型,聚合时只将物品模型和领域迁移模型的参数上传服务器,而将用户个性化模型留在客户端。这样,本文的方法在解决了不同客户端之间数据异构问题的同时,也保证了用户隐私并减少了参数通信量(说实话,个人感觉这个创新点太水)。本文方法整体的架构如下图所示:

图中展示了种类型的客户端,包括只有A领域数据的客户端、同时具有A、B两个领域数据的客户端以及只有B领域数据的客户端。每个客户端利用评分预测模型预训练得到个性化的用户模型和物品模型后,再采用EMCDR[8]中的跨域映射(mapping)手法,将领域A的用户隐向量变换到领域B(B到A同理)。事实上,这里的所谓跨域映射操作非常类似于异构知识图谱的对齐操作(可以参见我的博客《知识图谱实体对齐:基于平移(translation)嵌入的方法 》),毕竟都是迁移学习中的经典操作。之后在上传参数时,将用户个性化模型参数和用户/物品隐向量留在本地,而将物品模型和跨域迁移模型的参数上传到服务器。下面我们分别叙述客户端本地的各个模型部件:

评分(Rating)预测模型

评分预测模块采用矩阵分解[9]模型得到用户和物品的隐向量。对于物品直接进行嵌入得到物品隐向量;而对于用户,为了保证其隐私,论文设计了一个个性化模块\(h\)以获取其个性化用户向量:

\[\begin{aligned} & E_V=f(V ; \phi) \\ & P_{u_i}=h\left(u_i ; \theta\right) \end{aligned} \]

训练的损失函数可定义为:

\[L_P=\frac{1}{|R|} \sum_{r_{i j} \in R}\left(r_{i j}-P_{u_i} E_{V_j}\right)^2 \]

评分预测模型的示意图如下所示:

跨域推荐(CDR)模型

将采用EMCDR中的跨域映射手法。设有领域A和B,一个MLP\(F^{A\rightarrow B}(⋅)\)负责将领域A的知识迁移到B(也即将A领域的用户隐向量变换到B领域),变换后的用户向量\(P_{u_i}^{A\rightarrow B}\)能够被计算为(B到A同理):

\[P_{u_i}^{A \rightarrow B}=F^{A \rightarrow B}\left(P_{u_i}^A ; W^{A \rightarrow B}\right) \]

当然,以上的变换只考虑了用户向量,但评分预测任务不仅与用户有关,还与每个领域的物品有关,因此我们的优化目标还需要考虑物品信息以进一步优化最终的推荐结果。最终,跨域推荐模型对应的损失函数可以被设计为:

\[\begin{aligned} & L^{A \rightarrow B}=(1-\alpha) \frac{1}{\left|R_{U^O}^B\right|} \sum_{r_{i j} \in R_U^B}\left(r_{i j}-P_{u_i}^{A \rightarrow B} E_{v_j}^B\right)^2+\alpha \sum_{u_i \in U^O}\left\|P_{u_i}^{A \rightarrow B}-P_{u_i}^B\right\|^2 \\ & L^{B \rightarrow A}=(1-\alpha) \frac{1}{\left|R_{U^O}^A\right|} \sum_{r_{i j} \in R_U^A}\left(r_{i j}-P_{u_i}^{B \rightarrow A} E_{v_j}^A\right)^2+\alpha \sum_{u_i \in U^O}\left\|P_{u_i}^{B \rightarrow A}-P_{u_i}^A\right\|^2 \\ & \end{aligned} \]

(PS:在推荐阶段,变换后的用户向量\(P_U^{A \rightarrow B}\)\(P_U^{B \rightarrow A}\)将被用于冷启动用户推荐)

跨域推荐模型的示意图如下所示:

在本地评分预测模型的预训练和跨域推荐模型(迁移映射)的训练都完毕之后,客户端将A和B领域的物品模型参数和迁移模型参数分别上传到A、B领域对应的服务器,由A、B两个服务器来分别对物品模型参数和跨领域迁移模型参数进行聚合。注意,用户模型参数要留在本地。此外,本文对于A和B领域的物品模型参数和迁移模型参数也是分别进行的平均,而不是混在一起进行平均。

2.6 AAAI23 《Win-Win: A Privacy-Preserving Federated Framework for Dual-Target Cross-Domain Recommendation》[13]

本文不考虑用户间数据的隔离性,只考虑在两个相互隔离的领域间进行知识迁移,属于纵向类型。本文设计了一个正交变换矩阵+局部差分隐私(LDP)技术来进行用户embeddings的双向跨域迁移(本文的创新点在于双向迁移,即标题中的Win-Win,不过个人感觉这个创新点也太水)。本文方法整体的架构如下图所示:

首先,本文采用深度矩阵分解模型[16]得到用户和物品的embeddings(以领域A为例):

\[\begin{aligned} & \mathbf{u}_i^A=\sigma\left(\cdots \sigma\left(\mathbf{W}_{U_2}^A \sigma\left(\mathbf{W}_{U_1}^A \mathbf{R}_{i *}^A\right)\right)\right) \in \mathbb{R}^k \\ & \mathbf{v}_j^A=\sigma\left(\cdots \sigma\left(\mathbf{W}_{V_2}^A \sigma\left(\mathbf{W}_{V_1}^A \mathbf{R}_{* j}^A\right)\right)\right) \in \mathbb{R}^k \end{aligned} \]

这里\(\mathbf{R}_{i *}^A\)为ratings矩阵\(\mathbf{R}^A\)的第\(i\)行(对应第\(i\)个用户),\(\mathbf{R}_{*j}^A\)为ratings矩阵\(\mathbf{R}^A\)的第\(j\)列(对应第\(j\)个物品)。

然后,本文引入一个正交矩阵来进行领域间的embeddings迁移。这里采用正交矩阵的原因是正交变换保内积,从而变换后的用户embeddings之间的相似度不变;此外,正交矩阵等于其转置,因此若已知\(A\)\(B\)的变换矩阵的话,从\(B\)\(A\)的变换能够直接使用其转置以简化学习过程与降低计算复杂度。设领域\(A\)的用户\(i\)的embeddings \(\mathbf{u}^A_i\)变换到领域\(B\)去后表示为\(\mathbf{u}_i^{A B} \in \mathbb{R}^k\),领域\(B\)的用户\(i\)的embeddings \(\mathbf{u}^B_i\)变换到领域\(A\)去后表示为\(\mathbf{u}_i^{B A} \in \mathbb{R}^k\),则我们有:

\[\begin{aligned} & \mathbf{u}_i^{A B}=\mathbf{u}_i^A \mathbf{X}^A+L a(0, \lambda) \\ & \mathbf{u}_i^{B A}=\mathbf{u}_i^B\left[\mathbf{X}^B\right]^{\top}+L a(0, \lambda) \end{aligned} \]

这里\(\mathbf{X}^A, \mathbf{X}^B \in \mathbb{R}^{k \times k}\)分别是领域\(A\)\(B\)的正交变换矩阵,它们在本地更新完成(即更新为\(\mathbf{X}^{A\prime}, \mathbf{X}^{B\prime} \in \mathbb{R}^{k \times k}\))之后会相互交换并聚合,因此是一致同步且相等的。\([\cdot]_{\mathbf{T}}^{\top}\)表示矩阵转置。\(La(0, \lambda)\)表示均值为0,方差为\(\lambda\)的Laplace噪声(其中方差用于控制噪声强弱)。\(\lambda\)越大,则噪声越大且越利于隐私保护。

:这里我个人感觉这篇论文有问题,因为由于\(A\)领域和\(B\)领域在位置上隔绝开后,梯度根本无法正常传播,也就难以对正交变换矩阵\(\mathbf{X}^A, \mathbf{X}^B \in \mathbb{R}^{k \times k}\)进行更新。比如这里你\(A\)领域用到的\(\mathbf{u}_i^{B A}\)得先由放在\(B\)领域的\(\mathbf{X}^B\)来变换,然后再通过网络传送到\(A\)领域,那你怎么可用\(A\)领域的loss去更新放在\(B\)领域的矩阵\(\mathbf{X}^B\)呢?这篇论文也没开源代码,而且即使开源了代码作者在实现的时候多半也是忽视了领域隔绝的存在的。对于联邦场景下的领域对齐(考虑领域隔绝),我个人认为最正统的方法应该是用GAN来做,也即我在博客《联邦学习:联邦场景下的域泛化》《联邦学习:联邦场景下的多源知识图谱嵌入》所提到的用GAN来对齐的方法,因为其生成器和判别器分离,天生适合应对这种领域隔绝的场景。

最后,文章设计了自适应embeddings融合机制来对领域原embeddings和变换过来的embeddings进行融合(仍以领域\(A\)为例),自适应的门控选择向量计算如下:

\[\boldsymbol{\Delta}_i^A=\left|\mathbf{u}_i^A-\mathbf{u}_i^{B A}\right|\\ \mathbf{s}_i^A=\operatorname{Sigmoid}\left(\mathbf{W}_{s_2}^A\left(\sigma\left(\mathbf{W}_{s_1}^A \boldsymbol{\Delta}_i^A+\mathbf{b}_{s_1}^A\right)+\mathbf{b}_{s_2}^A\right)\right) \]

之后以此权重对用户的embeddings进行门控聚合:

\[\tilde{\mathbf{u}}_i^A=\mathbf{s}_i^A \cdot \mathbf{u}_i^A+\left(\mathbf{1}-\mathbf{s}_i^A\right) \cdot \mathbf{u}_i^{B A} \]

直观地理解,若\(\mathbf{u}_i^A\)\(\mathbf{u}_i^{B A}\)差异越大(领域gap越大),则固守原领域embeddings \(\mathbf{u}_i^A\)的旧知识就越多,接受\(\mathbf{u}_i^{B A}\)的新知识就越少。这在直观上确实可以在一定程度上缓解负迁移问题。

最后,作者运用得到的用户和物品的embeddings来计算内积相似度,并据此来计算归一化交叉熵损失(参考深度矩阵分解论文[16]):

\[\hat{y}_{i j}^A=\operatorname{Sigmoid}\left(\left[\tilde{\mathbf{u}}_i^A\right]^{\top} \mathbf{v}_j^A\right)\\ \begin{aligned} \mathcal{L}\left(y_{i j}, \hat{y}_{i j}\right)= & -\sum_{(i, j) \in Y^{+} \cup Y^{-}}\left(\frac{y_{i j}}{\max (R)} \log \hat{y}_{i j}\right.\left.+\left(1-\frac{y_{i j}}{\max (R)}\right) \log \left(1-\hat{y}_{i j}\right)\right) \end{aligned} \]

2.7 AAAI23 《PPGenCDR: A Stable and Robust Framework for Privacy-Preserving Cross-Domain Recommendation》[14]

本文不考虑用户间数据的隔离性,只考虑在两个相互隔离的领域间进行知识迁移,属于纵向类型。本文的亮点在于通过GAN来在隐私保护的前提下对源域私有数据(即用户ratings)的分布进行建模,并将隐私保护后的源域数据做为知识迁移到目标域,以提高目标域的推荐表现。本文方法整体的架构如下图所示:

如上图所示,本文由位于源域的隐私保护生成器模块(SPPG,包括SPP和GS两部分),和位于目标域的跨域推荐模块(RCDR)组成。隐私保护模块用于生成隐私保护后的源域用户数据\(\widetilde{\mathbf{R}}_S\)(注意,生成的\(\widetilde{\mathbf{R}}_S\)数据类型为浮点型),因为因为我不是搞隐私保护方向的。因此就不再对此详细展开叙述,感兴趣的童鞋可以去阅读原始论文。接下来重点叙述一下本文所设计的跨域推荐模块,也即论文如何同时利用源域的隐私保护数据\(\widetilde{\mathbf{R}}_S\)和目标域的稀疏数据\(\mathbf{R}_{\mathcal{T}}\)来共同提高目标域的推荐表现。

设用户\(u\)经过隐私保护后的ratings数据为\(\widetilde{\boldsymbol{r}}_{\mathcal{S}, u} \in \mathbb{R}^{K}\)\(K\)为源域的维度大小),本文设计了一个profile extraction模块来通过重构\(\widetilde{\boldsymbol{r}}_{\mathcal{S}, u}\)来提取隐表征\(\boldsymbol{z}_{S, u} = \operatorname{Enc}\left(\tilde{\boldsymbol{r}}_{\mathcal{S}, u}\right)\)做为用户的profile:

\[\mathcal{L}_{\text {recon }}=\sum_{u=1}^N\left\|\operatorname{Dec}\left(\operatorname{Enc}\left(\tilde{\boldsymbol{r}}_{\mathcal{S}, u}\right)\right)-\tilde{\boldsymbol{r}}_{\mathcal{S}, u}\right\|_2^2 \]

这里\(N\)为batch size。此外,在目标域也采用Embedding Lookup操作由目标域的ratings \(\boldsymbol{R}_{\mathcal{T}}\) 得到目标域的用户profiles \(\boldsymbol{Z}_{\mathcal{T}}\) 和物品表征 \(\boldsymbol{V}_{\mathcal{T}}\)(注意,目标域的\(\mathbf{R}_{\mathcal{T}}\)数据类型为0-1型),并设计了profile alignment模块来进行源域和目标域用户的表征对齐:

\[\mathcal{L}_{\text {align }}=\sum_{u=1}^N\left\|\boldsymbol{z}_{\mathcal{S}, u}-\boldsymbol{z}_{\mathcal{T}, u}\right\|_2^2 \]

最后,推荐预测模块基于用户的profile \(\boldsymbol{z}_{\mathcal{T}}\) 及物品的表征 \(\boldsymbol{v}_{\mathcal{T}}\)来最小化交叉熵\(\text{F}_{bce}(\cdot)\)

\[\mathcal{L}_{\text {pred }}=\sum^N_{u=1} \mathrm{~F}_{\text {bce }}\left(\widehat{\boldsymbol{r}}_{\mathcal{T}, u}, \boldsymbol{r}_{\mathcal{T}, u}\right) \]

这里\(\widehat{\boldsymbol{r}}_{\mathcal{T}, u}=\boldsymbol{z}_{\mathcal{T}, u}{ }^{\top} \boldsymbol{v}_{\mathcal{T}}\)为用户\(u\)在目标域中的的预测偏好。

为了增强目标域推荐表现的鲁棒性,作者还将\(\boldsymbol{Z}_{\mathcal{T}}\)\(\boldsymbol{V}_{\mathcal{T}}\)沿维度方向进行解耦,解耦后的特征将会直接被用于预测目标域的用户偏好。为了完成用户表征的解耦,论文首先构建了一个cross correlation矩阵\(\boldsymbol{C}_{\overline{\boldsymbol{Z}}_{\mathcal{T}}} \in \mathbb{R}^{K \times K}\)来度量用户归一化表征的不同维度间的相似性,该矩阵的计算公式为\(\boldsymbol{C}_{\boldsymbol{Z}_{\mathcal{T}, i j}}=\left\langle\overline{\boldsymbol{z}}_{\mathcal{T}, i}, \overline{\boldsymbol{z}}_{\mathcal{T}, j}\right\rangle /\left\|\overline{\boldsymbol{z}}_{\mathcal{T}, i}\right\|\left\|\overline{\boldsymbol{z}}_{\mathcal{T}, j}\right\|\)(对\(i, j \in 1, \cdots, K\))。为了达到解耦的目的,我们希望该矩阵的对角元素\(C_{\overline{\boldsymbol{Z}}_{\mathcal{T}_{, i i}}}\)去逼近1(同一个维度的表征一致),而其余元素\(C_{\overline{\boldsymbol{Z}}_{\mathcal{T}_{, ij}}}\)\(i\neq j\))去逼近0(不同维度的表征相互独立)。相似地,本文也为物品表征\(\boldsymbol{V}_{\mathcal{T}}\)构建了cross-correlation矩阵\(\boldsymbol{C}_{\overline{\boldsymbol{V}}_{\mathcal{T}}} \in \mathbb{R}^{K \times K}\)并希望其满足同样的条件。最后,为了完成解耦操作需要去最小化下列鲁棒性正则项:

\[\mathcal{L}_{\text{RC}}=\left\|\boldsymbol{C}_{\overline{\boldsymbol{Z}}_{\mathcal{T}}}-\boldsymbol{I}\right\|_F^2+\left\|\boldsymbol{C}_{\overline{\boldsymbol{V}}_{\mathcal{T}}}-\boldsymbol{I}\right\|_F^2 \]

综上所述,跨域序列推荐模块(RCDR)的总优化目标为:

\[\mathcal{L}_{\text{RCDR}}=\mathcal{L}_{\text {recon }}+\mathcal{L}_{\text {pred }}+\lambda_A \mathcal{L}_{\text {align }}+\lambda_R \mathcal{L}_{\mathrm{RC}} \]

这里\(\lambda_A\)\(\lambda_R\)为平衡不同类型损失的超参数。

2.8 IJCAI23 《Federated Probabilistic Preference Distribution Modelling with Compactness Co-Clustering for Privacy-Preserving Multi-Domain Recommendation》[15]

本文不考虑用户间数据的隔离性,只考虑在两个相互隔离的领域间进行相互知识迁移,属于纵向类型。本文的亮点在于设计了一个FPPDM模块来建模不同领域用户/物品的概率分布,并通过联邦学习的聚合策略来对用户/物品的分布信息进行跨域共享。此外,本文还提出了一种co-clustering方法来对具有相似特性的用户进行聚类(FPPDM++),以更好地利用相似用户的语义信息。

首先,设第\(k\)个领域的用户和物品的交互矩阵\(\boldsymbol{A}^{(k)}=\left[\begin{array}{cc} \mathbf{0} & \boldsymbol{R}^{(k)} \\ \left(\boldsymbol{R}^{(k)}\right)^{\top} & \mathbf{0} \end{array}\right]\)(这里\(\boldsymbol{R}^{(k)} \in \mathbb{R}^{N_U \times N_V^{(k)}}\)\(N_U\)为用户数量,所有域用户重叠;\(N_V\)为第\(k\)个领域的物品数量),用户和物品的embeddings矩阵为\(\boldsymbol{E}^{(k)}=\left\{\boldsymbol{E}^{U_{(k)}}, \boldsymbol{E}^{V_{(k)}}\right\}\),则我们可在此基础上运用GCN对用户/物品的偏好分布\(\mathbb{P}\left(\boldsymbol{U}^{(k)}\right)=\mathcal{N}\left(\boldsymbol{\mu}^{U_{(k)}},\left(\boldsymbol{\sigma}^{U(k)}\right)^2\right), \mathbb{P}\left(\boldsymbol{V}^{(k)}\right)=\mathcal{N}\left(\boldsymbol{\mu}^{V_{(k)}},\left(\boldsymbol{\sigma}^{V_{(k)}}\right)^2\right)\)进行建模:

\[\begin{aligned} {\left[\boldsymbol{\mu}^{U(k)}, \boldsymbol{\mu}^{V_{(k)}}\right] } & =\operatorname{GCN}\left(\cdots \operatorname{GCN}\left(\boldsymbol{E}^{(k)}, \boldsymbol{A}^{(k)} \mid \boldsymbol{W}_\mu^{(k)}\right) \cdots\right), \\ {\left[\left(\boldsymbol{\sigma}^{U(k)}\right)^2,\left(\boldsymbol{\sigma}^{V_{(k)}}\right)^2\right] } & =\operatorname{GCN}\left(\cdots \operatorname{GCN}\left(\boldsymbol{E}^{(k)}, \boldsymbol{A}^{(k)} \mid \boldsymbol{W}_\sigma^{(k)}\right) \cdots\right), \end{aligned} \]

其中\(\text{GCN}(\cdot)\)定义为:

\[\operatorname{GCN}\left(\boldsymbol{E}^{(k)}, \boldsymbol{A}^{(k)} \mid \boldsymbol{W}^{(k)}\right)=\left(\widetilde{\boldsymbol{D}}^{(k)}\right)^{-\frac{1}{2}} \widetilde{\boldsymbol{A}}^{(k)}\left(\widetilde{\boldsymbol{D}}^{(k)}\right)^{-\frac{1}{2}} \boldsymbol{E}^{(k)} \boldsymbol{W}^{(k)} \]

这里\(\widetilde{\boldsymbol{D}}^{(k)}=\operatorname{diag}\left(\widetilde{\boldsymbol{A}}^{(k)} \mathbf{1}\right)\)为带自环的图\(\widetilde{\boldsymbol{A}}^{(k)}=\boldsymbol{A}^{(k)}+\boldsymbol{I}\)的度矩阵,而\(\left(\widetilde{\boldsymbol{D}}^{(k)}\right)^{-\frac{1}{2}} \widetilde{\boldsymbol{A}}^{(k)}\left(\widetilde{\boldsymbol{D}}^{(k)}\right)^{-\frac{1}{2}}\) 就可视为标准化后的带自环的邻接矩阵。

在对用户/物品的分布进行建模后,作者提出了下列的基于分布的度量学习loss:

\[\ell_R^{(k)}=-\sum_{\left(\boldsymbol{U}_i^{(k)}, \boldsymbol{V}_j^{(k)}\right) \in \mathcal{O}^{(k)}} \log \frac{e^{-\mathcal{D}\left(\mathbb{P}\left(\boldsymbol{U}_i^{(k)}\right), \mathbb{P}\left(\boldsymbol{V}_j^{(k)}\right)\right)}}{\sum_{\boldsymbol{V}_{\text {neg },(i)}^{(k)}} e^{-\mathcal{D}\left(\mathbb{P}\left(\boldsymbol{U}_i^{(k)}\right), \mathbb{P}\left(\boldsymbol{V}_{\text {neg },(i)}^{(k)}\right)\right)}} \]

这里\(\mathcal{O}^{(k)}\)表示作为正例的用户-物品对,\(\boldsymbol{V}_{\mathrm{neg},(i)}^{(k)}\)表示第\(i\)个用户的负例物品。\(\mathcal{D}(\cdot)\)表示高斯分布之间的Wasserstein距离,可以被计算如下:

\[\mathcal{D}\left(\mathbb{P}\left(\boldsymbol{U}_i^{(k)}\right), \mathbb{P}\left(\boldsymbol{V}_j^{(k)}\right)\right)=\left\|\boldsymbol{\mu}_i^{U_{(k)}}-\boldsymbol{\mu}_j^{V_{(k)}}\right\|_2^2+\left\|\boldsymbol{\sigma}_i^{U_{(k)}}-\boldsymbol{\sigma}_j^{V_{(k)}}\right\|_2^2 \]

在进行联邦聚合时,只需要对用户分布的均值和方差进行聚合即可:

\[\widehat{\boldsymbol{\mu}}_i=\frac{\sum_{k=1}^K \mu_i^{U_{(k)}}}{K}, \quad \widehat{\sigma}_i=\frac{\sum_{k=1}^K \sigma_i^{U_{(k)}}}{K} \]

为了使得本地和全局的重叠用户分布能够一致地进行知识迁移,作者还设计了一个联邦正则项来减少本地和全局用户分布之间的距离:

\[\ell_P^{(k)}=\Sigma_{i=1}^N\left[\left\|\boldsymbol{\mu}_i^{U_{(k)}}-\widehat{\boldsymbol{\mu}}_i\right\|_2^2+\left\|\boldsymbol{\sigma}_i^{U_{(k)}}-\widehat{\boldsymbol{\sigma}}_i\right\|_2^2\right] \]

故所提出的FPPDM模块的领域\(k\)的总损失函数如下:

\[\ell_{\mathrm{FPPDM}}=\ell_R^{(k)}+\lambda_P \ell_P^{(k)} \]

这里\(\lambda_P\)表示平衡超参数。

在FPPDM模块外,作者还设计了一个按照用户之间的相似度对用户进行的聚类策略(FPPDM++),由于和联邦关系不大再加上篇幅有限,这里就不继续展开叙述了,感兴趣的童鞋可以去阅读原始论文。

3 我自己的两份工作

3.1 SDM24 《FedDCSR: Federated Cross-domain Sequential Recommendation via Disentangled Representation Learning》

本文是我研一下期的处女作,该研究针对联邦跨域序列推荐场景,提出了一种基于解耦表征学习的新方法来解决跨域序列特征异构的问题。具体而言,本研究基于互信息的变分上下界理论,设计了一个域内-域间序列表征解耦模块将本地序列特征解耦为领域共享和领域特定的部分。此外,还设计了一个对比信息最大化模块来学习更丰富的领域特定特征。感兴趣的童鞋可以前往ArXiv和GitHub查看,ArXiv论文链接:FedDCSR,GitHub源码链接:FedDCSR

3.2 ECML-PKDD24 《FedHCDR: Federated Cross-Domain Recommendation with Hypergraph Signal Decoupling》

本文是我研二上期的工作,也是我读研的第二份工作。该研究针对联邦跨域推荐场景,提出了一种基于超图信号分离的新方法来解决跨域数据异构的问题。具体而言,本研究基于图信号处理理论,分别设计了一个高通/低通超图滤波器来分离出领域特定和领域共享的用户表征,并采用本地-全局双向迁移算法对其进行训练。此外,本研究还设计了一个超图对比学习模块来进一步捕捉跨域不变的用户关系信息。感兴趣的童鞋可以前往ArXiv和GitHub查看,ArXiv论文链接:FedHCDR,GitHub源码链接:FedHCDR

参考

  • [1] Elkahky A M, Song Y, He X. A multi-view deep learning approach for cross domain user modeling in recommendation systems[C]//Proceedings of the 24th international conference on world wide web. 2015: 278-288.
  • [2] 杨强. 迁移学习[M]. 机械工业出版社, 2020.
  • [3] Flanagan A, Oyomno W, Grigorievskiy A, et al. Federated multi-view matrix factorization for personalized recommendations[C]//Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Springer, Cham, 2020: 324-347.
  • [4] Hao Li, Mingkai Huang, Bing Bai, et al. A federated multi-view deep learning framework for privacy-preserving recommendations[C]//FTL-IJCAI. 2021.
  • [5] Liu S, Xu S, Yu W, et al. FedCT: Federated collaborative transfer for recommendation[C]//Proceedings of the 44th international ACM SIGIR conference on research and development in information retrieval. 2021: 716-725.
  • [6] Chen C, Wu H, Su J, et al. Differential Private Knowledge Transfer for Privacy-Preserving Cross-Domain Recommendation[C]//Proceedings of the ACM Web Conference 2022. 2022: 1455-1465.
  • [7] Meihan W, Li L, Tao C, et al. FedCDR: Federated Cross-Domain Recommendation for Privacy-Preserving Rating Prediction[C]//Proceedings of the 31st ACM International Conference on Information & Knowledge Management. 2022: 2179-2188.
  • [8] Man T, Shen H, Jin X, et al. Cross-domain recommendation: An embedding and mapping approach[C]//IJCAI. 2017, 17: 2464-2470.
  • [9] Koren Y, Bell R, Volinsky C. Matrix factorization techniques for recommender systems[J]. Computer, 2009, 42(8): 30-37.
  • [10] Wu C, Wu F, Lyu L, et al. FedCTR: Federated Native Ad CTR Prediction with Cross Platform User Behavior Data[J]. ACM Transactions on Intelligent Systems and Technology (TIST), 2022.
  • [11] 王晋东,陈益强. 迁移学习导论(第2版)[M]. 电子工业出版社, 2022.
  • [12] 周志华. 机器学习[M]. 清华大学出版社, 2016.
  • [13] Chen G, Zhang X, Su Y, et al. Win-win: a privacy-preserving federated framework for dual-target cross-domain recommendation[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2023, 37(4): 4149-4156.
  • [14] Liao X, Liu W, Zheng X, et al. PPGenCDR: A Stable and Robust Framework for Privacy-Preserving Cross-Domain Recommendation[[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2023, 4453-4461.
  • [15] Liu W, Chen C, Liao X, et al. Federated Probabilistic Preference Distribution Modelling with Compactness Co-Clustering for Privacy-Preserving Multi-Domain Recommendation[J].
  • [16] Xue H J, Dai X, Zhang J, et al. Deep matrix factorization models for recommender systems[C]//IJCAI. 2017, 17: 3203-3209.
posted @ 2022-08-13 22:08  orion-orion  阅读(1188)  评论(0编辑  收藏  举报