CN112766514A - 一种联合训练机器学习模型的方法、系统及装置 - Google Patents

一种联合训练机器学习模型的方法、系统及装置 Download PDF

Info

Publication number
CN112766514A
CN112766514A CN202110086857.XA CN202110086857A CN112766514A CN 112766514 A CN112766514 A CN 112766514A CN 202110086857 A CN202110086857 A CN 202110086857A CN 112766514 A CN112766514 A CN 112766514A
Authority
CN
China
Prior art keywords
training
trained
prediction set
model
server
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
Application number
CN202110086857.XA
Other languages
English (en)
Other versions
CN112766514B (zh
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110086857.XA priority Critical patent/CN112766514B/zh
Publication of CN112766514A publication Critical patent/CN112766514A/zh
Application granted granted Critical
Publication of CN112766514B publication Critical patent/CN112766514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例公开了一种联合训练机器学习模型的方法、系统及装置,用于数据隐私保护,所述方法包括:获取公共训练样本;通过本地待训练模型处理公共训练样本,获得第一预测集;将第一预测集发送给服务器;从服务器获取聚合预测集;基于聚合预测集与公共训练样本的标签值计算第一损失函数,并基于第一损失函数更新模型参数,获得一次更新的本地待训练模型;通过一次更新的本地待训练模型处理私有训练样本,获得第二预测集;基于第二预测集与私有训练样本的标签值计算第二损失函数,并基于第二损失函数更新模型参数,获得二次更新的本地待训练模型;将二次更新的本地待训练模型作为下一轮迭代更新中的本地待训练模型,或者基于此确定最终模型。

Description

一种联合训练机器学习模型的方法、系统及装置
技术领域
本说明书涉及机器学习模型的训练,特别涉及一种联合训练机器学习模型的方法和系统。
背景技术
在数据分析、经济预测等领域,机器学习模型可被用来分析、预测潜在的数据价值。由于单个数据拥有方持有的数据可能是不完整的,为了得到更好的模型预测结果,可以对不同数据拥有方持有的不同数据采用联邦学习的方法进行模型训练。但是,目前的联邦学习方法要求每个训练成员所要训练的模型都是一样的,不能满足各训练成员对模型的不同需求。
因此,有必要提出一种联合训练机器学习模型的方法,允许各训练成员自由地选择训练模型。
发明内容
本说明书一个方面提供一种联合训练机器学习模型的方法,所述方法由参与方中的任一训练成员实现,其中,所述参与方包括多个训练成员以及服务器,所述方法包括对模型参数进行多轮迭代更新,其中一轮迭代更新包括:从公共数据集获取一个或多个公共训练样本;所述公共数据集在各训练成员之间公开;通过本地待训练模型处理所述一个或多个公共训练样本,获得包含一个或多个预测结果的第一预测集;将所述第一预测集发送给所述服务器;从所述服务器获取聚合预测集,所述聚合预测集由所述服务器基于来自多个训练成员的第一预测集确定;基于所述聚合预测集与所述一个或多个公共训练样本的标签值计算第一损失函数,并基于所述第一损失函数更新所述本地待训练模型的模型参数,获得一次更新的本地待训练模型;通过所述一次更新的本地待训练模型处理来自该训练成员的私有数据集的一个或多个私有训练样本,获得包含一个或多个预测结果的第二预测集;基于所述第二预测集与所述一个或多个私有训练样本的标签值计算第二损失函数,并基于所述第二损失函数更新所述一次更新的本地待训练模型的模型参数,获得二次更新的本地待训练模型;将所述二次更新的本地待训练模型作为下一轮迭代更新中的本地待训练模型,或者基于所述二次更新的本地待训练模型确定最终模型。
本说明书另一个方面提供一种联合训练机器学习模型的系统,所述系统布置在参与方中的任一训练成员处,其中,所述参与方包括多个训练成员以及服务器,所述系统用于对模型参数进行多轮迭代更新;所述系统包括:第一获取模块,用于从公共数据集获取一个或多个公共训练样本,所述公共数据集在各训练成员之间公开;第一处理模块,用于通过本地待训练模型处理所述一个或多个公共训练样本,获得包含一个或多个预测结果的第一预测集;第一发送模块,用于将所述第一预测集发送给所述服务器;第二获取模块,用于从所述服务器获取聚合预测集,所述聚合预测集由所述服务器基于来自多个训练成员的第一预测集确定;一次更新模块,用于基于所述聚合预测集与所述一个或多个公共训练样本的标签值计算第一损失函数,并基于所述第一损失函数更新所述本地待训练模型的模型参数,获得一次更新的本地待训练模型;第二处理模块,用于通过所述一次更新的本地待训练模型处理来自该训练成员的私有数据集的一个或多个私有训练样本,获得包含一个或多个预测结果的第二预测集;二次更新模块,用于基于所述第二预测集与所述一个或多个私有训练样本的标签值计算第二损失函数,并基于所述第二损失函数更新所述一次更新的本地待训练模型的模型参数,获得二次更新的本地待训练模型;确定模块,用于将所述二次更新的本地待训练模型作为下一轮迭代更新中的本地待训练模型,或者基于所述二次更新的本地待训练模型确定最终模型。
本说明书另一个方面提供一种联合训练机器学习模型的装置,所述装置包括处理器以及存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以实现所述联合训练机器学习模型的方法。
本说明书另一个方面提供一种联合训练机器学习模型的方法,所述方法由参与方中的服务器实现,其中,所述参与方包括多个训练成员以及服务器,所述方法包括对模型参数进行多轮迭代更新,其中一轮迭代更新包括:接收多个训练成员发送的第一预测集,所述第一预测集由相应的训练成员通过本地待训练模型处理公共数据集中的一个或多个公共训练样本得到;所述公共数据集在各训练成员之间公开;基于各训练成员的第一预测集生成聚合预测集;将所述聚合预测集发送给各训练成员,以使各训练成员基于聚合预测集与所述一个或多个公共训练样本的标签值对各自的本地待训练模型的模型参数进行更新。
本说明书另一个方面提供一种联合训练机器学习模型的系统,所述系统布置在参与方中的服务器处,其中,所述参与方包括多个训练成员以及服务器,所述系统用于对模型参数进行多轮迭代更新;所述系统包括:接收模块,用于接收多个训练成员发送的第一预测集,所述第一预测集由相应的训练成员通过本地待训练模型处理公共数据集中的一个或多个公共训练样本得到,所述公共数据集在各训练成员之间公开;聚合模块,用于基于各训练成员的第一预测集生成聚合预测集;第二发送模块,用于将所述聚合预测集发送给各训练成员,以使各训练成员基于聚合预测集与所述一个或多个公共训练样本的标签值对各自的本地待训练模型的模型参数进行更新。
本说明书另一个方面提供一种联合训练机器学习模型的装置,所述装置包括处理器以及存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以实现所述联合训练机器学习模型的方法。
附图说明
本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1为根据本说明书的一些实施例所示的联合训练机器学习模型方法的示例性应用场景图;
图2是根据本说明书的一些实施例所示的联合训练机器学习模型方法的训练成员的示例性流程图;
图3是根据本说明书的一些实施例所示的训练成员的联合训练机器学习模型系统的系统框图;
图4是根据本说明书的一些实施例所示的联合训练机器学习模型方法的服务器的示例性流程图;
图5是根据本说明书的一些实施例所示的服务器的联合训练机器学习模型系统的系统框图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
在经济、文化、教育、医疗、公共管理等各行各业产生的大量信息数据,对其进行例如数据分析、数据挖掘、以及趋势预测等的数据处理分析在越来越多场景中得到广泛应用。其中,通过数据合作的方式可以使多个数据拥有方获得更好的数据处理结果。例如,可以通过多方共享学习来获得更为准确的模型参数。
在一些实施例中,基于多方共享学习的方法可以应用于在保证各方数据安全的情况下,各方协同训练机器学习模型供多方使用的场景。在这个场景中,多个数据方拥有自己的数据,他们想共同使用彼此的数据来统一建模(例如,分类模型、线性回归模型、逻辑回归模型等),但并不想各自的数据(尤其是隐私数据)被泄露。例如,互联网储蓄机构A拥有一批用户数据,银行B拥有另一批用户数据,基于A和B的用户数据确定的训练样本集可以训练得到性能更好的机器学习模型。A和B都愿意通过彼此的用户数据共同参与模型训练,但因为一些原因A和B不愿意自己的用户数据信息遭到泄露,或者至少不愿意让对方知道自己的用户数据信息。
在一些实施例中,可以采用联邦学习的方法进行多方共享学习。联邦学习(Federated Learning)可以在多参与方或多计算结点之间开展高效率的机器学习。联邦学习可以使得多方数据在训练样本不出本地的情况下进行模型训练,只传递训练好的模型或者是梯度信息,这使得各方持有的训练样本的隐私性得到了保护。但联邦学习存在很多限制,比如要求所有训练成员的模型结构相同,因此不能很好地满足各训练成员的实际应用需求。
在本说明书的一些实施例中,通过利用公共数据集和私有数据集对模型进行分阶段训练,可以允许每个训练成员自由选择不同的机器学习模型,更好地满足各自的实际应用需求。进一步地,在本说明书的一些实施例中,训练成员可以采用加密的方式分享数据,保证在与其它训练成员进行联合训练时自己的私密数据不被泄露。
图1为根据本说明书的一些实施例所示的联合训练机器学习模型方法的示例性应用场景图。
需要注意的是,图1仅作为示例性的说明,图1中训练成员的数量可以是不小于2的任意整数。
在一些实施例中,联合训练机器学习模型方法的示例性应用场景100可以包括n个训练成员的设备110-1、110-2、110-3、...110-n、网络120以及服务器130。其中,每一个训练成员的设备和/或服务器130可以包括处理设备和存储设备。
训练成员的设备110-1、110-2、110-3、...110-n可以是带有数据获取、存储和/或发送功能的设备。在一些实施例中,训练成员的设备110-1、110-2、110-3、...110-n可以包括但不限于移动设备、平板电脑、笔记本电脑、台式电脑等或其任意组合。在一些实施例中,训练成员的设备110-1、110-2、110-3、...110-n可以从服务器130获取相关数据。例如,训练成员的设备110-1可以从服务器130获取聚合预测集。关于获取聚合预测集的更多内容可以参见本说明书的其它部分,例如,图2的步骤240,此处不再赘述。
服务器130可以是带有数据获取、存储和/或发送功能的设备。在一些实施例中,服务器130可以接收来自训练成员的设备110-1、110-2、110-3、...110-n的相关数据。例如,服务器130可以接收来自多个训练成员的第一预测集。关于接收第一预测集的更多内容可以参见本说明书的其它部分,例如,图4的步骤410,此处不再赘述。
在一些实施例中,服务器130可以是独立的服务器或者服务器组,该服务器组可以是集中式的或者分布式的。在一些实施例中,服务器130可以是本地的或者远程的。在一些实施例中,服务器130可以在云平台上实现。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。
在一些实施例中,训练成员的设备110-1、110-2、110-3、...110-n的处理设备和/或服务器130的处理设备可以进行数据和/或指令处理。该处理设备可以对数据进行计算,也可以执行相关算法和/或指令。例如,训练成员的设备110-1的处理设备可以通过本地待训练模型处理一个或多个公共训练样本,获得包含一个或多个预测结果的第一预测集。又例如,服务器130的处理设备可以基于各训练成员的第一预测集生成聚合预测集。关于获得第一预测集和生成聚合预测集的更多内容可以参见本说明书的其它部分,例如,图2的步骤220和图4的步骤420,此处不再赘述。
在一些实施例中,训练成员的设备110-1、110-2、110-3、...110-n的存储设备和/或服务器130的存储设备可以存储对应处理设备执行使用的数据和/或指令,处理设备可以通过执行或使用所述数据和/或指令以实现本说明书中的示例性方法。例如,训练成员的设备110-1的存储设备可以存储该训练成员的私有数据集的一个或多个私有训练样本和/或指示训练成员的设备110-1执行操作的相关指令。该存储设备还可以存储经处理设备处理后数据。例如,训练成员的设备110-1的存储设备可以存储二次更新的本地待训练模型。又例如,服务器130的存储设备可以存储基于各训练成员的第一预测集生成的聚合预测集。关于私有数据集和二次更新的本地待训练模型的更多内容可以参见本说明书的其它部分,例如,图2的步骤260和步骤270,此处不再赘述。
在一些实施例中,训练成员的设备110-1、110-2、110-3、...110-n的存储设备和/或服务器130的存储设备可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,应用场景100的一个或以上组成部分(例如,训练成员的设备110-1、110-2、110-3、...110-n和/或服务器130)可以经由网络120与应用场景100中的其他组成部分交换信息和/或数据。例如,服务器130可以经由网络120从训练成员的设备110-1、110-2、110-3、...110-n接收n个训练成员的第一预测集。又例如,训练成员的设备110-1可以经由网络120从服务器130获取基于各训练成员的第一预测集生成的聚合预测集。在一些实施例中,网络120可以为任意形式的有线或无线网络。例如,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。应用场景100的每两个组成部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。例如,训练成员的设备110-1与服务器130之间可以采用局域网络(LAN)的网络连接方式,训练成员的设备110-2与服务器130之间可以采用互联网的网络连接方式等。
图2是根据本说明书的一些实施例所示的联合训练机器学习模型方法的训练成员的示例性流程图。
在一些实施例中,流程200可以由参与方中的任一训练成员执行。如图2所示,流程200可以包括以下步骤:
步骤210,从公共数据集获取一个或多个公共训练样本,所述公共数据集在各训练成员之间公开。
在一些实施例中,步骤210可以由布置在训练成员处的联合训练机器学习模型系统的第一获取模块执行。
在一些实施例中,公共数据集可以是指对所有训练成员公开的用于训练机器学习模型的数据集,例如,从互联网的公开数据库中获取的数据集。在一些实施例中,公共数据集也可以是所有训练成员联合确定的数据集,例如,基于所有训练成员公同拥有的数据而确定的数据集。公共训练样本可以是指所述公共数据集中的用于训练的数据,例如,公共训练样本具有特征数据与标签。在一些实施例中,各训练成员可以进行交互并对公共训练样本达成共识,换句话说,公共训练样本是各训练成员认可的。
在一些实施例中,训练成员可以多次从公共数据集获取一个或多个公共训练样本并存储在本地以供训练所用。具体的,所有训练成员可以对每一次获取的公共训练样本的数量(例如,10份)进行约定,保证所有训练成员获取同等数量的公共训练样本。进一步地,所有训练成员每一次获取的公共训练样本可以进行样本对齐,即保证所有训练成员每一次获取的公共训练样本是相同的并且其排列顺序也是一样的。这样,可以使所有训练成员针对相同的公共训练样本进行训练,提高训练的效果。
步骤220,通过本地待训练模型处理所述一个或多个公共训练样本,获得包含一个或多个预测结果的第一预测集。
在一些实施例中,步骤220可以由布置在训练成员处的联合训练机器学习模型系统的第一处理模块执行。
在一些实施例中,本地待训练模型可以是训练成员自己选择的机器学习模型,例如线性回归模型、神经网络模型、决策树模型等。不同的训练成员可以选择不同的训练模型,这样,每一个训练成员可以按照自己的实际应用需求选择最适合自己的模型,消除了目前联邦学习方法中对模型的限制,增加了训练成员的对模型的选择自由度。在一些实施例中,不同的训练成员可以选择不同类型的机器学习模型,如训练成员110-1选择线性回归模型,训练成员110-2选择逻辑回归模型,训练成员110-3选择树模型。在一些实施例中,各训练成员选择的机器学习模型的输入数据维度是相同的,具体的,具有相同数量以及类型相同或相近的输入特征。在一些实施例中,各训练成员的机器学习模型的预测结果的形式也相同或近似,例如是具有相同数量的多标签分类结果,又例如是二分类结果,再例如是一个预测打分结果等等。在一些实施例中,不同的训练成员也可以选择同一类型的机器学习模型,例如,均选择线性回归模型。需要说明的是,本说明书公开的方法允许各训练成员自由选择模型类型,但是该方法对于各训练成员选择同一模型进行联合训练的场景依然适用,不应将各训练成员的本地待训练模型互不相同作为本说明书的限制。
在一些实施例中,第一预测集可以是包含一个或多个预测结果的集合。训练成员可以通过本地待训练模型对所述一个或多个公共训练样本中的每一个进行处理,得到与所述一个或多个公共训练样本一一对应的预测结果,所述包含一个或多个预测结果的集合可以叫作第一预测集。例如,所述公共训练样本包含10个训练样本,分别表示为x1、x2、…、x10,训练成员A通过本地待训练模型对x1、x2、…、x10进行处理,得到的预测结果分别表示为
Figure BDA0002911063890000101
Figure BDA0002911063890000102
即为第一预测集。
步骤230,将所述第一预测集发送给所述服务器。
在一些实施例中,步骤230可以由布置在训练成员处的联合训练机器学习模型系统的第一发送模块执行。
在一些实施例中,训练成员可以通过网络将所述第一预测集发送给服务器。该网络可以为任意形式的有线或无线网络。该服务器可以是独立的服务器或者服务器组。在一些实施例中,该服务器可以是本地的或者远程的。在一些实施例中,该服务器可以在云平台上实现。关于网络和服务器的更多内容可以参见本说明书的其它部分,例如,图1及其说明,此处不再赘述。
在一些实施例中,训练成员可以通过加密的方式(例如,同态加密或秘密分享等)将所述第一预测集发送给服务器。
在一些实施例中,训练成员可以通过同态加密的方式将所述第一预测集发送给服务器。同态加密是一种密码学技术,一般包括一对公钥和私钥,对利用公钥进行同态加密的数据进行处理得到一个输出,然后再用私钥对这一输出进行解密,解密结果与用同一方法处理未加密的原始数据得到的输出相同。在一些实施例中,所有训练成员可以拥有相同的公私钥对。各训练成员可以利用相同的公钥对各自的第一预测集进行同态加密。例如,继续步骤220中的例子,训练成员A可以利用公钥对第一预测集
Figure BDA0002911063890000111
Figure BDA0002911063890000112
进行加密得到第一预测集的密文形式
Figure BDA0002911063890000113
其中,Enc表示同态加密。训练成员A可以将同态加密后的第一预测集
Figure BDA0002911063890000114
发送给服务器。其他训练成员也可以用类似的方法将其同态加密后的第一预测集发送给服务器。需要说明的是,对集合进行同态加密可以理解为对集合中的每个元素分别进行同态加密。
在一些实施例中,训练成员可以通过秘密分享的方式将所述第一预测集发送给服务器。秘密分享(secret sharing)是一种信息安全和数据保密技术。在一些情况下,为了保护多个参与方的数据隐私,任一参与方的私密数据可以被拆分成多个分片,由各参与方各执其中一片,对各参与方的各个分片分别进行处理,然后再整合得到的输出与对各参与方未拆分的原始数据直接进行处理得到的输出相同。在一些实施例中,每一个训练成员可以通过秘密分享的方式对自己的第一预测集进行拆分,得到N个分片(如N个第一预测子集),其中,N为训练成员的总数,然后将N-1个分片分发给其他N-1个训练成员;每一个训练成员可以将自身的一个分片与来自其他N-1个训练成员的N-1个分片聚合(如将N个分片按位相加),得到聚合分片,然后将该聚合分片发送给服务器。这样,服务器获取的是融合了各训练成员的第一预测集的分片的聚合分片,而不是各训练成员的未拆分的原始数据,因此保护了各训练成员的数据安全。需要说明的是,对集合进行拆分可以理解为对集合中的每个元素分别进行拆分。
需要说明的是,以上说明只是对加密方式的举例,训练成员还可以通过其他数据加密方式将第一预测集发送给服务器。本领域技术人员可以基于此对本说明书的技术方案进各种修改和改进,该类修改和改进仍在本说明书的保护范围之内。
步骤240,从所述服务器获取聚合预测集,所述聚合预测集由所述服务器基于来自多个训练成员的第一预测集确定。
在一些实施例中,步骤240可以由布置在训练成员处的联合训练机器学习模型系统的第二获取模块执行。
在一些实施例中,聚合预测集可以是服务器基于来自多个训练成员的第一预测集确定的数据集合。在一些实施例中,服务器可以基于来自多个训练成员的第一预测集确定所述聚合预测集,例如,通过对来自多个训练成员的第一预测集取算数平均值或加权平均值的方式确定所述聚合预测集。关于确定聚合预测集的更多内容可以参见本说明书的其它部分,例如,图4的步骤420,此处不再赘述。
对于同态加密第一预测集的情形,服务器对各训练成员上传的经过同态加密的第一预测集进行聚合,得到密态下的聚合结果。各训练成员接收服务器下发的密态聚合结果,利用私钥解密,可获得明文的聚合预测集。对于基于秘密分享技术加密第一预测集的情形,服务器在对各训练成员上传的聚合分片进行再次聚合(如求均值)得到的结果等同于服务器对各训练成员的第一预测集直接进行聚合的结果。换句话说,服务器对各训练成员上传的聚合分片进行聚合,可以直接获得明文的聚合预测集。此时,各训练成员无需对服务器下方的聚合结果进行解密。
在一些实施例中,训练成员可以通过网络从服务器获取聚合预测集。该网络可以为任意形式的有线或无线网络,例如,电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。关于网络的更多内容可以参见本说明书的其它部分,例如,图1及其说明,此处不再赘述。
步骤250,基于所述聚合预测集与所述一个或多个公共训练样本的标签值计算第一损失函数,并基于所述第一损失函数更新所述本地待训练模型的模型参数,获得一次更新的本地待训练模型。
在一些实施例中,步骤250可以由布置在训练成员处的联合训练机器学习模型系统的一次更新模块执行。
在一些实施例中,更新模块可以基于所述聚合预测集与所述一个或多个公共训练样本的标签值计算第一损失函数。所述标签值可以是公共训练样本的标签的具体取值。在一些实施例中,例如,分类问题中,所述标签值可以是表示该公共训练样本属于某一分类的概率。在一些实施例中,所述标签值可以是公共训练样本自带的,也可以在训练模型之前通过人工标注等方式获取。第一损失函数可以是基于聚合预测集与一个或多个公共训练样本的标签值计算得到的用于更新本地待训练模型的损失函数。在一些实施例中,损失函数可以反应出预测结果与标签之间的差距。例如,当本地待训练模型为线性回归模型时,第一损失函数可以是最小二乘损失函数。在另一些实施例中,例如,当本地待训练模型为神经网络模型时,第一损失函数可以是交叉熵损失函数。在另一些实施例中,例如,当本地待训练模型为决策树模型时,第一损失函数可以是基于决策树模型的叶子节点的经验熵构建的损失函数等。
在一些实施例中,更新模块可以基于所述第一损失函数更新本地待训练模型的模型参数,以减小预测结果(如聚合预测集)与标签之间的差距,获得一次更新的本地待训练模型。在一些实施例中,更新模块可以基于梯度下降法、自适应矩阵估计(Adaptive momentestimation,Adam)等方法对本地待训练模型进行训练,获得一次更新的本地待训练模型。
步骤260,通过所述一次更新的本地待训练模型处理来自该训练成员的私有数据集的一个或多个私有训练样本,获得包含一个或多个预测结果的第二预测集。
在一些实施例中,步骤260可以由布置在训练成员处的联合训练机器学习模型系统的第二处理模块执行。
在一些实施例中,私有数据集可以是指该训练成员独自拥有的用于训练机器学习模型的数据集。私有训练样本可以是指所述私有数据集中的用于训练的数据。私有数据集往往涉及用户隐私,需要保密。
在一些实施例中,第二预测集可以是包含一个或多个预测结果的集合。训练成员可以通过一次更新的本地待训练模型对一个或多个私有训练样本中的每一个进行处理,得到与所述一个或多个私有训练样本一一对应的预测结果,所述包含一个或多个预测结果的集合可以叫作第二预测集。
获得第二预测集的方法与获得第一预测集的方法类似,关于步骤260的更多内容可以参见本说明书的其他部分(例如,步骤220),此处不再赘述。
步骤270,基于所述第二预测集与所述一个或多个私有训练样本的标签值计算第二损失函数,并基于所述第二损失函数更新所述一次更新的本地待训练模型的模型参数,获得二次更新的本地待训练模型;
在一些实施例中,步骤270可以由布置在训练成员处的联合训练机器学习模型系统的二次更新模块执行。
在一些实施例中,更新模块可以基于所述第二预测集与所述一个或多个私有训练样本的标签值计算第二损失函数。所述标签值可以是私有训练样本的标签的具体取值。在一些实施例中,例如,分类问题中,所述标签值可以是表示该公共训练样本属于某一分类的概率。在一些实施例中,所述标签值可以是私有训练样本自带的,也可以在训练模型之前通过人工标注等方式获取。第二损失函数可以是基于第二预测集与所述一个或多个私有训练样本的标签值计算得到的用于更新一次更新的本地待训练模型的损失函数,其可以反应第二预测集与标签值之间的差距。在一些实施例中,例如,当一次更新的本地待训练模型为线性回归模型时,第二损失函数可以是最小二乘损失函数。在另一些实施例中,例如,当一次更新的本地待训练模型为神经网络模型时,第二损失函数可以是交叉熵损失函数。在另一些实施例中,例如,当一次更新的本地待训练模型为决策树模型时,第二损失函数可以是基于决策树模型的叶子节点的经验熵构建的损失函数等。
在一些实施例中,更新模块可以基于所述第二损失函数更新一次更新的本地待训练模型的模型参数,以减少模型预测结果(如第二预测集)与样本标签之间的差距,获得二次更新的本地待训练模型。在一些实施例中,更新模块可以基于梯度下降法、自适应矩阵估计(Adaptive moment estimation,Adam)等方法对本地待训练模型进行训练,获得二次更新的本地待训练模型。
私有训练样本通常可以更贴近训练成员的实际应用场景,因此,通过私有训练样本对一次更新的本地待训练模型进行训练,可以使训练得到的模型更符合训练成员的实际应用需求。
步骤280,将所述二次更新的本地待训练模型作为下一轮迭代更新中的本地待训练模型,或者基于所述二次更新的本地待训练模型确定最终模型。
在一些实施例中,步骤280可以由布置在训练成员处的联合训练机器学习模型系统的确定模块执行。
在一些实施例中,确定模块可以判断是否需要继续进行下一次迭代。判断的标准可以是迭代次数是否已经达到预设迭代次数、更新后的模型是否满足预设的性能指标阈值等,又或者是否收到来自服务器的终止训练的指示。若确定需要进行下一次迭代,训练成员则可基于所述二次更新的本地待训练模型进行下一次迭代。换句话说,训练成员可以将所述二次更新的本地待训练模型作为下一轮迭代更新中的本地待训练模型,重复执行步骤210~280。若确定不需要进行下一次迭代,训练成员则可以将所述二次更新的本地待训练模型确定为最终模型。
在一些实施例中,当迭代次数未达到预设迭代次数或二次更新的本地待训练模型未满足预设的性能指标阈值时,确定模块可以将所述二次更新的本地待训练模型作为下一轮迭代更新中的本地待训练模型,重复执行步骤210~280。这样,由于二次更新的本地待训练模型在步骤270中受到了训练成员的私有训练样本的训练,因此在下一轮迭代更新中可以将该训练成员的私有训练样本的信息间接地传递给其他训练成员的模型,相当于其他训练成员的模型也间接地利用了该训练成员的私有训练样本进行训练,因此达到了联合训练的目的;同时,由于私有训练样本保留在本地,也保护了私有训练样本的数据安全。
图3是根据本说明书的一些实施例所示的训练成员的联合训练机器学习模型系统的系统框图。
在一些实施例中,系统300可以布置在参与方中的任一训练成员处。如图3所示,系统300可以包括第一获取模块310、第一处理模块320、第一发送模块330、第二获取模块340、一次更新模块350、第二处理模块360、二次更新模块370和确定模块380。
第一获取模块310可以用于从公共数据集获取一个或多个公共训练样本,所述公共数据集在各训练成员之间公开。在一些实施例中,所述公共数据集由所述多个训练成员联合确定。
第一处理模块320可以用于通过本地待训练模型处理所述一个或多个公共训练样本,获得包含一个或多个预测结果的第一预测集。在一些实施例中,所述本地待训练模型的结构不同于其他训练成员的本地待训练模型。
第一发送模块330可以用于将所述第一预测集发送给所述服务器。
在一些实施例中,第一发送模块330可以通过加密的方式将所述第一预测集发送给所述服务器,所述加密的方式包括同态加密或秘密分享等。
第二获取模块340可以用于从所述服务器获取聚合预测集,所述聚合预测集由所述服务器基于来自多个训练成员的第一预测集确定。在一些实施例中,所述聚合预测集为各训练成员的第一预测集的均值。
一次更新模块350可以用于基于所述聚合预测集与所述一个或多个公共训练样本的标签值计算第一损失函数,并基于所述第一损失函数更新所述本地待训练模型的模型参数,获得一次更新的本地待训练模型。
第二处理模块360可以用于通过所述一次更新的本地待训练模型处理来自该训练成员的私有数据集的一个或多个私有训练样本,获得包含一个或多个预测结果的第二预测集。
二次更新模块370可以用于基于所述第二预测集与所述一个或多个私有训练样本的标签值计算第二损失函数,并基于所述第二损失函数更新所述一次更新的本地待训练模型的模型参数,获得二次更新的本地待训练模型。
确定模块380可以用于将所述二次更新的本地待训练模型作为下一轮迭代更新中的本地待训练模型,或者基于所述二次更新的本地待训练模型确定最终模型。
关于系统300的各模块的更多内容可以参见本说明书的其它部分,例如,图2及其说明,此处不再赘述。
图4是根据本说明书的一些实施例所示的联合训练机器学习模型方法的服务器的示例性流程图。
在一些实施例中,流程400可以由参与方中的服务器执行。如图4所示,流程400可以包括以下步骤:
步骤410,接收多个训练成员发送的第一预测集。
在一些实施例中,步骤410可以由布置在服务器的联合训练机器学习模型系统的接收模块执行。
在一些实施例中,服务器可以通过网络接收多个训练成员发送的第一预测集。该网络可以为任意形式的有线或无线网络,例如,电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。关于网络的更多内容可以参见本说明书的其它部分,例如,图1及其说明,此处不再赘述。
在一些实施例中,服务器可以接收多个训练成员通过加密的方式发送的第一预测集。该加密的方式可以是同态加密或秘密分享等。关于加密方式的更多内容可以参见本说明书的其他部分,例如,图2的步骤230,此处不再赘述。
步骤420,基于各训练成员的第一预测集生成聚合预测集。
在一些实施例中,步骤420可以由布置在服务器的联合训练机器学习模型系统的聚合模块执行。
在一些实施例中,聚合模块可以计算各训练成员的第一预测集中对应预测结果的平均值(例如,算数平均或加权平均),并将由对应预测结果的平均值组成的集合作为聚合预测集。在一些实施例中,加权平均的权重系数可以由所有训练成员在训练开始前商定,也可以由服务器确定。在一些实施例中,可以根据各训练成员的可信度确定各自的权重系数,例如,可信度高的训练成员的权重系数较高,可信度低的训练成员的权重系数较低等。在一些实施例中,还可以根据各训练成员自私有训练样本数与全体训练成员私有训练样本总数的比值确定权重系数。在一些实施例中,可以随机生成所有训练成员的权重系数。
步骤430,将所述聚合预测集发送给各训练成员,以使各训练成员基于聚合预测集与所述一个或多个公共训练样本的标签值对各自的本地待训练模型的模型参数进行更新。
在一些实施例中,步骤430可以由布置在服务器的联合训练机器学习模型系统的第二发送模块执行。
在一些实施例中,服务器可以通过网络将所述聚合预测集发送给各训练成员。该网络可以为任意形式的有线或无线网络,例如,电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。关于网络的更多内容可以参见本说明书的其它部分,例如,图1及其说明,此处不再赘述。
应当理解,流程400是一次模型迭代更新中的步骤,服务器会协同各训练成员进行多轮模型的迭代更新,直到满足停止条件。示例性的停止条件可以是,迭代轮次达到设定阈值,或者训练成员的待训练模型性能指标达到要求等。在一些实施例中,服务器可以确定是否终止迭代,并通知各训练成员。
图5是根据本说明书的一些实施例所示的服务器的联合训练机器学习模型系统的系统框图。
在一些实施例中,系统500可以布置在参与方中的服务器上。如图5所示,系统500可以包括接收模块510、聚合模块520和第二发送模块530。
接收模块510可以用于接收多个训练成员发送的第一预测集,所述第一预测集由相应的训练成员通过本地待训练模型处理公共数据集中的一个或多个公共训练样本得到,所述公共数据集在各训练成员之间公开。在一些实施例中,各第一预测集为各训练成员通过加密的方式发送,所述加密的方式包括同态加密或秘密分享等。
聚合模块520可以用于基于各训练成员的第一预测集生成聚合预测集。在一些实施例中,所述聚合预测集为各训练成员的第一预测集的均值。
第二发送模块530可以用于将所述聚合预测集发送给各训练成员,以使各训练成员基于聚合预测集与所述一个或多个公共训练样本的标签值对各自的本地待训练模型的模型参数进行更新。
关于系统500的各模块的更多内容可以参见本说明书的其它部分,例如,图4及其说明,此处不再赘述。
应当理解,本说明书一个或多个实施例(如图3、图5)中的所述系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,接收模块510和发送模块530可以是一个系统中的不同模块,也可以是一个模块实现这两个模块的功能。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)通过利用公共数据集和私有数据集对模型进行分阶段训练,可以允许每个训练成员自由选择不同的机器学习模型,更好地满足训练成员的实际应用需求。(2)通过分阶段多次迭代训练,使训练成员之间可以间接利用彼此私有数据集中的训练数据,达到联合训练的目的。(3)采用加密的方式分享数据,保证训练成员的私密数据安全。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (12)

1.一种联合训练机器学习模型的方法,所述方法由参与方中的任一训练成员实现,其中,所述参与方包括多个训练成员以及服务器,所述方法包括对模型参数进行多轮迭代更新,其中一轮迭代更新包括:
从公共数据集获取一个或多个公共训练样本;所述公共数据集在各训练成员之间公开;
通过本地待训练模型处理所述一个或多个公共训练样本,获得包含一个或多个预测结果的第一预测集;
将所述第一预测集发送给所述服务器;
从所述服务器获取聚合预测集,所述聚合预测集由所述服务器基于来自多个训练成员的第一预测集确定;
基于所述聚合预测集与所述一个或多个公共训练样本的标签值计算第一损失函数,并基于所述第一损失函数更新所述本地待训练模型的模型参数,获得一次更新的本地待训练模型;
通过所述一次更新的本地待训练模型处理来自该训练成员的私有数据集的一个或多个私有训练样本,获得包含一个或多个预测结果的第二预测集;
基于所述第二预测集与所述一个或多个私有训练样本的标签值计算第二损失函数,并基于所述第二损失函数更新所述一次更新的本地待训练模型的模型参数,获得二次更新的本地待训练模型;
将所述二次更新的本地待训练模型作为下一轮迭代更新中的本地待训练模型,或者基于所述二次更新的本地待训练模型确定最终模型。
2.如权利要求1所述的方法,其中,所述公共数据集由所述多个训练成员联合确定。
3.如权利要求1所述的方法,其中,所述本地待训练模型的结构不同于其他训练成员的本地待训练模型。
4.如权利要求1所述的方法,其中,通过加密的方式将所述第一预测集发送给所述服务器;所述加密的方式包括同态加密或秘密分享。
5.如权利要求1所述的方法,其中,所述聚合预测集为各训练成员的第一预测集的均值。
6.一种联合训练机器学习模型的系统,所述系统布置在参与方中的任一训练成员处,其中,所述参与方包括多个训练成员以及服务器,所述系统用于对模型参数进行多轮迭代更新;所述系统包括:
第一获取模块,用于从公共数据集获取一个或多个公共训练样本,所述公共数据集在各训练成员之间公开;
第一处理模块,用于通过本地待训练模型处理所述一个或多个公共训练样本,获得包含一个或多个预测结果的第一预测集;
第一发送模块,用于将所述第一预测集发送给所述服务器;
第二获取模块,用于从所述服务器获取聚合预测集,所述聚合预测集由所述服务器基于来自多个训练成员的第一预测集确定;
一次更新模块,用于基于所述聚合预测集与所述一个或多个公共训练样本的标签值计算第一损失函数,并基于所述第一损失函数更新所述本地待训练模型的模型参数,获得一次更新的本地待训练模型;
第二处理模块,用于通过所述一次更新的本地待训练模型处理来自该训练成员的私有数据集的一个或多个私有训练样本,获得包含一个或多个预测结果的第二预测集;
二次更新模块,用于基于所述第二预测集与所述一个或多个私有训练样本的标签值计算第二损失函数,并基于所述第二损失函数更新所述一次更新的本地待训练模型的模型参数,获得二次更新的本地待训练模型;
确定模块,用于将所述二次更新的本地待训练模型作为下一轮迭代更新中的本地待训练模型,或者基于所述二次更新的本地待训练模型确定最终模型。
7.一种联合训练机器学习模型的装置,所述装置包括处理器以及存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以实现如权利要求1至5中任一项所述联合训练机器学习模型的方法。
8.一种联合训练机器学习模型的方法,所述方法由参与方中的服务器实现,其中,所述参与方包括多个训练成员以及服务器,所述方法包括对模型参数进行多轮迭代更新,其中一轮迭代更新包括:
接收多个训练成员发送的第一预测集,所述第一预测集由相应的训练成员通过本地待训练模型处理公共数据集中的一个或多个公共训练样本得到;所述公共数据集在各训练成员之间公开;
基于各训练成员的第一预测集生成聚合预测集;
将所述聚合预测集发送给各训练成员,以使各训练成员基于聚合预测集与所述一个或多个公共训练样本的标签值对各自的本地待训练模型的模型参数进行更新。
9.如权利要求8所述的方法,其中,各第一预测集为各训练成员通过加密的方式发送;所述加密的方式包括同态加密或秘密分享。
10.如权利要求8所述的方法,其中,所述聚合预测集为各训练成员的第一预测集的均值。
11.一种联合训练机器学习模型的系统,所述系统布置在参与方中的服务器处,其中,所述参与方包括多个训练成员以及服务器,所述系统用于对模型参数进行多轮迭代更新;所述系统包括:
接收模块,用于接收多个训练成员发送的第一预测集,所述第一预测集由相应的训练成员通过本地待训练模型处理公共数据集中的一个或多个公共训练样本得到,所述公共数据集在各训练成员之间公开;
聚合模块,用于基于各训练成员的第一预测集生成聚合预测集;
第二发送模块,用于将所述聚合预测集发送给各训练成员,以使各训练成员基于聚合预测集与所述一个或多个公共训练样本的标签值对各自的本地待训练模型的模型参数进行更新。
12.一种联合训练机器学习模型的装置,所述装置包括处理器以及存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以实现如权利要求8至10中任一项所述联合训练机器学习模型的方法。
CN202110086857.XA 2021-01-22 2021-01-22 一种联合训练机器学习模型的方法、系统及装置 Active CN112766514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110086857.XA CN112766514B (zh) 2021-01-22 2021-01-22 一种联合训练机器学习模型的方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110086857.XA CN112766514B (zh) 2021-01-22 2021-01-22 一种联合训练机器学习模型的方法、系统及装置

Publications (2)

Publication Number Publication Date
CN112766514A true CN112766514A (zh) 2021-05-07
CN112766514B CN112766514B (zh) 2021-12-24

Family

ID=75703648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110086857.XA Active CN112766514B (zh) 2021-01-22 2021-01-22 一种联合训练机器学习模型的方法、系统及装置

Country Status (1)

Country Link
CN (1) CN112766514B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113112312A (zh) * 2021-05-13 2021-07-13 支付宝(杭州)信息技术有限公司 针对用户生成模型的方法、装置和计算机可读存储介质
CN113762532A (zh) * 2021-06-28 2021-12-07 京东科技控股股份有限公司 联邦学习模型的训练方法、装置、电子设备和存储介质
CN113887740A (zh) * 2021-10-21 2022-01-04 支付宝(杭州)信息技术有限公司 联合更新模型的方法、装置及系统
CN113902473A (zh) * 2021-09-29 2022-01-07 支付宝(杭州)信息技术有限公司 业务预测系统的训练方法及装置
CN115840965A (zh) * 2022-12-27 2023-03-24 光谷技术有限公司 一种信息安全保障模型训练方法和系统

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124436A1 (en) * 2011-11-15 2013-05-16 Fujitsu Limited Profiling Energy Consumption
CN103502899A (zh) * 2011-01-26 2014-01-08 谷歌公司 动态预测建模平台
CN107633421A (zh) * 2017-08-24 2018-01-26 武汉科技大学 一种市场预测数据的处理方法及装置
CN109165683A (zh) * 2018-08-10 2019-01-08 深圳前海微众银行股份有限公司 基于联邦训练的样本预测方法、装置及存储介质
CN110598870A (zh) * 2019-09-02 2019-12-20 深圳前海微众银行股份有限公司 一种联邦学习方法及装置
CN110738270A (zh) * 2019-10-22 2020-01-31 中国人民解放军国防科技大学 基于均值迭代的多任务学习模型训练以及预测方法
CN110751294A (zh) * 2019-10-31 2020-02-04 深圳前海微众银行股份有限公司 联合多方特征数据的模型预测方法、装置、设备及介质
CN110837653A (zh) * 2019-11-07 2020-02-25 深圳前海微众银行股份有限公司 标签预测方法、装置以及计算机可读存储介质
CN110874648A (zh) * 2020-01-16 2020-03-10 支付宝(杭州)信息技术有限公司 联邦模型的训练方法、系统和电子设备
CN111143878A (zh) * 2019-12-20 2020-05-12 支付宝(杭州)信息技术有限公司 一种基于隐私数据进行模型训练的方法及系统
CN111178639A (zh) * 2019-12-31 2020-05-19 北京明略软件系统有限公司 一种基于多模型融合实现预测的方法及装置
CN111860829A (zh) * 2020-06-19 2020-10-30 光之树(北京)科技有限公司 联邦学习模型的训练方法及装置
CN111915023A (zh) * 2020-08-28 2020-11-10 支付宝(杭州)信息技术有限公司 一种基于联邦学习的超参数确定方法及装置
CN111967598A (zh) * 2020-08-21 2020-11-20 深圳前海微众银行股份有限公司 神经网络压缩方法、装置、设备及计算机可读存储介质
CN111966875A (zh) * 2020-08-18 2020-11-20 中国银行股份有限公司 一种敏感信息识别方法和装置
US20200401886A1 (en) * 2019-06-18 2020-12-24 Moloco, Inc. Method and system for providing machine learning service
CN112163675A (zh) * 2020-09-10 2021-01-01 深圳前海微众银行股份有限公司 一种模型的联合训练方法、设备及存储介质
CN112201342A (zh) * 2020-09-27 2021-01-08 博雅正链(北京)科技有限公司 基于联邦学习的医疗辅助诊断方法、装置、设备及存储介质
CN112203282A (zh) * 2020-08-28 2021-01-08 中国科学院信息工程研究所 一种基于联邦迁移学习的5g物联网入侵检测方法及系统

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103502899A (zh) * 2011-01-26 2014-01-08 谷歌公司 动态预测建模平台
US20130124436A1 (en) * 2011-11-15 2013-05-16 Fujitsu Limited Profiling Energy Consumption
CN107633421A (zh) * 2017-08-24 2018-01-26 武汉科技大学 一种市场预测数据的处理方法及装置
CN109165683A (zh) * 2018-08-10 2019-01-08 深圳前海微众银行股份有限公司 基于联邦训练的样本预测方法、装置及存储介质
US20200401886A1 (en) * 2019-06-18 2020-12-24 Moloco, Inc. Method and system for providing machine learning service
CN110598870A (zh) * 2019-09-02 2019-12-20 深圳前海微众银行股份有限公司 一种联邦学习方法及装置
CN110738270A (zh) * 2019-10-22 2020-01-31 中国人民解放军国防科技大学 基于均值迭代的多任务学习模型训练以及预测方法
CN110751294A (zh) * 2019-10-31 2020-02-04 深圳前海微众银行股份有限公司 联合多方特征数据的模型预测方法、装置、设备及介质
CN110837653A (zh) * 2019-11-07 2020-02-25 深圳前海微众银行股份有限公司 标签预测方法、装置以及计算机可读存储介质
CN111143878A (zh) * 2019-12-20 2020-05-12 支付宝(杭州)信息技术有限公司 一种基于隐私数据进行模型训练的方法及系统
CN111178639A (zh) * 2019-12-31 2020-05-19 北京明略软件系统有限公司 一种基于多模型融合实现预测的方法及装置
CN110874648A (zh) * 2020-01-16 2020-03-10 支付宝(杭州)信息技术有限公司 联邦模型的训练方法、系统和电子设备
CN111860829A (zh) * 2020-06-19 2020-10-30 光之树(北京)科技有限公司 联邦学习模型的训练方法及装置
CN111966875A (zh) * 2020-08-18 2020-11-20 中国银行股份有限公司 一种敏感信息识别方法和装置
CN111967598A (zh) * 2020-08-21 2020-11-20 深圳前海微众银行股份有限公司 神经网络压缩方法、装置、设备及计算机可读存储介质
CN111915023A (zh) * 2020-08-28 2020-11-10 支付宝(杭州)信息技术有限公司 一种基于联邦学习的超参数确定方法及装置
CN112203282A (zh) * 2020-08-28 2021-01-08 中国科学院信息工程研究所 一种基于联邦迁移学习的5g物联网入侵检测方法及系统
CN112163675A (zh) * 2020-09-10 2021-01-01 深圳前海微众银行股份有限公司 一种模型的联合训练方法、设备及存储介质
CN112201342A (zh) * 2020-09-27 2021-01-08 博雅正链(北京)科技有限公司 基于联邦学习的医疗辅助诊断方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D. VERMA 等,: "Federated Learning for Coalition Operations", 《ARXIV》 *
胡尧,: "基于改进联邦学习的时序数据趋势跟踪及应用", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113112312A (zh) * 2021-05-13 2021-07-13 支付宝(杭州)信息技术有限公司 针对用户生成模型的方法、装置和计算机可读存储介质
CN113762532A (zh) * 2021-06-28 2021-12-07 京东科技控股股份有限公司 联邦学习模型的训练方法、装置、电子设备和存储介质
CN113762532B (zh) * 2021-06-28 2024-04-05 京东科技控股股份有限公司 联邦学习模型的训练方法、装置、电子设备和存储介质
CN113902473A (zh) * 2021-09-29 2022-01-07 支付宝(杭州)信息技术有限公司 业务预测系统的训练方法及装置
CN113887740A (zh) * 2021-10-21 2022-01-04 支付宝(杭州)信息技术有限公司 联合更新模型的方法、装置及系统
CN115840965A (zh) * 2022-12-27 2023-03-24 光谷技术有限公司 一种信息安全保障模型训练方法和系统
CN115840965B (zh) * 2022-12-27 2023-08-08 光谷技术有限公司 一种信息安全保障模型训练方法和系统

Also Published As

Publication number Publication date
CN112766514B (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
CN112766514B (zh) 一种联合训练机器学习模型的方法、系统及装置
CN111931950B (zh) 一种基于联邦学习进行模型参数更新的方法及系统
Naidu et al. A Robust medical data sharing application with a collaborative hypothesis and Elastic net regression model
US20210409191A1 (en) Secure Machine Learning Analytics Using Homomorphic Encryption
CN110944011B (zh) 一种基于树模型的联合预测方法和系统
Liu et al. Secure model fusion for distributed learning using partial homomorphic encryption
CN112100295A (zh) 基于联邦学习的用户数据分类方法、装置、设备及介质
CN111125735A (zh) 一种基于隐私数据进行模型训练的方法及系统
CN110969264B (zh) 模型训练方法、分布式预测方法及其系统
CN111931216A (zh) 一种基于隐私保护的方式获取联合训练模型的方法及系统
JP2016517069A (ja) 行列因数分解に基づいたユーザに寄与する評点に対するプライバシー保護推薦のための方法およびシステム
CN112329072B (zh) 一种基于安全多方计算的模型联合训练方法
Baryalai et al. Towards privacy-preserving classification in neural networks
Meng et al. Privacy-preserving xgboost inference
CN111737756B (zh) 经由两个数据拥有方进行的xgb模型预测方法、装置及系统
CN111079153B (zh) 安全建模方法、装置、电子设备及存储介质
CN113032835A (zh) 一种隐私保护的模型训练方法、系统及装置
CN114172631B (zh) 一种基于秘密分享的排序方法和系统
CN116502732A (zh) 基于可信执行环境的联邦学习方法以及系统
CN114338017B (zh) 一种基于秘密分享的排序方法和系统
Zhang Privacy-Preserving with Zero Trust Computational Intelligent Hybrid Technique to English Education Model
CN111931947A (zh) 一种用于分布式模型训练的训练样本重组方法及系统
CN112054891B (zh) 基于区块链的共有用户确定方法、电子设备及存储介质
Ogiela et al. Data understanding techniques for management application and cryptography
CN111784078A (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