掌桥专利:专业的专利平台
掌桥专利
首页

一种基于用户兴趣域的端到端联邦个性化推荐方法和系统

文献发布时间:2024-04-18 19:53:33


一种基于用户兴趣域的端到端联邦个性化推荐方法和系统

技术领域

本发明属于个性化推荐技术领域,具体涉及一种基于用户兴趣域的端到端联邦个性化推荐方法和系统。

背景技术

推荐系统是缓解信息过载的有效手段,也是用户增长的引擎,在各大互联网信息平台随处可见。近年来,随着用户隐私意识的提升以及各项数据安全法规的出台,推荐由于需要用到用户个人数据而面临隐私保护问题。目前将联邦学习与推荐相结合是解决该问题的主要思路。然而一般的联邦推荐方法只关注了隐私保护,忽略了联邦设置下客户端(用户)数据的非独立同分布(non-IID)问题,该问题会影响模型的训练,导致最终模型的推荐性能受损。

目前non-IID问题的解决思路有多种,其中一种是采用个性化的思想,即反过来利用non-IID的性质为不同客户端定制不同的模型。除了客户端粒度的个性化方法外,还有类簇粒度的,该种个性化方案主要是将客户端聚类,使之形成多个类簇,赋予不同类簇不同的模型,同类簇中的客户端共享一个模型。现有的这两类个性化方法应用在联邦推荐中有以下三点不足:

(1)客户端粒度的个性化容易导致模型过拟合本地数据,损害模型的泛化性能,一旦用户的兴趣发生转变,模型便难以针对新兴趣进行高质量的推荐。

(2)类簇粒度下训练模型的数据更加丰富,涵盖兴趣更广,因此缓解了过拟合问题;然而该方法要求在每轮联邦训练中都需对一定数量的客户端进行聚类,影响了训练效率。

(3)除了训练效率问题,类簇粒度的个性化方法实施过程基本都采用无监督聚类,是非学习性方法。

发明内容

为解决传统的联邦推荐应用中存在的客户端数据non-IID问题,本发明同样采用个性化的解决思路,在类簇个性化思路的基础上提出了一种端到端的联邦个性化推荐方法与系统,改善了目前的类簇个性化推荐方法中存在的训练效率低和非学习性的问题,提升了联邦推荐模型的性能。

本发明提供如下技术方案:

本发明的其中一个目的在于提供一种端到端的联邦个性化推荐方法,其主要包括端到端个性化推荐模型与联邦训练流程两大块内容。

端到端个性化推荐模型在深度推荐模型的基础上将预测网络群组部分进行个性化设计,即设置z个预测网络,分别对应z个客户端类簇。本发明之所以没有个性化整个推荐模型,而只是设置个性化预测网络群组,是因为(1)推荐模型的物品ID 嵌入层存在特征稀疏性问题,一个类簇中的用户不可能涵盖所有物品,因此个性化该层会导致一个类簇中一些隐向量训练不到,这带来了物品冷启动问题,不利于模型的泛化性;(2)在联邦推荐模型的参数中,物品ID 嵌入层占了一大部分,使所有客户端共享该层有利于节省参数的存储成本。

设置个性化的预测网络群组后,本发明中还设置了一个基于图神经网络的客户端分类网络,主要是将客户端(用户)与其所交互的物品看成星型图,即“客户端-物品”交互图,将交互图与其中的用户ID嵌入表示、物品ID嵌入表示作为图神经网络的输入,其中用户ID嵌入表示和物品ID嵌入表示为图中各节点的特征表示,通过图神经网络后输出交互图对应的客户端所属类簇的概率分布向量。

一种基于用户兴趣域的端到端联邦个性化推荐方法,主要包括以下步骤:

步骤1:服务端基于预设的客户端类簇数,构建全局模型并初始化模型参数,所述的全局模型由客户端分类网络和推荐模型构成,所述的推荐模型包括预测网络群组、用户ID 嵌入层和物品ID 嵌入层;将全局模型中的用户ID 嵌入层参数分发给参与联邦训练的全部客户端;

步骤2,联邦训练的全部客户端构建本地训练数据集;

步骤3:服务端随机选择一部分客户端参与当前轮次联邦训练,将全局模型中的除用户ID 嵌入层之外的其他参数分发给选中的客户端;

步骤4:被选中的客户端利用本地训练数据集训练接收到的全局模型,更新本地的用户ID 嵌入层参数,将其余参数发回至服务端;

步骤5:服务端聚合客户端发回的除用户ID 嵌入层外的全局模型训练参数,将聚合结果作为最新全局模型;

步骤6:重复步骤3至步骤5,直到全局模型收敛;各客户端依据本地存储的用户ID嵌入层参数和服务端发送的除用户ID 嵌入层之外的最新全局模型参数进行目标物品个性化推荐。

进一步的,所述的预测网络群组由若干个并列的多层感知机(MLP)构成。

进一步的,所述的客户端分类网络包括图神经网络、多层感知机和softmax层;所述的图神经网络的输入为用户-物品交互图、用户ID嵌入表示、历史交互物品ID嵌入表示;所述的用户ID嵌入表示和历史交互物品ID嵌入表示分别由推荐模型中的用户ID 嵌入层和物品ID 嵌入层生成;所述的图神经网络的输出依次经过多层感知机和softmax层后得到客户端的类簇概率分布向量。

进一步的,所述的客户端类簇数、预测网络群组中并列的多层感知机数量以及客户端分类网络输出的类簇概率分布向量维度相同。

进一步的,所述的客户端分类网络输出的类簇概率分布向量作为预测网络群组输出结果的权重,该权重为软标签形式,将预测网络群组输出结果的加权平均值作为推荐模型的最终输出。

进一步的,所述的推荐模型中用户ID 嵌入层的输入为用户ID,物品ID 嵌入层的输入为历史交互物品ID和目标物品ID,由用户ID 嵌入层和物品ID 嵌入层生成用户ID嵌入表示、历史交互物品ID嵌入表示和目标物品ID嵌入表示;将用户ID嵌入表示、历史交互物品ID嵌入表示的均值、目标物品ID嵌入表示拼接后作为推荐模型中的预测网络群组的输入。

本发明的另一个目的在于提供一种基于用户兴趣域的端到端联邦个性化推荐系统,以用于实现上述方法;所述的端到端联邦个性化推荐系统包括:服务端和若干客户端,所述的服务端用于基于预设的客户端类簇数,构建全局模型并初始化模型参数,以及聚合各客户端训练后的除用户ID 嵌入层外的全局模型参数;所述的全局模型由客户端分类网络和推荐模型构成,所述的推荐模型包括预测网络群组、用户ID 嵌入层和物品ID 嵌入层;所述的客户端用于利用本地训练数据集训练全局模型,并将除用户ID 嵌入层外的全局模型训练参数返回至服务端;

每个客户端内包含:

数据构建模块,其用于构建客户端的本地训练数据集,基于用户与物品的历史交互数据,将与用户真实交互的物品记为正样本,并设置负采样率,在全局物品集中随机采样若干负样本,所述的正样本与负样本之间无交集;

模型训练模块,其用于接收服务端发送的全局模型参数后加载最新的全局模型,基于数据构建模块获取的训练数据集对全局模型进行训练,更新本地的用户ID 嵌入层参数,将其余参数发回至服务端;

数据传输模块,用于服务端与客户端之间的数据传输,包括客户端接收服务端分发送的模型参数以及本地训练完后客户端发回给服务端的模型参数。

进一步的,所述的全局模型中的客户端分类网络用于生成客户端的类簇概率分布向量,所述的类簇概率分布向量作为预测网络群组输出结果的权重,将预测网络群组输出结果的加权平均值作为推荐模型的最终输出。

本发明的技术效果为:本发明通过个性化推荐模型的预测网络群组部分、并将类簇划分的过程嵌入到模型中,使得在模型的前向计算中自动完成对客户端的聚类,改善训练效率;所设置的客户端分类网络能通过推荐目标进行训练,使得聚类过程变为可学习;此外,本发明将分类网络设置为图神经网络,加强了类簇的分类效果,提升了模型的推荐性能。

附图说明

图1为本发明实施例示出的端到端联邦个性化推荐方法的框架结构示意图;

图2为本发明实施例示出的端到端联邦个性化推荐方法中的联邦训练流程示意图;

图3为本发明实施例示出的端到端联邦个性化推荐系统的层级结构图;

图4为本发明实施例在公开推荐数据集上的训练结果,其中(a)评价指标为AUC,(b)评价指标为HitRate@10。

具体实施方式

下面结合附图对本发明做进一步说明。

本发明公开了一种端到端训练的思路,将客户端分类网络嵌入到个性化推荐模型中,具体为:设计客户端分类网络和带有预测网络群组的推荐模型,将客户端分类网络所输出的概率分布向量中的每一个概率值作为推荐模型中的预测网络群组中每一个预测网络输出的权重,即通过该概率分布向量对预测网络群组的输出进行加权平均,将加权平均后的结果作为个性化推荐模型的最终输出。通过该方式,相当于在模型前向计算时,客户端可根据自身的特征(交互图)来计算其所属的类簇概率分布,并根据概率分布向量来选择最合适的预测网络组合,整个过程都在模型的前向计算中完成,实现了端到端的个性化,改善了类簇个性化的训练效率;在模型梯度反向更新时,客户端分类网络也能够通过推荐目标进行更新,实现了可学习的目的。客户端分类网络的输出之所以设置为软标签的形式,不进行硬化处理(如[0.1, 0.1, 0.8]可被硬化为[0,0,1]),是因为不同的类簇之间并非完全无关,也存在一定的相似性,因此用软标签进行加权平均更合理。

如图1所示,本发明提出的端到端个性化推荐模型主要包括两个核心部分,其中之一是在推荐模型中设置了个性化的预测网络群组,预测网络的个数z为超参数,表示将客户端分成了z个类簇;另一个核心是设计了基于图神经网络的客户端分类网络,对于每个客户端,其输入为“客户端(用户)-物品”交互图,输出为对应客户端所属的类簇概率分布向量。本发明将客户端分类网络嵌入到个性化推荐模型中,具体为:将该客户端分类网络的输出向量作为权重,对预测网络群组的输出进行加权平均,将加权平均后的输出作为推荐模型的最终输出,该方法不仅实现了端到端的类簇划分,也使得该客户端分类网络能通过推荐目标进行学习。

图2为本发明的一项具体实施中的联邦训练流程,其中全局模型即为图1所示的模型,包括推荐模型和客户端分类网络;推荐模型的参数共可分为预测网络群组参数、用户ID嵌入层参数和物品ID 嵌入层参数三部分,出于对客户端隐私保护的考虑,用户ID 嵌入层参数不能被服务端获取,因此该部分参数需要在本地更新,即服务端初始化后将用户ID 嵌入层参数分发给对应客户端后,该部分参数不再出本地,全局模型的其余参数仍通过本地训练后上传给服务端聚合更新。

整个联邦训练的流程为:

步骤1:服务端设置客户端采样率、以及客户端本地训练轮次、客户端本地训练的批大小等训练参数;再设置类簇数量z,并初始化模型参数,所述的全局模型由推荐模型和客户端分类网络构成,推荐模型包括用户ID 嵌入层、物品ID 嵌入层和预测网络群组,客户端分类网络包括图神经网络和多层感知机。将全局模型中的用户ID 嵌入层参数分发给参与联邦训练的全部客户端。

步骤2:客户端构建本地训练数据集。

步骤3:服务端基于客户端采样率随机选择一部分客户端参与本轮联邦训练,将全局模型中的除用户ID 嵌入层之外的其他参数分发给选中的客户端。

步骤4:被选中的客户端按照服务端设置的训练参数在本地训练所收到的全局模型,得到参数更新梯度后,本地更新自身的用户ID 嵌入层参数,并将训练后的除用户ID 嵌入层之外的其余参数发回给服务端。

本步骤中,结合图1所示,参与本轮训练的各客户端将用户ID作为推荐模型中的用户ID 嵌入层输入,将历史交互物品ID和目标物品ID作为推荐模型中的物品ID 嵌入层输入,分别得到用户ID嵌入表示、历史交互物品ID嵌入表示和目标物品ID嵌入表示;将用户ID嵌入表示、历史交互物品ID嵌入表示的均值、目标物品ID嵌入表示拼接后作为推荐模型中的预测网络群组的输入;同时,将用户-物品交互图、用户ID嵌入表示、历史交互物品ID嵌入表示作为客户端分类网络中的图神经网络的输入,将图神经网络的输出结果作为多层感知机的输入,再经softmax输出对应客户端所属的类簇概率分布向量;所述的类簇概率分布向量的维度与预测网络群组中的预测网络数量一致,将分类网络的类簇概率分布向量作为权重,对预测网络群组的输出进行加权平均,将加权平均后的输出作为推荐模型的最终输出,根据最终输出计算参数更新梯度。

步骤5:服务端采用FedAvg算法聚合客户端发回的除用户ID 嵌入层外的全局模型训练参数,将聚合结果作为最新全局模型。

步骤6:服务端重复第3至第5步,直到整个训练过程收敛;各客户端依据本地存储的用户ID 嵌入层参数和服务端发送的除用户ID 嵌入层之外的最新全局模型参数进行目标物品个性化推荐。

在本发明的一项具体实施中,全局模型基于PyTorch实现。步骤1中服务端设置的本地训练参数为客户端采样率10%、本地训练轮次5轮、本地训练批大小为1024。端到端个性化推荐模型的预测网络群组中的预测网络个数z为16,每一个预测网络为[48, 200, 80,1]大小的四层感知机,并采样reLu作为非线性激活函数,只利用用户与物品的ID特征(由ID嵌入层提取的ID嵌入表示),用户与物品的ID 嵌入层的维度设为16,推荐模型中的预测网络群组的输入为用户ID 嵌入表示、历史交互物品ID 嵌入表示的平均值和以及目标物品ID嵌入表示三种拼接在一起的48维向量。客户端分类网络部分共设置两层图神经网络,均采用GCN的邻域信息聚合形式,并采用向量拼接的方式作为不同阶邻域的聚合函数,输入为用户-物品交互图、用户ID嵌入表示以及历史交互物品ID嵌入表示,图神经网络部分每层的输出均为16维的向量,该部分的输出经过[16, 80, 16]的三层感知机与softmax层后,最终输出客户端所属的类簇概率分布向量。

上述用户历史交互物品的窗口设置为50,不满50个交互物品的情况用0号物品进行代替。

在本发明的一项具体实施中,步骤2主要是用于构建训练推荐模型的本地数据集。具体为将各客户端的本地交互数据按时间顺序排序,将前80%作为训练集,后20%作为测试集。其中训练集的负采样率设置为1:4,即1个正样本对应4个负样本,测试集的负采样率则设置为1:99,即1个正样本对应99个负样本。

在本发明的一项具体实施中,步骤4中客户端本地训练模型的优化器采用Adam,学习率设置为0.01,每轮联邦训练每个客户端开始训练前都初始化Adam优化器参数,且该参数不参与联邦聚合。

在本发明的一项具体实施中,步骤5中服务端采用FedAvg算法聚合模型,也即联邦平均算法,其参数聚合过程可表示为

其中,t表示第t轮联邦训练,K表示参加本轮联邦训练的客户端数量(不妨将其按1,2,…,K编号),n

在本发明的一项具体实施中,采用电影评价数据集MovieLens-1M作为实验数据集,并按照用户ID划分交互数据以模拟联邦推荐场景。采用AUC以及HitRate@10作为评价指标。

由于用户记为客户端,MovieLens-1M数据集中包含有6040个用户,因此按照实际情况需要6040台智能终端进行实验,受实验资源限制,在本方法的实验过程中,多台终端的并行执行流程在一台机器上通过串行的方式模拟。图4中的(a)和(b)均表示了本发明一个实施例的实验结果,横坐标表示联邦通讯轮次,图4中的(a)和(b)的纵坐标分别为AUC与HitRate@10,其中虚线表示传统推荐模型,仅包含嵌入层和多层感知机,实线表示本发明提出的图1所示的全局模型。由实验结果可知,本发明的效果明显好于传统推荐模型,说明了本发明的有效性。

在本实施例中还提供了一种基于用户兴趣域的端到端联邦个性化推荐系统,如图1所示,该系统用于实现上述实施例。以下所使用的术语“模块”、“单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能的。

本实施例提供的一种基于无数据蒸馏的联邦学习聚合系统,包括:

图3为本发明所提出的端到端联邦个性化推荐系统的层级结构图,整体由服务端与若干客户端构成。

其中,服务端在实际应用中表示某个物品推荐平台,需要在隐私保护的条件下通过联邦学习的方式训练得到全局模型,具体流程如图2所示,在上述方法部分已经详细阐述。

客户端在实际应用中表示智能终端(如手机),物品推荐平台的注册用户通过智能终端来浏览物品,因此可认为一个终端对应一个用户,即一个客户端对应一个用户。

每个客户端包括三个模块:

数据构建模块,用于构建客户端的本地训练数据集与测试数据集。通过用户与物品的交互时间划分训练集与测试集,具体为:将客户端的本地交互数据按时间顺序排序,将前一部分数据用于构建训练集,后一部分数据用于构建测试集。

本实施例中,根据隐式反馈来构建训练数据集与测试数据集,具体为:基于用户与物品的交互数据,将与用户真实交互的物品记为正样本,并设置负采样率,在全局物品集中随机采样若干负样本,保证正样本与负样本没有交集。

模型训练模块,主要用于本地训练全局模型,其内部设置有模型架构,接收服务端发送的全局模型参数后加载最新的全局模型,基于数据构建模块获取的训练数据集对全局模型进行训练,得到梯度后,本地更新全局模型中的用户ID 嵌入层参数。

数据传输模块,用于服务端与客户端之间的数据传输,包括客户端接收服务端分发送的模型参数以及本地训练完后客户端发回给服务端的模型参数。

对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可,其余模块的实现方法此处不再赘述。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本发明的系统的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。系统实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。

以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。

相关技术
  • 一种基于深度学习的端到端说话人分割方法及系统
  • 一种业务性能端到端监控方法、系统及装置
  • 一种端到端的不定长文字识别的方法和系统
  • 一种基于用户兴趣域的端到端联邦个性化推荐方法和系统
  • 基于联邦学习的QoS预测方法及系统、客户端和服务端
技术分类

06120116341042