CN114741611A - 联邦推荐模型训练方法以及系统 - Google Patents
联邦推荐模型训练方法以及系统 Download PDFInfo
- Publication number
- CN114741611A CN114741611A CN202210642466.6A CN202210642466A CN114741611A CN 114741611 A CN114741611 A CN 114741611A CN 202210642466 A CN202210642466 A CN 202210642466A CN 114741611 A CN114741611 A CN 114741611A
- Authority
- CN
- China
- Prior art keywords
- model
- client
- target
- federal
- determining
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 199
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000008859 change Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 24
- 230000002776 aggregation Effects 0.000 claims description 19
- 238000004220 aggregation Methods 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 6
- 238000012935 Averaging Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 16
- 238000004590 computer program Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书实施例提供联邦推荐模型训练方法以及系统,其中所述联邦推荐模型训练方法包括:响应于至少两个客户端的联邦推荐模型训练任务的处理请求,确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端,接收所述每个客户端加密上传的梯度信息及模型精度,其中,所述梯度信息及所述模型精度由每个客户端基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新生成的更新结果确定,根据所述梯度信息及所述模型精度确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种联邦推荐模型训练方法。
背景技术
目前,推荐系统已经得到了普遍应用。然而,服务机构为了进一步提升推荐系统的整体效果,通常会采取直接的数据共享方式进行机构间的合作,这无疑使得用户的数据隐私安全得不到有效地保证。因此,亟需一种有效的方法以解决此类问题。
发明内容
有鉴于此,本说明书实施例提供了一种联邦推荐模型训练方法。本说明书一个或者多个实施例同时涉及一种联邦推荐模型训练系统,一种联邦推荐模型训练装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种联邦推荐模型训练方法,应用于中心服务器,包括:
响应于至少两个客户端的联邦推荐模型训练任务的处理请求,确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端;
接收所述每个客户端加密上传的梯度信息及模型精度,其中,所述梯度信息及所述模型精度由每个客户端基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新生成的更新结果确定;
根据所述梯度信息及所述模型精度确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
可选地,所述确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端,包括:
对待训练的联邦推荐模型的模型参数进行初始化,生成初始化参数;
设置每个客户端的第一迭代次数,并将所述初始化参数及所述第一迭代次数分别对应发送至所述每个客户端;
相应的,所述接收所述每个客户端加密上传的梯度信息及模型精度,包括:
接收所述每个客户端加密上传的第一梯度信息及第一模型精度。
可选地,所述根据所述梯度信息及所述模型精度确定所述联邦推荐模型的目标参数,包括:
根据所述每个客户端的所述第一梯度信息,确定所述每个客户端的模型贡献度;
根据所述模型贡献度确定所述联邦推荐模型的目标参数。
可选地,所述根据所述每个客户端的所述第一梯度信息,确定所述每个客户端的模型贡献度,包括:
根据所述第一梯度信息进行模型聚合,生成第一中间联邦推荐模型;
将所述第一梯度信息进行加和平均,生成所述第一中间联邦推荐模型的第一目标梯度信息;
基于所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值,确定所述每个客户端的第一模型贡献度。
可选地,所述基于所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值,确定所述每个客户端的第一模型贡献度,包括:
对所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值进行求和,生成第一计算结果;
确定目标客户端的投影值与所述第一计算结果的比值,并将所述比值确定为所述目标客户端的第一模型贡献度,其中,所述目标客户端为所述每个客户端之一。
可选地,所述根据所述第一梯度信息进行模型聚合,生成第一中间联邦推荐模型,包括:
基于所述每个客户端的第一梯度信息以及所述第一模型贡献度,确定所述联邦推荐模型的第二目标梯度信息;
基于所述第二目标梯度信息对所述初始化参数进行更新,生成第一中间联邦推荐模型。
可选地,所述联邦推荐模型训练方法,还包括:
将所述第一中间联邦推荐模型发送至所述每个客户端;
接收所述每个客户端加密上传的第二模型精度,其中,所述第二模型精度由所述每个客户端将本地的测试数据输入所述第一中间联邦推荐模型获得的输出结果确定;
根据所述每个客户端的所述第一模型精度和所述第二模型精度,对所述第一中间联邦推荐模型的模型参数进行调整,生成第一目标联邦推荐模型。
可选地,所述根据所述每个客户端的所述第一模型精度和所述第二模型精度,对所述第一中间联邦推荐模型的模型参数进行调整,包括:
确定所述第二模型精度与所述第一模型精度的差值,生成所述每个客户端对应的模型精度变化值;
在所述模型精度变化值中确定满足预设条件的目标模型精度变化值;
基于所述目标模型精度变化值及所述每个客户端对应的模型精度变化值,确定所述每个客户端对应的第二模型贡献度;
根据所述第二模型贡献度对所述第一中间联邦推荐模型的模型参数进行调整。
可选地,所述联邦推荐模型训练方法,还包括:
在所述第一目标联邦推荐模型满足训练停止条件的情况下,将所述第一目标联邦推荐模型确定为所述联邦推荐模型的训练结果;
在所述第一目标联邦推荐模型不满足训练停止条件的情况下,确定所述目标客户端的第二迭代次数,将所述第一目标联邦推荐模型的模型参数及所述第二迭代次数发送至所述目标客户端。
可选地,所述确定所述目标客户端的第二迭代次数,包括:
确定所述第一中间联邦推荐模型的第一目标精度,并在所述每个客户端的第一迭代次数中确定满足预设条件的第一预设迭代次数和第二预设迭代次数;
基于所述第一目标精度、所述目标客户端的第一迭代次数、所述第一预设迭代次数以及所述第二预设迭代次数,确定所述目标客户端的第二迭代次数。
可选地,所述基于所述第一目标精度、所述目标客户端的第一迭代次数、所述第一预设迭代次数以及所述第二预设迭代次数,确定所述目标客户端的第二迭代次数,包括:
计算所述第一预设迭代次数及所述第二预设迭代次数的差值,其中,所述第一预设迭代次数大于等于所述第二预设迭代次数;
将所述第一目标精度与所述第一迭代次数的比值作为指数,输入目标指数函数,获得所述目标指数函数的函数值;
基于所述第一预设迭代次数、所述函数值、所述差值及至少一个参数值,确定所述目标客户端的第二迭代次数。
可选地,所述基于所述第一预设迭代次数、所述函数值、所述差值及至少一个参数值,确定所述目标客户端的第二迭代次数,包括:
确定所述差值与第一参数值的乘积,生成第二计算结果;
对所述函数值与第二参数值进行求和,生成第三计算结果;
确定所述第二计算结果与所述第三计算结果的比值,并将所述第一迭代次数与所述比值的差值作为所述目标客户端的第二迭代次数。
根据本说明书实施例的第二方面,提供了一种联邦推荐模型训练系统,包括:
中心服务器以及客户端;
所述中心服务器,被配置为响应于至少两个客户端的联邦推荐模型训练任务的处理请求,确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端;
所述客户端,被配置为基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新,基于更新结果确定所述联邦推荐模型的梯度信息以及模型精度,并将所述梯度信息及所述模型精度加密上传至所述中心服务器,其中,所述客户端为所述至少两个客户端之一;
所述中心服务器,还被配置为根据所述至少两个客户端的所述梯度信息及所述模型精度,确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
根据本说明书实施例的第三方面,提供了一种联邦推荐模型训练装置,包括:
确定模块,被配置为响应于至少两个客户端的联邦推荐模型训练任务的处理请求,确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端;
接收模块,被配置为接收所述每个客户端加密上传的梯度信息及模型精度,其中,所述梯度信息及所述模型精度由每个客户端基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新生成的更新结果确定;
生成模块,被配置为根据所述梯度信息及所述模型精度确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
根据本说明书实施例的第四方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现任意一项所述联邦推荐模型训练方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述联邦推荐模型训练方法的步骤。
根据本说明书实施例的第六方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述联邦推荐模型训练方法的步骤。
本说明书一个实施例响应于至少两个客户端的联邦推荐模型训练任务的处理请求,确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端,接收所述每个客户端加密上传的梯度信息及模型精度,其中,所述梯度信息及所述模型精度由每个客户端基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新生成的更新结果确定,根据所述梯度信息及所述模型精度确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
本说明书实施例中,由中心服务器将联邦推荐模型的初始化参数发送至各客户端,由各客户端利用其本地的历史对象推荐数据进行模型训练,然后将训练结果加密上传至中心服务器,通过这种方式,在无需各客户端共享其本地的历史对象推荐数据的情况下,即可实现多个客户端之间通过联邦学习的方式,训练获得目标联邦推荐模型,从而有利于防止各客户端本地所存储的用户隐私数据的泄露,从而提高数据安全性。
附图说明
图1是本说明书一个实施例提供的一种联邦推荐模型训练系统的架构图;
图2是本说明书一个实施例提供的一种联邦推荐模型训练方法的流程图;
图3是本说明书一个实施例提供的一种联邦推荐模型训练过程的示意图;
图4是本说明书一个实施例提供的一种联邦推荐模型训练方法的处理过程流程图;
图5是本说明书一个实施例提供的一种联邦推荐模型训练装置的结构示意图;
图6是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了更高效地为用户提供他们可能喜欢的物品,我们可以通过推荐系统处理用户的相关历史行为数据,通过排名和过滤等方式向用户推荐个性化的内容。在训练推荐模型过程中,如果我们使用的数据规模越大,数据质量越好,我们训练的推荐模型精度也会相对更高。因而,为了更精准的给用户推荐他们喜欢的物品,越来越多的公司逐渐意识到数据共享与数据融合的重要性,但是如果采取数据直接共享的方式,也会带来数据隐私安全等问题。
面对推荐系统中数据共享与隐私安全的矛盾,联邦学习受到了广泛的关注。联邦推荐建模可以在有效地保护用户数据隐私安全的基础上,进一步提升联邦推荐模型的精度。然而,由于联邦推荐建模中的参与方数量多、设备的差异性大、网络中的通信速度不一等因素的影响,使得联邦推荐建模的通信开销较大,极大地降低了推荐系统的实用性与用户体验。因此,本发明旨在从通信效率技术优化角度,提出了对联邦推荐建模的优化方案。
在本说明书中,提供了一种联邦推荐模型训练方法,本说明书同时涉及一种联邦推荐模型训练系统,一种联邦推荐模型训练装置,一种计算设备,一种计算机可读存储介质,以及一种计算机程序,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种联邦推荐模型训练系统的架构图,具体包括:
中心服务器102以及客户端104;
所述中心服务器102,被配置为响应于至少两个客户端104的联邦推荐模型训练任务的处理请求,确定每个客户端104的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端104;
所述客户端104,被配置为基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新,基于更新结果确定所述联邦推荐模型的梯度信息以及模型精度,并将所述梯度信息及所述模型精度加密上传至所述中心服务器102,其中,所述客户端为所述至少两个客户端之一;
所述中心服务器102,还被配置为根据所述至少两个客户端104的所述梯度信息及所述模型精度,确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
具体的,通过联邦学习进行建模是一个协作过程,在这个过程中,数据持有者(客户端104)协同训练一个全局联邦推荐模型,任何数据持有者都不需要把自己所持有的数据与其他参与模型训练的客户端进行直接的数据共享。
本说明书实施例中,需要训练联邦推荐模型的一方将联邦推荐模型训练任务发送至中心服务器102,由中心服务器102发布联邦推荐模型训练任务,等待自愿参与的数据持有者(客户端104)进行参与。
在任务发布时长(任务发布成功的时间点至当前时间点间的时长)满足预设时长阈值的情况下,参与者(至少两个客户端104)达成协同建模的意愿,开始进入模型训练过程。
这个过程中,首先由中心服务器102初始化联邦推荐模型的模型参数,并为每个参与者设置本地的第一迭代次数,然后将模型参数的初始化结果以及第一迭代次数分别发送给各参与者。
各参与者利用各自持有的数据以及第一迭代次数,对模型参数的初始化结果进行更新,并基于更新结果确定联邦推荐模型的梯度信息及模型精度,然后将梯度信息及模型精度加密上传至中心服务器102;由中心服务器102根据各参与者返回的梯度信息及模型精度进行模型聚合,生成第一中间联邦推荐模型,再根据梯度信息及模型精度确定各参与者对模型训练结果(第一中间联邦推荐模型)的贡献度,以根据贡献度对第一中间联邦推荐模型的模型参数进行更新,然后根据更新结果确定第一中间联邦推荐模型是否满足训练停止条件,若满足,即可将第一中间联邦推荐模型作为联邦推荐模型的训练结果;若不满足,即可确定各参与者的第二迭代次数,以使各参与者基于第二迭代次数继续对第一中间联邦推荐模型的模型参数进行更新,直至中心服务器聚合获得的模型满足训练停止条件为止。
本说明书实施例中,由中心服务器将联邦推荐模型的初始化参数发送至各客户端,由各客户端利用其本地的历史对象推荐数据进行模型训练,然后将训练结果加密上传至中心服务器,通过这种方式,在无需各客户端共享其本地的历史对象推荐数据的情况下,即可实现多个客户端之间通过联邦学习的方式,训练获得目标联邦推荐模型,从而有利于防止各客户端本地所存储的用户隐私数据的泄露,从而提高数据安全性。
图2示出了根据本说明书一个实施例提供的一种联邦推荐模型训练方法的流程图,具体包括以下步骤。
步骤202,响应于至少两个客户端的联邦推荐模型训练任务的处理请求,确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端。
具体的,本说明书实施例提供的联邦推荐模型训练方法,应用于中心服务器,并通过联邦学习的方式,训练获得联邦推荐模型。
由于通过联邦学习进行建模是一个协作过程,在这个过程中,数据持有者(客户端)协同训练一个全局的联邦推荐模型,任何数据持有者都不需要把自己所持有的数据与其他参与模型训练的客户端进行直接的数据共享。
本说明书实施例中,需要训练联邦推荐模型的一方将联邦推荐模型训练任务发送至中心服务器,由中心服务器发布联邦推荐模型训练任务,等待自愿参与的数据持有者进行参与。其中,在数据持有者确认参与训练联邦推荐模型的情况下,即可提交联邦推荐模型训练任务的处理请求。
实际应用中,在发布联邦推荐模型训练任务后,还可设置任务的有效时长,例如,若在当天的13:00发布联邦推荐模型训练任务,任务的有效时长设为1h,则在当天14:00之前,各数据持有者提交的处理请求均为有效,其可作为参与者进行联邦推荐模型的训练。
具体实施时,中心服务器接收到各客户端的联邦推荐模型训练任务的处理请求后,可确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端,具体可通过以下方式实现:
对待训练的联邦推荐模型的模型参数进行初始化,生成初始化参数;
设置每个客户端的第一迭代次数,并将所述初始化参数及所述第一迭代次数分别对应发送至所述每个客户端;
相应的,接收所述每个客户端加密上传的梯度信息及模型精度,包括:
接收所述每个客户端加密上传的第一梯度信息及第一模型精度。
具体的,在任务发布时长(任务发布成功的时间点至当前时间点间的时长)满足预设时长阈值的情况下,参与者(客户端)达成协同建模的意愿,开始进入模型训练过程。
这个过程中,首先由中心服务器初始化联邦推荐模型的模型参数,并为每个客户端设置本地的第一迭代次数,然后将模型参数的初始化结果以及第一迭代次数分别发送给各客户端。
各客户端利用各自持有的数据以及第一迭代次数,对模型参数的初始化结果进行更新,并基于更新结果确定联邦推荐模型的第一梯度信息及第一模型精度,然后将第一梯度信息及第一模型精度加密上传至中心服务器。
在联邦建模中,参与方不需要将所持有数据上传至中心服务器,在一定程度上保护了用户的数据隐私安全。
步骤204,接收所述每个客户端加密上传的梯度信息及模型精度,其中,所述梯度信息及所述模型精度由每个客户端基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新生成的更新结果确定。
具体的,中心服务器接收各客户端上传的第一梯度信息即第一模型精度的加密结果后,可根据加密结果中的所述第一梯度信息即第一模型精度确定联邦推荐模型的训练结果。
其中,本说明书实施例的联邦推荐模型,可用于对用户进行对象推荐,而可推荐的对象即包括但不限于商品、保险、基金、APP等。
为了更高效地为用户提供他们可能喜欢的对象,各客户端在对联邦推荐模型进行训练的过程中,即可以使用用户属性信息、用户的历史行为数据(包括但不限于用户对对象的历史浏览、点击、收藏等行为数据)以及为用户进行对象推荐的历史推荐数据等,对联邦推荐模型的初始化参数进行迭代更新,并根据更新结果确定联邦推荐模型的第一梯度信息及第一模型精度,然后将该第一梯度信息及第一模型精度加密上传至中心服务器。
其中,梯度信息为向量(矢量),自变量沿着该向量的方向变化,函数值变化最快。在模型训练中,为使模型损失函数下降最快,可让模型参数沿着梯度的负方向更新,即梯度下降;模型精度用于表征联邦推荐模型的输出结果的准确度。
本说明书实施例中,各客户端完成本地模型的训练后,需要将更新后的本地联邦推荐模型上传至中心服务器。在联邦建模中,客户端不需要将所持有数据上传至中心服务器,在一定程度上保护了用户的数据隐私安全。
另外,考虑到客户端将更新后的模型参数上传至中心服务器的过程中,仍然存在可能使得用户数据泄漏的风险。因此,本说明书实施例中,可采用拉普拉斯机制和/或指数机制对参与方更新后的模型参数进行差分隐私保护,以提高用户数据的安全性。
步骤206,根据所述梯度信息及所述模型精度,确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
具体实施时,根据所述梯度信息及所述模型精度确定所述联邦推荐模型的目标参数,包括:
根据所述每个客户端的所述第一梯度信息,确定所述每个客户端的模型贡献度;
根据所述模型贡献度确定所述联邦推荐模型的目标参数。
具体的,中心服务器接收到各客户端返回的加密数据后,可根据加密数据中各客户端的第一梯度信息和第一模型精度进行模型聚合,生成第一中间联邦推荐模型(全局的联邦推荐模型),再根据第一梯度信息及第一模型精度确定各客户端对模型训练结果(第一中间联邦推荐模型)的模型贡献度,以根据模型贡献度对第一中间联邦推荐模型的模型参数进行更新(即根据模型贡献度确定联邦推荐模型的目标参数,而目标参数即为各初始化参数的更新结果),然后根据更新结果确定第一中间联邦推荐模型是否满足训练停止条件,若满足,即可将第一中间联邦推荐模型作为联邦推荐模型的训练结果;若不满足,即可确定各参与者的第二迭代次数,以使各参与者基于第二迭代次数继续对第一中间联邦推荐模型的模型参数进行更新,直至中心服务器聚合获得的模型满足训练停止条件为止。
具体实施时,根据所述每个客户端的所述第一梯度信息,确定所述每个客户端的模型贡献度,包括:
根据所述第一梯度信息进行模型聚合,生成第一中间联邦推荐模型;
将所述第一梯度信息进行加和平均,生成所述第一中间联邦推荐模型的第一目标梯度信息;
基于所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值,确定所述每个客户端的第一模型贡献度。
进一步的,所述基于所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值,确定所述每个客户端的第一模型贡献度,包括:
对所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值进行求和,生成第一计算结果;
确定目标客户端的投影值与所述第一计算结果的比值,并将所述比值确定为所述目标客户端的第一模型贡献度,其中,所述目标客户端为所述每个客户端之一。
具体的,对于N个参与联邦建模的客户端,在第i个客户端完成本地模型训练后,可根据模型训练结果确定模型的第一梯度信息,然后将加密上传至中心服务器,中心服务器可通过公式(1)对各进行加和平均,生成全局的联邦推荐模型的第一目标梯度信息。
另外,本说明书实施例对各客户端所上传的第一梯度信息在第一目标梯度信息上的投影值,采用一种类似于归一化的方式来计算每个客户端的第一模型贡献度,具体来说,可获取前述各投影值中的最小值,若,则将各投影值增加,并通过公式(3)概率化各客户端的投影值,以确定各客户端对应的第一模型贡献度。
具体实施时,根据所述第一梯度信息进行模型聚合,以生成第一中间联邦推荐模型,具体可先基于每个客户端的第一梯度信息以及所述第一模型贡献度,确定所述联邦推荐模型的第二目标梯度信息;
基于所述第二目标梯度信息对所述初始化参数进行更新,生成第一中间联邦推荐模型。
确定第二目标梯度信息后,可根据该第二目标梯度信息对联邦推荐模型的初始化参数进行更新,生成第一中间联邦推荐模型。
进一步的,可将所述第一中间联邦推荐模型发送至所述每个客户端;
接收所述每个客户端加密上传的第二模型精度,其中,所述第二模型精度由所述每个客户端将本地的测试数据输入所述第一中间联邦推荐模型获得的输出结果确定;
根据所述每个客户端的所述第一模型精度和所述第二模型精度,对所述第一中间联邦推荐模型的模型参数进行调整,生成第一目标联邦推荐模型。
更进一步的,根据所述每个客户端的所述第一模型精度和所述第二模型精度,对所述第一中间联邦推荐模型的模型参数进行调整,包括:
确定所述第二模型精度与所述第一模型精度的差值,生成所述每个客户端对应的模型精度变化值;
在所述模型精度变化值中确定满足预设条件的目标模型精度变化值;
基于所述目标模型精度变化值及所述每个客户端对应的模型精度变化值,确定所述每个客户端对应的第二模型贡献度;
根据所述第二模型贡献度对所述第一中间联邦推荐模型的模型参数进行调整。
具体的,在生成第一中间联邦推荐模型后,可将该第一中间联邦推荐模型下发至可客户端,由各客户端利用本地的测试数据对该第一中间联邦推荐模型的模型精度进行测试,生成第二模型精度,然后将第二模型精度加密上传至中心服务器。
具体可基于第一中间联邦推荐模型的模型参数的调整结果,生成第一目标联邦推荐模型。
本说明书实施例中,由中心服务器将联邦推荐模型的初始化参数发送至各客户端,由各客户端利用其本地的历史对象推荐数据进行模型训练,然后将训练结果加密上传至中心服务器,通过这种方式,在无需各客户端共享其本地的历史对象推荐数据的情况下,即可实现多个客户端之间通过联邦学习的方式,训练获得目标联邦推荐模型,从而有利于防止各客户端本地所存储的用户隐私数据的泄露,从而提高数据安全性。
具体实施时,在生成第一目标联邦推荐模型后,可通过判断第一目标联邦推荐模型的模型精度或损失函数是否满足预设条件的方式,确定第一目标联邦推荐模型是否收敛,从而判断第一目标联邦推荐模型是否满足训练停止条件;
在所述第一目标联邦推荐模型满足训练停止条件的情况下,将所述第一目标联邦推荐模型确定为所述联邦推荐模型的训练结果;
在所述第一目标联邦推荐模型不满足训练停止条件的情况下,确定所述目标客户端的第二迭代次数,将所述第一目标联邦推荐模型的模型参数及所述第二迭代次数发送至所述目标客户端。
进一步的,确定所述目标客户端的第二迭代次数,包括:
确定所述第一中间联邦推荐模型的第一目标精度,并在所述每个客户端的第一迭代次数中确定满足预设条件的第一预设迭代次数和第二预设迭代次数;
基于所述第一目标精度、所述目标客户端的第一迭代次数、所述第一预设迭代次数以及所述第二预设迭代次数,确定所述目标客户端的第二迭代次数。
更进一步的,基于所述第一目标精度、所述目标客户端的第一迭代次数、所述第一预设迭代次数以及所述第二预设迭代次数,确定所述目标客户端的第二迭代次数,包括:
计算所述第一预设迭代次数及所述第二预设迭代次数的差值,其中,所述第一预设迭代次数大于等于所述第二预设迭代次数;
将所述第一目标精度与所述第一迭代次数的比值作为指数,输入目标指数函数,获得所述目标指数函数的函数值;
基于所述第一预设迭代次数、所述函数值、所述差值及至少一个参数值,确定所述目标客户端的第二迭代次数。
其中,基于所述第一预设迭代次数、所述函数值、所述差值及至少一个参数值,确定所述目标客户端的第二迭代次数,包括:
确定所述差值与第一参数值的乘积,生成第二计算结果;
对所述函数值与第二参数值进行求和,生成第三计算结果;
确定所述第二计算结果与所述第三计算结果的比值,并将所述第一迭代次数与所述比值的差值作为所述目标客户端的第二迭代次数。
具体的,在第一目标联邦推荐模型不满足训练停止条件的情况下,则需由各客户端继续对第一目标联邦推荐模型进行训练,这种情况下,在客户端进行本地模型训练时,为了尽可能多地利用客户端本地训练轮次的增加所带来的收益,本说明书实施例可通过量化相邻两轮模型迭代结果对应的模型精度的变化幅度,从而自适应调整每个客户端的本地迭代次数,以加速全局联邦推荐模型的收敛。
实际应用中,可利用表示客户端进行第t轮模型训练时的迭代次数与其上一轮模型训练时迭代次数的变化量。同时,为了量化客户端本地迭代次数的变化所带来的模型精度的变化趋势,可利用表示第t轮聚合得到的全局联邦推荐模型的模型精度与其相邻的上一轮次聚合得到的全局联邦推荐模型的模型精度的变化量。
其中,
在优化客户端的本地迭代次数时,可将最后两次迭代的本地迭代次数与全局联邦推荐模型的模型精度变化结合起来。当全局的联邦推荐模型的模型精度变化值小于某个阈值,表明该联邦推荐模型的收敛速度较慢。因此,在后续的迭代中,可将客户端进行模型训练时的本地迭代次数相应地减小。
为了提高联邦推荐模型的收敛速度,在联邦建模开始时,可为各客户端设置较大的本地迭代次数,随着全局联邦推荐模型的不断优化,本地迭代次数可逐渐减少。本说明书实施例利用Sigmoid函数的性质,通过一种具有指数衰减效用的本地迭代次数自适应优化算法计算客户端在进行第t轮本地模型训练时所需的本地迭代次数,算法公式如公式(9)所示。
其中,和分别是模型训练开始时中心服务器为各客户端设置的第一迭代次数中的最大和最小迭代次数;表示第t-1轮聚合得到的全局联邦推荐模型的模型精度与其相邻的上一轮次聚合得到的全局联邦推荐模型的模型精度的变化量;表示客户端进行第t-1轮模型训练时的迭代次数与其上一轮模型训练时迭代次数的变化量;表示每增加一轮训练可以给联邦联邦推荐模型的精度带来的变化幅度;为了避免为0,此处将与1进行比较并选择两者中的较大者;是一个超参数,可以用来调整各客户端的本地迭代次数的变化幅度。
进一步的,确定各客户端的第二迭代次数后,可将第一目标联邦推荐模型的模型参数及第二迭代次数对应发送至各客户端,以由各客户端基于本地的用户行为数据以及用户的对象推荐数据等继续对第一目标联邦推荐模型的模型参数进行更新,直至中心服务器聚合获得的模型满足训练停止条件为止。
本说明书实施例提供的一种联邦推荐模型训练过程的示意图如图3所示,其中,由中心服务器初始化联邦推荐模型的模型参数,并为每个参与者设置本地的第一迭代次数,然后将模型参数的初始化结果以及第一迭代次数分别发送给各参与者。
各参与者利用各自持有的数据以及第一迭代次数,对模型参数的初始化结果进行更新,以进行模型训练,并基于训练结果确定联邦推荐模型的梯度信息及模型精度,然后将梯度信息及模型精度加密上传至中心服务器;由中心服务器根据各参与者返回的梯度信息及模型精度进行模型聚合,生成第一中间联邦推荐模型,再根据梯度信息及模型精度确定各参与者对模型训练结果(第一中间联邦推荐模型)的贡献度,以根据贡献度对第一中间联邦推荐模型的模型参数进行更新,然后根据更新结果确定第一中间联邦推荐模型是否满足训练停止条件,若满足,即可将第一中间联邦推荐模型作为联邦推荐模型的训练结果;若不满足,即可确定各参与者的第二迭代次数,以使各参与者基于第二迭代次数继续对第一中间联邦推荐模型的模型参数进行更新,直至中心服务器聚合获得的模型满足训练停止条件为止。
基于此,在通过联邦学习对联邦推荐模型进行训练的过程中,不同的客户端拥有非独立同分布的数据集,因此,各客户端训练的模型具有不同的收敛速度,对各客户端对全局的联邦推荐模型的训练有不同的贡献度。本说明书实施例通过加强对联邦联邦推荐模型训练有利的客户端的权重,同时降低对联邦联邦推荐模型训练带来不利影响的客户端的权重,从而加快模型收敛速度来减少模型训练过程所需的通信次数,以提高联邦联邦推荐模型训练过程的通信效率。
另外,本说明书一个实施例响应于至少两个客户端的联邦推荐模型训练任务的处理请求,确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端,接收所述每个客户端加密上传的梯度信息及模型精度,其中,所述梯度信息及所述模型精度由每个客户端基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新生成的更新结果确定,根据所述梯度信息及所述模型精度确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
本说明书实施例中,由中心服务器将联邦推荐模型的初始化参数发送至各客户端,由各客户端利用其本地的历史对象推荐数据进行模型训练,然后将训练结果加密上传至中心服务器,通过这种方式,在无需各客户端共享其本地的历史对象推荐数据的情况下,即可实现多个客户端之间通过联邦学习的方式,训练获得目标联邦推荐模型,从而有利于防止各客户端本地所存储的用户隐私数据的泄露,从而提高数据安全性。
下述结合附图4,以本说明书提供的联邦推荐模型训练方法在对象联邦推荐模型训练场景的应用为例,对所述联邦推荐模型训练方法进行进一步说明。其中,图4示出了本说明书一个实施例提供的一种联邦推荐模型训练方法的处理过程流程图,具体包括以下步骤。
步骤402,参与方接收中心服务器分发的对象联邦推荐模型的模型参数以及训练迭代次数。
步骤404,参与方基于本地的历史推荐数据及训练迭代次数对初始化参数进行更新,并根据更新结果计算对象联邦推荐模型的损失值。
步骤406,参与方判断对象联邦推荐模型是否满足训练停止条件。
若否,则返回执行步骤404;若是,则执行步骤408。
步骤408,参与方基于初始化参数的更新结果确定对象联邦推荐模型的梯度信息以及模型精度,并将梯度信息及模型精度加密上传至中心服务器。
步骤410,中心服务器根据各参与方返回的梯度信息及模型精度进行模型聚合,生成第一中间联邦推荐模型。
步骤412,中心服务器判断第一中间联邦推荐模型是否满足训练停止条件。
若是,则结束;若否,则执行步骤414。
步骤414,确定各参与方的第二迭代次数,将第二迭代次数即第一中间联邦推荐模型的模型参数发送至各参与方。
步骤414执行完成后,可返回执行步骤402。
以使各参与者基于第二迭代次数继续对第一中间联邦推荐模型的模型参数进行更新,直至中心服务器聚合获得的模型满足训练停止条件为止。
本说明书实施例中,由中心服务器将联邦推荐模型的初始化参数发送至各参与方,由各参与方利用其本地的历史对象推荐数据进行模型训练,然后将训练结果加密上传至中心服务器,通过这种方式,在无需各参与方共享其本地的历史对象推荐数据的情况下,即可实现多个参与方之间通过联邦学习的方式,训练获得目标联邦推荐模型,从而有利于防止各参与方本地所存储的用户隐私数据的泄露,从而提高数据安全性。
与上述方法实施例相对应,本说明书还提供了联邦推荐模型训练装置实施例,图5示出了本说明书一个实施例提供的一种联邦推荐模型训练装置的结构示意图。如图5所示,该装置包括:
确定模块502,被配置为响应于至少两个客户端的联邦推荐模型训练任务的处理请求,确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端;
接收模块504,被配置为接收所述每个客户端加密上传的梯度信息及模型精度,其中,所述梯度信息及所述模型精度由每个客户端基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新生成的更新结果确定;
生成模块506,被配置为根据所述梯度信息及所述模型精度确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
可选地,所述确定模块502,还被配置为:
对待训练的联邦推荐模型的模型参数进行初始化,生成初始化参数;
设置每个客户端的第一迭代次数,并将所述初始化参数及所述第一迭代次数分别对应发送至所述每个客户端;
相应的,所述接收模块504,还被配置为:
接收所述每个客户端加密上传的第一梯度信息及第一模型精度。
可选地,所述生成模块506,还被配置为:
根据所述每个客户端的所述第一梯度信息,确定所述每个客户端的模型贡献度;
根据所述模型贡献度确定所述联邦推荐模型的目标参数。
可选地,所述生成模块506,还被配置为:
根据所述第一梯度信息进行模型聚合,生成第一中间联邦推荐模型;
将所述第一梯度信息进行加和平均,生成所述第一中间联邦推荐模型的第一目标梯度信息;
基于所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值,确定所述每个客户端的第一模型贡献度。
可选地,所述生成模块506,还被配置为:
对所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值进行求和,生成第一计算结果;
确定目标客户端的投影值与所述第一计算结果的比值,并将所述比值确定为所述目标客户端的第一模型贡献度,其中,所述目标客户端为所述每个客户端之一。
可选地,所述生成模块506,还被配置为:
基于所述每个客户端的第一梯度信息以及所述第一模型贡献度,确定所述联邦推荐模型的第二目标梯度信息;
基于所述第二目标梯度信息对所述初始化参数进行更新,生成第一中间联邦推荐模型。
可选地,所述联邦推荐模型训练装置,还包括处理模块,被配置为:
将所述第一中间联邦推荐模型发送至所述每个客户端;
接收所述每个客户端加密上传的第二模型精度,其中,所述第二模型精度由所述每个客户端将本地的测试数据输入所述第一中间联邦推荐模型获得的输出结果确定;
根据所述每个客户端的所述第一模型精度和所述第二模型精度,对所述第一中间联邦推荐模型的模型参数进行调整,生成第一目标联邦推荐模型。
可选地,所述处理模块,还被配置为:
确定所述第二模型精度与所述第一模型精度的差值,生成所述每个客户端对应的模型精度变化值;
在所述模型精度变化值中确定满足预设条件的目标模型精度变化值;
基于所述目标模型精度变化值及所述每个客户端对应的模型精度变化值,确定所述每个客户端对应的第二模型贡献度;
根据所述第二模型贡献度对所述第一中间联邦推荐模型的模型参数进行调整。
可选地,所述联邦推荐模型训练装置,还包括发送模块,被配置为:
在所述第一目标联邦推荐模型满足训练停止条件的情况下,将所述第一目标联邦推荐模型确定为所述联邦推荐模型的训练结果;
在所述第一目标联邦推荐模型不满足训练停止条件的情况下,确定所述目标客户端的第二迭代次数,将所述第一目标联邦推荐模型的模型参数及所述第二迭代次数发送至所述目标客户端。
可选地,所述发送模块,还被配置为:
确定所述第一中间联邦推荐模型的第一目标精度,并在所述每个客户端的第一迭代次数中确定满足预设条件的第一预设迭代次数和第二预设迭代次数;
基于所述第一目标精度、所述目标客户端的第一迭代次数、所述第一预设迭代次数以及所述第二预设迭代次数,确定所述目标客户端的第二迭代次数。
可选地,所述发送模块,还被配置为:
计算所述第一预设迭代次数及所述第二预设迭代次数的差值,其中,所述第一预设迭代次数大于等于所述第二预设迭代次数;
将所述第一目标精度与所述第一迭代次数的比值作为指数,输入目标指数函数,获得所述目标指数函数的函数值;
基于所述第一预设迭代次数、所述函数值、所述差值及至少一个参数值,确定所述目标客户端的第二迭代次数。
可选地,所述发送模块,还被配置为:
确定所述差值与第一参数值的乘积,生成第二计算结果;
对所述函数值与第二参数值进行求和,生成第三计算结果;
确定所述第二计算结果与所述第三计算结果的比值,并将所述第一迭代次数与所述比值的差值作为所述目标客户端的第二迭代次数。
上述为本实施例的一种联邦推荐模型训练装置的示意性方案。需要说明的是,该联邦推荐模型训练装置的技术方案与上述的联邦推荐模型训练方法的技术方案属于同一构思,联邦推荐模型训练装置的技术方案未详细描述的细节内容,均可以参见上述联邦推荐模型训练方法的技术方案的描述。
图6示出了根据本说明书一个实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,处理器620用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述联邦推荐模型训练方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的联邦推荐模型训练方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述联邦推荐模型训练方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述联邦推荐模型训练方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的联邦推荐模型训练方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述联邦推荐模型训练方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述联邦推荐模型训练方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的联邦推荐模型训练方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述联邦推荐模型训练方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (15)
1.一种联邦推荐模型训练方法,应用于中心服务器,包括:
响应于至少两个客户端的联邦推荐模型训练任务的处理请求,确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端;
接收所述每个客户端加密上传的梯度信息及模型精度,其中,所述梯度信息及所述模型精度由每个客户端基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新生成的更新结果确定;
根据所述梯度信息及所述模型精度确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
2.根据权利要求1所述的联邦推荐模型训练方法,所述确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端,包括:
对待训练的联邦推荐模型的模型参数进行初始化,生成初始化参数;
设置每个客户端的第一迭代次数,并将所述初始化参数及所述第一迭代次数分别对应发送至所述每个客户端;
相应的,所述接收所述每个客户端加密上传的梯度信息及模型精度,包括:
接收所述每个客户端加密上传的第一梯度信息及第一模型精度。
3.根据权利要求2所述的联邦推荐模型训练方法,所述根据所述梯度信息及所述模型精度确定所述联邦推荐模型的目标参数,包括:
根据所述每个客户端的所述第一梯度信息,确定所述每个客户端的模型贡献度;
根据所述模型贡献度确定所述联邦推荐模型的目标参数。
4.根据权利要求3所述的联邦推荐模型训练方法,所述根据所述每个客户端的所述第一梯度信息,确定所述每个客户端的模型贡献度,包括:
根据所述第一梯度信息进行模型聚合,生成第一中间联邦推荐模型;
将所述第一梯度信息进行加和平均,生成所述第一中间联邦推荐模型的第一目标梯度信息;
基于所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值,确定所述每个客户端的第一模型贡献度。
5.根据权利要求4所述的联邦推荐模型训练方法,所述基于所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值,确定所述每个客户端的第一模型贡献度,包括:
对所述每个客户端的第一梯度信息在所述第一目标梯度信息的投影值进行求和,生成第一计算结果;
确定目标客户端的投影值与所述第一计算结果的比值,并将所述比值确定为所述目标客户端的第一模型贡献度,其中,所述目标客户端为所述每个客户端之一。
6.根据权利要求5所述的联邦推荐模型训练方法,所述根据所述第一梯度信息进行模型聚合,生成第一中间联邦推荐模型,包括:
基于所述每个客户端的第一梯度信息以及所述第一模型贡献度,确定所述联邦推荐模型的第二目标梯度信息;
基于所述第二目标梯度信息对所述初始化参数进行更新,生成第一中间联邦推荐模型。
7.根据权利要求4至6任意一项所述的联邦推荐模型训练方法,还包括:
将所述第一中间联邦推荐模型发送至所述每个客户端;
接收所述每个客户端加密上传的第二模型精度,其中,所述第二模型精度由所述每个客户端将本地的测试数据输入所述第一中间联邦推荐模型获得的输出结果确定;
根据所述每个客户端的所述第一模型精度和所述第二模型精度,对所述第一中间联邦推荐模型的模型参数进行调整,生成第一目标联邦推荐模型。
8.根据权利要求7所述的联邦推荐模型训练方法,所述根据所述每个客户端的所述第一模型精度和所述第二模型精度,对所述第一中间联邦推荐模型的模型参数进行调整,包括:
确定所述第二模型精度与所述第一模型精度的差值,生成所述每个客户端对应的模型精度变化值;
在所述模型精度变化值中确定满足预设条件的目标模型精度变化值;
基于所述目标模型精度变化值及所述每个客户端对应的模型精度变化值,确定所述每个客户端对应的第二模型贡献度;
根据所述第二模型贡献度对所述第一中间联邦推荐模型的模型参数进行调整。
9.根据权利要求8所述的联邦推荐模型训练方法,还包括:
在所述第一目标联邦推荐模型满足训练停止条件的情况下,将所述第一目标联邦推荐模型确定为所述联邦推荐模型的训练结果;
在所述第一目标联邦推荐模型不满足训练停止条件的情况下,确定所述目标客户端的第二迭代次数,将所述第一目标联邦推荐模型的模型参数及所述第二迭代次数发送至所述目标客户端。
10.根据权利要求9所述的联邦推荐模型训练方法,所述确定所述目标客户端的第二迭代次数,包括:
确定所述第一中间联邦推荐模型的第一目标精度,并在所述每个客户端的第一迭代次数中确定满足预设条件的第一预设迭代次数和第二预设迭代次数;
基于所述第一目标精度、所述目标客户端的第一迭代次数、所述第一预设迭代次数以及所述第二预设迭代次数,确定所述目标客户端的第二迭代次数。
11.根据权利要求10所述的联邦推荐模型训练方法,所述基于所述第一目标精度、所述目标客户端的第一迭代次数、所述第一预设迭代次数以及所述第二预设迭代次数,确定所述目标客户端的第二迭代次数,包括:
计算所述第一预设迭代次数及所述第二预设迭代次数的差值,其中,所述第一预设迭代次数大于等于所述第二预设迭代次数;
将所述第一目标精度与所述第一迭代次数的比值作为指数,输入目标指数函数,获得所述目标指数函数的函数值;
基于所述第一预设迭代次数、所述函数值、所述差值及至少一个参数值,确定所述目标客户端的第二迭代次数。
12.根据权利要求11所述的联邦推荐模型训练方法,所述基于所述第一预设迭代次数、所述函数值、所述差值及至少一个参数值,确定所述目标客户端的第二迭代次数,包括:
确定所述差值与第一参数值的乘积,生成第二计算结果;
对所述函数值与第二参数值进行求和,生成第三计算结果;
确定所述第二计算结果与所述第三计算结果的比值,并将所述第一迭代次数与所述比值的差值作为所述目标客户端的第二迭代次数。
13.一种联邦推荐模型训练系统,包括:
中心服务器以及客户端;
所述中心服务器,被配置为响应于至少两个客户端的联邦推荐模型训练任务的处理请求,确定每个客户端的训练迭代次数,并将所述联邦推荐模型的初始化参数及所述训练迭代次数分别对应发送至所述每个客户端;
所述客户端,被配置为基于所述训练迭代次数及本地的历史对象推荐数据,对所述初始化参数进行迭代更新,基于更新结果确定所述联邦推荐模型的梯度信息以及模型精度,并将所述梯度信息及所述模型精度加密上传至所述中心服务器,其中,所述客户端为所述至少两个客户端之一;
所述中心服务器,还被配置为根据所述至少两个客户端的所述梯度信息及所述模型精度,确定所述联邦推荐模型的目标参数,以基于所述目标参数生成所述联邦推荐模型。
14.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至12任意一项所述联邦推荐模型训练方法的步骤。
15.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至12任意一项所述联邦推荐模型训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210642466.6A CN114741611B (zh) | 2022-06-08 | 2022-06-08 | 联邦推荐模型训练方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210642466.6A CN114741611B (zh) | 2022-06-08 | 2022-06-08 | 联邦推荐模型训练方法以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114741611A true CN114741611A (zh) | 2022-07-12 |
CN114741611B CN114741611B (zh) | 2022-10-14 |
Family
ID=82287688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210642466.6A Active CN114741611B (zh) | 2022-06-08 | 2022-06-08 | 联邦推荐模型训练方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741611B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081024A (zh) * | 2022-08-16 | 2022-09-20 | 杭州金智塔科技有限公司 | 基于隐私保护的去中心化业务模型训练方法及装置 |
CN116028719A (zh) * | 2023-03-29 | 2023-04-28 | 杭州金智塔科技有限公司 | 对象推荐方法及装置、跨域联邦商品推荐方法及装置 |
CN116227621A (zh) * | 2022-12-29 | 2023-06-06 | 国网四川省电力公司电力科学研究院 | 一种基于电力数据的联邦学习模型训练方法 |
CN116541712A (zh) * | 2023-06-26 | 2023-08-04 | 杭州金智塔科技有限公司 | 基于非独立同分布数据的联邦建模方法及系统 |
CN117421486A (zh) * | 2023-12-18 | 2024-01-19 | 杭州金智塔科技有限公司 | 基于球树算法和联邦学习的推荐模型更新系统及方法 |
CN117493662A (zh) * | 2023-10-09 | 2024-02-02 | 上海及未科技有限公司 | 一种基于联邦学习的个性化推荐方法和系统 |
CN118333192A (zh) * | 2024-06-12 | 2024-07-12 | 杭州金智塔科技有限公司 | 面向数据要素流通的联邦建模方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297848A (zh) * | 2019-07-09 | 2019-10-01 | 深圳前海微众银行股份有限公司 | 基于联邦学习的推荐模型训练方法、终端及存储介质 |
CN110442457A (zh) * | 2019-08-12 | 2019-11-12 | 北京大学深圳研究生院 | 基于联邦学习的模型训练方法、装置及服务器 |
CN111553744A (zh) * | 2020-05-08 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 联邦产品推荐方法、装置、设备及计算机存储介质 |
CN111814985A (zh) * | 2020-06-30 | 2020-10-23 | 平安科技(深圳)有限公司 | 联邦学习网络下的模型训练方法及其相关设备 |
CN112288097A (zh) * | 2020-10-29 | 2021-01-29 | 平安科技(深圳)有限公司 | 联邦学习数据处理方法、装置、计算机设备及存储介质 |
CN112329940A (zh) * | 2020-11-02 | 2021-02-05 | 北京邮电大学 | 一种结合联邦学习与用户画像的个性化模型训练方法及系统 |
CN112862011A (zh) * | 2021-03-31 | 2021-05-28 | 中国工商银行股份有限公司 | 基于联邦学习的模型训练方法、装置及联邦学习系统 |
WO2021121106A1 (zh) * | 2019-12-20 | 2021-06-24 | 深圳前海微众银行股份有限公司 | 基于联邦学习的个性化推荐方法、装置、设备及介质 |
CN113052334A (zh) * | 2021-04-14 | 2021-06-29 | 中南大学 | 一种联邦学习实现方法、系统、终端设备及可读存储介质 |
CN113159289A (zh) * | 2021-04-26 | 2021-07-23 | 平安科技(深圳)有限公司 | 基于神经网络的联邦模型的训练方法、装置及计算机设备 |
CN113626687A (zh) * | 2021-07-19 | 2021-11-09 | 浙江师范大学 | 以联邦学习为核心的在线课程推荐方法和系统 |
CN113645197A (zh) * | 2021-07-20 | 2021-11-12 | 华中科技大学 | 一种去中心化的联邦学习方法、装置及系统 |
CN113837399A (zh) * | 2021-10-26 | 2021-12-24 | 医渡云(北京)技术有限公司 | 联邦学习模型的训练方法、装置、系统、存储介质及设备 |
CN114564641A (zh) * | 2022-02-18 | 2022-05-31 | 华东师范大学 | 个性化多视图联邦推荐系统 |
-
2022
- 2022-06-08 CN CN202210642466.6A patent/CN114741611B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297848A (zh) * | 2019-07-09 | 2019-10-01 | 深圳前海微众银行股份有限公司 | 基于联邦学习的推荐模型训练方法、终端及存储介质 |
CN110442457A (zh) * | 2019-08-12 | 2019-11-12 | 北京大学深圳研究生院 | 基于联邦学习的模型训练方法、装置及服务器 |
WO2021121106A1 (zh) * | 2019-12-20 | 2021-06-24 | 深圳前海微众银行股份有限公司 | 基于联邦学习的个性化推荐方法、装置、设备及介质 |
CN111553744A (zh) * | 2020-05-08 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 联邦产品推荐方法、装置、设备及计算机存储介质 |
CN111814985A (zh) * | 2020-06-30 | 2020-10-23 | 平安科技(深圳)有限公司 | 联邦学习网络下的模型训练方法及其相关设备 |
CN112288097A (zh) * | 2020-10-29 | 2021-01-29 | 平安科技(深圳)有限公司 | 联邦学习数据处理方法、装置、计算机设备及存储介质 |
CN112329940A (zh) * | 2020-11-02 | 2021-02-05 | 北京邮电大学 | 一种结合联邦学习与用户画像的个性化模型训练方法及系统 |
CN112862011A (zh) * | 2021-03-31 | 2021-05-28 | 中国工商银行股份有限公司 | 基于联邦学习的模型训练方法、装置及联邦学习系统 |
CN113052334A (zh) * | 2021-04-14 | 2021-06-29 | 中南大学 | 一种联邦学习实现方法、系统、终端设备及可读存储介质 |
CN113159289A (zh) * | 2021-04-26 | 2021-07-23 | 平安科技(深圳)有限公司 | 基于神经网络的联邦模型的训练方法、装置及计算机设备 |
CN113626687A (zh) * | 2021-07-19 | 2021-11-09 | 浙江师范大学 | 以联邦学习为核心的在线课程推荐方法和系统 |
CN113645197A (zh) * | 2021-07-20 | 2021-11-12 | 华中科技大学 | 一种去中心化的联邦学习方法、装置及系统 |
CN113837399A (zh) * | 2021-10-26 | 2021-12-24 | 医渡云(北京)技术有限公司 | 联邦学习模型的训练方法、装置、系统、存储介质及设备 |
CN114564641A (zh) * | 2022-02-18 | 2022-05-31 | 华东师范大学 | 个性化多视图联邦推荐系统 |
Non-Patent Citations (4)
Title |
---|
CHEN ZHANG: "A survey on federated learning", 《ELSEVIER》 * |
HONGYI WANG: "FEDERATED LEARNING WITH MATCHED AVERAGING", 《ARXIV》 * |
朱智韬: "联邦推荐系统综述", 《大数据》 * |
王健宗: "联邦学习算法综述", 《大数据》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081024A (zh) * | 2022-08-16 | 2022-09-20 | 杭州金智塔科技有限公司 | 基于隐私保护的去中心化业务模型训练方法及装置 |
CN116227621A (zh) * | 2022-12-29 | 2023-06-06 | 国网四川省电力公司电力科学研究院 | 一种基于电力数据的联邦学习模型训练方法 |
CN116227621B (zh) * | 2022-12-29 | 2023-10-24 | 国网四川省电力公司电力科学研究院 | 一种基于电力数据的联邦学习模型训练方法 |
CN116028719A (zh) * | 2023-03-29 | 2023-04-28 | 杭州金智塔科技有限公司 | 对象推荐方法及装置、跨域联邦商品推荐方法及装置 |
CN116541712A (zh) * | 2023-06-26 | 2023-08-04 | 杭州金智塔科技有限公司 | 基于非独立同分布数据的联邦建模方法及系统 |
CN116541712B (zh) * | 2023-06-26 | 2023-12-26 | 杭州金智塔科技有限公司 | 基于非独立同分布数据的联邦建模方法及系统 |
CN117493662A (zh) * | 2023-10-09 | 2024-02-02 | 上海及未科技有限公司 | 一种基于联邦学习的个性化推荐方法和系统 |
CN117421486A (zh) * | 2023-12-18 | 2024-01-19 | 杭州金智塔科技有限公司 | 基于球树算法和联邦学习的推荐模型更新系统及方法 |
CN117421486B (zh) * | 2023-12-18 | 2024-03-19 | 杭州金智塔科技有限公司 | 基于球树算法和联邦学习的推荐模型更新系统及方法 |
CN118333192A (zh) * | 2024-06-12 | 2024-07-12 | 杭州金智塔科技有限公司 | 面向数据要素流通的联邦建模方法 |
CN118333192B (zh) * | 2024-06-12 | 2024-10-01 | 杭州金智塔科技有限公司 | 面向数据要素流通的联邦建模方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114741611B (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114741611B (zh) | 联邦推荐模型训练方法以及系统 | |
CN111091199B (zh) | 一种基于差分隐私的联邦学习方法、装置及存储介质 | |
CN110874648A (zh) | 联邦模型的训练方法、系统和电子设备 | |
WO2023185485A1 (zh) | 基于自适应分割联邦学习的模型训练方法和人脸识别方法 | |
CN113221183B (zh) | 实现隐私保护的多方协同更新模型的方法、装置及系统 | |
Kassab et al. | Federated generalized bayesian learning via distributed stein variational gradient descent | |
CN112989399B (zh) | 数据处理系统及方法 | |
Lu et al. | Automating deep neural network model selection for edge inference | |
CN114696990B (zh) | 基于全同态加密的多方计算方法、系统及相关设备 | |
CN114330125A (zh) | 基于知识蒸馏的联合学习训练方法、装置、设备及介质 | |
CN113761350B (zh) | 一种数据推荐方法、相关装置和数据推荐系统 | |
CN114676849A (zh) | 基于联邦学习进行模型参数更新的方法及系统 | |
CN110795768A (zh) | 基于私有数据保护的模型学习方法、装置及系统 | |
WO2024114640A1 (zh) | 一种基于用户画像的用户服务系统、方法及电子设备 | |
CN112948885A (zh) | 实现隐私保护的多方协同更新模型的方法、装置及系统 | |
CN115481441A (zh) | 面向联邦学习的差分隐私保护方法及装置 | |
CN115660116A (zh) | 基于稀疏适配器的联邦学习方法及系统 | |
Saputra et al. | Federated learning framework with straggling mitigation and privacy-awareness for AI-based mobile application services | |
CN114116705A (zh) | 联合学习中确定参与方贡献值的方法及装置 | |
Asad et al. | Moreau envelopes-based personalized asynchronous federated learning: Improving practicality in network edge intelligence | |
CN117350411A (zh) | 基于联邦学习的大模型训练、任务处理方法以及装置 | |
Zhou et al. | A Concurrent Federated Reinforcement Learning for IoT Resources Allocation With Local Differential Privacy | |
CN115510472B (zh) | 一种面向云边聚合系统的多重差分隐私保护方法及系统 | |
CN114819196B (zh) | 基于噪音蒸馏的联邦学习系统及方法 | |
CN114298319B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |