Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js

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

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将多个视角对应的高维稀疏特征映射xU,x1,,xDxU,x1,,xD到共享隐空间中的低维稠密特征yU,y1,,yDyU,y1,,yD

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

cosine(yU,yj)=yUyjyUyjcosine(yU,yj)=yUyjyUyj

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

p=argmaxWU,W1,WDNi=1eγcos(yi,U,yi,a)xjRdjeγcos(yi,U,fj(xj,Wj))p=argmaxWU,W1,WDNi=1eγcos(yi,U,yi,a)xjRdjeγcos(yi,U,fj(xj,Wj))

其中WU,W1,WDWU,W1,WD为各个视角对应的权重参数,一共有个NN用户-物品对样本和DD个物品视角,其中每个物品视角xjxj都有其单独的输入特征维度djdj

ii个用户-物品对样本拥有一个用户视角的输入特征xi,uxi,u和其对应的物品视角特征xi,axi,a,这里aa是样本ii对应物品视角的索引,样本ii对应的其它物品视角的输入xi,jaxi,ja则设为00向量。γγ为温度系数。

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

1.2 联邦跨域推荐模型

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

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

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

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

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

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

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

2 论文阅读

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

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

RPQTRPQT

之后再基于用户矩阵PP和物品矩阵QQ得到用户uu对物品ii的预估评分:

ˆri,j=piqTj^ri,j=piqTj

其中pipi是用户ii在用户矩阵PP中的对应行向量,qjqj是物品jj在物品矩阵QQ中的对应行向量。

而所谓多视角矩阵分解,即包括以下三个视角:用户-物品,用户-特征,物品-特征。这三个视角分别对应用户-物品矩阵RRNu×NvRRNu×Nv,用户特征矩阵XRNu×DuXRNu×Du,物品特征矩阵YRNv×DvYRNv×Dv。这里NvNv为用户个数,NvNv为物品个数,DuDuDvDv分别为用户和物品的特征维度。则多视角矩阵分解可表示为如下形式:

RPQTXPUTYQVTRPQTXPUTYQVT

如下图所示:

其中PRNu×KPRNu×K是用户隐向量矩阵,QRNv×KQRNv×K是物品隐向量矩阵,URDu×KURDu×K是用户特征隐向量矩阵,VRDv×KVRDv×K是物品特征隐向量矩阵,这里KK是隐向量维度。

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

J=ijci,j(ri,jpiqTj)2+λ1(idu(xi,dupiuTdu)2+jdy(yj,dyqjvTdy)2)+λ2(ipi2+jqj2+duudu2+dyvdy2)J=ijci,j(ri,jpiqTj)2+λ1(idu(xi,dupiuTdu)2+jdy(yj,dyqjvTdy)2)+λ2(ipi2+jqj2+duudu2+dyvdy2)

这里cij=1+αrijcij=1+αrijαα是一个表示隐式反馈不确定性的置信参数;λ2λ2是L2正则项;λ1λ1表示用户-物品视角与其它视角间的信息共享强度,若令λ1=0λ1=0则表示用户-物品视角不与其它视角进行信息共享,0λ110λ11可以根据数据生成过程的先验知识选择,也可以通过超参数优化来决定。

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

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

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

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

pi=(r(i)ˆC(i)Q+λ1xiU)(QTC(i)Q+λ1UTU+λ2I)1pi=(r(i)^C(i)Q+λ1xiU)(QTC(i)Q+λ1UTU+λ2I)1

之后,client ii按照下式计算f(j,i)f(j,i)(用于之后在fl server计算J/qjJ/qj以更新QQ):

f(j,i)=[cij(ri,jpiqTj)]pif(j,i)=[cij(ri,jpiqTj)]pi

按照下式梯度f(i,du)f(i,du)(用于之后在fl server计算J/uduJ/udu以更新UU):

f(i,du)=[(xi,dupiuTdu)]pif(i,du)=[(xi,dupiuTdu)]pi

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

与此同时,在item server,物品特征隐向量矩阵VV也会得到更新(其中会用到物品特征),新的物品隐向量vdyvdy计算方式如下:

vdy=(ydyQ)(QTQ+λ2λ1I)1vdy=(ydyQ)(QTQ+λ2λ1I)1

更新完成后,在此基础上计算f(j,dy)f(j,dy)(用于之在fl server计算J/qjJ/qj以更新QQ):

f(j,dy)=[(yj,dyvdyqTj)]vdwf(j,dy)=[(yj,dyvdyqTj)]vdw

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

而在fl server接收f(j,i),f(i,du),f(j,dy)f(j,i),f(i,du),f(j,dy)后,按照下列两个式子计算梯度并更新QQUU:

Jqj=2if(j,i)2λ1dyf(j,dy)+2λ2qjJudu=2λ1if(i,du)+2λ2uduJqj=2if(j,i)2λ1dyf(j,dy)+2λ2qjJudu=2λ1if(i,du)+2λ2udu

然后又将QQUU发往各client,将QQ发往item server,以此循环往复。

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

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

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

不过本文与原始多视角模型中共享用户视角的特征不同,本文共享的是物品视角的特征。设共有CC个client,第cc个client中的本地数据集表示为Dc={xI,x1,xD}Dc={xI,x1,xD}。这里x1,xD(xjRdj)x1,xD(xjRdj)为用户在DD个不同App中记录的多视角特征数据,而物品视角数据集xIRdIxIRdI从server下载,比如移动App的后端。DSSM模型将从各个App视角数据集xI,x1,xDxI,x1,xD和物品数据集xIxI中分别提取隐向量。算法的目标是为每个视角学得一个非线性映射f()f()以使物品视角隐向量和多个用户视角隐向量相似度的和最大化。第cc个client的目标定义如下:

p=argmaxWI,W1,WDNci=1eγcos(yi,I,yi,a)xjRdjeγcos(yi,I,fj(xj,Wj))p=argmaxWI,W1,WDNci=1eγcos(yi,I,yi,a)xjRdjeγcos(yi,I,fj(xj,Wj))

这里NcNc表示client cc中用户-物品对的数量,第ii个用户-物品对样本拥有一个物品视角的输入特征xi,Ixi,I和其对应的用户视角特征xi,axi,a,这里aa是样本ii对应用户视角的索引。yy表示f()f()的映射结果,γγ是温度参数。

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

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

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

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

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

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

设领域集合为D={d1,,dD}D={d1,,dD}。对每个领域dDdD,将起对应的物品集合表示为IdId(大小为NdNd)。设领域之间的物品无重叠,即满足d,dD,dd,IdId=0d,dD,dd,IdId=0。设每个client对应一个用户,一共有CC个用户。一个领域dd可能只涉及到用户集合的子集U(d)UU(d)U,一个用户uUuU也可能只涉及到领域集合的子集D(u)DD(u)D。每个领域都有对应的共现矩阵RdRd及其协同过滤模型fdfdfdfd为一个给定用户-物品对(u,i)(u,i)预测评分结果:ˆru,i,d=fd(U(d)u,i):^ru,i,d=fd(U(d)u,i)的函数,这里U(d)uRLdU(d)uRLd表示用户uu在领域dd的表征,LdLd为用户表征的维度。在本文的边缘跨域推荐场景下,fdfdU(d)U(d)根据特定领域的协同过滤目标函数LCFdLCFd进行预训练,并作为该领域对应的本地预训练模型使用。

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

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

本文的最终目标是在为目标领域dtD的冷启动用户提供推荐(使用根据其它领域的用户表示做为辅助信息)。给定多个领域的用户表示做为训练数据,则问题就成为了学习对用户表示进行迁移的模型:g:RLd1+Ld2++LdDRLdt,该模型将来自所有领域的用户信息映射到dt

ˆU(dt)u=g(Xu)

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

由于需要隐向量与用户emebddings的双向编码与恢复,故采用AE/VAE对用户隐向量进行建模。具体地,本文为每个领域d都设置了一个VAE gd(包含编码器和解码器)。如下图所示,设zuRLc,则gd由一个编码器ENCd:RLdRLc(参数为Φd,负责根据特定领域的用户表征U(d)生成zu)和一个解码器DECd:RLcRLd(参数为Θd,负责根据zu生成ˆU(d))组成。这里DECd()生成的ˆU(d)u含有来自所有领域的丰富信息,将会被用于之后的推荐服务。另一方面,每个领域也会不断更新自己的编码器和解码器。

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

首先,将用户表征Xu视为观测数据,它由隐向量zu生成:

p(Xu)=zup(Xu,zu)=zup(zu)pXZ(Xuzu)

注意,这里论文假设各领域的独立性,有:dpXZ(U(d)uzu)zu的后验分布pZX(zuXu)难以推断,故采用其变分近似qZX(zuXu)。优化目标为最大化与用户表征Xu相关联的变分下界:

logp(Xu)DKL(qZX(zuXu)p(zu))+dEqZX[logpXZ(U(d)uzu)]

用户u本地训练的损失函数LtransferLdecLenc两部分组成:

Ltransfer =Ldec +Lenc 

其中,Ldec在最大化解码分布pX|Z的同时,拉近共享隐向量分布qX|Z(zu|Eu)和其先验p(zu)的距离:

Ldec=dD(u)(EqZX(zuEu)[logpXZ(U(d)uzu)]+1|D(u)|DKL(qZX(zuEu)||p(zu)))

Lenc则拉近隐向量近似后验qZ|X(zu|U(d)u)和共享隐向量分布的距离:

Lenc=dD(u)W2(qZX(zuU(d)u),qZX(zuEu))

接下来设qZX(zuEu)N(μu,σ2u)p(zu)N(0,I)μd,σd=ENC(U(d)u),且通过重参数化来完成zu的采样过程:ϵN(0,I), zuU(d)u=μd+σd×ϵ

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

L(d)dec=12|D(u)|Lcj=1(logσu,j+σ2u,j+μ2u,j1)EqZX(zuEu)[logpXZ(U(d)uzu)]L(d)enc =12Lcj=1(μd,jμu,j2+σd,jσu,j2)

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

pXZ(U(d)uzu)=12(πσ)LdeˆU(d)uU(d)u22σLd

这里ˆU(d)u=DECd(zu),且方差σ在实验中固定,此时即为最小化均方误差。

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

注意,这里在用户u本地进行联邦平均的是各领域迭代更新之后的用户隐向量zu|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。JLT将一个来自Rd的向量变换到Rdϕ:xMx。这里MN(0,Od×d)Od×d为所有元素为1的稠密矩阵。

而稀疏架构下的JLT和JLT的作用原理相似,也是定义一个从从高维到低维空间的映射,同时大概率保持变换后向量的l2范数不变。将稀疏向量从Rd转换到Rd的SJLT定义为:ψ:xMx,这里M=PHDPRd×dHRd×dDRd×d

pij={0 with probability 1q;ξN(0,q1) with probability q:

hij=d1/2(1)(i1,j1)是标准化后的Hadamard矩阵(每个元素都是 +1或−1且每行互相正交),这里(i,j)=kikjk mod 2是一个按位运算并模2的内积,D是个随机对角矩阵并满足

dii=±1 with equal probability. 

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

如图所示,将RARm×n1变换到RRm×n1后,会通过自编码器来学习用户的embeddings(用于源域和目标域的知识迁移)。先通过编码器获取用户embeddings:uAi=ENC(rA(i))Rh,这里h是用户embeddings的维度;然后解码器对共现矩阵进行重构:ˆrA(i)=DEC(uAi)Rn1。重构的loss为:

Lrec=mi=1F(rA(i),ˆrA(i))

这里F为均方误差。

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

Lali=mi=1uAiuBi2

在目标域B方面,采用深度矩阵分解模型来拟合用户评分,其核心思想为最小化真实评分rBij和预测评分ˆrBij之间的交叉熵,这里预测评分由多层全连接网络输出。该网络会先计算计算用户和物品的隐向量uBiRhvBjRh(h表示隐向量维度),然后计算用户和物品的隐向量的余弦相似度做为评分预测值,即ˆrBij=(uBi)TvBj。损失函数描述如下:

Lreg=mi=1n2j=1(rBijmax(RB)log(ˆrBij)+(1rBijmax(RB))log(1ˆrBij)))

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

L=Lrec+Lreg+αLali

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以获取其个性化用户向量:

EV=f(V;ϕ)Pui=h(ui;θ)

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

LP=1|R|rijR(rijPuiEVj)2

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

跨域推荐(CDR)模型

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

PABui=FAB(PAui;WAB)

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

LAB=(1α)1|RBUO|rijRBU(rijPABuiEBvj)2+αuiUOPABuiPBui2LBA=(1α)1|RAUO|rijRAU(rijPBAuiEAvj)2+αuiUOPBAuiPAui2

(PS:在推荐阶段,变换后的用户向量PABUPBAU将被用于冷启动用户推荐)

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

在本地评分预测模型的预训练和跨域推荐模型(迁移映射)的训练都完毕之后,客户端将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为例):

uAi=σ(σ(WAU2σ(WAU1RAi)))RkvAj=σ(σ(WAV2σ(WAV1RAj)))Rk

这里RAi为ratings矩阵RA的第i行(对应第i个用户),RAj为ratings矩阵RA的第j列(对应第j个物品)。

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

uABi=uAiXA+La(0,λ)uBAi=uBi[XB]+La(0,λ)

这里XA,XBRk×k分别是领域AB的正交变换矩阵,它们在本地更新完成(即更新为XA,XBRk×k)之后会相互交换并聚合,因此是一致同步且相等的。[]T表示矩阵转置。La(0,λ)表示均值为0,方差为λ的Laplace噪声(其中方差用于控制噪声强弱)。λ越大,则噪声越大且越利于隐私保护。

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

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

ΔAi=|uAiuBAi|sAi=Sigmoid(WAs2(σ(WAs1ΔAi+bAs1)+bAs2))

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

˜uAi=sAiuAi+(1sAi)uBAi

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

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

ˆyAij=Sigmoid([˜uAi]vAj)L(yij,ˆyij)=(i,j)Y+Y(yijmax(R)logˆyij+(1yijmax(R))log(1ˆyij))

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

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

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

设用户u经过隐私保护后的ratings数据为˜rS,uRKK为源域的维度大小),本文设计了一个profile extraction模块来通过重构˜rS,u来提取隐表征zS,u=Enc(˜rS,u)做为用户的profile:

Lrecon =Nu=1Dec(Enc(˜rS,u))˜rS,u22

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

Lalign =Nu=1zS,uzT,u22

最后,推荐预测模块基于用户的profile zT 及物品的表征 vT来最小化交叉熵Fbce()

Lpred =Nu=1 Fbce (ˆrT,u,rT,u)

这里ˆrT,u=zT,uvT为用户u在目标域中的的预测偏好。

为了增强目标域推荐表现的鲁棒性,作者还将ZTVT沿维度方向进行解耦,解耦后的特征将会直接被用于预测目标域的用户偏好。为了完成用户表征的解耦,论文首先构建了一个cross correlation矩阵C¯ZTRK×K来度量用户归一化表征的不同维度间的相似性,该矩阵的计算公式为CZT,ij=¯zT,i,¯zT,j/¯zT,i¯zT,j(对i,j1,,K)。为了达到解耦的目的,我们希望该矩阵的对角元素C¯ZT,ii去逼近1(同一个维度的表征一致),而其余元素C¯ZT,ijij)去逼近0(不同维度的表征相互独立)。相似地,本文也为物品表征VT构建了cross-correlation矩阵C¯VTRK×K并希望其满足同样的条件。最后,为了完成解耦操作需要去最小化下列鲁棒性正则项:

LRC=C¯ZTI2F+C¯VTI2F

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

LRCDR=Lrecon +Lpred +λALalign +λRLRC

这里λAλ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个领域的用户和物品的交互矩阵A(k)=[0R(k)(R(k))0](这里R(k)RNU×N(k)VNU为用户数量,所有域用户重叠;NV为第k个领域的物品数量),用户和物品的embeddings矩阵为E(k)={EU(k),EV(k)},则我们可在此基础上运用GCN对用户/物品的偏好分布P(U(k))=N(μU(k),(σU(k))2),P(V(k))=N(μV(k),(σV(k))2)进行建模:

[μU(k),μV(k)]=GCN(GCN(E(k),A(k)W(k)μ)),[(σU(k))2,(σV(k))2]=GCN(GCN(E(k),A(k)W(k)σ)),

其中GCN()定义为:

GCN(E(k),A(k)W(k))=(˜D(k))12˜A(k)(˜D(k))12E(k)W(k)

这里˜D(k)=diag(˜A(k)1)为带自环的图˜A(k)=A(k)+I的度矩阵,而(˜D(k))12˜A(k)(˜D(k))12 就可视为标准化后的带自环的邻接矩阵。

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

(k)R=(U(k)i,V(k)j)O(k)logeD(P(U(k)i),P(V(k)j))V(k)neg ,(i)eD(P(U(k)i),P(V(k)neg ,(i)))

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

D(P(U(k)i),P(V(k)j))=μU(k)iμV(k)j22+σU(k)iσV(k)j22

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

ˆμi=Kk=1μU(k)iK,ˆσi=Kk=1σU(k)iK

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

(k)P=ΣNi=1[μU(k)iˆμi22+σU(k)iˆσi22]

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

FPPDM=(k)R+λP(k)P

这里λ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 @   orion-orion  阅读(1633)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示