CN114912627A - 推荐模型训练方法、系统、计算机设备及存储介质 - Google Patents

推荐模型训练方法、系统、计算机设备及存储介质 Download PDF

Info

Publication number
CN114912627A
CN114912627A CN202210505161.0A CN202210505161A CN114912627A CN 114912627 A CN114912627 A CN 114912627A CN 202210505161 A CN202210505161 A CN 202210505161A CN 114912627 A CN114912627 A CN 114912627A
Authority
CN
China
Prior art keywords
model
target
client
update
global model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210505161.0A
Other languages
English (en)
Inventor
司世景
王健宗
朱智韬
肖京
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202210505161.0A priority Critical patent/CN114912627A/zh
Publication of CN114912627A publication Critical patent/CN114912627A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及人工智能领域,公开了一种推荐模型训练方法、系统、计算机设备及存储介质,其中方法包括:服务器将所有客户端进行K‑means聚类得到多个客户端组合,在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端,并将全局模型发送至每一目标客户端;目标客户端根据本地数据集和全局模型更新目标客户端的推荐模型,并根据本地数据集更新全局模型得到更新参数数据;服务器根据接收到的多个更新参数数据更新全局模型,得到新的全局模型,直至新的全局模型满足收敛条件停止更新推荐模型;本发明提高了模型精度,并确保了不同类别客户端参与的公平性,使得各客户端的推荐模型均具有较好的性能,从而提高了联邦推荐系统的公平性和鲁棒性。

Description

推荐模型训练方法、系统、计算机设备及存储介质
技术领域
本发明涉及联邦学习技术领域,尤其涉及一种推荐模型训练方法、系统、计算机设备及存储介质。
背景技术
随着技术发展,用户通过可以访问到大量数据,根据本地数据训练可以预测用户的需求,从而实现准确信息推荐。但是,这些本地数据通常数据较大且涉及隐私敏感需要,无法在服务器汇总来训练模型,因此,针对推荐系统,人们提出了联邦推荐算法来实现个性化的隐私保护推荐,联邦推荐算法的主要方式是在多个采用本地数据训练局部模型,然后将局部模型进行聚合得到全局模型,重复训练直至全局模型收敛,即可使用全局模型执行用户推荐任务。
然而,当前联邦推荐系统仍然有几个较大的制约因素,其中一个重要问题就是不同的本地数据不同,在客户端本地分别进行了多轮训练,使得各局部模型参数走向相差较大,即各客户端局部模型更新之间的差异较大,无法确保联邦学习参与者之间的公平性,导致聚合的全局模型在不同具有不同的推荐效果,不同客户端间的推荐性能不一致,从而降低了联邦推荐系统的推荐公平性和鲁棒性。
发明内容
本发明提供一种推荐模型训练方法、系统、计算机设备及存储介质,以解决现有联邦推荐系统中客户端间的推荐性能不一致,从而降低了联邦推荐系统的推荐公平性和鲁棒性的技术问题。
提供一种推荐模型训练方法,包括:
服务器将所有客户端进行K-means聚类得到多个客户端组合,在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端,并将全局模型发送至每一目标客户端;
目标客户端根据本地数据集和全局模型更新目标客户端的推荐模型,并根据本地数据集更新全局模型得到全局模型的更新参数数据,并将更新参数数据发送至服务器;
服务器根据接收到的多个更新参数数据更新全局模型,得到新的全局模型;
在新的全局模型未满足收敛条件时,服务器重新将所有客户端进行聚类得到多个目标客户端,并将新的全局模型发送至各目标客户端,以接收各目标客户端返回的更新参数数据并对全局模型进行更新,直至最新的全局模型满足收敛条件时,通知各客户端停止更新推荐模型。
进一步地,根据本地数据集和全局模型,对目标客户端的推荐模型进行更新之前,方法还包括:
服务器对每一客户端组合中所有客户端的推荐模型进行加权平均,得到客户端组合对应的组合代表模型;
服务器将对应的组合代表模型发送至客户端组合对应的目标客户端,以使目标客户端根据本地数据集、接收的组合代表模型和全局模型,对目标客户端的推荐模型进行更新。
进一步地,根据本地数据集、接收的组合代表模型和全局模型,对目标客户端的推荐模型进行更新,包括:
目标客户端根据本地数据集更新目标客户端的推荐模型,得到推荐模型的更新梯度;
目标客户端根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行更新。
进一步地,推荐模型的更新梯度包括推荐模型的交互层更新梯度,根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行更新,包括:
目标客户端提取全局模型的交互层参数,并提取组合代表模型的交互层参数;
目标客户端根据推荐模型的交互层更新梯度、全局模型的交互层参数和组合代表模型的交互层参数,计算得到目标交互层参数;
目标客户端将当前推荐模型的交互层参数,更新为目标交互层参数。
进一步地,根据本地数据集更新全局模型得到全局模型的更新参数数据,包括:
目标客户端采用梯度下降法,根据本地数据集对全局模型进行多轮更新;
当目标客户端对全局模型的更新轮数为预设轮次数时,目标客户端将目标客户端更新全局模型得到的模型,输出为客户端全局模型,并将客户端全局模型的参数记为更新模型参数;
目标客户端将客户端全局模型与全局模型之间的损失梯度,作为全局模型的更新梯度,并将更新模型参数和更新梯度作为更新参数数据。
进一步地,更新参数数据包括更新梯度和更新模型参数,根据接收到的多个更新参数数据更新全局模型,得到最新的全局模型,包括:
服务器根据多个更新模型参数和对应的多个更新梯度,对全局模型的不同网络层参数进行更新计算,得到全局模型的目标模型参数,目标模型参数包括目标用户层参数、目标物品层参数和目标交互层参数;
服务器将目标用户层参数、目标物品层参数和目标物品层参数更新至全局模型,得到最新的全局模型。
进一步地,根据多个更新模型参数和对应的多个更新梯度,对全局模型的不同网络层参数进行更新计算,得到全局模型的目标模型参数,包括:
服务器提取每一更新模型参数中用户层更新参数、物品层更新参数和交互层更新参数,并提取对应更新梯度中的用户层更新梯度、物品层更新梯度;
根据目标客户端对应的用户层更新梯度,确定目标客户端对应的从属客户端的用户层更新梯度,再根据所有客户端的用户层更新梯度计算得到目标用户层参数,从属客户端为与目标客户端在同一客户端组合内的其他客户端;
根据每一目标客户端对应的物品层更新参数和物品层更新梯度,计算得到所有目标客户端对全局模型更新后的目标物品层参数;
对所有目标客户端的交互层更新参数进行加权计算,得到目标交互层参数。
提供一种推荐模型训练系统,包括:
服务器,用于将所有客户端进行K-means聚类得到多个客户端组合,在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端,并将全局模型发送至每一目标客户端;
目标客户端,用于根据本地数据集和全局模型更新目标客户端的推荐模型,并根据本地数据集更新全局模型得到全局模型的更新参数数据,并将更新参数数据发送至服务器;
服务器还用于:
根据接收到的多个更新参数数据更新全局模型,得到新的全局模型;
在新的全局模型未满足收敛条件时,重新将所有客户端进行聚类得到多个目标客户端,并将新的全局模型发送至各目标客户端,以接收各目标客户端返回的更新参数数据并对全局模型进行更新,直至最新的全局模型满足收敛条件时,通知各客户端停止更新推荐模型。
提供一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现上述推荐模型训练方法的步骤。
提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述推荐模型训练方法的步骤。
上述推荐模型训练方法、系统、计算机设备及存储介质所提供的一个方案中,服务器将所有客户端进行K-means聚类得到多个客户端组合,在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端,并将全局模型发送至每一目标客户端,然后目标客户端根据本地数据集和全局模型更新目标客户端的推荐模型,并根据本地数据集更新全局模型得到全局模型的更新参数数据,并将更新参数数据发送至服务器,服务器根据接收到的多个更新参数数据更新全局模型,得到新的全局模型,并在新的全局模型未满足收敛条件时,服务器重新将所有客户端进行聚类得到多个目标客户端,并将新的全局模型发送至各目标客户端,以接收各目标客户端返回的更新参数数据并对全局模型进行更新,直至最新的全局模型满足收敛条件时,通知各客户端停止更新推荐模型;本发明中,采用各客户端本地数据集和多个客户端聚合得到的全局模型,对各客户端对应的推荐模型进行不断更新,使得各推荐模型既参考其他客户端的数据又能贴合本地数据,提高了模型精度,在此基础上,服务器将所有客户端进行K-means聚类,然后再从每一类中抽样相同数目的客户端参与训练,使得参与客户端更均衡,确保了不同类别客户端参与的公平性,减少类别不均衡带来的负面影响,使得最终的推荐模型在不同客户端上的推荐性能不会相差甚远,均具有较好的性能,从而提高了联邦推荐系统的推荐公平性和鲁棒性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中推荐模型训练方法的一应用环境示意图;
图2是本发明一实施例中推荐模型训练方法的一信令交互图;
图3是本发明一实施例中推荐模型训练方法的一流程示意图;
图4是图2中步骤S30的实现流程示意图;
图5是图4中步骤S32的实现流程示意图;
图6是图2中步骤S40的实现流程示意图;
图7是图2中步骤S50的实现流程示意图;
图8是图2中步骤S51的实现流程示意图;
图9是本发明一实施例中推荐模型训练系统的一结构示意图;
图10是本发明一实施例中计算机设备装置的一结构示意图;
图11是本发明一实施例中计算机设备的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的推荐模型训练方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。
在需要进行推荐模型训练或更新时,服务器将所有需要参与的客户端进行K-means聚类得到多个客户端组合,在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端,并将全局模型发送至每一目标客户端,然后目标客户端根据本地数据集和全局模型更新目标客户端的推荐模型,并根据本地数据集更新全局模型得到全局模型的更新参数数据,并将更新参数数据发送至服务器,服务器根据接收到的多个更新参数数据更新全局模型,得到新的全局模型,并在新的全局模型未满足收敛条件时,服务器重新将所有客户端进行聚类得到多个目标客户端,并将新的全局模型发送至各目标客户端,以接收各目标客户端返回的更新参数数据并对全局模型进行更新,直至最新的全局模型满足收敛条件时,通知各客户端停止更新推荐模型;本实施例中采用各客户端本地数据集和多个客户端聚合得到的全局模型,对各客户端对应的推荐模型进行不断更新,使得各推荐模型既参考其他客户端的数据又能贴合本地数据,提高了模型精度,在此基础上,服务器将所有客户端进行K-means聚类,然后再从每一类中抽样相同数目的客户端参与训练,使得参与客户端更均衡,确保了不同类别客户端参与的公平性,减少类别不均衡带来的负面影响,使得最终的推荐模型在不同客户端上的推荐性能不会相差甚远,均具有较好的性能,从而提高了联邦推荐系统的推荐公平性和鲁棒性,进而提高联邦推荐系统的推荐准确度,有效提升了联邦推荐系统的人工智能化,利于增加客户满意度。
本实施例中,全局模型、客户端返回的更新参数数据等数据,存储在服务器的数据库中,客户端的本地数据集、推荐模型等数据,存储在客户端的数据库中,以便后续执行推荐模型训练任务时,直接根据需求在对应数据库中获取相关数据,以减少模型训练时间,从而提高模型训练的效率。
本实施例中的数据库存储于区块链网络中,用于存储推荐模型方法中用到、生成的数据,如全局模型、客户端返回的更新参数数据、本地数据集、推荐模型等数据等相关数据。本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。将数据库部署于区块链可提高数据存储的安全性。
其中,客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种推荐模型训练方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S10:服务器将所有客户端进行K-means聚类得到多个客户端组合,在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端。
在执行预推荐模型训练任务时,服务器确定需要进行推荐模型训练的所有客户端,然后将所有客户端进行K-means聚类得到多个客户端组合,每个客户端组合包括多个客户端;然后服务器在每一客户端组合中随机选取相同数量的客户端,作为本轮次参与训练的目标客户端,最终在多个客户端组合中选取得到多个目标客户端。
需要理解的是,传统联邦学习算法仅使用随机方式选取客户端参与训练,但该方式无法确保不同类客户端的公平性,最终导致训练得到的模型性能不够。例如,若20个客户端可分为3类,每一类客户端的客户端数量分别为2、3、15个,则每轮训练这三类客户端被抽中概率分别为2/20、3/20、15/20,随机抽取概率相差较大,最终训练得到的模型不可避免地会过多偏向第三类客户端,使得模型对第三类客户端用户给出的推荐结果准确度较高,而对其余两类客户端用户给出的推荐结果的准确度较低。因此,本申请在每轮训练时通过K-means聚类对所有客户端进行聚类,使得每一类客户端数目相同,再选取每一类中相同数量的客户端作为目标客户端参与训练,可以提高他类别客户端参与的公平性。
而若能够事先较为准确地将同一类用户划分到同一簇内,则三类用户均将参与到本轮训练中,且权重相差不大,最终得到的推荐模型将对三类用户给出准确度大致相同的推荐结果。
S20:服务器将全局模型发送至目标客户端。
在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端之后,服务器会将全局模型发送至每一目标客户端。
S30:目标客户端根据本地数据集和全局模型更新目标客户端的推荐模型。
在服务器将全局模型发送至每一目标客户端之后,目标客户端接收全局模型,并获取该目标客户端上的本地数据集,然后根据本地数据集和全局模型更新目标客户端的推荐模型并进行保存。
其中,目标客户端可以采用梯度下降法,根据本地数据集和全局模型更新目标客户端的推荐模型,具体包括:目标客户端先根据本地数据集更新推荐模型,得到更新推荐模型后的损失梯度,然后根据全局模型、推荐模型和校正系数,计算得到校正梯度,再根据校正梯度和损失梯度,采用梯度下降法对推荐模型进行校正更新,直至模型更新轮数为预设轮次数。
其中,校正梯度的计算方式为:
Figure BDA0003637192430000071
其中,
Figure BDA0003637192430000072
表示第k个目标客户端在第r训练轮次的校正梯度;
Figure BDA0003637192430000073
表示第k个目标客户端本地保存的最新的推荐模型,可以理解为该目标客户端在上一训练轮次(即第r-1训练轮次)更新得到的推荐模型;μ为校正系数;||·||表示二范数;wr-1表示在第r训练轮次时服务器发送至客户端的全局模型,即上一训练轮次(第r-1训练轮次)时服务器更新得到的全局模型;
Figure BDA0003637192430000074
表示该目标客户端根据本地数据集对,目标客户端本地的推荐模型
Figure BDA0003637192430000075
进行更新计算得到的损失函数梯度。
本实施例中,在计算校正梯度时,不仅考虑到了全局模型、推荐模型和校正系数,还将根据本地数据集更新推荐模型后的损失梯度作为影响参数,进一步地提高了校正梯度的准确性。
在根据全局模型、推荐模型和校正系数计算得到校正梯度之后,目标客户端根据校正梯度和学习率(该学习率为预先标定的参数),采用梯度下降法对推荐模型进行校正更新,并重复多轮,直至模型更新轮数为预设轮次数(该预设轮次数为客户端更新时的轮次数,例如预设轮次数为E,E为大于2的整数),得到当前训练轮次(该训练轮次为推荐模型训练任务的总轮次数)更新得到的推荐模型。采用梯度下降法更新推荐模型,能够得到性能较为稳定的推荐模型,提高了推荐模型的精度,在其他实施例中,为提高训练效率,可以在获得校正梯度之后,仅根据校正梯度和损失梯度对推荐模型进行一次或两次更新,得到新的推荐模型。
其中,采用梯度下降法对推荐模型进行校正更新,推荐模型的更新公式可以如下:
Figure BDA0003637192430000081
根据前述公式,推荐模型的更新方式具体为:
Figure BDA0003637192430000082
其中,
Figure BDA0003637192430000083
表示第k个目标客户端在第r训练轮次时更新得到的推荐模型;
Figure BDA0003637192430000084
表示第k个目标客户端在上一训练轮次(即第r-1训练轮次)更新得到的推荐模型,即保存在目标客户端本地的最新的推荐模型;η为学习率;μ为校正系数;||·||表示二范数;wr-1表示在第r训练轮次时服务器发送至客户端的全局模型,即上一训练轮次(第r-1训练轮次)时服务器更新得到的全局模型;
Figure BDA0003637192430000085
表示该客户端根据本地数据集对上一训练轮次更新得到的推荐模型
Figure BDA0003637192430000086
进行更新计算得到的损失函数梯度。
根据上述公式可知,在利用本地数据更新推荐模型的基础上,即自身梯度更新基础上,额外地以矢量和的形式添加了一个方向朝向上一训练轮次全局模型参数、大小与自身梯度一致的校正梯度,使得各客户端本地的推荐模型既按照最符合自身需求的方向更新,又使用到了所有客户端聚合的总体模型(即全局模型)的信息,使得客户端的推荐模型性能不会发生较大偏离,提高了客户端的推荐模型的精度。
S40:目标客户端根据本地数据集更新全局模型得到全局模型的更新参数数据,并将更新参数数据发送至服务器。
在服务器将全局模型发送至每一目标客户端之后,目标客户端根据本地数据集和全局模型更新目标客户端的推荐模型的同时,还会根据本地数据集更新全局模型,从而得到更新全局模型后的更新参数数据,在根据本地数据集更新全局模型得到全局模型的更新参数数据之后,目标客户端会将更新全局模型得到的更新参数数据发送至服务器。
S50:服务器根据接收到的多个更新参数数据更新全局模型,得到新的全局模型。
在目标客户端将更新参数数据发送至服务器之后,服务器接收各目标客户端发送的更新参数数据,并根据接收到的多个更新参数数据更新全局模型,得到新的全局模型。
S60:确定新的全局模型是否满足收敛条件。
S70:若新的全局模型未满足收敛条件,则服务器重新将所有客户端进行聚类得到多个目标客户端,并将新的全局模型发送至各目标客户端,以接收各目标客户端返回的更新参数数据并对全局模型进行更新,直至最新的全局模型满足收敛条件。
S80:若新的全局模型满足收敛条件,则通知各客户端停止更新推荐模型。
在服务器根据接收到的多个更新参数数据更新全局模型,得到新的全局模型之后,服务器还会判断更新的全局模型是否满足收敛条件,若新的全局模型未满足收敛条件,重复执行S10-S50的步骤并重复多轮,直至更新的全局模型满足收敛条件,并在新的全局模型满足收敛条件时通知各客户端停止更新推荐模型。即,在新的全局模型未满足收敛条件时,服务器重新将所有客户端进行K-means聚类,并在聚类得到的多个客户端组合中选取系统数量的目标客户端参与训练,然后服务器将新的全局模型发送至多个目标客户端,以使多个目标客户端重复步骤S30-S40,即目标客户端继续根据本地数据集和新的全局模型对客户端本地的推荐模型进行更新,并根据本地数据集对新的全局模型进行更新得到全局模型的更新参数数据,然后目标客户端将更新参数数据发送给服务器,服务器接收多个客户端返回的更新参数数据,并根据多个目标客户端返回的本更新参数数据对全局模型进行更新,直至更新后的全局模型满足收敛条件时,将停止更新通知发送给各客户端,以通知各客户端停止更新推荐模型。
本实施例中,为保证所有客户端的推荐模型均得到更新,收敛条件可以是确定所有客户端的推荐模型至少参与一轮更新;在确保模型精度的基础上,为减少训练轮次数而加快模型收敛,收敛条件可以是该预推荐模型训练任务的总训练轮次数达到预设训练轮次数,其中,预设训练轮次数可以是根据实际模型的预测效果确定的轮次数。在其他实施例中,还可以在对所有客户端进行K-means聚类,发现客户端组合中的客户端成员不发生变化时,确定全局模型满足收敛条件,即收敛条件还可以是对所有客户端进行K-means聚类而客户端组合中的客户端成员不发生变化。
本实施例中,服务器将所有需要参与的客户端进行K-means聚类得到多个客户端组合,在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端,并将全局模型发送至每一目标客户端,然后目标客户端根据本地数据集和全局模型更新目标客户端的推荐模型,并根据本地数据集更新全局模型得到全局模型的更新参数数据,并将更新参数数据发送至服务器,服务器根据接收到的多个更新参数数据更新全局模型,得到新的全局模型,并在新的全局模型未满足收敛条件时,服务器重新将所有客户端进行聚类得到多个目标客户端,并将新的全局模型发送至各目标客户端,以接收各目标客户端返回的更新参数数据并对全局模型进行更新,直至最新的全局模型满足收敛条件时,通知各客户端停止更新推荐模型;本实施例中采用各客户端本地数据集和多个客户端聚合得到的全局模型,对各客户端对应的推荐模型进行不断更新,使得各推荐模型既参考其他客户端的数据又能贴合本地数据,提高了模型精度,在此基础上,服务器将所有客户端进行K-means聚类,然后再从每一类中抽样相同数目的客户端参与训练,使得参与客户端更均衡,确保了不同类别客户端参与的公平性,减少类别不均衡带来的负面影响,使得最终的推荐模型在不同客户端上的推荐性能不会相差甚远,均具有较好的性能,从而提高了联邦推荐系统的推荐公平性和鲁棒性。
此外,由于服务器将所有客户端进行K-means聚类,然后再从每一类中抽样相同数目的目标客户端参与训练,每轮次更新时仅需要对目标客户端的推荐模型进行更新,减少了数据处理量,加快了全局模型参数的更新迭代,有效地加快了模型收敛速度,从而减少了整个系统的总计算开销,减小对参与客户端计算能力的要求,提高参各客户端参与的积极性。
在服务器通知各客户端停止更新推荐模型,即客户端接收到服务器的停止更新通知之后,客户端可以将客户端本地最新更新得到的推荐模型,作为该客户端自身的目标推荐模型,以便后续客户端采用该目标推荐模型进行信息推荐。
在其他实施例中,为减少部分客户端未参与更新轮次导致客户端的推荐模型未得到更新的情况,在服务器通知各客户端停止更新推荐模型,即客户端接收到服务器的停止更新通知之后,服务器可以将最后一轮中目标客户端更新得到的推荐模型,作为同一客户端组合内所有客户端的目标推荐模型,即最后一轮中目标客户端更新得到的推荐模型与其他同类客户端共享,由于同一类客户端差别不大,共享更新模型度自身推荐效果差距不大;其中,未进一步提高各客户端的推荐效果,也可以在服务器通知各客户端停止更新推荐模型,即客户端接收到服务器的停止更新通知之后,服务器可以将同一客户端组合内所有客户端的推荐模型进行加权平均,然后将加权平均得到组合代表模型,作为该同一客户端组合内所有客户端的目标推荐模型。本实施例中提出了同一客户端组合共享更新的模型更新策略,仅需要计算代表用户的模型更新,就可以将其更新与其从属用户(即与目标客户端在同一客户端组合的其他客户端)共享,即便其他客户端未得到更新或充分更新,也能得到更新的推荐模型,提高了推荐模型的性能。
在一实施例中,在将所有客户端进行K-means聚类得到多个客户端组合,在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端之后,将全局模型发送给目标客户端之前,还需要将每一客户端组合中所有客户端的推荐模型进行加权平均,并将加权平均得到的模型作为该客户端组合的组合代表模型,以便后续将全局模型发至所有目标客户端时,将组合代表模型发送至对应目标客户端。
如图3所示,步骤S30之前,即根据本地数据集和全局模型,对目标客户端的推荐模型进行更新之前,该方法具体包括如下步骤:
S01:服务器对每一客户端组合中所有客户端的推荐模型进行加权平均,得到客户端组合对应的组合代表模型。
在将所有客户端进行K-means聚类得到多个客户端组合,在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端之后,将全局模型发送给目标客户端之前,服务器将每一客户端组合中所有客户端的推荐模型进行加权平均,得到加权平均后的模型,作为该客户端组合对应的组合代表模型。
其中,对每一客户端组合中所有客户端的推荐模型进行加权平均,得到客户端组合对应的组合代表模型,包括:确定客户端组合中所有客户端的权重,并确定各客户端的推荐模型对应的模型参数;然后将各客户端的权重和各客户端对应的模型参数进行加权平均计算,得到组合代表模型参数,即组合代表模型。
其中,客户端的权重根据该客户端组合中各客户端的本地数据集的数据量确定,每一客户端的权重,是该客户端组合中各客户端的本地数据集对应的本地数据量,在该客户端组合的总本地数据量(即该客户端组合中所有客户端的总本地数据集汇总后的本地数据量)的占比,根据各客户端的本地数据集的数据量确定权重,更为准确。
其中,组合代表模型通过如下公式计算:
Figure BDA0003637192430000111
其中,
Figure BDA0003637192430000112
表示第r训练轮次第p个客户端组合的组合代表模型参数(组合代表模型);
Figure BDA0003637192430000113
表示第r训练轮次第p个客户端组合中第n个客户端的模型参数(推荐模型),δ为第p个客户端组合中所有客户端的本地数据集汇总后的总本地数据量;δn为第p个客户端组合中第n个客户端的权重,即第n个客户端的本地数据集对应的本地数据量,在该客户端组合的总本地数据量的占比,m为第p个客户端组合中客户端总数。
S02:服务器将对应的组合代表模型发送至客户端组合对应的目标客户端,以使目标客户端根据本地数据集、接收的组合代表模型和全局模型,对目标客户端的推荐模型进行更新。
在得到客户端组合对应的组合代表模型之后,服务器将对应的组合代表模型发送至客户端组合对应的目标客户端,以使目标客户端根据本地数据集、接收的组合代表模型和全局模型,对目标客户端的推荐模型进行更新。
本实施例中,根据本地数据集和全局模型,对目标客户端的推荐模型进行更新之前,服务器还对每一客户端组合中所有客户端的推荐模型进行加权平均,得到客户端组合对应的组合代表模型,然后将对应的组合代表模型发送至客户端组合对应的目标客户端,以使目标客户端根据本地数据集、接收的组合代表模型和全局模型,对目标客户端的推荐模型进行更新,通过本地数据集、组合代表模型和全局模型更新对目标客户端的推荐模型,使得推荐模型不仅考虑本地数据,还在考虑本类客户端对自身的影响,并考虑了其他不同类客户端对自身的影响,进而提高了推荐模型的精度。
在一实施例中,如图4所示,步骤S30或步骤S02中,即根据本地数据集和全局模型更新目标客户端的推荐模型,或根据本地数据集、接收的组合代表模型和全局模型,对目标客户端的推荐模型进行更新,具体包括如下步骤:
S31:目标客户端根据本地数据集更新目标客户端的推荐模型,得到推荐模型的更新梯度。
在接收到服务器发送的全局模型,并接收到服务器发送的组合代表模型之后,目标客户端会通过数据抓取装置抓取本地数据,以生产本地数据集,然后根据本地数据集更新目标客户端的推荐模型,得到推荐模型的更新梯度。
S32:目标客户端根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行更新。
在根据本地数据集更新目标客户端的推荐模型,得到推荐模型的更新梯度之后,目标客户端根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行更新,得到新的推荐模型。
其中,根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行更新,可以更新一次或两次得到新的推荐模型,也可以采用梯度下降法,根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行多轮更新得到新的推荐模型,从而提高推荐模型的精度。
其中,采用梯度下降法,根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行多轮更新,包括:
S301:客户端根据全局模型、组合代表模型和校正系数,计算得到校正梯度。
在根据本地数据集更新目标客户端的推荐模型,得到推荐模型的更新梯度后,客户端根据全局模型、推荐模型和校正系数,计算得到校正梯度。
其中,校正梯度的计算方式为:
Figure BDA0003637192430000121
其中,
Figure BDA0003637192430000122
表示第k个目标客户端在第r训练轮次的校正梯度;
Figure BDA0003637192430000123
表示第p个客户端组合对应的组合代表模型,即对第k个目标客户端及其在上一训练轮次(即第r-1训练轮次)中的从属客户端的推荐模型进行加权平均后得到的组合代表模型,其中,目标客户端的从属客户端为与该目标客户端在同一客户端组合的其他客户端;μ为校正系数;||·||表示二范数;wr-1表示在第r训练轮次时服务器发送至目标客户端的全局模型,即上一训练轮次(第r-1训练轮次)时服务器更新得到的全局模型;
Figure BDA0003637192430000131
表示该客户端根据本地数据集对目标客户端本地的推荐模型,进行更新计算得到的损失函数梯度,即推荐模型的更新梯度。
本实施例中,在计算校正梯度时,不仅考虑到了全局模型,还将组合代表模型,以及根据本地数据集更新推荐模型后的损失梯度作为影响参数,进一步地提高了校正梯度的准确性。
在其他实施例中,校正梯度的计算方式还可以为:
Figure BDA0003637192430000132
其中,公式中各参数含义如上所示,在此不在赘述。
S302:客户端根据校正梯度和损失梯度,采用梯度下降法对推荐模型进行校正更新,直至模型更新轮数为预设轮次数。
在根据全局模型、组合代表模型和校正系数计算得到校正梯度之后,客户端根据校正梯度和学习率(该学习率为预先标定的参数),采用梯度下降法对推荐模型进行校正更新,并重复多轮,直至模型更新轮数为预设轮次数(该预设轮次数为客户端更新时的轮次数,例如预设轮次数为E,E为大于2的整数),得到当前训练轮次(该训练轮次为推荐模型训练任务的总轮次数)更新得到的推荐模型。采用梯度下降法更新推荐模型,能够得到性能较为稳定的推荐模型,提高了推荐模型的精度,在其他实施例中,为提高训练效率,可以在获得校正梯度之后,仅根据校正梯度和损失梯度对推荐模型进行一次或两次更新,得到新的推荐模型。
其中,采用梯度下降法对推荐模型进行校正更新,推荐模型的更新公式可以如下:
Figure BDA0003637192430000133
其中,
Figure BDA0003637192430000134
表示第k个目标客户端在第r训练轮次时更新得到的推荐模型;
Figure BDA0003637192430000135
表示保存在客户端本地的最新的推荐模型;η为学习率;μ为校正系数;||·||表示二范数;
Figure BDA0003637192430000136
表示第k个目标客户端在第r训练轮次的校正梯度;
Figure BDA0003637192430000137
表示第p个客户端组合对应的组合代表模型,即对第k个目标客户端及其在上一训练轮次(即第r-1训练轮次)中的从属客户端的推荐模型进行加权平均后得到的组合代表模型,其中,目标客户端的从属客户端为与该目标客户端在同一客户端组合的其他客户端;wr-1表示在第r训练轮次时服务器发送至目标客户端的全局模型,即上一训练轮次(第r-1训练轮次)时服务器更新得到的全局模型;
Figure BDA0003637192430000141
表示该客户端根据本地数据集对目标客户端本地的推荐模型,进行更新计算得到的损失函数梯度(即推荐模型的更新梯度)。
本实施例中,在利用本地数据更新推荐模型的基础上,即自身梯度更新基础上,额外地以矢量和的形式添加了一个方向朝向上一训练轮次全局模型参数、大小与自身梯度一致的校正梯度,使得各客户端本地的推荐模型既按照最符合自身需求的方向更新,又使用到了所有客户端聚合的总体模型(即全局模型)的信息,使得客户端的推荐模型性能不会发生较大偏离,此外,校正梯度还以上一训练轮次时同一客户端组合的加权平均模型(组合代表模型)为基准,进一步确保了校正梯度的准确性,从而进一步地提高了目标客户端更新得到的推荐模型的精度。
本实施例中,目标客户端根据本地数据集更新目标客户端的推荐模型,得到推荐模型的更新梯度,然后根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行更新,细化了根据本地数据集和全局模型更新目标客户端的推荐模型的步骤,使得推荐模型不仅考虑本地数据,还在考虑本类客户端对自身的影响,并考虑了其他不同类客户端对自身的影响,进而提高了推荐模型的精度。
在一实施例中,目标客户端根据本地数据集更新目标客户端的推荐模型,得到推荐模型的更新梯度包括推荐模型的交互层更新梯度。如图5所示,步骤S32中,即根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行更新,具体包括如下步骤:
S321:目标客户端提取全局模型的交互层参数,并提取组合代表模型的交互层参数。
推荐模型为双塔模型,双塔模型包括用户层(user embedding)、物品层(itemembedding)和交互层(non-embedding component),双塔模型通过构建用户和物品item两个独立的子网络,将训练好的两个“塔”中的用户层和物品层各自缓存到本地的数据库中,在使用时仅需线上在交互层计算对用户层输出的用户信息和物品层输出的物品信息进行交互计算得分即可,因此更新推荐模型时可以主要更新交互层的网络参数,即标客户端根据本地数据集更新目标客户端的推荐模型,得到推荐模型的更新梯度主要包括推荐模型的交互层更新梯度。
在获取服务发送的全局模型和目标客户端所在客户端组合对应的组合代表模型,并更新得到推荐模型的更新梯度之后,目标客户端需要提取全局模型的交互层参数,并提取组合代表模型的交互层参数。
S322:目标客户端根据推荐模型的交互层更新梯度、全局模型的交互层参数和组合代表模型的交互层参数,计算得到目标交互层参数。
在得到全局模型的交互层参数、组合代表模型的交互层参数之后,目标客户端根据推荐模型的交互层更新梯度、全局模型的交互层参数和组合代表模型的交互层参数,计算得到目标交互层参数。
其中,目标交互层参数可以通过梯度下降法得到,目标交互层参数的更新公式如下:
Figure BDA0003637192430000151
其中,
Figure BDA0003637192430000152
表示第k个目标客户端在第r训练轮次时更新得到的交互层参数,即目标交互层参数;
Figure BDA0003637192430000153
表示保存在客户端本地的推荐模型的交互层参数;η为学习率;μ为校正系数;||·||表示二范数;
Figure BDA0003637192430000154
表示第k个目标客户端在第r训练轮次的交互层校正梯度;
Figure BDA0003637192430000155
表示第p个客户端组合对应的组合代表模型的交互层参数,其中,
Figure BDA0003637192430000156
也可以通过对第k个目标客户端及其在上一训练轮次(即第r-1训练轮次)中的从属客户端的交互层参数进行加权平均后得到;wr-1[N]表示在第r训练轮次时服务器发送至目标客户端的全局模型的交互层参数,即上一训练轮次(第r-1训练轮次)时服务器更新得到的全局模型的交互层参数;
Figure BDA0003637192430000157
表示该客户端根据本地数据集对目标客户端本地的推荐模型,进行更新计算得到的交互层损失函数梯度(即推荐模型的交互层更新梯度)。
S323:目标客户端将当前推荐模型的交互层参数,更新为目标交互层参数。
在计算得到目标交互层参数之后,目标客户端将当前推荐模型(即本地保存的未进行当前训练轮次更新的推荐模型)的交互层参数,更新为目标交互层参数。
本实施例中,在利用本地数据更新推荐模型的基础上,即自身梯度更新基础上,额外地以矢量和的形式添加了一个方向朝向上一训练轮次全局模型和组合代表模型参数、大小与自身梯度一致的校正梯度,使得各客户端本地的推荐模型既按照最符合自身需求的方向更新,又使用到了所有客户端聚合的总体模型(即全局模型)的信息,使得客户端的推荐模型性能不会发生较大偏离,提高了目标交互层参数准确性,从而提的目标客户端更新得到的推荐模型的精度。
其中,目标客户端的推荐模型中物品层参数和用户层参数的更新方式可以无需变化,其中,无需如交互层参数一样进行个性化更新,仅需用目标客户端的本地数据集对本地的推荐模型进行更新即可得到。即在本实施例中,目标客户端需要先根据本地数据集更新目标客户端的推荐模型,并将更新得到的推荐模型记为第一推荐模型,并将第一推荐模型与推荐模型之间的交互层参数变化确定得到推荐模型的更新梯度;然后目标客户端通过提取全局模型的交互层参数和组合代表模型的交互层参数,并根据推荐模型的交互层更新梯度、全局模型的交互层参数和组合代表模型的交互层参数,计算得到目标交互层参数,再将当前推荐模型(此时的当前推荐模型为第一推荐模型)的交互层参数,更新为目标交互层参数,在根据本地数据集更新目标客户端的推荐模型之后,仅需根据全局模型、组合代表模型和推荐模型的更新梯度,对推荐模型的交互层参数仅需个性化更新,而无需再次更新物品层参数和用户层参数,减少数据计算量,在确保模型精度的基础上,提高了模型更新效率。
本实施例中,目标客户端通过提取全局模型的交互层参数,并提取组合代表模型的交互层参数,然后根据推荐模型的交互层更新梯度、全局模型的交互层参数和组合代表模型的交互层参数,计算得到目标交互层参数,再将当前推荐模型的交互层参数,更新为目标交互层参数,明确了根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行更新的步骤,采用个性化方式更新交互层参数,提高了目标客户端更新得到的推荐模型的精度。
在一实施例中,如图6所示,步骤S40中,即根据本地数据集更新全局模型得到全局模型的更新参数数据,具体包括如下步骤:
S41:目标客户端采用梯度下降法,根据本地数据集对全局模型进行多轮更新。
在接收到服务器发送的全局模型后,目标客户端在根据本地数据集和全局模型更新本地的推荐模型的同时,还需要采用梯度下降法,根据本地数据集对全局模型进行多轮更新,并在当前训练轮次(训练轮次为推荐模型训练任务的总训练轮次数)中,确定客目标户端对全局模型的更新轮数(更新轮数为在每一训练轮次时采用梯度下降法进行更新的轮次)是否为预设轮次数。
S42:当目标客户端对全局模型的更新轮数为预设轮次数时,目标客户端将目标客户端更新全局模型得到的模型,输出为客户端全局模型,并将客户端全局模型的参数记为更新模型参数。
在确定目标客户端对全局模型的更新轮数是否为预设轮次数之后,若目标客户端对全局模型的更新轮数小于预设轮次数,表示梯度下降未完成,则继续更新,直至客目标户端对全局模型的更新轮数为预设轮次数;若目标客户端对全局模型的更新轮数为预设轮次数,表示梯度下降完成,则目标客户端将目标客户端更新全局模型得到的模型,输出为客户端全局模型,并将客户端全局模型的参数记为更新模型参数。
其中,目标客户端对全局模型的更新方式可以如下:
Figure BDA0003637192430000171
其中,
Figure BDA0003637192430000172
表示第k个目标客户端在第r训练轮次时对全局模型更新得到的全局模型;wr-1表示在第r训练轮次时服务器发送至目标客户端的全局模型,即上一训练轮次(第r-1训练轮次)时服务器更新得到的全局模型;η为学习率;
Figure BDA0003637192430000173
表示该目标客户端根据本地数据集对第r-1训练轮次时服务器中的全局模型wr-1,进行更新计算得到的损失函数梯度。
S43:目标客户端将客户端全局模型与全局模型之间的损失梯度,作为全局模型的更新梯度,并将更新模型参数和更新梯度作为全局模型的更新参数数据。
在目标客户端将目标客户端更新全局模型得到的模型,输出为客户端全局模型之后,目标客户端将客户端全局模型与全局模型之间的损失梯度,作为全局模型的更新梯度,并将更新模型参数和更新梯度作为全局模型的更新参数数据。
本实施例中,目标客户端采用梯度下降法,根据本地数据集对全局模型进行多轮更新,当目标客户端对全局模型的更新轮数为预设轮次数时,将目标客户端更新全局模型得到的模型,输出为客户端全局模型,并将客户端全局模型的参数记为更新模型参数,然后将目标客户端全局模型与全局模型之间的损失梯度,作为全局模型的更新梯度,并将更新模型参数和更新梯度作为全局模型的更新参数数据,明确了据本地数据集更新全局模型得到全局模型的更新参数数据的具体步骤,各客户端采用梯度下降法对全局模型进行多轮更新,能够得到性能较为稳定的全局模型,提高了全局模型的更新梯度的准确性,且在客户端本地进行多轮更新,可以减少推荐模型训练任务的总训练轮次,减少服务器数据更新量,从而减少负载。
在一实施例中,全局模型的更新参数数据包括更新梯度和更新模型参数。如图7所示,步骤S50中,即根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行更新,具体包括如下步骤:
S51:服务器根据多个更新模型参数和对应的多个更新梯度,对全局模型的不同网络层参数进行更新计算,得到全局模型的目标模型参数。
在接收目标客户端发送的全局模型的更新参数数据之后,服务器根据多个目标客户端发送的更新参数数据,对全局模型的不同网络层参数进行更新计算,得到全局模型的目标模型参数。其中,全局模型与推荐模型结构一致,均为双塔模型,也即全局模型也包括用户层、物品层和交互层,因此根据多个更新模型参数和对应的多个更新梯度,对全局模型的不同网络层(包括用户层、物品层和交互层)参数进行更新计算,即根据多个更新模型参数和对应的多个更新梯度,对全局模型的不同网络层参数进行更新计算,得到全局模型的目标模型参数,目标模型参数包括目标用户层参数、目标物品层参数和目标交互层参数。
S52:服务器将目标用户层参数、目标物品层参数和目标物品层参数更新至全局模型,得到最新的全局模型。
在根据多个更新模型参数和对应的多个更新梯度,对全局模型的不同网络层参数进行更新计算,得到全局模型的目标模型参数之后,服务器将目标用户层参数、目标物品层参数和目标物品层参数更新至全局模型,得到最新的全局模型。
本实施例中,服务器根据多个更新模型参数和对应的多个更新梯度,对全局模型的不同网络层参数进行更新计算,得到全局模型的目标模型参数,目标模型参数包括目标用户层参数、目标物品层参数和目标交互层参数,然后将目标用户层参数、目标物品层参数和目标物品层参数更新至全局模型,得到最新的全局模型,细化了根据接收到的多个更新参数数据更新全局模型,得到最新的全局模型的步骤,根据多个目标客户端对全局模型更新得到的更新梯度和更新模型参数,对全局模型不同网络层参数计算,得到目标用户层参数、目标物品层参数和目标物品层参数,确保了全局模型的准确性。
在一实施例中,如图8所示,步骤S51中,即根据多个更新模型参数和对应的多个更新梯度,对全局模型的不同网络层参数进行更新计算,得到全局模型的目标模型参数,具体包括如下步骤:
S511:服务器提取每一更新模型参数中用户层更新参数、物品层更新参数和交互层更新参数,并提取对应更新梯度中的用户层更新梯度、物品层更新梯度。
在接收目标客户端发送的全局模型的更新参数数据(更新梯度和更新模型参数)之后,服务器提取每一更新模型参数中用户层更新参数、物品层更新参数和交互层更新参数,并提取对应更新梯度中的用户层更新梯度、物品层更新梯度。
S512:根据目标客户端对应的用户层更新梯度,确定目标客户端对应的从属客户端的用户层更新梯度,再根据所有客户端的用户层更新梯度计算得到目标用户层参数。
本实施例中,目标客户端对应的从属客户端为与目标客户端在同一客户端组合内的其他客户端。
在服务器提取每一更新模型参数中用户层更新参数、物品层更新参数和交互层更新参数,并提取对应更新梯度中的用户层更新梯度、物品层更新梯度之后,服务器会根据目标客户端对应的用户层更新梯度,确定目标客户端对应的从属客户端的用户层更新梯度,再根据所有客户端的用户层更新梯度计算得到目标用户层参数。
其中,根据目标客户端对应的用户层更新梯度,确定目标客户端对应的从属客户端的用户层更新梯度,再根据所有客户端的用户层更新梯度计算得到目标用户层参数,包括:根据折扣系数和目标客户端对应的用户层更新梯度,计算得到对应从属客户端的从属更新梯度;然后根据从属客户端的从属更新梯度对全局模型的用户层参数进行更新,得到从属客户端对全局模型更新后的用户层更新参数,再将所有客户端对全局模型更新后的用户层更新参数汇总得到目标用户层参数。
在确定目标客户端对应的用户层更新梯度之后,服务器需要获取预先标定的折扣系数,然后根据折扣系数和目标客户端对应的用户层更新梯度,计算得到该目标客户端对应从属客户端的从属更新梯度,然后根据从属客户端的从属更新梯度对全局模型的用户层参数进行更新,得到从属客户端对全局模型更新后的用户层更新参数,最后将所有客户端对全局模型更新后的用户层更新参数汇总得到目标用户层参数。
其中,目标客户端为d,则目标客户端集合为D,与目标客户端处于同一客户端组合的其他客户端为从属用户为s,则从属用户集合为S(注:每一训练轮次目标客户端和从属客户端会不断以重新聚类抽样方式更新),目标用户层参数通过如下方式确定:
先提取每一更新模型参数(即每一客户端发送的更新模型参数)中用户层更新参数,然后根据折扣系数和目标客户端对应的用户层更新梯度,进而计算得到从属客户端对全局模型更新后的用户层更新参数,再将所有客户端(包括目标客户端和从属客户端)的用户层更新参数汇总得到目标用户层参数:
Figure BDA0003637192430000191
其中,wr[Ud]表示在第r训练轮次时全局模型中第d个目标客户端所对应的用户层参数,即第r训练轮次时第d个目标客户端所对应的用户层更新参数;
Figure BDA0003637192430000192
表示第r训练轮次时第d个目标客户端根据本地数据集更新全局模型后,得到新的全局模型的用户层参数,即第r训练轮次时第d个目标客户端的用户更新参数;
Figure BDA0003637192430000193
表示直接将
Figure BDA0003637192430000194
赋值到服务器中全局模型的用户层中。
wr[Us]←wr-1[Us]+exp(-r)*△w[Ud]fareachs∈Sp,d∈Dp
其中,wr[Us]表示在第r训练轮次时全局模型中从属客户端s所对应的用户层参数,即第r训练轮次时第s个从属客户端所对应的用户层更新参数;wr-1[Us]表示在上一训练轮次(第r-1训练轮次)时全局模型中从属客户端s所对应的用户层参数;exp(-r)表示第r训练轮次时的折扣系数;△w[Ud]表示对应更新梯度中的用户层更新梯度,即目标客户端更新全局模型后得到的用户层更新梯度;exp(-r)*△w[Ud]则表示目标客户端对应从属客户端的用户层更新梯度;Sp表示第p各客户端组合中的从属客户端,Dp表示第p各客户端组合中目标客户端。
wr[U]=∑d∈Dwr[Ud]+∑d∈Swr[Us];
其中,wr[U]表示第r训练轮次计算得到的目标用户层参数;wr[Ud]表示在第r训练轮次时全局模型中第d个目标客户端所对应的用户层参数,即第r训练轮次第d个目标客户端所对应的用户层更新参数;wr[Us]表示在第r训练轮次时全局模型中从属客户端s所对应的用户层参数,即第r训练轮次时从属客户端s所对应的用户层更新参数。
本实施例中,不同训练轮次的折扣系统可以相同,以便后续计算;在其他实施例中,为保证精度,也可以为每一训练轮次的折扣系数不同,随着训练轮次的递增,折扣系数随之衰减。
本实施例中将提出了簇间共享(即同一客户端组合)更新的快速聚合更新策略,仅需要计算目标客户端的参数更新,就可以将其更新与其从属客户端共享,进而根据所以客户端的更新参数计算得到全局模型的参数,加快全局模型参数的更新迭代,在保证所有客户端均参与全局模型更新提高全局模型精度的基础上,有效加快了全局模型的更新效率和收敛速度。
S513:根据每一目标客户端对应的物品层更新参数和物品层更新梯度,计算得到所有目标客户端对全局模型更新后的目标物品层参数。
在服务器提取每一更新模型参数中物品层更新参数,并提取对应更新梯度中物品层更新梯度之后,服务器根据每一目标客户端对应的物品层更新参数和物品层更新梯度,计算得到所有目标客户端对全局模型更新后的目标物品层参数。
与某个客户端上用户不会出现在两个客户端组合以上的情况不同,同一个物品可能与多类用户发送过交互,即不同客户端组合的客户端数据中可能会出现同一物品信息,在进行训练时,可能选择的多个目标客户端也含有该物品信息,在更新全局模型时会重复更新,然而若是就简单地对更新后的物品向量进行平均,将会导致更新的步长变得非常小,因此为保证物品层参数更新的精度,需要收集每个目标客户端中用户交互过的所有物品,使用物品集合来共同更新物品层参数。
首先,设物品集合为I,对于第d个目标客户端,使用i表示与第d个目标客户端上用户交互过的物品,则物品i在第d个目标客户端上的变化量大小,即物品层更新梯度为:
Figure BDA0003637192430000211
其中,θd[i]表示物品i在第d个目标客户端上的变化量大小,即第r训练轮次时第d个目标客户端根据本地数据集更新全局模型得到的物品层更新梯度;
Figure BDA0003637192430000212
表示第r训练轮次时第d个目标客户端根据本地数据集更新全局模型得到的物品层参数,即第r训练轮次时第d个目标客户端的物品层更新参数;wr-1[i]表示第r-1训练轮次时服务器更新得到的全局模型的物品层参数,即第r训练轮次时第d个目标客户端接收到的全局模型。
则,根据上述θd[i],对该物品i在所有目标客户端的变化量大小进行加权平均,将得到加权平均结果,作为物品i对全局模型的物品层更新参数:
Figure BDA0003637192430000213
其中,
Figure BDA0003637192430000214
表示第r训练轮次时第d个目标客户端根据本地数据集更新全局模型后,得到新的全局模型的物品参数,即目标客户端对应的物品层更新参数;θd[i]表示第r训练轮次时目标客户端d根据本地数据集更新全局模型得到的物品层更新梯度;wr[i]表示第r训练轮次时服务器更新全局模型后物品i对应的物品层参数,即物品i对全局模型的物品层更新参数。
将第r训练轮次时所有的wr[i]汇总,得到目标物品层参数,即目标物品层参数的计算公式如下:
wr[I]=∑i∈Iwr[i];
其中,wr[I]表示目标物品层参数,wr[i]表示第r训练轮次时服务器更新全局模型后物品i对应的物品层参数。
本实施例中,避免了同一物品存在多个客户端数据中,导致更新时该物品重复叠加的问题,将任一物品对目标客户端的更新量(物品层更新梯度)进行加权平均,作为物品i对全局模型的物品层更新参数,从而得到所有目标客户端的交互物品对全局模型的更新结果,提高了全局模型中物品层参数的准确性,为后续根据全局模型更新得到性能更好的推荐模型提供了基础。
S514:对所有目标客户端的交互层更新参数进行加权计算,得到目标交互层参数。
在服务器提取每一更新模型参数中的交互层更新参数之后,对所有目标客户端的交互层更新参数进行加权计算,得到目标交互层参数。
其中,目标交互层参数通过如下方式计算:
Figure BDA0003637192430000215
其中,D表示目标客户端集合,wr[N]表示第r训练轮次时服务器更新全局模型后的交互层参数,即第r训练轮次时的目标交互层参数;
Figure BDA0003637192430000221
表示第r训练轮次时第d个目标客户端根据本地数据集更新全局模型后得到的交互层参数,即第r训练轮次时第d个目标客户端的交互层更新参数;δd表示第d个目标客户端的本地数据集的数据量大小(用户交互记录条数);δ表示第r训练轮次时所有目标客户端的总数据量大小,即将第r训练轮次所有目标客户端的本地数据集汇总后的数据量大小。
本实施例中,服务器提取每一更新模型参数中用户层更新参数、物品层更新参数和交互层更新参数,并提取对应更新梯度中的用户层更新梯度、物品层更新梯度,然后根据目标客户端对应的用户层更新梯度,确定目标客户端对应的从属客户端的用户层更新梯度,再根据所有客户端的用户层更新梯度计算得到目标用户层参数,从属客户端为与目标客户端在同一客户端组合内的其他客户端,同时根据每一目标客户端对应的物品层更新参数和物品层更新梯度,计算得到所有目标客户端对全局模型更新后的目标物品层参数,同时对所有目标客户端的交互层更新参数进行加权计算,得到目标交互层参数,明确了根据多个更新模型参数和对应的多个更新梯度,对全局模型的不同网络层参数进行更新计算,得到全局模型的目标模型参数的具有步骤,为后续根据目标用户层参数、目标物品层参数和目标交互层参数更新全面模型提供了基础。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种推荐模型训练系统,该推荐模型训练系统与上述实施例中推荐模型训练方法一一对应。如图9所示,该推荐模型训练系统包括服务器和n个客户端,n为大于1的整数。各功能模块详细说明如下:
服务器,用于将所有客户端进行K-means聚类得到多个客户端组合,在每一客户端组合选取相同数量的目标客户端,得到多个目标客户端,并将全局模型发送至每一目标客户端;
目标客户端,用于根据本地数据集和全局模型更新目标客户端的推荐模型,并根据本地数据集更新全局模型得到全局模型的更新参数数据,并将更新参数数据发送至服务器;
服务器还用于:
根据接收到的多个更新参数数据更新全局模型,得到新的全局模型;
在新的全局模型未满足收敛条件时,重新将所有客户端进行聚类得到多个目标客户端,并将新的全局模型发送至各目标客户端,以接收各目标客户端返回的更新参数数据并对全局模型进行更新,直至最新的全局模型满足收敛条件时,通知各客户端停止更新推荐模型。
进一步地,根据本地数据集和全局模型,对目标客户端的推荐模型进行更新之前,服务器还用于:
对每一客户端组合中所有客户端的推荐模型进行加权平均,得到客户端组合对应的组合代表模型;
将对应的组合代表模型发送至客户端组合对应的目标客户端,以使目标客户端根据本地数据集、接收的组合代表模型和全局模型,对目标客户端的推荐模型进行更新。
进一步地,目标客户端具体用于通过如下方式,对目标客户端的推荐模型进行更新:
根据本地数据集更新目标客户端的推荐模型,得到推荐模型的更新梯度;
根据全局模型、组合代表模型和推荐模型的更新梯度,对目标客户端当前的推荐模型进行更新。
进一步地,目标客户端具体还用于通过如下方式,对目标客户端当前的推荐模型进行更新:
提取全局模型的交互层参数,并提取组合代表模型的交互层参数;
根据推荐模型的交互层更新梯度、全局模型的交互层参数和组合代表模型的交互层参数,计算得到目标交互层参数;
将当前推荐模型的交互层参数,更新为目标交互层参数。
进一步地,目标客户端具体还用于通过如下方式,更新得到全局模型的更新参数数据:
目标客户端采用梯度下降法,根据本地数据集对全局模型进行多轮更新;
当目标客户端对全局模型的更新轮数为预设轮次数时,目标客户端将目标客户端更新全局模型得到的模型,输出为客户端全局模型,并将客户端全局模型的参数记为更新模型参数;
目标客户端将客户端全局模型与全局模型之间的损失梯度,作为全局模型的更新梯度,并将更新模型参数和更新梯度作为更新参数数据。
进一步地,更新参数数据包括更新梯度和更新模型参数,服务器具体用于通过如下方式更新得到最新的全局模型:
根据多个更新模型参数和对应的多个更新梯度,对全局模型的不同网络层参数进行更新计算,得到全局模型的目标模型参数,目标模型参数包括目标用户层参数、目标物品层参数和目标交互层参数;
将目标用户层参数、目标物品层参数和目标物品层参数更新至全局模型,得到最新的全局模型。
进一步地,服务器具体用于通过如下方式得到全局模型的目标模型参数,包括:
服务器提取每一更新模型参数中用户层更新参数、物品层更新参数和交互层更新参数,并提取对应更新梯度中的用户层更新梯度、物品层更新梯度;
根据目标客户端对应的用户层更新梯度,确定目标客户端对应的从属客户端的用户层更新梯度,再根据所有客户端的用户层更新梯度计算得到目标用户层参数,从属客户端为与目标客户端在同一客户端组合内的其他客户端;
根据每一目标客户端对应的物品层更新参数和物品层更新梯度,计算得到所有目标客户端对全局模型更新后的目标物品层参数;
对所有目标客户端的交互层更新参数进行加权计算,得到目标交互层参数。
关于推荐模型训练系统的具体限定可以参见上文中对于推荐模型训练方法的限定,在此不再赘述。上述推荐模型训练系统中服务器和客户端的各个功能可全部或部分通过软件、硬件及其组合来实现。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述推荐模型训练方法中用到、生成的数据,如全局模型、客户端发送的更新参数数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种推荐模型训练方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统和计算机程序。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种推荐模型训练方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述推荐模型训练方法中服务器或客户端的功能。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述推荐模型训练方法中服务器或客户端的功能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种推荐模型训练方法,其特征在于,包括:
服务器将所有客户端进行K-means聚类得到多个客户端组合,在每一所述客户端组合选取相同数量的目标客户端,得到多个所述目标客户端,并将全局模型发送至每一所述目标客户端;
所述目标客户端根据本地数据集和所述全局模型更新所述目标客户端的推荐模型,并根据所述本地数据集更新所述全局模型得到所述全局模型的更新参数数据,并将所述更新参数数据发送至所述服务器;
所述服务器根据接收到的多个所述更新参数数据更新所述全局模型,得到新的所述全局模型;
在新的所述全局模型未满足收敛条件时,所述服务器重新将所有所述客户端进行聚类得到多个所述目标客户端,并将新的所述全局模型发送至各所述目标客户端,以接收各所述目标客户端返回的所述更新参数数据并对所述全局模型进行更新,直至最新的所述全局模型满足所述收敛条件时,通知各所述客户端停止更新所述推荐模型。
2.如权利要求1所述的推荐模型训练方法,其特征在于,所述根据本地数据集和所述全局模型,对所述目标客户端的推荐模型进行更新之前,所述方法还包括:
所述服务器对每一所述客户端组合中所有所述客户端的推荐模型进行加权平均,得到所述客户端组合对应的组合代表模型;
所述服务器将所述对应的组合代表模型发送至所述客户端组合对应的所述目标客户端,以使所述目标客户端根据所述本地数据集、接收的所述组合代表模型和所述全局模型,对所述目标客户端的推荐模型进行更新。
3.如权利要求2所述的推荐模型训练方法,其特征在于,所述根据所述本地数据集、接收的所述组合代表模型和所述全局模型,对所述目标客户端的推荐模型进行更新,包括:
所述目标客户端根据所述本地数据集更新所述目标客户端的推荐模型,得到所述推荐模型的更新梯度;
所述目标客户端根据所述全局模型、所述组合代表模型和所述推荐模型的更新梯度,对所述目标客户端当前的所述推荐模型进行更新。
4.如权利要求3所述的推荐模型训练方法,其特征在于,所述推荐模型的更新梯度包括所述推荐模型的交互层更新梯度,所述根据所述全局模型、所述组合代表模型和所述推荐模型的更新梯度,对所述目标客户端当前的所述推荐模型进行更新,包括:
所述目标客户端提取所述全局模型的交互层参数,并提取所述组合代表模型的交互层参数;
所述目标客户端根据所述推荐模型的交互层更新梯度、所述全局模型的交互层参数和所述组合代表模型的交互层参数,计算得到目标交互层参数;
所述目标客户端将当前所述推荐模型的交互层参数,更新为所述目标交互层参数。
5.如权利要求1所述的推荐模型训练方法,其特征在于,所述根据所述本地数据集更新所述全局模型得到所述全局模型的更新参数数据,包括:
所述目标客户端采用梯度下降法,根据所述本地数据集对所述全局模型进行多轮更新;
当所述目标客户端对所述全局模型的更新轮数为预设轮次数时,所述目标客户端将所述目标客户端更新所述全局模型得到的模型,输出为客户端全局模型,并将所述客户端全局模型的参数记为更新模型参数;
所述目标客户端将所述客户端全局模型与所述全局模型之间的损失梯度,作为所述全局模型的更新梯度,并将所述更新模型参数和所述更新梯度作为所述更新参数数据。
6.如权利要求1-5任一项所述的推荐模型训练方法,其特征在于,所述更新参数数据包括更新梯度和更新模型参数,所述根据接收到的多个所述更新参数数据更新所述全局模型,得到最新的所述全局模型,包括:
所述服务器根据多个所述更新模型参数和对应的多个所述更新梯度,对所述全局模型的不同网络层参数进行更新计算,得到所述全局模型的目标模型参数,所述目标模型参数包括目标用户层参数、目标物品层参数和目标交互层参数;
所述服务器将所述目标用户层参数、所述目标物品层参数和所述目标物品层参数更新至所述全局模型,得到最新的所述全局模型。
7.如权利要求6所述的推荐模型训练方法,其特征在于,所述根据多个所述更新模型参数和对应的多个所述更新梯度,对所述全局模型的不同网络层参数进行更新计算,得到所述全局模型的目标模型参数,包括:
所述服务器提取每一所述更新模型参数中用户层更新参数、物品层更新参数和交互层更新参数,并提取对应所述更新梯度中的用户层更新梯度、物品层更新梯度;
根据所述目标客户端对应的用户层更新梯度,确定所述目标客户端对应的从属客户端的用户层更新梯度,再根据所有所述客户端的用户层更新梯度计算得到所述目标用户层参数,所述从属客户端为与所述目标客户端在同一所述客户端组合内的其他客户端;
根据每一所述目标客户端对应的所述物品层更新参数和所述物品层更新梯度,计算得到所有所述目标客户端对所述全局模型更新后的所述目标物品层参数;
对所有所述目标客户端的交互层更新参数进行加权计算,得到所述目标交互层参数。
8.一种推荐模型训练系统,其特征在于,包括:
服务器,用于将所有客户端进行K-means聚类得到多个客户端组合,在每一所述客户端组合选取相同数量的目标客户端,得到多个所述目标客户端,并将全局模型发送至每一所述目标客户端;
所述目标客户端,用于根据本地数据集和所述全局模型更新所述目标客户端的推荐模型,并根据所述本地数据集更新所述全局模型得到所述全局模型的更新参数数据,并将所述更新参数数据发送至所述服务器;
所述服务器还用于:
根据接收到的多个所述更新参数数据更新所述全局模型,得到新的所述全局模型;
在新的所述全局模型未满足收敛条件时,重新将所述所有客户端进行聚类得到多个所述目标客户端,并将新的所述全局模型发送至各所述目标客户端,以接收各所述目标客户端返回的所述更新参数数据并对所述全局模型进行更新,直至最新的所述全局模型满足所述收敛条件时,通知各所述客户端停止更新所述推荐模型。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述推荐模型训练方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述推荐模型训练方法的步骤。
CN202210505161.0A 2022-05-10 2022-05-10 推荐模型训练方法、系统、计算机设备及存储介质 Pending CN114912627A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210505161.0A CN114912627A (zh) 2022-05-10 2022-05-10 推荐模型训练方法、系统、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210505161.0A CN114912627A (zh) 2022-05-10 2022-05-10 推荐模型训练方法、系统、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN114912627A true CN114912627A (zh) 2022-08-16

Family

ID=82766496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210505161.0A Pending CN114912627A (zh) 2022-05-10 2022-05-10 推荐模型训练方法、系统、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114912627A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116226540A (zh) * 2023-05-09 2023-06-06 浙江大学 一种基于用户兴趣域的端到端联邦个性化推荐方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116226540A (zh) * 2023-05-09 2023-06-06 浙江大学 一种基于用户兴趣域的端到端联邦个性化推荐方法和系统
CN116226540B (zh) * 2023-05-09 2023-09-26 浙江大学 一种基于用户兴趣域的端到端联邦个性化推荐方法和系统

Similar Documents

Publication Publication Date Title
CN109902708B (zh) 一种推荐模型训练方法及相关装置
US20220391771A1 (en) Method, apparatus, and computer device and storage medium for distributed training of machine learning model
EP3195204B1 (en) Stream processing
CN107688493B (zh) 训练深度神经网络的方法、装置及系统
US11164081B2 (en) Synthesizing a singular ensemble machine learning model from an ensemble of models
CN112799708B (zh) 联合更新业务模型的方法及系统
CN108205570A (zh) 一种数据检测方法和装置
CN112766318B (zh) 业务任务执行方法、装置以及计算机可读存储介质
CN106982250B (zh) 信息推送方法及装置
CN114912627A (zh) 推荐模型训练方法、系统、计算机设备及存储介质
CN114912022A (zh) 预测模型训练方法、系统、计算机设备及存储介质
CN114492742A (zh) 神经网络结构搜索、模型发布方法、电子设备和存储介质
CN113448876B (zh) 一种业务测试方法、装置、计算机设备及存储介质
CN111598390B (zh) 服务器高可用性评估方法、装置、设备和可读存储介质
CN112804304B (zh) 基于多点输出模型的任务节点分配方法、装置及相关设备
CN116339932A (zh) 资源调度方法、装置和服务器
CN111836274B (zh) 一种业务处理的方法及装置
CN113891323A (zh) 一种基于WiFi的用户标签获取系统
CN113297310A (zh) 一种物联网中区块链分片验证者选取的方法
CN112241767A (zh) 管网水压监测节点布置方法、装置、设备及存储介质
CN113515383B (zh) 系统资源数据分配方法和装置
CN109816187B (zh) 信息处理方法、装置、计算机设备和存储介质
CN114118210A (zh) 基于分布式机器学习的分组训练方法、服务器及客户端
CN116562390A (zh) 多聚合节点联邦知识蒸馏学习方法、系统、设备及介质
CN116980489A (zh) 用于资源转换的比值对的处理方法、装置和计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination