CN112799708B - 联合更新业务模型的方法及系统 - Google Patents
联合更新业务模型的方法及系统 Download PDFInfo
- Publication number
- CN112799708B CN112799708B CN202110370767.3A CN202110370767A CN112799708B CN 112799708 B CN112799708 B CN 112799708B CN 202110370767 A CN202110370767 A CN 202110370767A CN 112799708 B CN112799708 B CN 112799708B
- Authority
- CN
- China
- Prior art keywords
- data
- model
- business
- party
- local
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
本说明书实施例提供一种更新业务模型的系统及方法,将联邦学习分为两个阶段。第一个阶段,各个数据方共同确定全局模型参数。第二阶段,在全局模型参数下发至各个数据方后,各个数据方利用全局模型参数更新本地业务模型后,还利用本地业务数据进一步更新本地的业务模型参数,从而得到更适应本地业务数据的业务模型。其中,第一个阶段各个数据方共同确定全局模型参数过程中,各个数据方可以利用扰动的梯度更新模型参数,并反馈至服务端,从而更加有利于保护本地数据隐私。总之,本说明书的实施例提供的联合更新业务模型的方案,可以提高联邦学习的有效性。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及联合更新业务模型的方法及系统。
背景技术
计算机技术的发展,使得机器学习在各种各样的业务场景中得到越来越广泛的应用。联邦学习是一种在保护隐私数据情况下进行联合建模的方法。例如,企业与企业之间需要进行合作安全建模,可以进行联邦学习,以便在充分保护企业数据隐私的前提下,使用各方的数据对数据处理模型进行协作训练,从而更准确、有效地处理业务数据。在联邦学习场景中,各方例如可以商定模型结构(或约定模型)后,各自使用隐私数据在本地进行训练,并将模型参数使用安全可信的方法进行聚合,最后各方根据聚合后模型参数改进本地模型。联邦学习实现在隐私保护基础上,有效打破数据孤岛,实现多方联合建模。
常规技术中,联邦学习过程对模型参数的更新通常采用对各个参与方的梯度进行平均。然而,实际的联邦过程中,情况往往比较复杂。例如,各个数据方的数据结构具有自己独特的特点,各个数据方使用的局部模型之间也可能存在一些差异。因此,在联邦学习过程中,如何提供更有效的模型参数更新方式,使得联邦训练后得到的全局模型能够在各个数据方的本地业务数据上产生更优的表现,是较为重要的技术问题。
发明内容
本说明书一个或多个实施例描述了一种联合更新业务模型的方法及系统,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供一种联合更新业务模型的方法,用于服务方和多个数据方在保护隐私前提下共同训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;所述方法包括:在联合训练阶段,所述服务方和各个数据方按照预定周期联合执行以下训练操作直至停止条件满足:各个数据方分别利用从所述服务方获取的全局模型参数更新本地模型,并各自基于更新后的本地业务模型对本地业务数据的处理更新本地的模型参数,得到更新的模型参数集;服务方利用若干个数据方各自上传的模型参数集,更新全局模型参数以提供给各个数据方;其中,单个数据方在单个周期中的单个训练轮次,在各个模型参数分别对应的各个梯度上,叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度,并分别利用各个扰动梯度更新各个模型参数;在所述停止条件满足的情况下,进入业务模型个性化阶段,各个数据方各自执行以下个性化更新操作:通过所述训练操作中最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型,以使得所述个性化业务模型用于处理当前数据方对应的业务数据。
在一个实施例中,在所述训练操作的单个周期,单个数据方从所述服务方获取全局模型参数的同时,还获取在当前周期是否被选中的标识信息;在所述标识信息指示被选中的情况下,将当前周期更新的本地模型参数上传至服务方。
在一个实施例中,所述利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型包括:从本地业务数据中随机选取若干条业务数据;经由更新的本地业务模型处理所述若干条业务数据,从而得到相应的随机梯度矩阵;利用所述随机梯度矩阵更新模型参数,从而得到针对当前数据方的个性化业务模型。
根据第二方面,提供一种联合更新业务模型的方法,由服务方执行,用于所述服务方和多个数据方在保护隐私前提下共同训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;所述方法包括:在联合训练阶段,和所述多个数据方按照预定周期联合执行以下训练操作直至停止条件满足:向各个数据方分别下发当前的全局模型参数;获取若干个数据方分别上传的各个模型参数集,以更新全局模型参数,其中,单个模型参数集经由相应的单个数据方在当前周期内的若干个训练轮次确定,单个训练轮次中,该相应的单个数据方在各个模型参数分别对应的各个梯度上,叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度,并分别利用各个扰动梯度更新各个模型参数,形成更新的模型参数集;在所述停止条件满足的情况下,向各个数据方分别下发最终确定的全局模型参数,以供各个数据方进入业务模型个性化阶段,并分别执行以下个性化更新操作:通过所述训练步骤中最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型,以使得所述个性化业务模型用于处理当前数据方对应的本地业务数据。
在一个实施例中,所述若干个数据方为预定数量的数据方,在联合训练阶段的单个周期,所述方法还包括:按照预定选择规则选择出预定数量的数据方;根据选择结果,为各个数据方确定有是否被选中的标识信息;
所述向各个数据方分别下发当前的全局模型参数还包括:针对单个数据方,将该单个数据方是否被选中的标识信息和当前的全局模型参数一起发送给该单个数据方,以供该单个数据方根据相应标识信息确定是否将当前周期更新的模型参数集上传至服务方。
在一个实施例中,所述选择规则包括以下至少一项:随机选择所述预定数量的数据方;按照相等的概率对各个数据方进行选择,直至选择到的数据方数量为所述预定数量;按照各个数据方分别对应的各个选择概率对相应数据方进行选择,直至选择到的数据方数量为所述预定数量,其中,所述选择概率与数据方持有的业务数据条数,或者数据方的置信度正相关。
在一个实施例中,所述获取若干个数据方分别上传的各个模型参数集,以更新全局模型参数包括:根据各个模型参数集的加权平均结果,更新全局模型参数。
在一个实施例中,所述预定周期为:对应预定时间段的预定时间周期,或者对应预定训练轮次的轮次周期。
在一个实施例中,所述停止条件包括,各个数据方的本地业务模型的平均准确度高于预定准确度阈值,所述平均准确度是各个数据方分别对应的各个当前准确度的平均值。
根据第三方面,提供一种联合更新业务模型的方法,用于和服务方在保护隐私前提下共同训练业务模型的多个数据方中的第一方,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;所述方法包括:在联合训练阶段,和所述服务方及其他数据方按照预定周期联合执行以下训练操作直至停止条件满足:利用从服务方获取的当前全局模型参数更新本地业务模型;在单个周期内迭代执行以下参数更新操作:利用更新后的本地业务模型处理当前轮次的若干个训练样本,从而确定各个模型参数分别对应的各个梯度;在各个梯度上叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度;分别利用各个扰动梯度更新各个模型参数,形成模型参数集;在所述停止条件满足的情况下,进入业务模型个性化阶段,并执行以下个性化更新操作:通过联合训练阶段最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对所述第一方的第一业务模型,以使得所述第一业务模型用于处理所述第一方对应的业务数据。
在一个实施例中,在联合训练阶段,从服务方获取当前全局模型参数的同时,还从服务方获取在当前周期是否被选中的标识信息;在所述标识信息指示出在当前周期被选中的情况下,所述方法还包括:在联合训练阶段的当前周期,将迭代更新后的模型参数集发送至服务方。
在一个实施例中,在联合训练阶段的单个周期内,所述方法还包括:基于迭代更新后的模型参数集,检测当前的本地业务模型对应的第一准确度;将所述第一准确度发送至服务方,以供服务方基于所述第一准确度检测是否满足联合训练阶段的停止条件。
在一个实施例中,所述利用本地业务数据进一步训练更新的本地业务模型,得到针对所述第一方的第一业务模型包括:从本地业务数据中随机选取若干条业务数据;利用使用全局模型参数更新的本地业务模型处理所述若干条业务数据,从而得到相应的随机梯度数据;通过所述随机梯度数据更新本地业务模型的模型参数,从而得到所述第一业务模型。
在一个实施例中,所述预定分布为高斯分布。
根据第四方面,提供一种联合更新业务模型的系统,所述系统包括服务方和多个数据方,所述系统用于在保护隐私前提下共同训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;其中:
在联合训练阶段,所述服务方和各个数据方配置为按照预定周期联合执行以下训练操作直至停止条件满足:各个数据方分别利用从所述服务方获取的全局模型参数更新本地模型,并各自基于更新后的本地业务模型对本地业务数据的处理更新本地的模型参数,得到更新的模型参数集;服务方利用若干个数据方各自上传的模型参数集,更新全局模型参数以提供给各个数据方;
其中,单个数据方在单个周期中的单个训练轮次,在各个模型参数分别对应的各个梯度上,叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度,并分别利用各个扰动梯度更新各个模型参数;
在所述停止条件满足的情况下,进入业务模型个性化阶段,各个数据方各自配置为执行以下个性化更新操作:通过所述训练操作中最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型,以使得所述个性化业务模型用于处理当前数据方对应的业务数据。
根据第五方面,提供一种联合更新业务模型的装置,设于服务方,用于所述服务方和多个数据方在保护隐私前提下共同训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;所述装置包括分发单元和更新单元;
在联合训练阶段,所述服务方利用所述装置和所述多个数据方按照预定周期联合执行训练操作直至停止条件满足,其中:
所述分发单元,配置为向各个数据方分别下发当前的全局模型参数;
所述更新单元,配置为获取若干个数据方分别上传的各个模型参数集,以更新全局模型参数,其中,单个模型参数集经由相应的单个数据方在当前周期内的若干个训练轮次确定,单个训练轮次中,该相应的单个数据方在各个模型参数分别对应的各个梯度上,叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度,并分别利用各个扰动梯度更新各个模型参数,形成更新的模型参数集;
在停止条件满足的情况下,所述分发单元还配置为向各个数据方分别下发最终确定的全局模型参数,以供各个数据方进入业务模型个性化阶段,并分别执行以下个性化更新操作:通过所述训练步骤中最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型,以使得所述个性化业务模型用于处理当前数据方对应的本地业务数据。
根据第六方面,提供一种联合更新业务模型的装置,适用于联合更新业务模型的系统,所述系统包括服务方和多个数据方,用于在保护隐私前提下共同训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;所述多个数据方包括第一方,所述装置设于所述第一方,包括更新单元,迭代单元,和个性化单元;
在联合训练阶段,所述第一方利用所述装置和所述服务方及其他数据方按照预定周期联合执行训练操作直至停止条件满足,其中:
所述更新单元,配置为利用从服务方获取的当前全局模型参数更新本地业务模型;
所述迭代单元,配置为在单个周期内迭代执行以下参数更新操作:利用更新后的本地业务模型处理当前轮次的若干个训练样本,从而确定各个模型参数分别对应的各个梯度;在各个梯度上叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度;分别利用各个扰动梯度更新各个模型参数,形成模型参数集;
个性化单元,配置为在所述停止条件满足后的业务模型个性化阶段,执行以下个性化更新步骤:通过联合训练阶段最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对所述第一方的第一业务模型,以使得所述第一业务模型用于处理所述第一方对应的业务数据。
根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面或第三方面的方法。
根据第八方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面或第三方面的方法。
通过本说明书实施例提供的系统和方法,通过两阶段的设计,可以达到利用多个数据方持有的业务数据共同训练业务模型的效果,同时,由于各个数据方在更新模型参数时,采用的梯度是满足差分隐私机制的梯度数据,可以有效保护本地数据隐私;另一方面,各个数据方得到服务方最终确定的业务模型的模型参数后,还进一步进行个性化处理,因此,可以更好地适应本地业务数据。总之,本说明书的实施例提供的联合更新业务模型的方案,可以提高联邦学习的有效性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是在本说明书技术构思下的联合更新业务模型的系统架构示意图;
图2示出本说明书一个实施例的联合训练阶段的流程示意图;
图3示出本说明书一个实施例的业务模型个性化阶段单个数据方的个性化更新操作流程示意图;
图4示出一个具体例子的联合更新业务模型的实施流程图;
图5示出本说明书一个实施例的联合更新业务模型的系统及服务方、数据方的结构框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
联邦学习(Federated Learning),又可以称为联邦机器学习,联合学习,联盟学习等。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
假设企业A、企业B各自建立一个任务模型,单个任务可以是分类或预测,而这些任务也已经在获得数据时有各自用户的认可。然而,由于数据不完整,例如企业 A 缺少标签数据、企业 B 缺少用户特征数据,或者数据不充分,样本量不足以建立好的模型,那么在各端的模型有可能无法建立或效果并不理想。联邦学习要解决的问题是如何在A和B各端建立高质量的模型,并且各个企业的自有数据不被其他方知晓,即在不违反数据隐私法规情况下,建立一个共有模型。这个共有模型就好像各方把数据聚合在一起建立的最优模型一样。这样,建好的模型在各方的区域仅为自有的目标服务。
联邦学习的实施架构如图1所示。在该实施架构下,可以由两个或两个以上的业务方共同训练业务模型。各个业务方分别可以利用训练好的业务模型对本地业务数据进行本地业务处理。这里的业务数据例如可以是字符、图片、语音、动画、视频等各种数据。通常,各个业务方的业务数据具有相关性。例如,涉及金融业务的多个业务方中,业务方1为银行,为用户提供储蓄、贷款等业务,可以持有用户的年龄、性别、收支流水、贷款额度、存款额度等数据,业务方2为P2P平台,可以持有用户的借贷记录、投资记录、还款时效等数据,业务方3为购物网站,持有用户的购物习惯、付款习惯、付款账户等数据。再例如,涉及医疗业务的多个业务方中,各个业务方可以是各个医院、体检机构等,如业务方1为医院A,对应用户年龄、性别、症状、诊断结果、治疗方案、治疗结果等等诊疗记录作为本地业务数据,业务方2可以为体检机构B,对应用户年龄、性别、症状、体检结论等等的体检记录数据,等等。
服务方可以为各个业务方的联邦学习提供辅助,例如,辅助进行非线性计算、综合模型参数梯度计算等。图1示出的服务方的形式为独立于各个业务方单独设置的其他方,如可信第三方等。实践中,服务方还可以分布于各个业务方,或者由各个业务方组成,各个业务方之间可以采用安全计算协议(如秘密共享等)完成联合辅助计算。本说明书对此不做限定。
在图1示出的实施架构下,服务方可以预先确定业务模型,分发给各个业务方,或者明确构建业务模型的规则,例如特征顺序、神经网络层数、各层的神经元个数及浮动范围、参数地址或命名方式等等,以供各个业务方在本地建立大致统一的业务模型。之后,各个业务方可以分别在本地计算模型参数的梯度,或者按照梯度更新模型参数。各个业务方按照训练周期(例如时间周期、批次周期等)把梯度或模型参数的计算结果传递给服务方,由服务方综合计算模型参数的梯度或联合更新的模型参数,例如对各个业务方的模型参数或其梯度求平均,并发送给各个业务方。各个业务方根据接收到的模型参数或其梯度,更新本地的模型参数。
联邦学习可以分为横向联邦学习(特征对齐)、纵向联邦学习(样本对齐)与联邦迁移学习。本说明书提供的实施架构可以是用于各种联邦学习架构,尤其适用于横向联邦学习,即,各个业务方分别提供部分独立样本,并可在本地利用本地的样本数据训练本地业务模型,计算相应模型参数的梯度,或更新相应模型参数。
值得说明的是,实践中,业务方可以作为数据持有方,也可以将数据传递给数据持有方,由数据持有方参与业务模型的联合训练。因此,在下文中,将参与联合训练的服务方之外的各方统称为数据方。一个数据方通常可以对应一个业务方。在可选的实现中,一个数据方也可以对应多个业务方。数据方可以通过设备、计算机、服务器等实现。
在以上过程中,由服务方更新的模型参数或梯度,可以看作虚拟的全局模型的参数或梯度,虚拟的全局模型可以看作将各个数据方的数据作为一个整体的数据集训练的业务模型,经由丰富的训练样本进行了充分的训练。然而实践中,各个数据方持有的业务数据,具有本地的数据特点,例如体检机构的样本数据相较于医院的样本数据中病例的诊断依据,更具有全面性。换句话说,体检机构的样本数据可以提取更多更全面的特征,而医院的样本数据提取的特征与诊断结果之间更具有针对性。全局业务模型在针对各个数据方的具体数据时,还需要适应当前业务数据的特点。
为此,本说明书实施例提出一种技术构思。将联邦学习分为两个阶段。第一个阶段,各个数据方共同确定全局模型参数。第二阶段,在全局模型参数下发至各个数据方后,各个数据方利用全局模型参数更新本地业务模型后,还利用本地业务数据进一步更新本地的业务模型参数,从而得到更适应本地业务数据的业务模型。在可选的实现方式中,第一个阶段各个数据方共同确定全局模型参数过程中,各个数据方可以利用扰动后的梯度更新模型参数,并反馈至服务端,从而更加有利于保护本地数据隐私。
下面结合图1示出的系统架构,详细描述本说明书的技术构思。
为了描述方便,通过图2、图3分两个阶段描述本说明书的技术构思。请参考图2所示,给出了一个实施例的联合训练阶段更新全局业务模型的流程。该流程可以适用于各种联邦学习。其中,各方的关联关系可以如图1所示,并可以分别实现为设备、计算机、服务器等。
如图2所示,联合训练阶段的训练过程由服务方和各个数据方相互配合完成。该阶段可以包括多个周期,图2示出的流程可以对应其中的一个周期,包括:步骤201,各个数据方分别利用从服务方获取的全局模型参数更新本地模型,并各自基于更新后的本地业务模型对本地业务数据的处理更新本地的模型参数,得到更新的模型参数集,其中,单个数据方在单个周期中的单个训练轮次,在各个模型参数分别对应的各个梯度上,叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度矩阵,并分别利用各个扰动梯度,更新各个模型参数;步骤202,服务方利用若干个数据方各自上传的模型参数集,更新全局模型参数,以提供给各个数据方。
可以理解,步骤201和步骤202是联合训练的一个周期,通过两个步骤的循环执行,直至满足全局联合训练的停止条件,可以确定虚拟的全局模型的模型参数。下面具体描述两个步骤。
步骤201,各个数据方分别利用从服务方获取的全局模型参数更新本地模型,并各自基于更新后的本地业务模型对本地业务数据的处理,更新本地的模型参数,得到更新的模型参数集。
在初始周期,各个数据方从服务方获取的全局模型参数可以是服务方初始化的模型参数。在其他周期,数据方可以从服务方获取前一周期更新的模型参数。
可以理解,由于各方数据结构不同,各个数据方的本地业务模型之间的结构也可以存在细微差别。例如,对于医院诊疗数据来说,医院A和医院B可能都偏重血液疾病的诊疗,则医院A和医院B的本地业务模型均可以包括特征1至特征3,而医院A和医院C都擅长肿瘤治疗,则医院A和医院B的本地业务模型均可以包括特征4至特征5,等等。因此,在一些可选的实施例中,服务方可以向各个数据方提供共同训练业务模型的架构,以供各个业务方基于该架构构建本地业务模型。例如,服务方提供全局业务模型的层数、参数数量、连接结构等等。连接结构例如是全连接、池化等。在另一些可选的实施例中,服务方可以构建一个全面的全局业务模型,分发至各个数据方。各个数据方根据本地业务数据的不同,适当删减部分特征,从而构建本地业务模型。
联合训练阶段,各个数据方共同确定虚拟的全局模型的模型参数。通常,这里的全局模型是各个数据方的本地业务模型共用的模型参数,即公共模型参数。在各个数据方的本地业务模型具有细微差别的情况下,全局模型参数可以包括相同部分的模型参数。
为了保证各端使用一致的初始模型进行训练,可以由服务方提供初始化的模型参数。服务方可以在提供全局模型时提供初始化的模型参数,也可以在各个业务方构建好本地业务模型后,向其提供初始化的模型参数。初始化的模型参数可以是服务方随机生成的一组参数,也可以是按照预定规则设定的一组参数(例如所有参数都是对应初始化值a,或者神经网络的第一层对应初始化参数a、第二层对应初始化参数b),等等。
各个数据方获取全局模型参数更新本地业务模型后,可以利用本地业务数据训练更新后的本地业务模型,得到更新的模型参数集。换句话说,利用更新后的本地业务模型处理本地业务数据,确定模型损失,并根据模型损失确定各个模型参数分别对应的各个梯度,从而利用诸如梯度下降法、牛顿法之类的参数更新方法更新模型参数,得到更新的模型参数集。
其中,为了描述方便,可以将数据方更新一次模型参数称为一个训练轮次。在一个训练轮次中,可以使用本地业务模型处理一条或多条业务数据,得到相应的一个或多个处理结果,然后根据各条业务数据各自对应的样本标签与处理结果的对比确定当前训练轮次的模型损失。
在联合训练的一个周期内,单个数据方可以进行一个或迭代多个轮次的模型参数更新(即多个小周期)。为了避免特殊样本对业务模型参数的更新造成的干扰,各个数据方可以按照预先设定的周期向服务方发送更新后的模型参数。这里的预定周期,可以是时间周期,也可以是轮次周期等。例如,按照时间周期,5分钟发送一次模型参数,或者按照轮次周期,每经过10个轮次发送一次更新的模型参数。这里的时间周期或轮次周期,对应一个联合训练周期。
进一步地,在本说明书的技术构思下,为了保护各个数据方的数据隐私,避免其他方利用单个数据方上传的模型参数数据反推其业务数据或梯度数据,各个数据方在单个轮次确定梯度数据后,可以为梯度添加噪声,并利用添加噪声的梯度矩阵更新模型参数。为了确保添加噪声的梯度数据能够准确反映本地业务模型的实际情形,在添加噪声时,考虑差分隐私(Differential Privacy)机制。
差分隐私是隐私保护中的重要手段,是为了保护数据源一点微小的改动导致的隐私泄露问题。假设有两个相邻的数据集和,两者只有一个元素不同,即成为相邻的数据集。差分隐私是对于一个随机算法定义的,假设一个随机算法分别作用在两个相邻的数据集上,得到的两个输出难以区分,就称这个随机算法满足差分隐私。严格地,一个随机算法满足差分隐私的定义如下:
其中,为输出集合的任意子集,为数据集在随机算法下的输出在集合中的概率,类似地,为数据集在随机算法下的输出在集合中的概率。是一个用以描述两个概率之间的距离的量,两个概率越接近的值越小,是两个概率距离足够接近,即,不成立的容忍度。
差分隐私有拉普拉斯机制、高斯机制、指数机制等多种形式。这里以高斯机制为例进行说明。
在本说明书的实施方案中,数据方可以在梯度上加入满足高斯分布的噪音,以达到保护梯度隐私的作用。假设高斯机制可以写成g ̃=g+n, 其中n是服从一定均值和方差的高斯分布的噪音,在将多个梯度作为整体描述的情况下,其可以看作一个矩阵(向量可以作为特殊的矩阵),相应地,扰动数据可以看作扰动矩阵(或扰动向量)。此处扰动数据中每一个元素的选取可以基于梯度的敏感性Sf和想要保护的隐私效果ϵ确定。确定的原理如下:假设ϵ∈(0,1)为一常数,对于满足c2=2 ln (1.25/ϵ),选取满足σ>c·Sf/ϵ为高斯分布的噪声元素的模,或者说满足(0,σ2)的高斯分布的扰动矩阵n,则经过扰动的梯度g ̃=g+n是满足(ϵ,δ)差分隐私的。其中,基于梯度的敏感性Sf可以是输出数据集的最大距离,例如对应梯度的L2范数等。例如在一个实施例中,每一轮次都对梯度做裁剪,令某个模型参数xi对应的梯度g ̃(xi)= g(xi)/max(1,|| g(xi)||2/C),也就是将梯度的L2范数最大值限定为C,则预定值C即为梯度的敏感性Sf。
本说明书的实施例中,例如可以生成各个扰动值在一起整体上满足预定均值为0,方差为σ2的高斯分布的扰动数据。在具体确定各个元素的一个实施例中,可以在预定均值预定方差的高斯分布表达式下,用生成的随机数作为自变量,得到因变量结果作为相应元素。
在其他实施例中,还可以通过拉普拉斯机制等实现差分隐私,在此不再赘述。
可以理解,扰动数据和梯度数据中的元素一一对应。在通过矩阵形式描述时,扰动矩阵行数、列数可以与数据方本地的梯度矩阵保持一致,从而,可以将扰动矩阵与梯度矩阵叠加。由于扰动数据满足差分隐私机制,各个扰动元素叠加到相应梯度后,可以在隐私因子范围内保证结果的准确性,同时,由于各个模型参数的梯度值被增加噪声,即使其他方获取了扰动梯度,或者基于扰动梯度更新的模型参数,也难以据此反推当前数据方的业务数据,达到了兼顾结果准确性和隐私数据保护的目的。在各个轮次,单个数据方可以利用梯度下降法、牛顿法等方法,利用扰动梯度矩阵更新本地模型参数。
在单个周期包括多个轮次的情况下,根据实际需要,单个数据方可以在每个轮次都对梯度数据添加噪声,也可以在单个周期的最后一个轮次对梯度数据添加噪声,在此不做限定。
在单个数据方按照预定周期向服务方发送更新后的模型参数的情况下,周期到达时,各个数据方可以将本地根据最后一个轮次确定的模型参数集发送至服务方。在使用时间周期的情况下,可选地,还可以由服务方在周期到达时,分别向各个数据方请求获取当前的各个模型参数集。
然后,在步骤202,服务方可以利用若干个数据方发送的各个模型参数集更新全局模型参数,以提供给各个数据方。其中,更新方式例如可以是加权平均(权值相同时看作取平均)、取最大值或最小值、去掉最大值最小值后取平均等等,在此不再赘述。这里,发送给各个数据方,可以是发送给所有参与本次联邦学习的数据方,而不限于本周期上传模型参数的数据方。其中,这里的若干个数据方可以是全部参与联合训练的数据方,也可以是其中的部分数据方。
根据一个可能的设计,可以由服务方在各个周期,按照预定规则选择一些数据方获取模型参数数据,以节约通信量,加快联邦学习效率。
在一个实施例中,服务方可以按照数据方次序轮流滚动的方式选定下一周期的数据方。例如,数据方有A、B、C、D,第一个周期选择A、B、C,第二个周期选择B、C、D,第三个周期选择C、D、A……以此类推。
在一个实施例中,服务方可以随机选择预定数量的数据方作为下一周期选定的数据方。
在一个实施例中,服务方可以按照一定的概率选择预定数量的数据方作为下一周期选定的数据方。例如,等概率(即每个数据方被选中的概率相等)选择10个数据方。再例如,数据方被选中的概率与其重要度正相关,并作为对单个数据方进行选择的依据。数据方的重要度可以根据其样本条数,或者机构/设备置信度、权威度确定相应重要度。举例而言,医院的数据比体检机构的数据更具权威性或由更高的置信度,则与医院对应的数据方的重要度比对应于体检机构的数据方的重要度高。数据方被选中的概率与其重要度正相关,这样可以保证重要度较高的数据方在整个联邦学习过程中被选中的次数更多。在可选的例子中,数据方持有的业务数据条数越多,则对应的被选中的概率越高。
在数据方主动向服务方上传模型参数的情况下,服务方可以在下发模型参数时,分别向各个数据方传递其是否被选中的结果,以供相应数据方根据该结果确定是否在下个周期向服务方发送模型参数数据。在服务方主动向数据方请求模型参数的情况下,服务方可以根据选择结果,在当前周期内向数据方发送数据请求,以供收到数据请求的数据方在当前更新完模型参数集后反馈给服务方。
可以理解,联合训练阶段还可以设置有停止条件。该停止条件可以被服务方或数据方控制。停止条件通常和业务模型性能相关,例如,损失下降到预定损失阈值以下、准确度达到预定准确度阈值以上等等。
在一个实施例中,以上停止条件例如可以是:梯度矩阵中的各个元素的模(绝对值)均小于预定值(如0.00001),或者模型参数的变化值小于预定值(如0.1),或者损失函数值小于预定阈值(如0.1)等。此时可选地,可以由各个数据方分别检测本地业务模型是否满足停止条件。在本地停止条件满足时,可以停止训练本地模型,并等待全局模型参数更新,或者重复上传最后一次更新的模型参数集。
在另一个实施例中,停止条件例如可以是:各个数据方当前模型的整体准确度大于预定准确度阈值。此时,各个数据方在将模型参数数据上传至服务方之前,可以通过本地业务数据(例如测试集)测试当前模型参数下本地业务模型的准确度。在向服务方上传模型参数的同时,单个数据方还可以将本地业务模型的准确度上传至服务方,服务方根据各个数据方上传的准确度确定整体准确度。整体准确度例如为各个数据方上传的准确度中的最小准确度,或者平均准确度。整体准确度大于预定准确度阈值的情况下,服务方可以确定停止条件满足。
在更多实施例中,还可以通过其他方式确定模型训练停止条件,例如,单个数据方总的迭代次数达到预定次数(如1000次),等等,在此不再一一列举。
在训练停止条件的情况下,服务方更新的模型参数可以看作最终确定的全局模型的模型参数。服务方将此时更新的模型参数下发给各个数据方,第一阶段的联合训练完成。
在联合训练阶段,各个数据方经由服务方的配合,充分利用多个业务方的数据训练业务模型,在训练过程中,由于各个数据方向服务方传递的数据为更新后的模型参数,而模型参数的更新所依赖的梯度数据被添加了扰动,从而可以有效保护各个数据方的业务数据隐私。
进一步地,为了得到更加适应本地业务需求,使得本地业务模型有针对性地处理本地业务数据,可以通过业务模型个性化阶段,各个数据方利用本地业务数据对联合训练的业务模型进行微调,从而使得业务模型更加适应本地业务数据的特点。
请参考图3所示,示出了一个实施例中业务模型个性化阶段单个数据方的个性化更新操作流程。如图3所示,该个性化更新操作流程可以包括以下步骤:步骤301,通过联合训练阶段中最终确定的全局模型参数更新本地业务模型;步骤302,利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型,以使得该个性化业务模型用于处理当前数据方对应的业务数据。
例如,各个数据方中的任一方记为第一方,第一方利用本地业务数据进一步训练更新的本地业务模型,可以得到针对该第一方的第一业务模型。该第一业务模型在第一方对应的业务数据处理上,具有比全局业务模型更好的处理效果。例如第一方持有的业务数据为某个肿瘤医院的诊疗数据,则第一业务模型对于肿瘤诊疗业务数据可能具有更好的处理效果。
其中,步骤302对本地业务模型个性化修正的过程,就是再次更新模型参数,可以达到更优地适应本地业务数据的目的。在步骤302,利用本地业务数据进一步训练使用最终的全局模型参数更新的本地业务模型过程中,可以使用全部或部分业务数据更新本地业务模型。
在一个实施例中,可以选择预定条数的本地业务数据对本地业务模型进一步训练并更新模型参数。例如,可以选择排列靠前的M条业务数据对本地业务模型进一步训练。再例如,可以使用训练集中在联合训练过程中未用到的多条业务数据对本地业务模型进一步训练。
可以理解,在一些情况下,数据采集或排列过程中的,同类业务数据可能扎堆出现,这样,如果按顺序获取部分业务数据,可能获取大量同类业务数据,导致业务模型偏向于处理该类业务数据。因此,根据一个可能的设计,可以从本地业务数据中随机选择若干条业务数据对本地业务模型进一步训练。以从本地业务数据中随机选择若干条业务数据为例,假设选择出S条业务数据,则使用全局模型参数更新后的本地业务模型处理这S条业务数据,并确定出随机梯度数据。这里,随机梯度数据中的随机与随机业务数据相对应,表明该梯度数据是根据随机业务数据产生的,梯度数据本身不是随机的,而是根据业务模型对业务数据的处理结果相对于业务数据的标签的损失确定的。随机梯度数据中的各个元素分别对应各个模型参数。针对第一方确定的随机梯度数据可以称为第一梯度数据。
根据随机梯度数据更新本地模型参数。此时的业务模型可以用于本地业务数据处理,是适应本地业务数据特点的个性化业务模型。以医疗数据为例,经过个性化更新后,对应于医疗机构的数据方得到的业务模型可以更有效地处理诊疗业务数据,对应于体检机构的数据方得到的业务模型可以更有效地处理体检业务数据。
综上,通过图2和图3示出的两个阶段,可以达到利用多个数据方持有的业务数据共同训练业务模型的效果,同时,由于各个数据方在更新模型参数时,采用的梯度是满足差分隐私机制的梯度数据,可以有效保护本地数据隐私;另一方面,各个数据方得到服务方最终确定的业务模型的模型参数后,还进一步进行个性化处理,因此,可以更好地适应本地业务数据。总之,本说明书的实施例提供的联合更新业务模型的方案,可以提高联邦学习的有效性。
为了更加直观地描述本说明书实施例的技术效果,参考图4所示,示出了一个具体例子的联合更新业务模型的流程。图4仅示出了任一个数据方(如可以称为第一方)与服务方之间的交互,实际上,各个数据方分别可以与服务方进行相似的交互。
如图4所示,实线箭头可以表示联合训练阶段的停止条件满足之前的流程,虚线箭头可以表示停止条件满足之后的流程。
假设服务方可以预先设定以下超参:训练轮次周期为H、满足高斯分布的噪音标准差σ(均值为0)、学习率η,并分发给各个数据方。其中,H用于控制数据方向服务方反馈模型参数的轮次周期,也就是说,经过H轮次的训练,从服务方获取一次全局模型参数进行更新。标准差σ用于控制满足高斯分布的扰动矩阵的生成。学习率η用于控制通过梯度更新模型参数的幅度。在可选的实施例中,服务方还可以预先设定总的迭代次数T,表示在单个数据方迭代T次的情况下,停止联合训练,T可以为H的整数倍。
初始周期,服务方还可以初始化模型参数作为全局模型参数下发给各个数据方。
数据方从服务方获取全局模型参数,在本地更新业务模型。然后,将一个批次的本地业务数据输入更新的业务模型进行处理,确定当前梯度。另一方面,数据方还可以根据上述超参σ生成一个扰动矩阵,该扰动矩阵叠加在当前梯度,形成扰动梯度数据(如矩阵)。
继续结合图4所示,利用扰动梯度,和前述的超参η,采用诸如梯度下降法等更新模型参数。之后,数据方可以检测当前迭代轮次是否为H的整数倍,若是,则满足预定周期,否则不满足预定周期。在不满足预定周期的情况下,可以用更新的模型参数迭代更新本地业务模型,即通过本地业务数据迭代以上更新模型参数的流程,执行数据方内部循环流程。
在满足轮次周期H的情况下,数据方还可以检测当前周期自身是否被选中。一方面,在未被选中的情况下,可以等待服务方下发经过本周期的训练更新的全局模型参数。另一方面,在被选中的情况下,可以向服务方上传当前周期更新后的模型参数集。
服务方可以接收被选中的多个(如预设的M个)数据方在当前周期更新的模型参数。之后,一方面,服务方可以根据接收到的各个模型参数集,更新全局模型参数,例如用多个模型参数集的加权平均结果作为更新后的全局模型参数集。另一方面,服务方还可以检测是否满足停止条件,例如当前周期数与H的乘积是不是等于T。
在不满足停止条件的情况下,服务方可以选择预定数量的数据方,作为下一周期上传数据的数据方,并确定各个数据方是否被选中的标识。之后,服务方可以将该标识与更新的模型参数一起,分发给各个数据方。例如,针对第一方,在本次未被选中,可以通过数字1作为未选中标识,和当前周期更新的模型参数一起发送至第一方。在本次被选中的情况下,可以通过数字0作为选中标识,和当前周期更新的模型参数一起发送至第一方。如此,可以继续联合训练的服务方和数据方之间的大循环流程。
在满足停止条件的情况下,服务方可以将更新的模型参数作为最终确定的全局模型参数下发给各个数据方。服务方还可以通知各个数据方联合训练结束。
停止条件满足,意味着服务方和数据方联合训练的循环流程结束。之后,如虚线箭头所指示,数据方内部可以进行业务模型的个性化更新。数据方可以利用最终确定的全局模型参数更新本地业务模型,之后,通过本地业务模型训练更新后的业务模型,得到个性化的本地业务模型。
值得说明的是,以上过程中,图1是本说明书的实施架构,图2、图3分别是本说明书技术构思下的两个阶段的实施例,图4是综合两个阶段的一个具体例子,它们之间依次递进,在一些描述上可以相互补充。
根据另一方面的实施例,还提供一种联合更新业务模型的系统。该系统可以包括服务方和多个数据方。图5示出了一个实施例的联合更新业务模型的系统500中的服务方和其中一个数据方的示意性架构。系统500可以用于在保护隐私前提下共同训练业务模型,其中,业务模型可以用于对业务数据进行处理,得到相应的业务处理结果。
进一步地,服务方可以设置有联合更新业务模型的装置510,该装置包括分发单元511和更新单元512,数据方可以设置有联合更新业务模型的装置520,包括更新单元521、迭代单元522和个性化单元523。服务方的装置510中,分发单元511可以配置为向各个数据方分别下发当前的全局模型参数。
在联合训练阶段,服务方和各个数据方配置为联合执行训练操作直至停止条件满足。其中,对于单个数据方中的装置520而言,其可以通过更新单元521利用从服务方获取的当前全局模型参数更新本地业务模型,然后,利用迭代单元522,在单个周期内,迭代执行以下参数更新操作:利用更新后的本地业务模型处理当前轮次的若干个训练样本,从而确定各个模型参数分别对应的各个梯度;在各个梯度上叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度;分别利用各个扰动梯度更新各个模型参数,得到更新的模型参数集。装置510中的更新单元512,配置为获取若干个数据方各自按照预定周期上传的各个模型参数集,以更新全局模型参数。这里的若干个数据方可以是全部数据方,可以是预定数量的数据方,在此不作限定。
在停止条件满足的情况下,装置520的个性化单元523,配置为在业务模型个性化阶段,执行以下个性化更新操作:通过联合训练阶段最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型,以使得该个性化业务模型用于处理当前数据方对应的业务数据。以当前数据方为第一方为例,利用本地业务数据进一步训练更新后的本地业务模型,可以得到针对第一方的第一业务模型,以使得第一业务模型用于处理第一方对应的业务数据。
值得说明的是,以上系统500可以对应图1示出的架构中的服务方和任一个数据方,装置510和装置520分别设置于服务方和数据方,以执行相应方法,因此,针对图1、图2、图3的方法实施例中关于服务方或数据方的描述同样适用于装置510和装置520,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2、图3等所描述的方法涉及服务方或数据方的一方。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2图3等所描述的方法涉及服务方或数据方。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
Claims (19)
1.一种联合更新业务模型的方法,用于服务方和多个数据方在保护隐私前提下共同训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;所述方法包括:
在联合训练阶段,所述服务方和各个数据方按照预定周期联合执行以下训练操作直至停止条件满足:各个数据方分别利用从所述服务方获取的全局模型参数更新本地模型,并各自基于更新后的本地业务模型对本地业务数据的处理更新本地的模型参数,得到更新的模型参数集;服务方利用若干个数据方各自上传的模型参数集,更新全局模型参数以提供给各个数据方;
其中,单个数据方在单个周期中的单个训练轮次,在各个模型参数分别对应的各个梯度上,叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度,并分别利用各个扰动梯度更新各个模型参数;
在所述停止条件满足的情况下,进入业务模型个性化阶段,各个数据方各自执行以下个性化更新操作:通过所述训练操作中最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型,以使得所述个性化业务模型用于处理当前数据方对应的业务数据。
2.根据权利要求1所述的方法,其中,在所述训练操作的单个周期,单个数据方从所述服务方获取全局模型参数的同时,还获取在当前周期是否被选中的标识信息;
在所述标识信息指示被选中的情况下,将当前周期更新的本地模型参数上传至服务方。
3.根据权利要求1所述的方法,其中,所述利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型包括:
从本地业务数据中随机选取若干条业务数据;
经由更新的本地业务模型处理所述若干条业务数据,从而得到相应的随机梯度矩阵;
利用所述随机梯度矩阵更新模型参数,从而得到针对当前数据方的个性化业务模型。
4.一种联合更新业务模型的方法,由服务方执行,用于所述服务方和多个数据方在保护隐私前提下共同训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;所述方法包括:
在联合训练阶段,和所述多个数据方按照预定周期联合执行以下训练操作直至停止条件满足:
向各个数据方分别下发当前的全局模型参数;
获取若干个数据方分别上传的各个模型参数集,以更新全局模型参数,其中,单个模型参数集经由相应的单个数据方在当前周期内的若干个训练轮次确定,单个训练轮次中,该相应的单个数据方在各个模型参数分别对应的各个梯度上,叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度,并分别利用各个扰动梯度更新各个模型参数,形成更新的模型参数集;
在所述停止条件满足的情况下,向各个数据方分别下发最终确定的全局模型参数,以供各个数据方进入业务模型个性化阶段,并分别执行以下个性化更新操作:通过所述训练操作中最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型,以使得所述个性化业务模型用于处理当前数据方对应的本地业务数据。
5.根据权利要求4所述的方法,其中,所述若干个数据方为预定数量的数据方,在联合训练阶段的单个周期,所述方法还包括:
按照预定选择规则选择出预定数量的数据方;
根据选择结果,为各个数据方确定有是否被选中的标识信息;
所述向各个数据方分别下发当前的全局模型参数还包括:
针对单个数据方,将该单个数据方是否被选中的标识信息和当前的全局模型参数一起发送给该单个数据方,以供该单个数据方根据相应标识信息确定是否将当前周期更新的模型参数集上传至服务方。
6.根据权利要求5所述的方法,其中,所述选择规则包括以下至少一项:
随机选择所述预定数量的数据方;
按照相等的概率对各个数据方进行选择,直至选择到的数据方数量为所述预定数量;
按照各个数据方分别对应的各个选择概率对相应数据方进行选择,直至选择到的数据方数量为所述预定数量,其中,所述选择概率与数据方持有的业务数据条数,或者数据方的置信度正相关。
7.根据权利要求4所述的方法,其中,所述获取若干个数据方分别上传的各个模型参数集,以更新全局模型参数包括:
根据各个模型参数集的加权平均结果,更新全局模型参数。
8.根据权利要求4所述的方法,其中,所述预定周期为:对应预定时间段的时间周期,或者对应预定训练轮次的轮次周期。
9.根据权利要求4所述的方法,其中,所述停止条件包括,各个数据方的本地业务模型的平均准确度高于预定准确度阈值,所述平均准确度是各个数据方分别对应的各个当前准确度的平均值。
10.一种联合更新业务模型的方法,用于和服务方在保护隐私前提下共同训练业务模型的多个数据方中的第一方,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;所述方法包括:
在联合训练阶段,和所述服务方及其他数据方按照预定周期联合执行以下训练操作直至停止条件满足:
利用从服务方获取的当前全局模型参数更新本地业务模型;
在单个周期内迭代执行以下参数更新操作:利用更新后的本地业务模型处理当前轮次的若干个训练样本,从而确定各个模型参数分别对应的各个梯度;在各个梯度上叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度;分别利用各个扰动梯度更新各个模型参数,形成模型参数集;
在所述停止条件满足的情况下,进入业务模型个性化阶段,并执行以下个性化更新操作:通过联合训练阶段最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对所述第一方的第一业务模型,以使得所述第一业务模型用于处理所述第一方对应的业务数据。
11.根据权利要求10所述的方法,其中,在联合训练阶段,从服务方获取当前全局模型参数的同时,还从服务方获取在当前周期是否被选中的标识信息;在所述标识信息指示出在当前周期被选中的情况下,所述方法还包括:
在联合训练阶段的当前周期,将迭代更新后的模型参数集发送至服务方。
12.根据权利要求10所述的方法,其中,在联合训练阶段的单个周期内,所述方法还包括:
基于迭代更新后的模型参数集,检测当前的本地业务模型对应的第一准确度;
将所述第一准确度发送至服务方,以供服务方基于所述第一准确度检测是否满足联合训练阶段的停止条件。
13.根据权利要求10所述的方法,其中,所述利用本地业务数据进一步训练更新的本地业务模型,得到针对所述第一方的第一业务模型包括:
从本地业务数据中随机选取若干条业务数据;
利用使用全局模型参数更新的本地业务模型处理所述若干条业务数据,从而得到相应的第一随机梯度数据;
通过所述第一随机梯度数据更新本地业务模型的模型参数,从而得到所述第一业务模型。
14.根据权利要求10所述的方法,其中,所述预定分布为高斯分布。
15.一种联合更新业务模型的系统,所述系统包括服务方和多个数据方,所述系统用于在保护隐私前提下共同训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;其中:
在联合训练阶段,所述服务方和各个数据方配置为按照预定周期联合执行以下训练操作直至停止条件满足:各个数据方分别利用从所述服务方获取的全局模型参数更新本地模型,并各自基于更新后的本地业务模型对本地业务数据的处理更新本地的模型参数,得到更新的模型参数集;服务方利用若干个数据方各自上传的模型参数集,更新全局模型参数以提供给各个数据方;
其中,单个数据方在单个周期中的单个训练轮次,在各个模型参数分别对应的各个梯度上,叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度,并分别利用各个扰动梯度更新各个模型参数;
在所述停止条件满足的情况下,进入业务模型个性化阶段,各个数据方各自配置为执行以下个性化更新操作:通过所述训练操作中最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型,以使得所述个性化业务模型用于处理当前数据方对应的业务数据。
16.一种联合更新业务模型的装置,设于服务方,用于所述服务方和多个数据方在保护隐私前提下共同训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;所述装置包括分发单元和更新单元;
在联合训练阶段,所述服务方和所述多个数据方按照预定周期联合执行训练操作直至停止条件满足,其中:
所述分发单元,配置为向各个数据方分别下发当前的全局模型参数;
所述更新单元,配置为获取若干个数据方分别上传的各个模型参数集,以更新全局模型参数,其中,单个模型参数集经由相应的单个数据方在当前周期内的若干个训练轮次确定,单个训练轮次中,该相应的单个数据方在各个模型参数分别对应的各个梯度上,叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度,并分别利用各个扰动梯度更新各个模型参数,形成更新的模型参数集;
在停止条件满足的情况下,所述分发单元还配置为向各个数据方分别下发最终确定的全局模型参数,以供各个数据方进入业务模型个性化阶段,并分别执行以下个性化更新操作:通过所述训练操作中最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对当前数据方的个性化业务模型,以使得所述个性化业务模型用于处理当前数据方对应的本地业务数据。
17.一种联合更新业务模型的装置,适用于联合更新业务模型的系统,所述系统包括服务方和多个数据方,用于在保护隐私前提下共同训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果;所述多个数据方包括第一方,所述装置设于所述第一方,包括更新单元,迭代单元,和个性化单元;
在联合训练阶段,所述第一方和所述服务方及其他数据方按照预定周期联合执行训练操作直至停止条件满足,其中:
所述更新单元,配置为利用从服务方获取的当前全局模型参数更新本地业务模型;
所述迭代单元,配置为在单个周期内迭代执行以下参数更新操作:利用更新后的本地业务模型处理当前轮次的若干个训练样本,从而确定各个模型参数分别对应的各个梯度;在各个梯度上叠加整体上满足第一差分隐私机制的预定分布的扰动数据,得到各个扰动梯度;分别利用各个扰动梯度更新各个模型参数,得到更新的模型参数集;
个性化单元,配置为在所述停止条件满足后的业务模型个性化阶段,执行以下个性化更新步骤:通过联合训练阶段最终确定的全局模型参数更新本地业务模型;利用本地业务数据进一步训练更新的本地业务模型,得到针对所述第一方的第一业务模型,以使得所述第一业务模型用于处理所述第一方对应的业务数据。
18.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求4-14中任一项所述的方法。
19.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求4-14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110370767.3A CN112799708B (zh) | 2021-04-07 | 2021-04-07 | 联合更新业务模型的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110370767.3A CN112799708B (zh) | 2021-04-07 | 2021-04-07 | 联合更新业务模型的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799708A CN112799708A (zh) | 2021-05-14 |
CN112799708B true CN112799708B (zh) | 2021-07-13 |
Family
ID=75816370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110370767.3A Active CN112799708B (zh) | 2021-04-07 | 2021-04-07 | 联合更新业务模型的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799708B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434873A (zh) * | 2021-06-01 | 2021-09-24 | 内蒙古大学 | 一种基于同态加密的联邦学习隐私保护方法 |
CN113837766A (zh) * | 2021-10-08 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | 风险识别方法、装置和电子设备 |
CN114357526A (zh) * | 2022-03-15 | 2022-04-15 | 中电云数智科技有限公司 | 抵御推断攻击的医疗诊断模型差分隐私联合训练方法 |
CN114330673A (zh) * | 2022-03-15 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 一种对业务预测模型进行多方联合训练的方法及装置 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110443063A (zh) * | 2019-06-26 | 2019-11-12 | 电子科技大学 | 自适性保护隐私的联邦深度学习的方法 |
CN111046433A (zh) * | 2019-12-13 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习的模型训练方法 |
CN111611610A (zh) * | 2020-04-12 | 2020-09-01 | 西安电子科技大学 | 联邦学习信息处理方法、系统、存储介质、程序、终端 |
CN111723404A (zh) * | 2020-08-21 | 2020-09-29 | 支付宝(杭州)信息技术有限公司 | 联合训练业务模型的方法及装置 |
CN111860864A (zh) * | 2020-07-23 | 2020-10-30 | 深圳前海微众银行股份有限公司 | 纵向联邦建模优化方法、设备及可读存储介质 |
US20200358599A1 (en) * | 2019-05-07 | 2020-11-12 | International Business Machines Corporation | Private and federated learning |
CN111931949A (zh) * | 2019-05-13 | 2020-11-13 | 国际商业机器公司 | 联邦学习环境中的通信 |
CN111970304A (zh) * | 2020-08-28 | 2020-11-20 | 光大科技有限公司 | 消息处理方法和装置 |
CN112015749A (zh) * | 2020-10-27 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护更新业务模型的方法、装置及系统 |
CN112149706A (zh) * | 2019-06-28 | 2020-12-29 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备和介质 |
CN112163896A (zh) * | 2020-10-19 | 2021-01-01 | 科技谷(厦门)信息技术有限公司 | 一种联邦学习系统 |
CN112232528A (zh) * | 2020-12-15 | 2021-01-15 | 之江实验室 | 一种联邦学习模型训练方法、装置及联邦学习系统 |
CN112288097A (zh) * | 2020-10-29 | 2021-01-29 | 平安科技(深圳)有限公司 | 联邦学习数据处理方法、装置、计算机设备及存储介质 |
CN112364943A (zh) * | 2020-12-10 | 2021-02-12 | 广西师范大学 | 一种基于联邦学习的联邦预测方法 |
CN112396191A (zh) * | 2020-12-29 | 2021-02-23 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习进行模型参数更新的方法、系统及装置 |
CN112488322A (zh) * | 2020-12-15 | 2021-03-12 | 杭州电子科技大学 | 一种基于数据特征感知聚合的联邦学习模型训练方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684855B (zh) * | 2018-12-17 | 2020-07-10 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
CN110719158B (zh) * | 2019-09-11 | 2021-11-23 | 南京航空航天大学 | 基于联合学习的边缘计算隐私保护系统及保护方法 |
CN112068866B (zh) * | 2020-09-29 | 2022-07-19 | 支付宝(杭州)信息技术有限公司 | 更新业务模型的方法及装置 |
CN112288100B (zh) * | 2020-12-29 | 2021-08-03 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习进行模型参数更新的方法、系统及装置 |
-
2021
- 2021-04-07 CN CN202110370767.3A patent/CN112799708B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200358599A1 (en) * | 2019-05-07 | 2020-11-12 | International Business Machines Corporation | Private and federated learning |
CN111931949A (zh) * | 2019-05-13 | 2020-11-13 | 国际商业机器公司 | 联邦学习环境中的通信 |
CN110443063A (zh) * | 2019-06-26 | 2019-11-12 | 电子科技大学 | 自适性保护隐私的联邦深度学习的方法 |
CN112149706A (zh) * | 2019-06-28 | 2020-12-29 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备和介质 |
CN111046433A (zh) * | 2019-12-13 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习的模型训练方法 |
CN111611610A (zh) * | 2020-04-12 | 2020-09-01 | 西安电子科技大学 | 联邦学习信息处理方法、系统、存储介质、程序、终端 |
CN111860864A (zh) * | 2020-07-23 | 2020-10-30 | 深圳前海微众银行股份有限公司 | 纵向联邦建模优化方法、设备及可读存储介质 |
CN111723404A (zh) * | 2020-08-21 | 2020-09-29 | 支付宝(杭州)信息技术有限公司 | 联合训练业务模型的方法及装置 |
CN111970304A (zh) * | 2020-08-28 | 2020-11-20 | 光大科技有限公司 | 消息处理方法和装置 |
CN112163896A (zh) * | 2020-10-19 | 2021-01-01 | 科技谷(厦门)信息技术有限公司 | 一种联邦学习系统 |
CN112015749A (zh) * | 2020-10-27 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护更新业务模型的方法、装置及系统 |
CN112288097A (zh) * | 2020-10-29 | 2021-01-29 | 平安科技(深圳)有限公司 | 联邦学习数据处理方法、装置、计算机设备及存储介质 |
CN112364943A (zh) * | 2020-12-10 | 2021-02-12 | 广西师范大学 | 一种基于联邦学习的联邦预测方法 |
CN112232528A (zh) * | 2020-12-15 | 2021-01-15 | 之江实验室 | 一种联邦学习模型训练方法、装置及联邦学习系统 |
CN112488322A (zh) * | 2020-12-15 | 2021-03-12 | 杭州电子科技大学 | 一种基于数据特征感知聚合的联邦学习模型训练方法 |
CN112396191A (zh) * | 2020-12-29 | 2021-02-23 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习进行模型参数更新的方法、系统及装置 |
Non-Patent Citations (2)
Title |
---|
基于秘密分享和梯度选择的高效安全联邦学习;董业等;《计算机研究与发展》;20201031;第57卷(第10期);第2241-225-页 * |
联邦学习安全与隐私保护综述;陈兵等;《南京航空航天大学学报》;20201031;第52卷(第5期);第675-684页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112799708A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11620403B2 (en) | Systems and methods for secure data aggregation and computation | |
CN112799708B (zh) | 联合更新业务模型的方法及系统 | |
US11875400B2 (en) | Systems, methods, and apparatuses for dynamically assigning nodes to a group within blockchains based on transaction type and node intelligence using distributed ledger technology (DLT) | |
KR102215773B1 (ko) | 영-지식 증명을 갖는 계정 노트 모델에 기초한 블록체인 데이터 보호 | |
US11030681B2 (en) | Intermediate blockchain system for managing transactions | |
US20230106484A1 (en) | Cryptographic Asset Collateral Management | |
CN115943394A (zh) | 用于安全纵向联邦学习的方法、装置和系统 | |
WO2019173554A1 (en) | Blockchain transaction safety | |
WO2020139827A1 (en) | System and method for providing a graph protocol for forming a decentralized and distributed graph database | |
CN111860865B (zh) | 模型构建和分析的方法、装置、电子设备和介质 | |
CN113435770A (zh) | 基于区块链的交易风险评估方法及装置 | |
US20240037252A1 (en) | Methods and apparatuses for jointly updating service model | |
US20190354993A1 (en) | System and method for generation of case-based data for training machine learning classifiers | |
EP3929742A1 (en) | Distributed computer system and method of operation thereof | |
CN113379042A (zh) | 保护数据隐私的业务预测模型训练方法及装置 | |
US20230362010A1 (en) | Systems and methods for predicting communication account identities across decentralized applications | |
CN114004363A (zh) | 联合更新模型的方法、装置及系统 | |
Wang et al. | Blockchain-based federated learning in mobile edge networks with application in internet of vehicles | |
CN115049011A (zh) | 确定联邦学习的训练成员模型贡献度的方法及装置 | |
Ranbaduge et al. | Differentially private vertical federated learning | |
CN117094773A (zh) | 基于区块链隐私计算的在线迁移学习方法及系统 | |
CN115310137B (zh) | 一种智能结算系统的保密方法及相关装置 | |
CN116167868A (zh) | 基于隐私计算的风险识别方法、装置、设备以及存储介质 | |
US20230259757A1 (en) | Tiered input structures for machine learning models | |
CN113887740A (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 |