CN113657685A - 联邦模型的训练方法、装置、设备、存储介质及程序 - Google Patents

联邦模型的训练方法、装置、设备、存储介质及程序 Download PDF

Info

Publication number
CN113657685A
CN113657685A CN202110984584.0A CN202110984584A CN113657685A CN 113657685 A CN113657685 A CN 113657685A CN 202110984584 A CN202110984584 A CN 202110984584A CN 113657685 A CN113657685 A CN 113657685A
Authority
CN
China
Prior art keywords
sub
result
training
weight
weight set
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
CN202110984584.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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202110984584.0A priority Critical patent/CN113657685A/zh
Publication of CN113657685A publication Critical patent/CN113657685A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Game Theory and Decision Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种联邦模型的训练方法、装置、设备、存储介质及程序,该方法包括:第一设备根据第一对象的第一训练样本和第一权重集合,生成第一子结果,所述第一权重集合包括所述第一训练样本中各特征的权重值;第二设备根据第一对象的第二训练样本和第二权重集合,生成第二子结果,所述第二权重集合包括所述第二训练样本中各特征的权重值;第一设备根据第一子结果和第二子结果确定第一对象的预测结果,并根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合;第二设备根据所述预测结果中的第一子预测结果更新所述第二权重集合。上述过程降低了训练过程的复杂度,提高联邦模型的训练效率。

Description

联邦模型的训练方法、装置、设备、存储介质及程序
技术领域
本发明涉及人工智能技术领域,尤其涉及一种联邦模型的训练方法、装置、设备、存储介质及程序。
背景技术
随着互联网技术的快速发展,在各领域的数据平台中,用户的数据量大幅提升,各领域有着一大部分重合的用户,例如:社交平台有某用户的浏览数据,电商平台有该用户的购物数据,银行平台有该用户的收支和征信数据等。
相关技术中,在保证各数据平台的数据隐私保护的情况下,可以通过对多个数据平台的用户数据进行联邦学习,构建得到联合机器学习预测模型,以帮助各数据平台向用户提供更好的服务。
然而,实际应用中,联邦模型的训练过程计算量较大,导致训练效率较低。
发明内容
本发明的主要目的在于提供一种联邦模型的训练方法、装置、设备、存储介质及程序,以提高联邦模型的训练效率。
第一方面,本发明提供一种联邦模型的训练方法,
应用于包括第一设备和第二设备的联邦系统,待训练的联邦模型的模型参数包括待训练的第一权重集合和待训练的第二权重集合,所述第一设备用于训练所述第一权重集合,所述第二设备用于训练所述第二权重集合,所述方法包括:
所述第一设备根据第一对象的第一训练样本和所述第一权重集合,生成第一子结果,所述第一权重集合包括所述第一训练样本中各特征的权重值;
所述第一设备接收所述第二设备发送的第二子结果,所述第二子结果为所述第二设备根据所述第一对象的第二训练样本和所述第二权重集合得到的,所述第二权重集合包括所述第二训练样本中各特征的权重值;
所述第一设备根据所述第一子结果和所述第二子结果确定所述第一对象的预测结果,并根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合,所述预测结果和所述标记结果还用于更新所述第二权重集合。
一种可能的实现方式中,所述第一设备根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合,包括:
所述第一设备根据所述预测结果和所述标记结果,确定目标梯度,所述目标梯度包括第一子梯度和第二子梯度;
所述第一设备向所述第二设备发送所述第一子梯度,并接收所述第二设备发送的第一子权重集合,所述第一子权重集合为所述第二设备根据所述第一子梯度确定得到的;
所述第一设备根据所述第二子梯度确定第二子权重集合;
所述第一设备根据所述第一子权重集合和所述第二子权重集合更新所述第一权重集合。
一种可能的实现方式中,所述第一设备根据所述预测结果和所述标记结果,确定目标梯度,包括:
所述第一设备根据所述预测结果确定第一子预测结果和第二子预测结果;
所述第一设备根据所述第二子预测结果和所述标记结果,确定第二损失数据;
所述第一设备向所述第二设备发送所述第一子预测结果,并接收所述第二设备发送的第一损失数据,所述第一损失数据为所述第二设备根据所述第一子预测结果确定得到的;
所述第一设备根据所述第一损失数据和所述第二损失数据,确定所述目标梯度。
一种可能的实现方式中,所述第一设备根据所述第一损失数据和所述第二损失数据,确定所述目标梯度,包括:
所述第一设备将所述第一损失数据和所述第二损失数据之和确定为目标损失数据;
所述第一设备根据所述目标损失数据确定所述目标梯度。
一种可能的实现方式中,所述第一设备根据所述第一子结果和所述第二子结果确定所述第一对象的预测结果,包括:
所述第一设备将所述第一子结果和所述第二子结果之和确定为中间结果;
根据预设参数对所述中间结果进行处理,得到所述预测结果。
一种可能的实现方式中,所述第一设备根据第一对象的第一训练样本和所述第一权重集合,生成第一子结果,包括:
所述第一设备确定所述第一训练样本对应的第一样本向量,以及确定所述第一权重集合对应的第一权重向量;
所述第一设备将所述第一样本向量和所述第一权重向量的乘积确定为所述第一子结果。
第二方面,本发明提供一种联邦模型的训练方法,应用于包括第一设备和第二设备的联邦系统,待训练的联邦模型的模型参数包括待训练的第一权重集合和待训练的第二权重集合,所述第一设备用于训练所述第一权重集合,所述第二设备用于训练所述第二权重集合,所述方法包括:
所述第二设备根据第一对象的第二训练样本和第二权重集合,生成第二子结果,所述第二权重集合包括所述第二训练样本中各特征的权重值;
所述第二设备向所述第一设备发送所述第二子结果;
所述第二设备根据预测结果和标记结果更新所述第二权重集合,其中,所述预测结果为所述第一设备根据第一子结果和所述第二子结果生成的,所述第一子结果为所述第一设备根据所述第一对象的第一训练样本和所述第一权重集合得到的,所述第一权重集合包括所述第一训练样本中各特征的权重值,所述标记结果为所述第一训练样本对应的标记结果;所述预测结果和所述标记结果还用于更新所述第一权重集合。
一种可能的实现方式中,所述第二设备根据预测结果和标记结果更新所述第二权重集合,包括:
所述第二设备接收所述第一设备发送的所述预测结果中的第一子预测结果;
所述第二设备根据所述第一子预测结果确定第三子权重集合;
所述第二设备接收所述第一设备发送的第四子权重集合,所述第四子权重集合为所述第一设备根据所述预测结果和所述标记结果生成的;
所述第二设备根据所述第三子权重集合和所述第四子权重集合更新所述第二权重集合。
一种可能的实现方式中,所述第二设备根据所述第一子预测结果确定第三子权重集合,包括:
所述第二设备根据所述第一子预测结果确定第一损失数据;
所述第二设备接收所述第一设备发送的第二损失数据;
所述第二设备根据所述第一损失数据确定第三子梯度;
所述第二设备根据所述第二损失数据确定第四子梯度;
所述第二设备根据所述第三子梯度和所述第四子梯度,确定所述第三子权重集合。
一种可能的实现方式中,所述第二设备根据所述第三子梯度和所述第四子梯度,确定所述第三子权重集合,包括:
所述第二设备在所述第四子梯度中确定第五子梯度;
所述第二设备根据所述第三子梯度和所述第五子梯度,确定所述第三子权重集合。
一种可能的实现方式中,所述第二设备根据第一对象的第二训练样本和第二权重集合,生成第二子结果,包括:
所述第二设备确定所述第二训练样本对应的第二样本向量,以及确定所述第二权重集合对应的第二权重向量;
所述第二设备将所述第二样本向量和所述第二权重向量的乘积确定为所述第二子结果。
第三方面,本发明提供一种联邦模型的训练装置,应用于包括第一设备和第二设备的联邦系统,待训练的联邦模型的模型参数包括待训练的第一权重集合和待训练的第二权重集合,所述第一设备用于训练所述第一权重集合,所述第二设备用于训练所述第二权重集合,所述装置包括:
生成模块,用于根据第一对象的第一训练样本和所述第一权重集合,生成第一子结果,所述第一权重集合包括所述第一训练样本中各特征的权重值;
收发模块,用于接收所述第二设备发送的第二子结果,所述第二子结果为所述第二设备根据所述第一对象的第二训练样本和所述第二权重集合得到的,所述第二权重集合包括所述第二训练样本中各特征的权重值;
更新模块,用于根据所述第一子结果和所述第二子结果确定所述第一对象的预测结果,并根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合,所述预测结果和所述标记结果还用于更新所述第二权重集合。
第四方面,本发明提供一种联邦模型的训练装置,应用于包括第一设备和第二设备的联邦系统,待训练的联邦模型的模型参数包括待训练的第一权重集合和待训练的第二权重集合,所述第一设备用于训练所述第一权重集合,所述第二设备用于训练所述第二权重集合,所述装置包括:
生成模块,用于根据第一对象的第二训练样本和第二权重集合,生成第二子结果,所述第二权重集合包括所述第二训练样本中各特征的权重值;
收发模块,用于向所述第一设备发送所述第二子结果;
更新模块,用于根据预测结果和标记结果更新所述第二权重集合,其中,所述预测结果为所述第一设备根据第一子结果和所述第二子结果生成的,所述第一子结果为所述第一设备根据所述第一对象的第一训练样本和所述第一权重集合得到的,所述第一权重集合包括所述第一训练样本中各特征的权重值,所述标记结果为所述第一训练样本对应的标记结果;所述预测结果和所述标记结果还用于更新所述第一权重集合。
第五方面,本发明提供一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面任一项所述的联邦模型的训练方法的步骤,或者,实现如第二方面任一项所述的联邦模型的训练方法的步骤。
第六方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的联邦模型的训练方法的步骤,或者,实现如第二方面中任一项所述的联邦模型的训练方法的步骤。
第七方面,本发明提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的联邦模型的训练方法的步骤,或者,实现如第二方面任一项所述的联邦模型的训练方法的步骤。
本发明提供一种联邦模型的训练方法、装置、设备、存储介质及程序,该方法包括:第一设备根据第一对象的第一训练样本和第一权重集合,生成第一子结果,所述第一权重集合包括所述第一训练样本中各特征的权重值;第二设备根据第一对象的第二训练样本和第二权重集合,生成第二子结果,所述第二权重集合包括所述第二训练样本中各特征的权重值;第一设备根据第一子结果和第二子结果确定第一对象的预测结果,并根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合;第二设备根据所述预测结果中的第一子预测结果更新所述第二权重集合。上述过程中,由于在每轮迭代中,第一设备是基于第一权重集合的全部信息而非部分信息进行第一子结果的计算,第二设备是基于第二权重集合的全部信息而非部分信息进行第二子结果的计算,使得第一设备和第二设备无需进行联合计算,简化了预测结果的计算过程,降低了训练过程的复杂度,提高联邦模型的训练效率。
附图说明
图1为本发明实施例提供的纵向联邦学习的样本数据示意图;
图2为本发明实施例提供的纵向联邦学习的系统架构示意图;
图3为本发明实施例提供的一种秘密共享的过程示意图;
图4为本发明实施例提供的一种联合计算的示意图;
图5为一种联邦训练方法的示意图;
图6为本发明实施例提供的一种联邦模型的训练方法的流程示意图;
图7为本发明实施例提供的另一种联邦模型的训练方法的流程示意图;
图8为本发明实施例提供的一种联邦模型的训练装置的结构示意图;
图9为本本发明实施例提供的一种电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
联邦学习(federated learning)是指通过联合不同的参与者(participant,或者party,也称为数据拥有者(data owner),或者客户(client))进行机器学习的方法。在联邦学习中,参与者并不需要向其它参与者和协调者(coordinator,也称为参数服务器(parameter server),或者聚合服务器(aggregation server))暴露自己拥有的数据,因而联邦学习可以很好地保护用户隐私和保障数据安全。
联邦学习可以分为横向联邦学习和纵向联邦学习。为了便于理解,下面分别对横向联邦学习和纵向联邦学习分别进行说明。
横向联邦学习是在各个参与者的数据特征重叠较多,而用户重叠较少的情况下,取出参与者数据特征相同而用户不完全相同的那部分数据进行联合机器学习。比如有两家不同地区的银行,它们的用户群体分别来自各自所在的地区,相互的交集很小。但是它们的业务很相似,记录的用户数据特征很大部分是相同的。可以使用横向联邦学习来帮助两家银行构建联合模型来预测他们的客户行为。
纵向联邦学习是在参与者的数据特征重叠较小,而用户重叠较多的情况下,取出参与者用户相同而用户数据特征不同的那部分用户及数据进行联合机器学习训练。比如有属于同一个地区的两个参与者A和B,其中参与者A是一家银行,参与者B是一个电商平台。参与者A和B在同一地区拥有较多相同的用户,但是A与B的业务不同,记录的用户数据特征是不同的。特别地,A和B记录的用户数据特征可能是互补的。在这样的场景下,可以使用纵向联邦学习来帮助A和B构建联合机器学习预测模型,帮助A和B向客户提供更好的服务。
本发明实施例涉及纵向联邦学习。图1为本发明实施例提供的纵向联邦学习的样本数据示意图。如图1所示,以样本对象是用户为例,假设两家企业A和B的用户群体完全重叠,或者存在部分重合。企业A的样本数据中包括用户的特征x1、x2和x3,企业B的样本数据中包括用户的特征x4、x5,以及用户的类别标签y。例如,企业A可以为电商平台,企业B可以为银行。
需要说明的是,当应用于其它应用场景时,样本对象还可以是其它,例如:商品。
传统的纵向联邦学习中,为了帮助参与者A和B联合建模,需要协调者C参与。然而,在实际应用过程中,很多应用场景并不存在协调者C,使得传统的基于协调者C的三方纵向联邦学习方案在这些应用场景并不适用。该情况下,需要采用基于参与者A和B两方的纵向联邦学习方案。
图2为本发明实施例提供的纵向联邦学习的系统架构示意图。如图2所示,该系统架构包括第一设备和第二设备。第一设备和第二设备之间通信连接。第一设备和第二设备可以分别对应不同的联邦参与方的服务器。例如,第一设备可以为参与方B的服务器,第二设备可以为参与方A的服务器。
第一设备中存储有多个第一训练样本(即,参与方B的样本)以及每个第一训练样本对应的标记结果(例如,图1中的类别y),每个第一训练样本中包括至少一个特征(例如,图1中的特征x4、x5)。第二设备中存储有多个第二训练样本(即,参与方A的样本),每个第二训练样本中包括至少一个特征(例如,图1中的特征x1、x2、x3)。第一设备和第二设备之间可以交换部分数据,例如,第一设备向第二设备发送第一设备中存储的用户标识,第二设备向第一设备发送第二设备中存储的用户标识,通过数据交换,第一设备和第二设备确定出两方均存在的用户有哪些,从而完成用户样本对齐过程。
进一步地,第一设备和第二设备可以基于对齐后的样本数据进行联邦模型的训练。联邦模型的模型参数包括:第一权重集合和第二权重集合。第一权重集合包括第一训练样本中各特征的权重值。第二权重集合包括第二训练样本中各特征的权重值。第一设备用于训练上述第一权重集合。第二设备用于训练上述第二权重集合。这样,在多次迭代训练之后,将训练后的第一权重集合和第二权重集合进行融合,即可得到训练完成的联邦模型。
为了便于对后续描述的理解,下面对本发明实施例中涉及到的相关概念和原理进行简单介绍。
(一)秘密共享:秘密共享的思想是将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。
作为一个示例,图3为本发明实施例提供的一种秘密共享的过程示意图。如图3所示,假设参与方A待共享的密文矩阵为P,可以通过如下方式实现秘密共享:
S301:参与方A产生与密文矩阵P维数(即矩阵shape)相同的随机数R。
S302:参与方A计算[[P]]-R。
本发明实施例中,[[P]]表示P的同态加密。同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
S303:参与方A将[[P]]-R发送给参与方B。
S304:参与方A自身持有R。
S305:参与方B对[[P]]-R解密,得到P-R。
经过上述过程,由于R+(P-R)=P,因此,参与方A和参与方B均获得了P的共享(share),即参与方A得到P的一部分信息,参与方B得到P的另一部分信息。需要说明的是,上述图3示例的是参与方A将密文P共享给参与方B的过程。参与方B将密文共享给参与方A的过程是类似地,此处不再赘述。
(二)通过两方联合计算将两个矩阵相乘拆分为两个矩阵相加。
假设参与方A拥有矩阵S,参与方B拥有矩阵T。图4为本发明实施例提供的一种联合计算的示意图。如图4所示,参与方A和参与方B联合计算过程包括:
S401:参与方B将T同态加密得到[[T]]。
S402:参与方B将[[T]]发送给参与方A。
S403:参与方A计算S*[[T]]=[[P]]。
S404:参与方A产生与[[P]]维数相同的随机数K1。
S405:参与方A计算[[P]]-K1=[[K2]]。
S406:参与方A将[[K2]]发送给参与方B。
S407:参与方A持有K1。
S408:参与方B解密,得到K2。
上述过程中,S404至S407与图3所示类似。通过上述过程,实现了将S*T转换为K1+K2。
(三)逻辑回归
本发明实施例中,联邦模型可以基于逻辑回归思想实现。逻辑回归的原理可以采用如下公式表示:
Figure BDA0003230198150000101
其中,x为进入联邦模型的特征向量,θ为特征向量对应的权重向量,而
Figure BDA0003230198150000102
这种类型的函数被称为激活(Sigmoid)函数。所以,对某一组特征向量,其预测结果为1的概率是这组特征向量与其对应的权重向量做点乘后的结果,再经过sigmoid函数所得。相应地,对于预测结果为0的概率为:1-hθ(x)。
这样,最终统一的概率函数为:
P(y|x;θ)=(hθ(x))y*(1-hθ(x))1-y
由上式可见,在y=0时,其概率函数为1-hθ(x),在y=1时,其概率函数为hθ(x)。
一种可能的实现方式中,可以基于秘密共享和同态加密相结合的方式进行联邦训练。图5为一种联邦训练方法的示意图。假设参与方A的训练样本中包括特征x1、x2和x3,参与方B的训练样本中包括特征x4和x5,参与方B的训练样本中还包括类别y。记xa={x1,x2,x3},xb={x4,x5}。
如图5所示,联邦训练过程包括:
S501:参与方A初始化权重wa,参与方B初始化权重wb。
其中,权重wa中包括特征x1、x2和x3各自对应的权重值。权重wb中包括特征x4和x5各自对应的权重值。
S502:参与方A和参与方B共享各自的权重,参与方A拥有<wa>1和<wb>1,参与方B拥有<wa>2和<wb>2。
其中,根据上述秘密共享技术,<wa>1+<wa>2=wa,<wa>1和<wa>2均为wa的共享(share)。
<wb>1+<wb>2=wb,<wb>1和<wb>2均为wb的共享(share)。
应理解,参与方A和参与方B共享各自的权重的方式,可以参考图3所示的秘密共享的过程,此处不做详述。
S503:参与方A计算<za>1=xa*<wa>1,参与方B计算<zb>2=xb*<wb>2。
S504:参与方A和参与方B联合计算<za>2=xa*<wa>2,其中,参与方A得到其中的<<za>2>1,参与方B得到其中的<<za>2>2。
由于S503中参与方A计算得到的<za>1中仅利用了权重wa的部分信息<wa>1,因此,还需要进一步计算xa*<wa>2,才能保证za计算结果的准确性。计算xa*<wa>2的过程可以采用如图4所示的联合计算过程,此处不做赘述。
S505:参与方A和参与方B联合计算<zb>1=xb*<wb>1,其中,参与方A得到其中的<<zb>1>1,参与方B得到其中的<<zb>1>2。
由于S503中参与方B计算得到的<zb>2中仅利用了权重wb的部分信息<wb>2,因此,还需要进一步计算xb*<wb>1,才能保证zb计算结果的准确性。计算xb*<wb>2的过程可以采用如图4所示的联合计算过程,此处不做赘述。
S506:参与方A计算<z>1=<za>1+<<za>2>1+<<zb>1>1,参与方B计算<z>2=<zb>2+<<za>2>2+<<zb>1>2。
S507:参与方A将[[<z>1]]发送给参与方B。
S508:参与方B计算[[z]]=[[<z>1]]+<z>2。
S509:参与方B计算[[y^]]=q0*[[z]]+q1。
其中,q0和q1为预设参数。y^为预测结果。
S510:利用[[y^]]完成梯度计算和权重更新过程,参与方A得到更新后的<wa>1和<wb>1,参与方B得到更新后的<wa>2和<wb>2。
进一步地,参与方A利用更新后的<wa>1和<wb>1、参与方B利用更新后的<wa>2和<wb>2,进行下一轮的迭代,即,返回执行S503-S510。重复多次迭代过程,直至联邦模型达到收敛条件,停止训练。
经过上述训练过程得到训练后的联邦模型。上述每轮训练过程中,权重wa在参与方A和参与方B中以共享(share)的形式存在(即参与方A拥有<wa>1,参与方B拥有<wa>2),权重wb在参与方A和参与方B中以共享(share)的形式存在(参与方A拥有<wb>1,参与方B拥有<wb>2),这样使得导致计算[[z]]、[[y^]]的过程非常复杂(因为参与方A需要基于权重wa的部分信息<wa>1进行计算,参与方B基于权重wb的部分信息<wb>2进行计算,并且,参与方A和参与方B还要进行两次联合计算,将上次各次计算之和确定为[[z]])。
为了解决上述技术问题,本发明实施例中,对每轮迭代的训练过程进行改进,使得在每轮迭代中,参与方A使用权重wa的全部信息进行计算,参与方B使用权重wb的全部信息进行计算,从而简化[[z]]、[[y^]]的计算过程,降低训练过程的复杂度,提高联邦模型的训练效率。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图6为本发明实施例提供的一种联邦模型的训练方法的流程示意图。该方法可以应用于如图2所示的联邦系统,联邦系统包括第一设备和第二设备。第一设备可以为参与方B对应的服务器。第二设备可以为参与方A对应的服务器。待训练的联邦模型的模型参数包括待训练的第一权重集合和待训练的第二权重集合。第一设备用于训练所述第一权重集合,第二设备用于训练所述第二权重集合。
本实施例以一轮迭代过程为例进行描述。如图6所示,本实施例的方法包括:
S601:第一设备根据第一对象的第一训练样本和第一权重集合,生成第一子结果,所述第一权重集合包括所述第一训练样本中各特征的权重值。
S602:第二设备根据第一对象的第二训练样本和第二权重集合,生成第二子结果,所述第二权重集合包括所述第二训练样本中各特征的权重值。
本发明实施例中,在不同应用场景中,第一对象可以对应不同的指代。示例性地,第一对象可以为用户、商品、产品等。
示例性地,以图1所示的训练数据进行举例说明,第一对象的第一训练样本中包括特征x4、特征x5。第一训练样本还对应有标记结果y。第一对象的第二训练样本中包括特征x1、特征x2和特征x3。第一权重集合包括特征x4对应的权重值w4、特征x5对应的权重值w5。第二权重集合包括特征x1对应的权重值w1、特征x2对应的权重值w2、特征x3对应的权重值w3。
一种可能的实现方式中,第一设备确定第一训练样本对应的第一样本向量xb={x4,x5},以及,确定第一权重集合对应的第一权重向量wb={w4,w5};第一设备将第一样本向量xb和第一权重向量wb的乘积确定为第一子结果。假设第一子结果记为zb,即:
zb=xb*wb
类似地,第二设备确定所述第二训练样本对应的第二样本向量xa={x1,x2,x3},以及确定所述第二权重集合对应的第二权重向量wa={w1,w2,w3};第二设备将所述第二样本向量xa和所述第二权重向量wa的乘积确定为所述第二子结果。假设第二子结果即为za,即:
za=xa*wa
S603:第二设备向第一设备发送所述第二子结果。
相应地,第一设备接收第二设备发送的所述第二子结果。
也就是说,第二设备向第一设备发送za。
可选地,参见图6,第二设备可以将za进行同态加密后得到[[za]],向第一设备发送[[za]]。
S604:第一设备根据第一子结果和第二子结果确定所述第一对象的预测结果。
一种可能的实现方式中,第一设备将所述第一子结果和第二子结果之和确定为中间结果;根据预设参数对中间结果进行处理,得到第一对象的预测结果。
示例性地,将中间结果记为z,预测结果记为y^,如下:
[[z]]=[[za]]+zb
[[y^]]=q0*[[z]]+q1
其中,q0和q1为预设参数。
S605:第一设备根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合,第二设备根据所述预测结果和所述标记结果更新所述第二权重集合。
本发明实施例中,经过每轮迭代之后,第一设备得到更新后的第一权重集合wb,第二设备更新得到第二权重集合wa。更新后的第一权重集合wb和第二权重集合wa用于下一轮的迭代训练过程,循环执行上述的S601至S607,直至达到训练结束条件。训练结束条件可以为:达到预设的最大迭代次数,或者,联邦模型收敛。
需要说明的是,本发明实施例的联邦模型的训练过程与图5所示的训练过程一个不同之处在于:本发明实施例在每轮迭代训练过程中,第一设备基于第一权重集合wb的全部信息进行第一子结果zb的计算,而不是基于第一权重集合wb的部分信息<wb>2计算得到<zb>2,第二设备基于第二权重集合wa的全部信息进行第二子结果za的计算,而不是基于第二权重集合wa的部分信息<wa>1计算得到<za>1。正是由于本发明实施例中第一设备基于第一权重集合wb的全部信息进行第一子结果zb的计算,并且,第二设备基于第二权重集合wa的全部信息进行第二子结果za的计算,使得第一设备和第二设备无需再进行上述步骤S504和S505的联合计算过程。
本发明实施例与图5所示的训练过程的另一个不同之处在于:第一设备在每轮迭代之后,更新得到第一权重集合wb的全部信息,而不是第一权重集合wb的部分信息<wb>2;第二设备在每轮迭代之后,更新得到第二权重集合wa的全部信息,而不是第二权重集合wa的部分信息<wa>1。这样,使得在下一轮迭代中,第一设备可以基于第一权重集合wb的全部信息进行第一子结果zb的计算,第二设备可以基于第二权重集合wa的全部信息进行第二子结果za的计算。
本发明实施例提供的联邦模型的训练方法,该方法包括:第一设备根据第一对象的第一训练样本和第一权重集合,生成第一子结果,所述第一权重集合包括所述第一训练样本中各特征的权重值;第二设备根据第一对象的第二训练样本和第二权重集合,生成第二子结果,所述第二权重集合包括所述第二训练样本中各特征的权重值;第一设备根据第一子结果和第二子结果确定第一对象的预测结果,并根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合;第二设备根据所述预测结果中的第一子预测结果更新所述第二权重集合。上述过程中,由于在每轮迭代中,第一设备是基于第一权重集合的全部信息而非部分信息进行第一子结果的计算,第二设备是基于第二权重集合的全部信息而非部分信息进行第二子结果的计算,使得第一设备和第二设备无需进行联合计算,简化了预测结果的计算过程,降低了训练过程的复杂度,提高联邦模型的训练效率。
在上述实施例的基础上,下面结合一个更具体的实施例对联邦模型的训练过程进行更详细的描述。本实施例主要对图6中的S605进行详细介绍。
图7为本发明实施例提供的另一种联邦模型的训练方法的流程示意图。如图7所示,本实施例的方法包括:
S701:第一设备初始化第一权重集合wb,第一权重集合中包括第一对象的第一训练样本中各特征的权重值。
S702:第二设备初始化第二权重集合wa,第二权重集合中包括第一对象的第二训练样本中各特征的权重值。
例如,假设第一对象的第一训练样本中包括特征{x4,x5},初始化第一权重集合wb={w4,w5}。假设第一对象的第二训练样本中包括特征{x1,x2,x3},初始化第二权重集合wa={w1,w2,w3}。
S703:第一设备根据第一训练样本xb和第一权重集合wb,生成第一子结果zb。
即,计算zb=xb*wb。
S704:第二设备根据第二训练样本xa和第二权重集合wa,生成第二子结果za。
即,计算za=xa*wa。
S705:第二设备向第一设备发送所述第二子结果za。
可选地,第二设备对第二子结果za进行同态加密得到[[za]],将[[za]]发送至第一设备。
S706:第一设备将所述第一子结果zb和第二子结果[[za]]之和确定为中间结果[[z]]。
即,计算[[z]]=[[za]]+zb。
S707:第一设备根据预设参数对中间结果[[z]]进行处理,得到预测结果[[y^]]。
即,计算[[y^]]=q0*[[z]]+q1。
S708:第一设备向第二设备发送预测结果[[y^]]中的第一子预测结果<y^>1。
可选地,第一设备可以采用如图3所示的秘密共享的方式,将预测结果[[y^]]划分为第一子预测结果<y^>1和第二子预测结果<y^>2,y^=<y^>1+<y^>2。第一设备自身持有第二子预测结果<y^>2,将第一子预测结果<y^>1发送至第二设备。相应地,第二设备接收所述第一子预测结果<y^>1。
S709:第一设备根据所述第二子预测结果<y^>2和第一训练样本对应的标记结果y,确定第二损失数据<e>2。
即,计算<e>2=<y^>2-y。
S710:第二设备根据所述第一子预测结果<y^>1确定第一损失数据<e>1。
即,计算<e>1=<y^>1。
S711:第二设备向第一设备发送所述第一损失数据<e>1。
可选地,第二设备将第一损失数据<e>1进行同态加密,得到[[<e>1]],将[[<e>1]]发送至第一设备。
S712:第一设备将所述第一损失数据<e>1和所述第二损失数据<e>2之和确定为目标损失数据[[e]]。
即,计算[[e]]=[[<e>1]]+<e>2。
S713:第一设备根据所述目标损失数据[[e]],确定目标梯度[[gb]]。
即,计算[[gb]]=[[e]]*xb。
S714:第一设备向第二设备发送目标梯度中的第一子梯度<gb>1。
相应地,第二设备接收第一子梯度<gb>1。
可选地,第一设备采用如图3所示的秘密共享的方式,将目标梯度划分为第一子梯度<gb>1和第二子梯度<gb>2。第一设备自身持有第二子梯度<gb>2,将第一子梯度<gb>1发送至第二设备。
S715:第二设备根据所述第一损失数据<e>1确定第三子梯度<ga>1。
即,计算<ga>1=<e>1*xa。
S716:第一设备向第二设备发送第二损失数据<e>2。
相应地,第二设备接收第二损失数据<e>2。
S717:第二设备根据所述第二损失数据<e>2确定第四子梯度<ga>2。
即,计算<ga>2=<e>2*xa。
S718:第二设备向第一设备发送第四子梯度<ga>2中的第六子梯度<<ga>2>2。
可选地,第二设备采用如图3所示的秘密共享的方式,将第四子梯度<ga>2划分为第五子梯度<<ga>2>1和第六子梯度<<ga>2>2。第二设备自身持有第五子梯度<<ga>2>1,将第六子梯度<<ga>2>2发送至第一设备。
S719:第二设备根据第三子梯度<ga>1和第五子梯度<<ga>2>1,确定第三子权重集合<wa>1。
即,计算<wa>1-=lr*(<ga>1+<<ga>2>1)。其中,lr为预设参数。
S720:第二设备根据第一子梯度<gb>1确定第一子权重集合<wb>1。
即,计算<wb>1-=lr*<gb>1。其中,lr为预设参数。
S721:第一设备根据第二子梯度<gb>2确定第二子权重集合<wb>2。
即,计算<wb>2-=lr*<gb>2。其中,lr为预设参数。
S722:第一设备根据第六子梯度<<ga>2>2确定第四子权重集合<wa>2。
即,计算<wa>2-=lr*<<ga>2>2。其中,lr为预设参数。
S723:第一设备向第二设备发送第四子权重集合<wa>2。
相应地,第二设备接收第四子权重集合<wa>2。
S724:第二设备根据第三子权重集合<wa>1和第四子权重集合<wa>2更新第二权重集合wa。
即,计算wa=<wa>1+<wa>2。
S725:第二设备向第一设备发送第一子权重集合<wb>1。
相应地,第一设备接收第一子权重集合<wb>1。
S726:第一设备根据第一子权重集合<wb>1和第二子权重集合<wb>2更新第一权重集合wb。
即,计算wb=<wb>1+<wb>2。
需要说明的是,本实施例中,部分步骤之间的先后顺序可以调整,或者,部分步骤之间可以同时执行。例如,S719可以在S720之后执行,S722可以在S721之前执行。又例如,S719-S720与S721-S722之间可以并行执行。
经过每轮迭代之后,第一设备得到更新后的第一权重集合wb,第二设备更新得到第二权重集合wa。更新后的第一权重集合wb和第二权重集合wa用于下一轮的迭代训练过程,循环执行上述的S703至S726,直至达到训练结束条件。训练结束条件可以为:达到预设的最大迭代次数,或者,联邦模型收敛。
本发明实施例中,第一设备根据第一子权重集合和第二子权重集合更新得到第一权重集合wb,第二设备根据所述第三子权重集合和所述第四子权重集合更新得到第二权重集合wa,也就是说,在每轮迭代过程中,对第一权重集合的全部信息以及第二权重集合的全部信息进行了重建。这样,使得在下一轮迭代中,第一设备可以基于第一权重集合wb的全部信息进行第一子结果zb的计算,第二设备可以基于第二权重集合wa的全部信息进行第二子结果za的计算,使得第一设备和第二设备无需进行联合计算,简化了预测结果的计算过程,降低了训练过程的复杂度,提高联邦模型的训练效率。
进一步地,尽管本发明实施例在每轮迭代过程中,对第一权重集合的全部信息以及第二权重集合的全部信息进行了重建,但是,这样并不会导致联邦模型的安全性降低。因为,图5所示实施例中,每轮迭代过程中第一权重信息和第二权重信息是以共享的形式存在于第一设备和第二设备中,只有在训练结束后才会重建第一权重集合的全部信息和第二权重集合的全部信息。但是,基于图5所示的实施例,可以通过多次训练,每次训练设置不同的最大迭代次数,例如,第一次训练设置最大迭代次数为1,第二次训练设置最大迭代次数为2,第三次训练设置最大迭代次数为3,以此类推,这样依然可以获得每轮迭代过程中的第一权重集合的全部信息和第二权重集合的全部信息。
由此可见,图6和图7提供的联邦模型的训练方法,与图5所示的联邦模型的训练方法相比,并不会降低联邦模型训练过程的安全性。也就是说,本发明实施例能够在不降低安全性的前提下,降低训练过程的复杂度,提高联邦模型的训练效率。
图8为本发明实施例提供的一种联邦模型的训练装置的结构示意图。本实施例的装置可以为软件和/或硬件的形式。如图8所示,本实施例提供的联邦模型的训练装置800,可以包括:生成模块801、收发模块802和更新模块803。
本实施例提供的联邦模型的训练装置应用于包括第一设备和第二设备的联邦系统,待训练的联邦模型的模型参数包括待训练的第一权重集合和待训练的第二权重集合,所述第一设备用于训练所述第一权重集合,所述第二设备用于训练所述第二权重集合。本实施例提供的联邦模型的训练装置可以作为第一设备,或者设置在第一设备中。本实施例提供的联邦模型的训练装置还可以作为第二设备,或者设置在第二设备中。下面针对这两种情况分别介绍。
当本实施例提供的联邦模型的训练装置作为第一设备,或者设置在第一设备中时,
生成模块801,用于根据第一对象的第一训练样本和所述第一权重集合,生成第一子结果,所述第一权重集合包括所述第一训练样本中各特征的权重值;
收发模块802,用于接收所述第二设备发送的第二子结果,所述第二子结果为所述第二设备根据所述第一对象的第二训练样本和所述第二权重集合得到的,所述第二权重集合包括所述第二训练样本中各特征的权重值;
更新模块803,用于根据所述第一子结果和所述第二子结果确定所述第一对象的预测结果,并根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合,所述预测结果和所述标记结果还用于更新所述第二权重集合。
一种可能的实现方式中,所述更新模块803具体用于:
根据所述预测结果和所述标记结果,确定目标梯度,所述目标梯度包括第一子梯度和第二子梯度;
向所述第二设备发送所述第一子梯度,并接收所述第二设备发送的第一子权重集合,所述第一子权重集合为所述第二设备根据所述第一子梯度确定得到的;
根据所述第二子梯度确定第二子权重集合;
根据所述第一子权重集合和所述第二子权重集合更新所述第一权重集合。
一种可能的实现方式中,所述更新模块803具体用于:
根据所述预测结果确定第一子预测结果和第二子预测结果;
根据所述第二子预测结果和所述标记结果,确定第二损失数据;
向所述第二设备发送所述第一子预测结果,并接收所述第二设备发送的第一损失数据,所述第一损失数据为所述第二设备根据所述第一子预测结果确定得到的;
根据所述第一损失数据和所述第二损失数据,确定所述目标梯度。
一种可能的实现方式中,所述更新模块803具体用于:
将所述第一损失数据和所述第二损失数据之和确定为目标损失数据;
根据所述目标损失数据确定所述目标梯度。
一种可能的实现方式中,所述更新模块803具体用于:
将所述第一子结果和所述第二子结果之和确定为中间结果;
根据预设参数对所述中间结果进行处理,得到所述预测结果。
一种可能的实现方式中,所述生成模块801具体用于:
确定所述第一训练样本对应的第一样本向量,以及确定所述第一权重集合对应的第一权重向量;
将所述第一样本向量和所述第一权重向量的乘积确定为所述第一子结果。
当本实施例提供的联邦模型的训练装置作为第二设备,或者设置在第二设备中时,
生成模块801,用于根据第一对象的第二训练样本和第二权重集合,生成第二子结果,所述第二权重集合包括所述第二训练样本中各特征的权重值;
收发模块802,用于向所述第一设备发送所述第二子结果;
更新模块803,用于根据预测结果和标记结果更新所述第二权重集合,其中,所述预测结果为所述第一设备根据第一子结果和所述第二子结果生成的,所述第一子结果为所述第一设备根据所述第一对象的第一训练样本和所述第一权重集合得到的,所述第一权重集合包括所述第一训练样本中各特征的权重值,所述标记结果为所述第一训练样本对应的标记结果;所述预测结果和所述标记结果还用于更新所述第一权重集合。
一种可能的实现方式中,所述更新模块803具体用于:
接收所述第一设备发送的所述预测结果中的第一子预测结果;
根据所述第一子预测结果确定第三子权重集合;
接收所述第一设备发送的第四子权重集合,所述第四子权重集合为所述第一设备根据所述预测结果和所述标记结果生成的;
根据所述第三子权重集合和所述第四子权重集合更新所述第二权重集合。
一种可能的实现方式中,所述更新模块803具体用于:
根据所述第一子预测结果确定第一损失数据;
接收所述第一设备发送的第二损失数据;
根据所述第一损失数据确定第三子梯度;
根据所述第二损失数据确定第四子梯度;
根据所述第三子梯度和所述第四子梯度,确定所述第三子权重集合。
一种可能的实现方式中,所述更新模块803具体用于:
在所述第四子梯度中确定第五子梯度;
根据所述第三子梯度和所述第五子梯度,确定所述第三子权重集合。
一种可能的实现方式中,所述生成模块801具体用于:
确定所述第二训练样本对应的第二样本向量,以及确定所述第二权重集合对应的第二权重向量;
将所述第二样本向量和所述第二权重向量的乘积确定为所述第二子结果。
本实施例提供的联邦模型的训练装置,可用于执行上述任意方法实施例中由第一设备执行的方法步骤,或者,执行由第二设备执行的方法步骤。其实现原理和技术效果类似,此处不做赘述。
图9为本本发明实施例提供的一种电子设备的结构示意图。本实施例的电子设备可以作为第一设备或者第二设备。如图9所示,本实施例提供的电子设备900,包括:存储器901、处理器902及存储在所述存储器901上并可在所述处理器902上运行的计算机程序,所述计算机程序被所述处理器902执行时实现如前述任一实施例所述的联邦模型的训练方法中由第一设备执行的步骤,或者,由第二设备执行的步骤。
可选地,存储器901既可以是独立的,也可以跟处理器902集成在一起。
本实施例提供的电子设备的实现原理和技术效果可以参见前述各实施例,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任一实施例所述的联邦模型的训练方法中由第一设备执行的步骤,或者,由第二设备执行的步骤。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如前述任一实施例所述的联邦模型的训练方法中由第一设备执行的步骤,或者,由第二设备执行的步骤。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (16)

1.一种联邦模型的训练方法,其特征在于,应用于包括第一设备和第二设备的联邦系统,待训练的联邦模型的模型参数包括待训练的第一权重集合和待训练的第二权重集合,所述第一设备用于训练所述第一权重集合,所述第二设备用于训练所述第二权重集合,所述方法包括:
所述第一设备根据第一对象的第一训练样本和所述第一权重集合,生成第一子结果,所述第一权重集合包括所述第一训练样本中各特征的权重值;
所述第一设备接收所述第二设备发送的第二子结果,所述第二子结果为所述第二设备根据所述第一对象的第二训练样本和所述第二权重集合得到的,所述第二权重集合包括所述第二训练样本中各特征的权重值;
所述第一设备根据所述第一子结果和所述第二子结果确定所述第一对象的预测结果,并根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合,所述预测结果和所述标记结果还用于更新所述第二权重集合。
2.根据权利要求1所述的联邦模型的训练方法,其特征在于,所述第一设备根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合,包括:
所述第一设备根据所述预测结果和所述标记结果,确定目标梯度,所述目标梯度包括第一子梯度和第二子梯度;
所述第一设备向所述第二设备发送所述第一子梯度,并接收所述第二设备发送的第一子权重集合,所述第一子权重集合为所述第二设备根据所述第一子梯度确定得到的;
所述第一设备根据所述第二子梯度确定第二子权重集合;
所述第一设备根据所述第一子权重集合和所述第二子权重集合更新所述第一权重集合。
3.根据权利要求2所述的联邦模型的训练方法,其特征在于,所述第一设备根据所述预测结果和所述标记结果,确定目标梯度,包括:
所述第一设备根据所述预测结果确定第一子预测结果和第二子预测结果;
所述第一设备根据所述第二子预测结果和所述标记结果,确定第二损失数据;
所述第一设备向所述第二设备发送所述第一子预测结果,并接收所述第二设备发送的第一损失数据,所述第一损失数据为所述第二设备根据所述第一子预测结果确定得到的;
所述第一设备根据所述第一损失数据和所述第二损失数据,确定所述目标梯度。
4.根据权利要求3所述的联邦模型的训练方法,其特征在于,所述第一设备根据所述第一损失数据和所述第二损失数据,确定所述目标梯度,包括:
所述第一设备将所述第一损失数据和所述第二损失数据之和确定为目标损失数据;
所述第一设备根据所述目标损失数据确定所述目标梯度。
5.根据权利要求1至4任一项所述的联邦模型的训练方法,其特征在于,所述第一设备根据所述第一子结果和所述第二子结果确定所述第一对象的预测结果,包括:
所述第一设备将所述第一子结果和所述第二子结果之和确定为中间结果;
所述第一设备根据预设参数对所述中间结果进行处理,得到所述预测结果。
6.根据权利要求1至4任一项所述的联邦模型的训练方法,其特征在于,所述第一设备根据第一对象的第一训练样本和所述第一权重集合,生成第一子结果,包括:
所述第一设备确定所述第一训练样本对应的第一样本向量,以及确定所述第一权重集合对应的第一权重向量;
所述第一设备将所述第一样本向量和所述第一权重向量的乘积确定为所述第一子结果。
7.一种联邦模型的训练方法,其特征在于,应用于包括第一设备和第二设备的联邦系统,待训练的联邦模型的模型参数包括待训练的第一权重集合和待训练的第二权重集合,所述第一设备用于训练所述第一权重集合,所述第二设备用于训练所述第二权重集合,所述方法包括:
所述第二设备根据第一对象的第二训练样本和第二权重集合,生成第二子结果,所述第二权重集合包括所述第二训练样本中各特征的权重值;
所述第二设备向所述第一设备发送所述第二子结果;
所述第二设备根据预测结果和标记结果更新所述第二权重集合,其中,所述预测结果为所述第一设备根据第一子结果和所述第二子结果生成的,所述第一子结果为所述第一设备根据所述第一对象的第一训练样本和所述第一权重集合得到的,所述第一权重集合包括所述第一训练样本中各特征的权重值,所述标记结果为所述第一训练样本对应的标记结果;所述预测结果和所述标记结果还用于更新所述第一权重集合。
8.根据权利要求7所述的联邦模型的训练方法,其特征在于,所述第二设备根据预测结果和标记结果更新所述第二权重集合,包括:
所述第二设备接收所述第一设备发送的所述预测结果中的第一子预测结果;
所述第二设备根据所述第一子预测结果确定第三子权重集合;
所述第二设备接收所述第一设备发送的第四子权重集合,所述第四子权重集合为所述第一设备根据所述预测结果和所述标记结果生成的;
所述第二设备根据所述第三子权重集合和所述第四子权重集合更新所述第二权重集合。
9.根据权利要求8所述的联邦模型的训练方法,其特征在于,所述第二设备根据所述第一子预测结果确定第三子权重集合,包括:
所述第二设备根据所述第一子预测结果确定第一损失数据;
所述第二设备接收所述第一设备发送的第二损失数据;
所述第二设备根据所述第一损失数据确定第三子梯度;
所述第二设备根据所述第二损失数据确定第四子梯度;
所述第二设备根据所述第三子梯度和所述第四子梯度,确定所述第三子权重集合。
10.根据权利要求9所述的联邦模型的训练方法,其特征在于,所述第二设备根据所述第三子梯度和所述第四子梯度,确定所述第三子权重集合,包括:
所述第二设备在所述第四子梯度中确定第五子梯度;
所述第二设备根据所述第三子梯度和所述第五子梯度,确定所述第三子权重集合。
11.根据权利要求7至10任一项所述的联邦模型的训练方法,其特征在于,所述第二设备根据第一对象的第二训练样本和第二权重集合,生成第二子结果,包括:
所述第二设备确定所述第二训练样本对应的第二样本向量,以及确定所述第二权重集合对应的第二权重向量;
所述第二设备将所述第二样本向量和所述第二权重向量的乘积确定为所述第二子结果。
12.一种联邦模型的训练装置,其特征在于,应用于包括第一设备和第二设备的联邦系统,待训练的联邦模型的模型参数包括待训练的第一权重集合和待训练的第二权重集合,所述第一设备用于训练所述第一权重集合,所述第二设备用于训练所述第二权重集合,所述装置包括:
生成模块,用于根据第一对象的第一训练样本和所述第一权重集合,生成第一子结果,所述第一权重集合包括所述第一训练样本中各特征的权重值;
收发模块,用于接收所述第二设备发送的第二子结果,所述第二子结果为所述第二设备根据所述第一对象的第二训练样本和所述第二权重集合得到的,所述第二权重集合包括所述第二训练样本中各特征的权重值;
更新模块,用于根据所述第一子结果和所述第二子结果确定所述第一对象的预测结果,并根据所述预测结果和所述第一训练样本对应的标记结果更新所述第一权重集合,所述预测结果和所述标记结果还用于更新所述第二权重集合。
13.一种联邦模型的训练装置,其特征在于,应用于包括第一设备和第二设备的联邦系统,待训练的联邦模型的模型参数包括待训练的第一权重集合和待训练的第二权重集合,所述第一设备用于训练所述第一权重集合,所述第二设备用于训练所述第二权重集合,所述装置包括:
生成模块,用于根据第一对象的第二训练样本和第二权重集合,生成第二子结果,所述第二权重集合包括所述第二训练样本中各特征的权重值;
收发模块,用于向所述第一设备发送所述第二子结果;
更新模块,用于根据预测结果和标记结果更新所述第二权重集合,其中,所述预测结果为所述第一设备根据第一子结果和所述第二子结果生成的,所述第一子结果为所述第一设备根据所述第一对象的第一训练样本和所述第一权重集合得到的,所述第一权重集合包括所述第一训练样本中各特征的权重值,所述标记结果为所述第一训练样本对应的标记结果;所述预测结果和所述标记结果还用于更新所述第一权重集合。
14.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的联邦模型的训练方法的步骤,或者,实现如权利要求7至11中任一项所述的联邦模型的训练方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的联邦模型的训练方法的步骤,或者,实现如权利要求7至11中任一项所述的联邦模型的训练方法的步骤。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的联邦模型的训练方法的步骤,或者,实现如权利要求7至11中任一项所述的联邦模型的训练方法的步骤。
CN202110984584.0A 2021-08-25 2021-08-25 联邦模型的训练方法、装置、设备、存储介质及程序 Pending CN113657685A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110984584.0A CN113657685A (zh) 2021-08-25 2021-08-25 联邦模型的训练方法、装置、设备、存储介质及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110984584.0A CN113657685A (zh) 2021-08-25 2021-08-25 联邦模型的训练方法、装置、设备、存储介质及程序

Publications (1)

Publication Number Publication Date
CN113657685A true CN113657685A (zh) 2021-11-16

Family

ID=78482023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110984584.0A Pending CN113657685A (zh) 2021-08-25 2021-08-25 联邦模型的训练方法、装置、设备、存储介质及程序

Country Status (1)

Country Link
CN (1) CN113657685A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114462626A (zh) * 2022-04-08 2022-05-10 北京大学 联邦模型训练方法、装置、终端设备以及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114462626A (zh) * 2022-04-08 2022-05-10 北京大学 联邦模型训练方法、装置、终端设备以及存储介质
CN114462626B (zh) * 2022-04-08 2022-07-19 北京大学 联邦模型训练方法、装置、终端设备以及存储介质

Similar Documents

Publication Publication Date Title
Hao et al. Towards efficient and privacy-preserving federated deep learning
CN111723404B (zh) 联合训练业务模型的方法及装置
Xiong et al. Toward lightweight, privacy-preserving cooperative object classification for connected autonomous vehicles
CN112182649A (zh) 一种基于安全两方计算线性回归算法的数据隐私保护系统
Li et al. Practical privacy-preserving federated learning in vehicular fog computing
CN112989399B (zh) 数据处理系统及方法
CN114696990B (zh) 基于全同态加密的多方计算方法、系统及相关设备
KR20210135075A (ko) 동형 암복호화 장치, 상기 장치를 포함하는 시스템, 및 동형 암복호화의 수행 방법
CN113077060A (zh) 针对边云协同的联邦学习系统及方法
CN112347500A (zh) 分布式系统的机器学习方法、装置、系统、设备及存储介质
CN113435592A (zh) 一种隐私保护的神经网络多方协作无损训练方法及系统
CN114691167A (zh) 机器学习模型更新的方法和装置
CN115767722A (zh) 一种云环境下基于内积函数加密的室内定位隐私保护方法
CN116708009A (zh) 一种基于联邦学习的网络入侵检测方法
CN113792890A (zh) 一种基于联邦学习的模型训练方法及相关设备
CN113051586B (zh) 联邦建模系统及方法、联邦模型预测方法、介质、设备
CN113657685A (zh) 联邦模型的训练方法、装置、设备、存储介质及程序
CN117439731B (zh) 基于同态加密的隐私保护大数据主成分分析方法及系统
Fan et al. Ppca: Privacy-preserving principal component analysis using secure multiparty computation (mpc)
CN111737756B (zh) 经由两个数据拥有方进行的xgb模型预测方法、装置及系统
CN111523674A (zh) 模型训练方法、装置及系统
CN117349685A (zh) 一种通信数据的聚类方法、系统、终端及介质
CN112183757B (zh) 模型训练方法、装置及系统
Lenk et al. GeoFPE: Format preserving encryption of geospatial data for the Internet of Things
CN115630713A (zh) 样本标识符不相同下的纵向联邦学习方法、设备和介质

Legal Events

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