CN112068866B - 更新业务模型的方法及装置 - Google Patents

更新业务模型的方法及装置 Download PDF

Info

Publication number
CN112068866B
CN112068866B CN202011046903.5A CN202011046903A CN112068866B CN 112068866 B CN112068866 B CN 112068866B CN 202011046903 A CN202011046903 A CN 202011046903A CN 112068866 B CN112068866 B CN 112068866B
Authority
CN
China
Prior art keywords
model
local
business
model parameters
parameters
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
Application number
CN202011046903.5A
Other languages
English (en)
Other versions
CN112068866A (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 CN202011046903.5A priority Critical patent/CN112068866B/zh
Publication of CN112068866A publication Critical patent/CN112068866A/zh
Application granted granted Critical
Publication of CN112068866B publication Critical patent/CN112068866B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

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

Abstract

本说明书实施例提供一种更新业务模型的方法和装置,在多方安全计算的联邦学习过程中,各个提供样本数据参与计算的业务方分别通过本地样本数据调整本地模型参数,并在调整本地模型参数过程中,基于最优传输理论,在损失确定时增加本地模型参数和其他业务方模型参数在最小传输代价下的距离约束,从而保证本地业务模型的稳定性。

Description

更新业务模型的方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及联邦学习过程中,各个业务方通过计算机更新本地业务模型的方法和装置。
背景技术
计算机技术的发展,使得机器学习在各种各样的业务场景中得到越来越广泛的应用。联邦学习是一种在保护隐私数据情况下进行联合建模的方法。例如,企业与企业之间需要进行合作安全建模,可以进行联邦学习,以便在充分保护企业数据隐私的前提下,使用各方的数据对数据处理模型进行协作训练,从而更准确、有效地处理业务数据。在联邦学习场景中,各方例如可以商定模型结构(或约定模型)后,各自使用隐私数据在本地进行训练,并将模型参数使用安全可信的方法进行聚合,最后各方根据聚合后模型参数改进本地模型。联邦学习实现在隐私保护基础上,有效打破数据孤岛,实现多方联合建模。
常规技术中,联邦学习过程对模型参数的更新通常采用对各个参与方进行平均,或者各个参与方对本地模型参数和全局模型参数的差异进行惩罚。然而,实际的模型训练过程中,情况往往比较复杂,例如,某个参与方长时间断网(掉线),各个参与方之间的数据概率分布差异较大,等等。因此,在联邦学习过程中,基于对建模各方的数据隐私的保护,如何提供更有效的模型参数更新方式,是当前亟需解决的技术问题。
发明内容
本说明书一个或多个实施例描述了一种更新业务模型的方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供了一种更新业务模型的方法,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,并由多个业务方在保护隐私前提下共同训练,其中,各个业务方分别通过本地持有的样本数据更新本地业务模型的模型参数并上传至服务方,服务方可以将各个业务方上传的模型参数融合后作为全局模型参数分发给各个业务方,各个业务方以全局模型参数为目标进行本地模型参数调整;所述方法由所述多个业务方中的第一方执行,包括:利用本地业务模型处理本地的第一样本数据,其中,本地业务模型具有前一轮次调整后的本地模型参数;基于本地业务模型的输出结果确定当前损失,所述当前损失包括,本地模型参数与当前的全局模型参数之间的距离损失,所述距离损失用于描述本地模型参数与当前的全局模型参数之间,在最小传输代价下的传输距离;以最小化所述当前损失为目标,调整本地模型参数。
在一个实施方式中,所述方法还包括:将调整后的本地模型参数发送至服务方,以供服务方基于各个业务方发送的本地模型参数,更新全局模型参数以反馈给各个业务方。
在一个实施方式中,所述当前损失还包括,基于本地业务模型的输出结果与所述第一样本数据的样本标签的对比确定的基本损失。
在一个实施方式中,所述最小传输代价通过以下方式确定:基于本地模型参数和全局模型参数确定预定数量的候选转移矩阵,其中,单个候选转移矩阵的元素按行求和结果对应第一参数,元素按列求和结果对应第二参数,所述第一参数和第二参数互不相同且分别为本地模型参数和全局模型参数之一;利用各个候选转移矩阵分别与预先确定的代价矩阵中相应元素按位相乘,得到各个乘积矩阵;根据各个乘积矩阵的最小行列式,确定最小传输代价。
根据一个实施例,所述基于本地业务模型的输出结果确定当前损失还包括:将具有最小传输代价的候选转移矩阵,作为最小代价矩阵;基于所述最小代价矩阵,确定所述距离损失。
在更进一步的实施例中,所述基于所述最小代价矩阵,确定所述距离损失包括:所述距离损失为通过拉格朗日乘数法确定的最小距离,经由第一拉格朗日乘数处理所述最小代价矩阵和本地模型参数之差确定,所述第一拉格朗日乘数基于所述拉格朗日乘数法确定的距离对其梯度为零的约束确定。
在一个实施方式中,所述以最小化所述当前损失为目标,调整本地模型参数包括:确定包含所述距离损失的所述当前损失对模型参数的梯度;向梯度减小的方向调整本地模型参数。
在一个实施方式中,所述第一样本数据包括字符、图片、语音、动画、视频中至少一种形式的业务数据。
根据第二方面,提供一种更新业务模型的方法,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,并由多个业务方在保护隐私前提下共同训练,其中,各个业务方分别通过本地持有的样本数据训练本地业务模型的模型参数,并基于其他方的模型参数,调整本地业务模型的模型参数;所述方法由所述多个业务方中的第一方执行,包括:利用本地业务模型处理本地的第一样本数据,其中,本地业务模型具有前一轮次调整后的本地模型参数;基于本地业务模型的输出结果确定当前损失,所述当前损失包括,本地模型参数分别与各个其他业务方的模型参数之间的距离损失之和,所述距离损失用于描述本地模型参数与相应业务方的模型参数之间,在最小传输代价下的传输距离;以最小化所述当前损失为目标,调整本地模型参数。
根据一个实施例,各个其他业务方包括第二方,所述第二方对应有第二模型参数,本地模型参数与所述第二模型参数之间的距离损失为第二距离损失,所述第二距离损失通过以下方式确定:从所述第二方获取添加预定扰动的第二模型参数;根据本地模型参数与添加预定扰动的第二模型参数在第二最小传输代价下的传输距离,确定所述第二距离损失。
根据一个实施例,所述第二最小传输代价下的传输距离通过以下方式确定:基于本地模型参数和第二模型参数确定预定数量的第二候选转移矩阵,其中,单个第二候选转移矩阵的元素按行求和结果对应第一参数,元素按列求和结果对应第二参数,所述第一参数和第二参数互不相同且分别为本地模型参数和第二模型参数之一;利用各个第二候选转移矩阵分别与预先确定的第二代价矩阵中相应元素按位相乘,得到各个第二乘积矩阵;根据各个第二乘积矩阵的最小行列式,确定第二最小传输代价。
根据一个实施例,所述基于本地业务模型的输出结果确定当前损失还包括:将具有第二最小传输代价的第二候选转移矩阵,作为第二最小代价矩阵;基于所述第二最小代价矩阵,确定所述第二距离损失。
根据一个实施例,所述基于所述第二最小代价矩阵,确定所述第二距离损失包括:所述第二距离损失为通过拉格朗日乘数法确定的第二最小距离,经由第一拉格朗日乘数处理所述第二最小代价矩阵和本地模型参数之差确定,所述第一拉格朗日乘数基于所述拉格朗日乘数法确定的距离对其梯度为零的约束确定。
根据第三方面,提供了一种更新业务模型的装置,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,并由多个业务方在保护隐私前提下共同训练,其中,各个业务方分别通过本地持有的样本数据更新本地业务模型的模型参数并上传至服务方,服务方可以将各个业务方上传的模型参数融合后作为全局模型参数分发给各个业务方,各个业务方以全局模型参数为目标进行本地模型参数调整;所述装置设于所述多个业务方中的第一方,包括:
数据处理单元,配置为利用本地业务模型处理本地的第一样本数据,其中,本地业务模型具有前一轮次调整后的本地模型参数;
损失确定单元,配置为基于本地业务模型的输出结果确定当前损失,所述当前损失包括,本地模型参数与当前的全局模型参数之间的距离损失,所述距离损失用于描述本地模型参数与当前的全局模型参数之间,在最小传输代价下的传输距离;
参数调整单元,配置为以最小化所述当前损失为目标,调整本地模型参数。
根据第四方面,提供一种更新业务模型的装置,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,并由多个业务方在保护隐私前提下共同训练,其中,各个业务方分别通过本地持有的样本数据训练本地业务模型的模型参数,并基于其他方的模型参数,调整本地业务模型的模型参数;所述方法由所述多个业务方中的第一方执行,包括:
数据处理单元,配置为利用本地业务模型处理本地的第一样本数据,其中,本地业务模型具有前一轮次调整后的本地模型参数;
损失确定单元,配置为基于本地业务模型的输出结果确定当前损失,所述当前损失包括,本地模型参数分别与各个其他业务方的模型参数之间的距离损失之和,所述距离损失用于描述本地模型参数与相应业务方的模型参数之间,在最小传输代价下的传输距离;
参数调整单元,配置为以最小化所述当前损失为目标,调整本地模型参数。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
通过本说明书实施例提供的方法和装置,在联邦学习过程中,各个提供样本数据参与计算的业务方分别通过本地样本数据调整本地模型参数,各个业务方在调整本地模型参数过程中,基于最优传输理论,在损失确定过程中增加本地模型参数和其他方模型参数在最小传输代价下的距离损失。在联邦学习过程中有服务方参与的情况下,还由服务方按照预先设定的规则持续更新全局模型参数发送给各个业务方,各个业务方以全局模型参数为目标,基于最优传输理论,在损失确定过程中增加本地模型参数和全局模型参数在最小传输代价下的距离损失。由此,可以避免模型参数在一些情况下产生较大变化,保证本地业务模型的稳定性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书中更新业务模型的实施架构示意图;
图2示出根据一个实施例的更新业务模型的方法流程图;
图3示出根据一个实施例的更新业务模型的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
联邦学习(Federated Learning),又可以称为联邦机器学习,联合学习,联盟学习等。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
假设企业A、企业B各自建立一个任务模型,每个任务可以是分类或预测,而这些任务也已经在获得数据时由各自用户的认可。然而,由于数据不完整,例如企业A缺少标签数据、企业B缺少用户特征数据,或者企业A和企业B等分别持有少量样本数据,从而数据不充分,样本量不足以建立好的模型,那么在各端的模型有可能无法建立或效果并不理想。联邦学习要解决的问题是如何在A和B等各端建立高质量的模型,并且各个企业的自有数据不被其他方知晓,即在不违反数据隐私法规情况下,建立一个虚拟的共有模型。这个虚拟模型就好像各方把数据聚合在一起建立的最优模型一样。这样,建好的模型在各方的区域仅为自有数据服务。
联邦学习的实施架构如图1所示。在该实施架构下,可以由两个或两个以上的业务方共同训练业务模型。各个业务方分别可以利用训练好的业务模型对本地业务数据进行本地业务处理。这里的业务数据例如可以是字符、图片、语音、动画、视频等各种数据。通常,各个业务方的业务数据具有相关性。例如,涉及金融业务的多个业务方中,业务方1为银行,为用户提供储蓄、贷款等业务,可以持有用户的年龄、性别、收支流水、贷款额度、存款额度等数据,业务方2可以持有用户的借贷记录、投资记录、还款时效等数据,业务方3为购物网站,持有用户的购物习惯、付款习惯、付款账户等数据。
服务方可以是为各个业务方的联邦学习提供辅助,例如,辅助进行非线性计算、综合模型参数梯度计算等。图1示出的服务方的形式为独立于各个业务方单独设置的其他方,如可信第三方等。实践中,服务方还可以分布于各个业务方,或者由各个业务方组成,各个业务方之间可以采用安全计算协议(如秘密共享等)完成联合辅助计算。本说明书对此不做限定。
根据一个实施例,在图1示出的实施架构下,服务方可以预先确定业务模型,分发给各个业务方,或者明确构建业务模型的规则,例如特征顺序、神经网络层数、各层的神经元个数及浮动范围、参数地址或命名方式等等,以供各个业务方在本地建立大致统一的业务模型。之后,各个业务方可以分别在本地计算模型参数的梯度,或者按照梯度更新的模型参数。把计算结果传递给服务方,由服务方综合计算模型参数的梯度或联合更新的模型参数,例如对各个参与方的模型参数或其梯度求平均,并发送给各个业务方。各个业务方根据接收到的模型参数或其梯度,更新本地的模型参数。
联邦学习可以分为横向联邦学习(特征对齐)、纵向联邦学习(样本对齐)与联邦迁移学习。本说明书并提供的实施架构可以是用于各种联邦学习架构,尤其适用于横向联邦学习,即,各个业务方分别提供部分样本,并可在本地利用本地的样本数据训练本地业务模型,计算相应模型参数的梯度,或更新相应模型参数。
在以上过程中,服务方对于模型参数的计算,为采用各方算术平均值的情况下,如果一个业务方数据异常,则可能导致模型出现较大波动。例如,某业务方设备长时间掉线(断网),此时该设备模型参数与全局模型参数差别较大,算术平均后可能严重影响全局模型性能。如果某业务方样本数据与其他业务方样本数据差别较大,也可能影响全局模型性能。
针对这种可能的模型波动,常规技术中还可以采用诸如FedProx之类的方法,对模型损失增加约束项,对于本地模型参数与全局模型参数的差异进行惩罚,以使得本地模型参数尽可能接近全局模型参数。例如,单个业务方将损失函数确定为:
Figure GDA0003630020060000081
其中,Fk(w)为损失函数,
Figure GDA0003630020060000082
表示模型参数w可以最小化损失函数Fk(w),
Figure GDA0003630020060000083
为2范数(或欧氏距离)描述约束项,μ为预设的超参,用于控制差异比例,wt表示服务方当前反馈的模型参数。通过约束项,在最小化损失函数的过程中,可以使得本地模型参数与服务方提供的全局模型参数之间的差异减小。
这种方式下,不使用全局模型参数更新本地模型参数,而是将本地模型参数向全局模型参数的方向进行调整,从而可以有效保证本地业务模型的稳定性。然而,该方法使用2范数衡量模型参数之间的距离,在一些条件下对模型差异的度量会有较大偏差,特别是模型参数概率分布差异引起的模型差异,使用该方法仍有可能会造成模型性能下降。
本说明书针对这种情况,基于最优传输理论,提出一种更新业务模型(也即更新模型参数)的方法,继承FedProx之类的方法对模型损失增加约束项,对于本地模型与全局模型的差异进行惩罚的思想,在此基础上基于最优传输理论提出改进,以减小各种情形(尤其是各个业务方的样本数据具有概率分布差异的情形)下,可能遇到的模型性能问题,提高收敛速度。
最优传输理论(optimal transportation,OT)是一种度量概率分布差异的理论。该理论将概率分布视作“堆”,将对概率分布差异的度量转化为对两个“堆”进行变换所需要移动的质量,从而可以较好的计算该差异。如果计算模型损失的时候,增加各个业务方的模型参数之间的差异在最优传输下确定距离损失,那么在最小化模型损失的时候,可以使得各个业务方之间的模型参数的差异最小化,从而可以减小概率分布差异导致的模型稳定性问题。
在最优传输理论下,为了确定模型参数之间的概率分布的相似性,可以考虑单个业务方的模型参数中的各个元素分别分成多个“堆”,即将单个元素拆分为多个可能值,并保证各个值的总和为模型参数本身,例如,模型参数的某个元素w1拆分为w11+w12+……。模型参数的各个元素的拆分结果构成各种组合。两两业务方之间的各种模型参数元素组合的传输代价,可以是各种“堆”的组合在移动时需要的质量。两个业务方之间的模型参数的质量越小,表示模型参数的传输距离越近。也就是说,这种质量可以作为模型参数之间的传输距离的度量。传输代价最小的情况,可以对应着模型参数之间的最优传输距离。如果在模型参数的最优传输距离下,对模型参数的差异进行衡量,可以充分考虑模型参数的概率分布差异。
基于这种构思,单个业务方例如可以将损失更新为:
Figure GDA0003630020060000091
其中,Fk(ω)为业务模型初始的或常规的损失,例如可以基于业务模型的输出结果与样本标签的对比确定的损失,其可以是任意合理的方式确定的损失,在此不做限定,N为提供样本数据参与联邦学习的业务方数量,μ为预设的超参,OT表示最优传输距离,vk表示全部或部分的本地模型参数,vj表示第j个业务方中与vk对应的模型参数。在业务模型为多层神经网络的情况下,l表示第l层神经网络,相应地,vk (l)表示本地第l层神经网络的模型参数,vj (l)表示业务方j第l层神经网络的模型参数。vk (l)和vj (l)通常可以包括多个元素,例如是向量或矩阵等形式。
该构思引入了各个业务方之间的模型参数的分布差异的约束,在模型损失中将当前业务方与其他业务方的模型参数的分布差异最小化。在最小化模型损失时,模型参数的差异被最小化,从而在模型参数的分布差异最小化的情况下,将本地模型参数向其他业务方的模型参数靠拢。然而,这种理论下,由于需要使用其他方的当前模型参数,可能会泄露其他业务方的数据隐私。因此,根据一种可能的设计,可以使用服务方反馈的、对各个业务方的模型参数融合后的全局模型参数代替vj,从而保护各个业务方的数据隐私。这样,对j的求和可以退化为N-1个相同的计算。根据另一个可能的设计,可以通过添加预定扰动的各个业务方的模型参数代替vj。这里,预定扰动可以是在可接受范围内的扰动,例如满足差分隐私的扰动(如根据隐私预算确定满足高斯分布的噪声叠加到模型参数上)等。各个业务方可以提供添加扰动后的本地模型参数。可选地,在存在服务方(例如可信第三方)的情况下,各个业务方的模型参数的扰动还可以由服务方添加,在此不做限定。
下面详细描述本说明书的技术构思。
图2示出一个实施例的更新业务模型的流程。其中,这里的业务模型可以是用于针对给定的业务数据,进行诸如分类、打分等业务处理的模型,其可以是神经网络、决策树、支持向量机等等。这里的业务数据可以是文字、图像、语音、视频等各种类型的数据,其具体内容与具体业务场景相关。例如电子支付平台或银行机构,训练业务模型来评估用户的信用等级的业务场景,业务对象可以为用户,电子支付平台的业务数据可以是其维护的用户的电子支付、转账、借款记录等相关特征,银行机构的业务数据可以是其维护用户的信贷记录、收入、汇款等方面的相关特征。此外,对于联邦学习过程,电子支付平台和银行机构还分别可以持有用户信用等级的标签。在其他业务场景中,业务对象(如商品、点击等交互事件)不同,相应的业务数据也不同,例如可以是商品属性、页面内容、用户偏好等数据。
在联邦学习架构下,多个业务方可以分别提供若干条样本数据,共同训练业务模型。具体地,各个业务方分别通过本地持有的样本数据更新本地业务模型的模型参数并上传至服务方,服务方可以将各个业务方上传的模型参数融合后作为全局模型参数分发给各个业务方,各个业务方以全局模型参数为目标进行下一轮次的模型参数调整。
为了便于描述,在图2中,假设任意一个参与联邦学习的计算方(或数据方)为第一方,图2示出的流程由该第一方执行。该流程的执行主体可以是具有一定计算能力的系统、设备、装置、平台或服务器。
如图2所示,更新业务模型的流程可以包括以下步骤:步骤201,利用本地的第一样本数据训练本地业务模型,其中,本地业务模型具有前一轮次调整后的模型参数;步骤202,基于本地业务模型的输出结果确定当前损失,当前损失包括,本地模型参数与当前的全局模型参数之间的距离损失,距离损失用于描述本地模型参数与当前的全局模型参数之间,在最小传输代价下的传输距离;步骤203,以最小化当前损失为目标,调整本地模型参数。
首先,在步骤201中,利用本地的第一样本数据训练本地业务模型,其中,本地业务模型具有前一轮次调整后的模型参数。可以理解,第一方可以持有若干条训练样本,第一样本数据可以包括一个或多个训练样本。单个训练样本可以对应相应业务对象的业务数据,以及样本标签。
第一方还可以对应有本地业务模型。在一个实施例中,本地业务模型可以是与其他业务方协商确定的业务模型。在另一个实施例中,本地业务模型可以基于服务方确定并分发给各个业务方的业务模型确定。
本地业务模型可以和全局业务模型一致,具有一致的参数数量、神经元数量等。本地业务模型也可以和由各业务方或服务方商定大致架构的全局模型保持架构一致,例如,具有部分相同的神经网络层数、部分相同的连接结构、部分相同的处理函数等。进一步地,由各个业务方根据自身数据构建适合本地的业务模型。此时,各个业务方的本地业务模型之间可以有细微差别,例如特征层相差一个神经元等。
在初始时,需要将业务模型初始化,即为模型参数提供初始值。为了保持各个业务方模型参数尽可能一致,各个业务方用于初始化业务模型的模型参数可以是一致的。例如可以由服务方生成全局模型参数的初始值,并分发给各个业务方,也可以由各个业务方协商确定全局模型参数的初始值。此时,第一方可以将全局模型参数的初始值作为本地模型参数。后续各个业务方可以从服务方获取基于各个业务方反馈的当前模型参数更新的全局模型参数,而本地模型参数可以是前一轮次训练过程调整的模型参数。例如,全局模型参数由服务方对各个业务方各自基于隐私数据训练本地业务模型得到的模型参数求平均值后更新得到,并分发给各个业务方。
因此,初始时,第一方的本地模型参数与全局模型参数保持一致,在迭代训练过程中,第一方可以令本地模型参数不断逼近全局模型参数。在该步骤201中,第一方使用的本地业务模型可以对应有本地模型参数。
接着,在步骤202,基于本地业务模型的输出结果确定当前损失。可以理解,业务模型的损失通常可以基于样本标签与业务模型输出结果的对比确定,例如可以通过交叉熵损失、指数损失、对数损失、平方损失等等进行描述。在本说明书的实施例中,当前损失除了包括基于样本标签与业务模型输出结果的对比确定的损失,还可以包括,本地模型参数与其他业务方模型参数之间的距离损失。这里的距离损失用于描述本地模型参数与其他业务方模型参数之间,基于最小传输代价确定的传输距离。
根据前文描述的原理,为了保护各个业务方的数据隐私,其他方模型参数可以用服务方确定的全局模型参数代替,也可以由添加预定扰动的模型参数代替。以下先描述通过服务方确定的全局模型参数代替的情形。
可以理解,在初始时,第一方的本地模型参数与全局模型参数保持一致,因此第一轮次的模型参数调整退化为普通模型参数调整。但经过一次调整后的模型参数,本地模型参数与全局模型参数不再一致。距离约束的目标是为了减小各个业务方的样本概率分布差异导致的模型参数差异。根据最优传输距离的理论,最优传输距离代表着最接近的分布,因此可以通过模型参数之间最小传输代价下的距离(最优传输距离)来描述这种差异。
根据一个可能的设计,最优传输距离可以通过拉格朗日乘数法确定。为了确定最小传输代价下的最优传输距离,可以根据拉格朗日乘数法的原理描述最优传输距离。
作为具体示例,假设本地模型参数r的元素数量为m,可以记为r1、r2、r3……rm,通过向量表示为(r1,r2,r3……rm)。全局模型参数用c表示,假设其元素数量为n,可以记为c1、c2、c3……cn,通过向量表示为(c1,c2,c3……cn)。在模型参数为矩阵形式的情况下,还可以将模型参数按照预定规则转化为向量。例如,将第一方的模型参数转化为一个行向量r,将服务方分发的模型参数转化为一个列向量c。具体地,转化为行向量r的过程为第二行元素拼接在第一行元素之后,第三行元素拼接在第二行元素之后,以此类推。列向量c可以为按照以上方式拉平后的行向量的转置。
在r为m维向量,c为n维向量的情况下,r和c之间的传输距离转化成r中m个元素向c中n个元素的最优分配。通俗地说,就是r中单个元素可提供n个“堆”,分别向c中m个元素进行转移。在各个业务方的模型参数数量设置一致的情况下,r和c的维度一致。本地模型参数中的各个元素可以进行如下拆分:r1=p11+p12+……+p1n,r2=p21+p22+……+p2n,……rm=pm1+pm2+……+pmn。其中,p11+p21+……+pm1=c1,p11+p22+……+pm2=c2,……p1n+p2n+……+pmn=cn。记为矩阵形式,则可以为:
Figure GDA0003630020060000141
P为由r和c构建的带约束矩阵(在一些实施例中也可以是以上矩阵的转置形式),用于描述本地模型参数中的各个元素分别向全局模型参数中的各个元素转移的份额,在本说明书中可以称之为转移矩阵。也就是说,矩阵P具有约束每行元素之和(按行对元素求和)为本地模型参数的相应元素,每列元素之和(按列对元素求和)为全局模型参数的相应元素。或者,矩阵P具有约束每行元素之和(按行对元素求和)为全局模型参数的相应元素,每列元素之和(按列对元素求和)为本地模型参数的相应元素。为了描述简便,可以将全局模型参数和本地模型参数分别用第一参数和第二参数表示,第一参数为全局模型参数时,第二参数为本地模型参数,第一参数为本地模型参数时,第二参数为全局模型参数。则矩阵P具有约束按行对元素求和得到第一参数,按列对元素求和得到第二参数。例如为:
Figure GDA0003630020060000142
Figure GDA0003630020060000143
可以理解,这样的矩阵P可以有多个,例如记为关于r和c的转移矩阵集合U(p)。如此,基于拉格朗日乘数法,可以增加2个约束项,使得在最小传输代价下,如果全局模型参数与本地模型参数一致,则约束项为0。于是得到传输距离的拉格朗日函数形式,例如为:
Figure GDA0003630020060000144
其中,αT(P1d-r)和βT(PT1d-c)为拉格朗日约束项,用于描述模型参数的概率分布的差异损失,λ、α、β为拉格朗日乘数,其可以根据需要设置为矩阵、向量、常数等,r为m个本地模型参数(如r1至rm)构成的向量,c为n个全局模型参数(如c1至cn)构成的向量。P表示具有最小传输代价的代价矩阵,在本说明书中可以称为最小代价矩阵,P1d表示对P行元素求和,或称为元素按行的求和,PT1d表示对PT列元素求和,亦即对P按列求和。本地模型参数的任意元素i向全局模型参数的任意元素j转移1个单位需要的代价(或质量等)为mij,则根据最优传输距离的原理,mij可以为预先定义的已知数。mij可以预先通过固定值定义,如定义为1,也可以按照预定规则定义,例如定义为
Figure GDA0003630020060000151
还可以随机生成,在此不作限定。当i从1取到m,j从1取到n,mij构成的矩阵在本说明书中可以称为代价矩阵(也可以称为传输损失矩阵)M。M与P均为m×n维的矩阵。
从拉格朗日乘数法的距离表达式可以看出,用拉格朗日函数代替最优传输距离OT的情况下,其表达式中的本地模型参数当前值r应替换为本地模型参数的变量w。拉格朗日函数对本地模型参数的梯度为-αT。也就是说,需要求解参数α。
P、α、β作为参数共同决定了最优距离,即最小距离损失。根据最值的特点,以上距离表达式对P、α、β的梯度均为0。为了求解最优距离下的-αT,可以令拉格朗日函数对αT的梯度为0。而拉格朗日函数对αT的梯度与P1d-r相关,P1d是通过最小传输代价矩阵P确定的参数,因此,需要求解最小传输代价矩阵P。基于该理论,可以寻求各种求解最小传输代价矩阵P的方法。
根据一个实施例方式,可以根据转移矩阵P*和代价矩阵M按位相乘后的乘积矩阵的行列式作为传输代价,即:dM(r,c)=|P**M|。那么,该乘积矩阵的行列式的最小值,可以作为最小传输代价,与最小传输代价对应的转移矩阵为最小代价矩阵P。可以理解,在M确定的情况下,dM(r,c)为P*的函数,而P*由模型参数对应的行向量r和列向量c确定,c在每次计算中可以认为是已知数,于是dM(r,c)为r的函数,即本地模型参数的函数。
在一个实施例中,可以在前述约束下,随机生成预定数量(如1000)的候选转移矩阵P',并对各个候选转移矩阵P',分别确定各个候选转移矩阵P'和代价矩阵M按位相乘后的各个乘积矩阵P'*M,对应行列式|P'*M|。然后,从各个乘积矩阵中选择行列式最小的候选矩阵,作为最小代价矩阵P。可选地,根据行列式的定义,可将dM(r,c)的确定转化为线性问题进行求解,在此不再赘述。
在另一个实施例中,可以根据总的传输代价构建包含m×n个变量的线性方程组,并基于前述的约束求解线性方程组,从而得到关于pij使得
Figure GDA0003630020060000161
具有最小值的一组解,构成最小代价矩阵P。
其中,以上仅为一个具体示例,实践中,最小代价矩阵例如还可以通过诸如添加最小代价矩阵P的信息熵作为约束迭代求解(称为Sinkhorn算法)之类的方法确定,本说明书对此不做限定。
之后,根据拉格朗日函数表示的距离对参数P、α、β的梯度为0,可以确定参数α、β。可以理解,P、α、β均可以为矩阵,其梯度相当于对矩阵中的各个参数的梯度,各个元素的梯度可以经由其他元素表示,从而构建元素之间的方程组,经过求解确定具体参数P、α、β。
将最小代价矩阵代入拉格朗日函数,得到最小传输代价下的距离损失。进一步可以确定当前损失,例如为:
Figure GDA0003630020060000162
其中,N为总的参与计算的业务方数量,L表示神经网络层数。也就是说,在业务模型通过神经网络确定的情况下,可以分别确定各层的损失,并叠加各层损失。
以上以使用熵约束的拉格朗日惩罚函数定义的最优传输距离为例,描述了一个确定损失的具体例子,在其他可能的设计中,还可以通过诸如Bregman交替方向乘子法(B-ADMM)等其他方式确定最优传输理论下的距离损失,在此不再赘述。
根据另一方面的设计,可以由各个业务方分别提供添加预定扰动的当前模型参数,进行第一方与各个其他方模型参数之间分别的距离损失,并对这些距离损失求和,作为当前损失中的约束项。这种情况下,计算过程与前文描述的过程类似。换句话说,单个业务方(如第二方)与第一方之间的距离损失,可以按照全局模型参数与第一方模型参数之间的距离损失确定方法来确定。以任意单个其他业务方记作第二方为例,其对应的模型参数称为第二模型参数,第一方本地模型参数与第二模型参数之间的距离损失可以记为第二距离损失。那么,第二距离损失可以通过以下方式确定:获取添加预定扰动的第二模型参数,根据本地模型参数与添加预定扰动的第二模型参数在第二最小传输代价下的传输距离,确定第二距离损失。第二最小传输代价的确定方法可以与前文中的最小传输代价确定方法一致,在此不再赘述。可以理解,这里各项数据中的第二,表示与第二方对应的数据,而不对数据本身进行其他实质性限定。
其中,这里的预定扰动可以是对准确度的影响在一定范围内可接受的扰动,例如基于差分隐私的扰动等。作为一个具体示例,可以按照高斯分布随机生成与模型参数元素数量一致的扰动阵列,如均值为0,方差为1的高斯分布阵列。将该扰动阵列叠加到模型参数构成的阵列上,构成扰动的模型参数。在没有服务方的情况下,各个业务方可以分别对各自的本地模型参数添加扰动后,发送给各个其他业务方。在有服务方的情况下,还可以经由服务方对各个业务方的模型参数添加扰动后,发送给各个其他业务方。例如,其中,在不经过服务方的情况下,可以由第二方对第二模型参数添加预定扰动,并由第二方将添加预定扰动的第二模型参数发送至第一方(及其他各个业务方)。在经过服务方的情况下,可以由第二方或服务方对第二模型参数添加预定扰动,并由服务方将添加预定扰动的第二模型参数发送至第一方(及其他各个业务方)。对于单个业务方来说,可以获取各个其他业务方的扰动后的模型参数,并确定与各个业务方的模型参数之间的距离损失,并求和,作为当前损失的约束项。
如此,可以在通过本地模型参数表示的当前损失中,加入与其他业务方之间的距离约束,缩小本地模型参数与其他业务方模型参数的差距。
步骤203,以最小化当前损失为目标,调整本地模型参数。可以理解,当前损失包含本地模型参数与当前的全局模型参数之间的距离约束的情况下,在最小化损失函数时,包含对本地模型参数与当前的全局模型参数之间的距离最小化,即,使得本地模型参数与当前的全局模型参数之间具有最优传输距离。
可以利用通过步骤202优化的损失函数确定模型参数w的梯度。以步骤202中拉格朗日形式的传输距离为例,可以看出,在业务模型的输出结果与样本标签的对比损失梯度基础上,还增加了距离损失梯度项-αT,从而通过距离损失的约束改善模型参数的分布差异导致的模型不稳定问题。其中,根据梯度调整模型参数的过程在此不再赘述。
之后,第一方可以利用调整后的本地模型参数继续训练业务模型。其中,第一方可以在每次调整本地模型参数后,向服务方发送当前更新后的模型参数,也可以经过预定调整周期,或者预定时长,向服务方发送当前调整过的本地模型参数。服务方可以对从各方接收到的模型参数进行融合,以更新全局模型参数,并将全局模型参数发送给各个业务方。各个业务方在接收到服务方反馈的模型参数后,可以更新本地保存的全局模型参数,并作为下次调整本地模型参数的参考。值得说明的是,服务方可以在接收到业务方的预定条数的模型参数反馈信息后,对模型参数进行融合,也可以按照时间周期对模型参数进行融合,在此不作限定。这样,可以避免某个业务方长时间不反馈数据导致的模型参数无法更新等问题。对模型参数的融合包括但不限于:求平均、加权和、求最大值等中的至少一项。
其中,各个业务方和服务方之间在联邦学习过程中可以不必保持一致的步调,一致的步调例如是,各个业务方每经过预定个参数调整周期,向服务方反馈一次模型参数,并等待服务方反馈全局模型参数后再进行下一轮的训练。也就是说,业务方a可以经过三个周期反馈一次本地模型参数,业务方b也可以经过四个周期反馈一次模型参数。根据可能的实施例,在没有收到服务方反馈的全局模型参数的情况下,各个业务方仍然可以利用本地数据按照之前保存的全局模型参数更新本地模型参数。
回顾以上过程,本说明书实施例提供的更新业务模型的方法,在联邦学习过程中,通过各个参与计算的业务方利用本地样本数据训练业务模型并更新模型参数,服务方通过各个业务方反馈的更新后的模型参数,更新全局模型参数。各个业务方向服务方反馈的全局模型参数方向调整本地模型参数。其中,各个业务方调整本地模型参数的过程中,对业务模型的损失包含有基于本地模型参数与全局模型参数之间的最小传输代价确定的距离损失,从而可以有效改善模型训练过程中由于模型参数之间的分布差异导致的模型稳定性能降低的问题,提高联邦学习的有效性。
根据另一方面的实施例,还提供一种更新业务模型的装置。其中,这里的业务模型用于对业务数据进行处理,得到相应的业务处理结果。业务模型可以由多个业务方通过联邦学习共同训练。其中,各个业务方分别通过本地持有的样本数据更新本地业务模型的模型参数并上传至服务方,服务方可以将各个业务方上传的模型参数融合后作为全局模型参数分发给各个业务方,各个业务方以全局模型参数为目标进行本地模型参数调整。值得说明的是,业务方训练业务模型和服务方计算全局模型参数的过程可以相互独立。也就是说,对于单个业务方来说,其可以包含向服务方上传模型参数的条件,例如经过一定训练周期,或者经过一定时长等,向服务方发送一次当前更新后的本地模型参数。当接收到服务方发送来的更新的全局模型参数时,更新本地存储的模型参数。而服务方可以根据相应执行逻辑更新全局模型参数,例如经过一定周期,或在从各个业务方接收到预定数量的新的模型参数条数后,根据新接收到(未被融合过)的模型参数的融合结果,更新全局模型参数。
图3示出根据一个实施例的更新业务模型的装置的示意性框图。该装置300可以设于多个业务方中的任意一个业务方。如图3所示,装置300包括,数据处理单元301,损失确定单元302以及参数调整单元303。
在一中实施架构下,联邦学习过程依赖于服务方。具体地,各个业务方分别通过本地持有的样本数据更新本地业务模型的模型参数并上传至服务方,服务方可以将各个业务方上传的模型参数融合后作为全局模型参数分发给各个业务方,各个业务方以全局模型参数为目标进行本地模型参数调整。此时,装置300中:
数据处理单元301,配置为利用本地业务模型处理本地的第一样本数据,其中,本地业务模型具有前一轮次调整后的本地模型参数;
损失确定单元302,配置为基于本地业务模型的输出结果确定当前损失,当前损失包括,本地模型参数与当前的全局模型参数之间的距离损失,距离损失用于描述本地模型参数与当前的全局模型参数之间,在最小传输代价下的传输距离;
参数调整单元303,配置为以最小化当前损失为目标,调整本地模型参数。
根据一个实施方式,装置300还包括通信单元(未示出),配置为将调整后的模型参数发送至服务方,以供服务方基于各个业务方发送的调整后的模型参数,更新全局模型参数的当前值,并反馈给各个业务方。
在一个实施例中,当前损失还包括,基于本地业务模型的输出结果与第一样本数据的样本标签的对比确定的基本损失。
根据一个可能的设计,损失确定单元302进一步配置为通过以下方式确定最小传输代价:
基于本地模型参数和全局模型参数确定预定数量的候选转移矩阵,其中,单个候选转移矩阵的元素按行求和结果对应第一参数,元素按列求和结果对应第二参数,所述第一参数和第二参数互不相同且分别为本地模型参数和全局模型参数之一;
利用各个候选转移矩阵分别与预先确定的代价矩阵中相应元素按位相乘,得到各个乘积矩阵;
根据各个乘积矩阵的最小行列式,确定最小传输代价。
在进一步的实施例中,损失确定单元302还配置为:
将具有最小传输代价的候选转移矩阵,作为最小代价矩阵;
基于最小代价矩阵,确定距离损失。
在更进一步的实施例中,距离损失为通过拉格朗日乘数法确定的最小距离,经由第一拉格朗日乘数处理最小代价矩阵和模型参数之差确定,第一拉格朗日乘数基于拉格朗日乘数法确定的距离对其梯度为零的约束确定。
在另一个实施架构下,联邦学习过程可以不依赖服务方。具体地,各个业务方分别通过本地持有的样本数据训练本地业务模型的模型参数,并基于其他方的模型参数,调整本地业务模型的模型参数。此时,可以通过添加扰动的方式,利用最优传输理论,确定与其他业务方的模型参数有关的模型损失。此时,数据处理单元301和参数调整单元303的功能与前文一致,损失确定单元302在确定当前损失时,可以将本地模型参数分别与各个其他业务方的模型参数之间的距离损失之和作为距离约束,单项距离损失用于描述本地模型参数与相应业务方的模型参数之间,在最小传输代价下的传输距离。
值得说明的是,图3所示的装置300是与图2示出的方法实施例相对应的装置实施例,图2示出的方法实施例中的相应描述同样适用于装置300,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。

Claims (22)

1.一种更新业务模型的方法,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,并由多个业务方在保护隐私前提下共同训练,其中,各个业务方分别通过本地持有的样本数据更新本地业务模型的模型参数并上传至服务方,服务方将各个业务方上传的模型参数融合后作为全局模型参数分发给各个业务方,各个业务方以全局模型参数为目标进行本地模型参数调整;所述方法由所述多个业务方中的第一方执行,包括:
利用本地业务模型处理本地的第一样本数据,其中,本地业务模型具有前一轮次调整后的本地模型参数;
基于本地业务模型的输出结果确定当前损失,所述当前损失包括,本地模型参数与当前的全局模型参数之间的距离损失,所述距离损失用于描述本地模型参数与当前的全局模型参数之间,在最小传输代价下的传输距离,所述传输代价是基于最优传输理论将本地模型参数向当前的全局模型参数变换所需要的质量;
以最小化所述当前损失为目标,调整本地模型参数。
2.根据权利要求1所述的方法,其中,所述方法还包括:
将调整后的本地模型参数发送至服务方,以供服务方基于各个业务方发送的本地模型参数,更新全局模型参数以反馈给各个业务方。
3.根据权利要求1所述的方法,其中,所述当前损失还包括,基于本地业务模型的输出结果与所述第一样本数据的样本标签的对比确定的基本损失。
4.根据权利要求1所述的方法,其中,所述最小传输代价通过以下方式确定:
基于本地模型参数和全局模型参数确定预定数量的候选转移矩阵,其中,单个候选转移矩阵的元素按行求和结果对应第一参数,元素按列求和结果对应第二参数,所述第一参数和第二参数互不相同且分别为本地模型参数和全局模型参数之一;
利用各个候选转移矩阵分别与预先确定的代价矩阵中相应元素按位相乘,得到各个乘积矩阵;
根据各个乘积矩阵的最小行列式,确定最小传输代价。
5.根据权利要求4所述的方法,其中,所述基于本地业务模型的输出结果确定当前损失还包括:
将具有最小传输代价的候选转移矩阵,作为最小代价矩阵;
基于所述最小代价矩阵,确定所述距离损失。
6.根据权利要求5所述的方法,其中,所述基于所述最小代价矩阵,确定所述距离损失包括:
所述距离损失为通过拉格朗日乘数法确定的最小距离,经由第一拉格朗日乘数处理所述最小代价矩阵和本地模型参数之差确定,所述第一拉格朗日乘数基于所述拉格朗日乘数法确定的距离对其梯度为零的约束确定。
7.根据权利要求1所述的方法,其中,所述以最小化所述当前损失为目标,调整本地模型参数包括:
确定包含所述距离损失的所述当前损失对模型参数的梯度;
向梯度减小的方向调整本地模型参数。
8.根据权利要求1所述的方法,其中,所述第一样本数据包括字符、图片、语音、动画、视频中至少一种形式的业务数据。
9.一种更新业务模型的方法,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,并由多个业务方在保护隐私前提下共同训练,其中,各个业务方分别通过本地持有的样本数据训练本地业务模型的模型参数,并基于其他方的模型参数,调整本地业务模型的模型参数;所述方法由所述多个业务方中的第一方执行,包括:
利用本地业务模型处理本地的第一样本数据,其中,本地业务模型具有前一轮次调整后的本地模型参数;
基于本地业务模型的输出结果确定当前损失,所述当前损失包括,本地模型参数分别与各个其他业务方的模型参数之间的距离损失之和,所述距离损失用于描述本地模型参数与相应业务方的模型参数之间,在最小传输代价下的传输距离,所述传输代价是基于最优传输理论将本地模型参数向当前的全局模型参数变换所需要的质量;
以最小化所述当前损失为目标,调整本地模型参数。
10.根据权利要求9所述的方法,其中,各个其他业务方包括第二方,所述第二方对应有第二模型参数,本地模型参数与所述第二模型参数之间的距离损失为第二距离损失,所述第二距离损失通过以下方式确定:
从所述第二方获取添加预定扰动的第二模型参数;
根据本地模型参数与添加预定扰动的第二模型参数在第二最小传输代价下的传输距离,确定所述第二距离损失。
11.根据权利要求10所述的方法,其中,所述第二最小传输代价下的传输距离通过以下方式确定:
基于本地模型参数和第二模型参数确定预定数量的第二候选转移矩阵,其中,单个第二候选转移矩阵的元素按行求和结果对应第一参数,元素按列求和结果对应第二参数,所述第一参数和第二参数互不相同且分别为本地模型参数和第二模型参数之一;
利用各个第二候选转移矩阵分别与预先确定的第二代价矩阵中相应元素按位相乘,得到各个第二乘积矩阵;
根据各个第二乘积矩阵的最小行列式,确定第二最小传输代价。
12.根据权利要求11所述的方法,其中,所述基于本地业务模型的输出结果确定当前损失还包括:
将具有第二最小传输代价的第二候选转移矩阵,作为第二最小代价矩阵;
基于所述第二最小代价矩阵,确定所述第二距离损失。
13.根据权利要求12所述的方法,其中,所述基于所述第二最小代价矩阵,确定所述第二距离损失包括:
所述第二距离损失为通过拉格朗日乘数法确定的第二最小距离,经由第一拉格朗日乘数处理所述第二最小代价矩阵和本地模型参数之差确定,所述第一拉格朗日乘数基于所述拉格朗日乘数法确定的距离对其梯度为零的约束确定。
14.一种更新业务模型的装置,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,并由多个业务方在保护隐私前提下共同训练,其中,各个业务方分别通过本地持有的样本数据更新本地业务模型的模型参数并上传至服务方,服务方可以将各个业务方上传的模型参数融合后作为全局模型参数分发给各个业务方,各个业务方以全局模型参数为目标进行本地模型参数调整;所述装置设于所述多个业务方中的第一方,包括:
数据处理单元,配置为利用本地业务模型处理本地的第一样本数据,其中,本地业务模型具有前一轮次调整后的本地模型参数;
损失确定单元,配置为基于本地业务模型的输出结果确定当前损失,所述当前损失包括,本地模型参数与当前的全局模型参数之间的距离损失,所述距离损失用于描述本地模型参数与当前的全局模型参数之间,在最小传输代价下的传输距离,所述传输代价是基于最优传输理论将本地模型参数向当前的全局模型参数变换所需要的质量;
参数调整单元,配置为以最小化所述当前损失为目标,调整本地模型参数。
15.根据权利要求14所述的装置,还包括:
通信单元,配置为将调整后的本地模型参数发送至服务方,以供服务方基于各个业务方发送的调整后的本地模型参数,更新全局模型参数,以反馈给各个业务方。
16.根据权利要求14所述的装置,所述当前损失还包括,基于本地业务模型的输出结果与所述第一样本数据的样本标签的对比确定的基本损失。
17.根据权利要求14所述的装置,其中,所述损失确定单元进一步配置为通过以下方式确定所述最小传输代价:
基于本地模型参数和全局模型参数确定预定数量的候选转移矩阵,其中,单个候选转移矩阵的元素按行求和结果对应第一参数,元素按列求和结果对应第二参数,所述第一参数和第二参数互不相同且分别为本地模型参数和全局模型参数之一;
利用各个候选转移矩阵分别与预先确定的代价矩阵中相应元素按位相乘,得到各个乘积矩阵;
根据各个乘积矩阵的最小行列式,确定最小传输代价。
18.根据权利要求17所述的装置,其中,所述损失确定单元还配置为:
将具有最小传输代价的候选转移矩阵,作为最小代价矩阵;
基于所述最小代价矩阵,确定所述距离损失。
19.根据权利要求18所述的装置,其中,所述距离损失为通过拉格朗日乘数法确定的最小距离,经由第一拉格朗日乘数处理所述最小代价矩阵和模型参数之差确定,所述第一拉格朗日乘数基于所述拉格朗日乘数法确定的距离对其梯度为零的约束确定。
20.一种更新业务模型的装置,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,并由多个业务方在保护隐私前提下共同训练,其中,各个业务方分别通过本地持有的样本数据训练本地业务模型的模型参数,并基于其他方的模型参数,调整本地业务模型的模型参数;所述装置设于所述多个业务方中的第一方,包括:
数据处理单元,配置为利用本地业务模型处理本地的第一样本数据,其中,本地业务模型具有前一轮次调整后的本地模型参数;
损失确定单元,配置为基于本地业务模型的输出结果确定当前损失,所述当前损失包括,本地模型参数分别与各个其他业务方的模型参数之间的距离损失之和,所述距离损失用于描述本地模型参数与相应业务方的模型参数之间,在最小传输代价下的传输距离,所述传输代价是基于最优传输理论将本地模型参数向当前的全局模型参数变换所需要的质量;
参数调整单元,配置为以最小化所述当前损失为目标,调整本地模型参数。
21.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-13中任一项的所述的方法。
22.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-13中任一项所述的方法。
CN202011046903.5A 2020-09-29 2020-09-29 更新业务模型的方法及装置 Active CN112068866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011046903.5A CN112068866B (zh) 2020-09-29 2020-09-29 更新业务模型的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011046903.5A CN112068866B (zh) 2020-09-29 2020-09-29 更新业务模型的方法及装置

Publications (2)

Publication Number Publication Date
CN112068866A CN112068866A (zh) 2020-12-11
CN112068866B true CN112068866B (zh) 2022-07-19

Family

ID=73683716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011046903.5A Active CN112068866B (zh) 2020-09-29 2020-09-29 更新业务模型的方法及装置

Country Status (1)

Country Link
CN (1) CN112068866B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966741B (zh) * 2021-03-05 2022-08-02 北京理工大学 一种可防御拜占庭攻击的联邦学习图像分类方法
CN112799708B (zh) * 2021-04-07 2021-07-13 支付宝(杭州)信息技术有限公司 联合更新业务模型的方法及系统
CN113378183B (zh) * 2021-08-05 2023-11-10 好心情健康产业集团有限公司 基于多方安全计算的用户隐私保护方法、装置和系统
CN117131443A (zh) * 2023-09-06 2023-11-28 上海零数众合信息科技有限公司 联邦多目标分类方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330448A (zh) * 2017-06-09 2017-11-07 南京师范大学 一种基于标记协方差和多标记分类的联合学习方法
CN109710336A (zh) * 2019-01-11 2019-05-03 中南林业科技大学 联合能量和延迟优化的移动边缘计算任务调度方法
CN109934295A (zh) * 2019-03-18 2019-06-25 重庆邮电大学 一种基于超限隐特征学习模型的图像分类与重建方法
CN111081337A (zh) * 2020-03-23 2020-04-28 腾讯科技(深圳)有限公司 一种协同任务预测方法及计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387749B2 (en) * 2017-08-30 2019-08-20 Google Llc Distance metric learning using proxies
CN109189825B (zh) * 2018-08-10 2022-03-15 深圳前海微众银行股份有限公司 横向数据切分联邦学习建模方法、服务器及介质
CN109284313B (zh) * 2018-08-10 2021-08-27 深圳前海微众银行股份有限公司 基于半监督学习的联邦建模方法、设备及可读存储介质
CN110032646B (zh) * 2019-05-08 2022-12-30 山西财经大学 一种基于多源领域适应联合学习的跨领域文本情感分类方法
CN110135363B (zh) * 2019-05-13 2022-09-27 苏州经贸职业技术学院 基于判别词典嵌入行人图像检索方法、系统、设备及介质
CN110262819B (zh) * 2019-06-04 2021-02-26 深圳前海微众银行股份有限公司 一种联邦学习的模型参数更新方法及装置
CN111176929B (zh) * 2019-11-29 2023-04-18 广东工业大学 一种面向边缘联邦学习的高能效计算通信联合优化方法
CN111325354B (zh) * 2020-03-13 2022-10-25 腾讯科技(深圳)有限公司 机器学习模型压缩方法、装置、计算机设备和存储介质
CN111461215B (zh) * 2020-03-31 2021-06-29 支付宝(杭州)信息技术有限公司 业务模型的多方联合训练方法、装置、系统及设备
CN111475852B (zh) * 2020-06-19 2020-09-15 支付宝(杭州)信息技术有限公司 基于隐私保护针对业务模型进行数据预处理的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330448A (zh) * 2017-06-09 2017-11-07 南京师范大学 一种基于标记协方差和多标记分类的联合学习方法
CN109710336A (zh) * 2019-01-11 2019-05-03 中南林业科技大学 联合能量和延迟优化的移动边缘计算任务调度方法
CN109934295A (zh) * 2019-03-18 2019-06-25 重庆邮电大学 一种基于超限隐特征学习模型的图像分类与重建方法
CN111081337A (zh) * 2020-03-23 2020-04-28 腾讯科技(深圳)有限公司 一种协同任务预测方法及计算机可读存储介质

Also Published As

Publication number Publication date
CN112068866A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN112068866B (zh) 更新业务模型的方法及装置
US20220129700A1 (en) Methods, apparatuses, and systems for updating service model based on privacy protection
US20230078061A1 (en) Model training method and apparatus for federated learning, device, and storage medium
WO2021204271A1 (zh) 保护数据隐私的双方联合训练业务预测模型
CN114677200B (zh) 基于多方高维数据纵向联邦学习的商业信息推荐方法及装置
CN115270001B (zh) 基于云端协同学习的隐私保护推荐方法及系统
CN113361962A (zh) 基于区块链网络识别企业风险性的方法及装置
WO2024045581A1 (zh) 一种基于分布式gan的隐私保护数据共享方法及系统
CN113377797A (zh) 联合更新模型的方法、装置及系统
US11743238B2 (en) Systems and methods for blind vertical learning
CN114004363B (zh) 联合更新模型的方法、装置及系统
CN113360514B (zh) 联合更新模型的方法、装置及系统
CN114676838A (zh) 联合更新模型的方法及装置
WO2023000165A1 (en) Method and apparatus for classifying nodes of a graph
CN111475852A (zh) 基于隐私保护针对业务模型进行数据预处理的方法及装置
US20230168944A1 (en) Systems and methods for automated staking models
US20240154942A1 (en) Systems and methods for blind multimodal learning
US12088565B2 (en) Systems and methods for privacy preserving training and inference of decentralized recommendation systems from decentralized data
CN114997286A (zh) 一种基于联邦支持向量机的金融客户分类方法及装置
Thirunavukarasu et al. People to people recommendation using coupled nonnegative boolean matrix factorization
CN113887740B (zh) 联合更新模型的方法、装置及系统
CN113657611A (zh) 联合更新模型的方法及装置
CN114723012A (zh) 基于分布式训练系统的计算方法和装置
Li et al. Fairness-Aware Federated Learning Framework on Heterogeneous Data Distributions
US20230084507A1 (en) Servers, methods and systems for fair and secure vertical federated learning

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