CN112765898A - 多任务联合训练模型方法、系统、电子设备和存储介质 - Google Patents
多任务联合训练模型方法、系统、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112765898A CN112765898A CN202110134399.2A CN202110134399A CN112765898A CN 112765898 A CN112765898 A CN 112765898A CN 202110134399 A CN202110134399 A CN 202110134399A CN 112765898 A CN112765898 A CN 112765898A
- Authority
- CN
- China
- Prior art keywords
- party
- task
- participant
- model
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012549 training Methods 0.000 title claims abstract description 46
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 239000013598 vector Substances 0.000 claims abstract description 88
- 230000003993 interaction Effects 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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/606—Protecting data by securing the transmission between two devices or processes
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Abstract
本申请涉及一种多任务联合训练模型方法、系统、电子设备和存储介质,其中,该方法包括:各参与方分别根据己方的特征进行建模,并得到对应的特征向量;各参与方将其特征向量发送至除己方以外的其他任务方;各任务方根据己方的子任务,结合所接收的各特征向量,再次进行建模,计算己方的损失值并发送至第三方;第三方将所有任务方的各损失值进行加权求和得到整体模型的总损失值;第三方根据各损失值计算梯度并返回至各对应参与方;各参与方根据各梯度更新己方模型,并更新整体模型。通过本申请,实现了对用户数据的保护的同时,提升模型各个子任务之间的准确性。
Description
技术领域
本申请涉及模型训练技术领域,特别是涉及多任务联合训练模型方法、系统、电子设备和存储介质。
背景技术
随着《通用数据保护条例》和国内《网络安全法》、《数据安全管理办法》等相关法律规定的提出,隐私安全受到越来越多的社会关注,在当下各行各业都依托数据化的大趋势下,数据安全保护相关政策的出台无疑是阻塞产业变革的重要关卡。尤其是在人工智能领域,近些年来新算法的不断提出、大量数据的积累以及硬件配置的不断提升为AI提供了优异的成长环境,在人脸识别、语音识别、无人驾驶、精准营销等方面为人类的生活提供了极大的的便捷,极大的改变了人们日常的生产生活方式。
在企业中,除了少数大规模企业拥有大量数据外,更多的中小规模企业都存在数据量少、数据质量差等原因,不足以支撑人工智能技术的开发和实现,但从商业和用户的角度考虑,每个公司的数据都有其巨大的潜在价值,以往为了寻求更大的利益,多个公司或机构会以数据买卖或合作的方式将多方数据进行融合,从而训练效果更优的模型。但是由于各项数据安全法案的提出,这些中小规模企业无法直接寻求和外界的合作,数据往往以孤岛的形式分散在各个企业中,为了打破现有的数据孤岛的僵局,联邦学习应运而生。
目前,在纵向联邦学习的神经网络框架中,只有某一方存在标签(及特征),而其余方只存在特征的方案提出,并没有在纵向联邦学习中提出多方均有标签且进行多任务训练的方案。该方案虽适用于大多数合作场景,但是也存在有多任务分布在多个参与方的情况,针对这一情况,现有技术还未提出有效的解决方案实现模型的有效训练。
发明内容
本申请实施例提供了一种多任务联合训练模型方法、系统、电子设备和存储介质,通过联合建模将各个子任务之间潜在关系挖掘出来并相互影响,从而提升模型各个子任务之间的准确性,以至少解决相关技术中模型训练效果不好、准确率不高的问题。
第一方面,本申请实施例提供了一种多任务联合训练模型方法,n个参与方中m个参与方具有不同的子任务,具有子任务的所述参与方为任务方,所述子任务之间具有关联性,该方法包括以下步骤:
特征向量获取步骤,各所述参与方分别根据己方的特征进行建模,并得到对应的特征向量;
交互步骤,各所述参与方将其所述特征向量发送至除己方以外的其他所述任务方;
损失计算步骤,各所述任务方根据己方的子任务,结合所接收的各所述特征向量,再次进行建模,计算己方的损失值并发送至第三方;
总损失获取步骤,所述第三方将所有所述任务方的各所述损失值进行加权求和得到整体模型的总损失值;
梯度计算步骤,所述第三方根据各所述损失值计算梯度并返回至各对应所述参与方;
模型更新步骤,各所述参与方根据各所述梯度更新己方模型,并更新整体模型。
在其中一些实施例中,所述交互步骤具体包括:
向量交互步骤,每个所述参与方将己方的所述特征向量进行同态加密,并将加密结果发送至除己方以外的其他所述任务方;
第一参数传递步骤,各所述任务方收到所述加密结果后进行变换,并随机生成对应εbi,各所述任务方生成己方的第一参数zi,并将[zi+εbi]发送给对应参与方,具体为:
[zi]=[αi]*Wi,
zi=αi*Wi
其中,i=1,2,...,n,Wi为对应权重向量,εbi为与加密后的所述特征向量对应的随机数;
第二参数传递步骤,当各所述参与方根据对应所述任务方的所述特征向量解密对应所述[zi+εbi],并生成第二参数Zi,将所述Zi发送给对应所述任务方,具体为:
Zi=zi+εbi+αi*εacc_i
其中,εacc_i是第i个任务方的随机生成数;
向量生成步骤,收到所述第二参数Zi的所述任务方生成对应的向量Interacivem,具体为:
Interacivem=zm+[Zi-εbi]
在其中一些实施例中,所述同态加密包括加法同态、乘法同态、混合乘法同态、减法同态、除法同态、代数同态和算数同态其一或组合。
在其中一些实施例中,所述模型更新步骤具体包括:
参数计算步骤,所述任务方更新模型参数,并计算各所述参与方的[δm*αi+εbi],返回至各对应所述参与方,所述模型参数具体包括:
Wi=Wi-lr*δm*αi
δbottom_i=δm*Wi
其中,lr为设定的学习率,δm为交互层梯度,δbottom_i为参与方i的bottom层的底层梯度;
参数返回步骤,各所述参与方生成随机生成数εi,并解密[δm*αi+εbi],计算第三参数Ai和εacc_i,将所述第三参数和[εacc_i]返回至对应所述任务方,其中,
εacc_i=εacc_i+εi
参数更新步骤,所述任务方更新Wi,计算并更新各所述参与方的所述底层梯度δbottom_i,将[δbottom_i]发送至对应所述参与方,其中,
[δbottom_i]=[δm*(Wi+εacc_i)]
Wi=Wi-εacc_i
模型更新步骤,各所述参与方解密[δbottom_i],得到各对应所述参与方在对应所述任务方的子任务上的梯度,并据此更新各所述任务方方的模型。
第二方面,本申请实施例提供了一种多任务联合训练模型系统,包括:
特征向量获取模块,各所述参与方分别根据己方的特征进行建模,并得到对应的特征向量;
交互模块,各所述参与方将其所述特征向量发送至除己方以外的其他所述任务方;
损失计算模块,各所述任务方根据己方的子任务,结合所接收的各所述特征向量,再次进行建模,计算己方的损失值并发送至第三方;
总损失获取模块,所述第三方将所有所述任务方的各所述损失值进行加权求和得到整体模型的总损失值;
梯度计算模块,所述第三方根据各所述损失值计算梯度并返回至各对应所述参与方;
模型更新模块,各所述参与方根据各所述梯度更新己方模型,并更新整体模型。
在其中一些实施例中,所述交互模块具体包括:
向量交互单元,每个所述参与方将己方的所述特征向量进行同态加密,并将加密结果发送至除己方以外的其他所述任务方;
第一参数传递单元,各所述任务方收到所述加密结果后进行变换,并随机生成对应εbi,各所述任务方生成己方的第一参数zi,并将[zi+εbi]发送给对应参与方,具体为:
[zi]=[αi]*Wi,
zi=αi*Wi
其中,i=1,2,...,n,Wi为对应权重向量,εbi为与加密后的所述特征向量对应的随机数;
第二参数传递单元,当各所述参与方根据对应所述任务方的所述特征向量解密对应所述[zi+εbi],并生成第二参数Zi,将所述Zi发送给对应所述任务方,具体为:
Zi=zi+εbi+αi*εacc_i
其中,εacc_i是第i个任务方的随机生成数;
向量生成单元,收到所述第二参数Zi的所述任务方生成对应的向量Interacivem,具体为:
Interacivem=zm+[Zi-εbi]
在其中一些实施例中,所述同态加密采用加法同态、乘法同态、混合乘法同态、减法同态、除法同态、代数同态和算数同态其一或组合。
在其中一些实施例中,所述模型更新模块具体包括:
参数计算单元,所述任务方更新模型参数,并计算各所述参与方的[δm*αi+εbi],返回至各对应所述参与方,所述模型参数具体包括:
Wi=Wi-lr*δm*αi
δbottom_i=δm*Wi
其中,lr为设定的学习率,δm为交互层梯度,δbottom_i为参与方i的bottom层的底层梯度;
参数返回单元,各所述参与方生成随机生成数εi,并解密[δm*αi+εbi],计算第三参数Ai和εacc_i,将所述第三参数和[εacc_i]返回至对应所述任务方,其中,
εacc_i=εacc_i+εi
参数更新单元,所述任务方更新Wi,计算并更新各所述参与方的所述底层梯度δbottom_i,将[δbottom_i]发送至对应所述参与方,其中,
[δbottom_i]=[δm*(Wi+εacc_i)]
Wi=Wi-εacc_i
模型更新单元,各所述参与方解密[δbottom_i],得到各对应所述参与方在对应所述任务方的子任务上的梯度,并据此更新各所述任务方方的模型。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的多任务联合训练模型方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的多任务联合训练模型方法。
相比于相关技术,本申请实施例提供的多任务联合训练模型方法、系统、电子设备和存储介质,本申请以特征向量替代用户数据在各机构之间的传输,实现了对用户数据的保护;同时,通过联合建模将各个子任务之间的潜在关系挖掘出来并相互影响,提升模型各个子任务之间的准确性。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的多任务联合训练模型方法的流程图;
图2是根据本申请实施例的交互步骤的流程图;
图3是根据本申请实施例的模型更新步骤的流程图;
图4是根据本申请实施例的另一种多任务联合训练模型方法的流程图;
图5是根据本申请优选实施例的多任务联合训练模型方法的流程图;
图6是根据本申请实施例的多任务联合训练模型系统的结构框图;
图7为根据本申请实施例的电子设备的硬件结构示意图。
附图说明:
特征向量获取模块1;交互模块2;损失计算模块3;
总损失获取模块4;梯度计算模块5;模型更新模块6;
向量交互单元21;第一参数传递单元22;第二参数传递单元23;
向量生成单元24;参数计算单元61;参数返回单元62;
参数更新单元63;模型更新单元64;处理器81;存储器82;
通信接口83;总线80。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
联邦学习本质上是一种安全的分布式机器学习技术,通过安全手段使各方参与者在不相互泄漏数据隐私的前提下,协同训练一个效果堪比数据聚合后训练的模型。该方法既保障的数据隐私安全,又实现了多方共赢。
联邦学习中可支持多种算法,如逻辑回归、安全提升树、神经网络等等,在纵向联邦学习的神经网络中,若各参与方均有标签,且各方的任务存在关联关系,则可将多个任务联合共同训练一个模型的方法提升各个子任务的指标。
本实施例提供了一种多任务联合训练模型方法。n个参与方中m个参与方具有不同的子任务,具有子任务的所述参与方为任务方,所述子任务之间具有关联性,图1是根据本申请实施例的多任务联合训练模型方法的流程图,如图1所示,该流程包括如下步骤:
特征向量获取步骤S1,各参与方分别根据己方的特征进行建模,并得到对应的特征向量;
交互步骤S2,各参与方将其特征向量发送至除己方以外的其他任务方;
损失计算步骤S3,各任务方根据己方的子任务,结合所接收的各特征向量,再次进行建模,计算己方的损失值并发送至第三方;
总损失获取步骤S4,第三方将所有任务方的各损失值进行加权求和得到整体模型的总损失值;
梯度计算步骤S5,第三方根据各损失值计算梯度并返回至各对应参与方;
模型更新步骤S6,各参与方根据各梯度更新己方模型,并更新整体模型。
通过上述步骤,本发明提出一种纵向神经网络的多任务联合训练方案,为各个机构联合不同子任务提供了模型搭建结构及思路,是纵向联邦学习架构的一次创新和实践。
图2是根据本申请实施例的交互步骤的流程图,如图2所示,在其中一些实施例中,交互步骤S2具体包括:
向量交互步骤S21,每个参与方将己方的特征向量进行同态加密,并将加密结果发送至除己方以外的其他任务方;
第一参数传递步骤S22,各任务方收到加密结果后进行变换,并随机生成对应εbi,各任务方生成己方的第一参数zi,并将[zi+εbi]发送给对应参与方,具体为:
[zi]=[αi]*Wi,
zi=αi*Wi
其中,i=1,2,...,n,Wi为对应权重向量,εbi为与加密后的特征向量对应的随机数;
第二参数传递步骤S23,当各参与方根据对应任务方的特征向量解密对应[zi+εbi],并生成第二参数Zi,将Zi发送给对应任务方,具体为:
Zi=zi+εbi+αi*εacc_i
其中,εacc_i是第i个任务方的随机生成数;
向量生成步骤S24,收到第二参数Zi的任务方生成对应的向量Interacivem,具体为:
Interacivem=zm+[Zi-εbi]
在其中一些实施例中,同态加密采用加法同态、乘法同态、混合乘法同态、减法同态、除法同态、代数同态和算数同态其一或组合。
需要说明的是,同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
同态加密的思想起源于私密同态,代数同态和算术同态是私密同态的子集。
R和S是域,称加密函数E:R→S为:
加法同态,如果存在有效算法⊕,E(x+y)=E(x)⊕E(y)或者x+y=D(E(x)⊕E(y))成立,并且不泄漏x和y。
乘法同态,如果存在有效算法,E(x×y)=E(x)E(y)或xy=D(E(x)E(y))成立,并且不泄漏x和y。
混合乘法同态,如果存在有效算法,E(x×y)=E(x)y或者xy=D(E(x)y)成立,并且不泄漏x。
减法同态,如果存在有效算法○-,E(x-y)=E(x)○-E(y)或者x-y=D(E(x)○-E(y))成立,并且不泄漏x和y,则称E为减法同态。
除法同态,如果存在有效算法○/,E(x/y)=E(x)○/E(y)或者x/y=D(E(x)○/E(y))成立,并且不泄漏x和y,则称E为减法同态。
代数同态,如果E既是加法同态又是乘法同态。
算术同态,如果E同时为加法同态、减法同态、乘法同态和除法同态。
图3是根据本申请实施例的模型更新步骤的流程图,如图3所示,在其中一些实施例中,模型更新步骤S6具体包括:
参数计算步骤S61,任务方更新模型参数,并计算各参与方的[δm*αi+εbi],返回至各对应参与方,模型参数具体包括:
Wi=Wi-lr*δm*αi
δbottom_i=δm*Wi
其中,lr为设定的学习率,δm为交互层梯度,δbottom_i为参与方i的bottom层的底层梯度;
参数返回步骤S62,各参与方生成随机生成数εi,并解密[δm*αi+εbi],计算第三参数Ai和εacc_i,将第三参数和[εacc_i]返回至对应任务方,其中,
εacc_i=εacc_i+εi
参数更新步骤S63,任务方更新Wi,计算并更新各参与方的底层梯度δbottom_i,将[δbottom_i]发送至对应参与方,其中,
[δbottom_i]=[δm*(Wi+εacc_i)]
Wi=Wi-εacc_i
模型更新步骤S64,各参与方解密[δbottom_i],得到各对应参与方在对应任务方的子任务上的梯度,并据此更新各任务方方的模型。
本实施例还提供了一种多任务联合训练模型方法。图4是根据本申请实施例的另一种多任务联合训练模型方法的流程图,如图4所示,该流程包括如下步骤:
模型特征向量获取步骤S401,各任务方分别根据己方所拥有的特征进行建模,并得到相应的特征向量{α1,α2,...,αn};
任务方之间特征向量交互步骤S402,各任务方将己方的特征向量αi发送至除己方以外的其他任务方,以下以任务方m与其他任务方之间的交互行为进行说明:
1、每个参与方将己方的特征向量αi进行同态加密,并将加密结果[αi]发送至除己方以外的其他任务方;
2、各任务方收到任务方m的加密结果[αi]后进行变换,随机生成εbi,各任务方生成己方的第一参数zleader_m,并将[zi+εbi]发送给任务方m,其中,
[zi]=[αi]*Wi,
zleader_m=αleader_m*Wleader_m
其中,W为对应随机初始化的权重向量,zleader_m、αleader_m、Wleader_m为任务方m的相关参数;
3、各任务方根据参与方的特征向量解密[Zi+εbi],并生成第二参数Zi,将Zi发送给对应参与方,其中:
Zi=zi+εbi+αi*εacc_i
4、任务方收到Zi后生成对应向量Interacivem,其中:
Interacivem=zleader_m+[Zi-εbi]
各方损失计算步骤S403,各任务方根据己方的子任务,结合所接收的各特征向量,再次进行建模,计算己方的损失值lossi并发送至第三方;
模型总损失获取步骤S404,第三方将所有任务方的各损失值进行加权求和得到整体模型的总损失值Loss;
模型梯度计算步骤S405,第三方根据各损失值计算梯度并返回至各对应任务方;
根据梯度更新模型步骤S406,各任务方根据各梯度更新己方模型,并更新整体模型,以下仍以任务方m与其他任务方之间的交互行为进行说明:
1、任务方m更新模型参数和底层梯度,并计算各任务方的[δm*αi+εbi],返还给各参与方;
其中:
Wleader_m=Wleader_m-lr*δm*αleader_m
δbottom_m=δm*Wleader_m
3、任务方m更新Wi,计算并更新各参与方的底层梯度δbottom_i,将[δbottom_i]发送给对应参与方,其中:
[δbottom_i]=[δm*(Wi+εacc_i)]
Wi=Wi-εacc_i
4、各参与方解密[δbottom_i],得到各对应参与方在任务方m的子任务上的梯度,并根据各梯度更新各方模型。
通过上述步骤,完成各个任务方之间的特征交互,并根据特征进行分析得到己方所需要的梯度值,以训练对应模型,提高模型的精度。同时采用特征向量和同态加密的方式对用户的数据进行了保护,在实现模型训练的同时保护了用户的数据安全。
下面通过优选实施例对本申请实施例进行描述和说明。
图5是根据本申请优选实施例的多任务联合训练模型方法的流程图。
假设有n个参与方,其中有m个参与方(m<=n)含有不同的标签(即有不同的子任务),各个子任务之间有关联性。其中包含不同标签的m个参与方均为leader,其余为follower。
1、各个参与方分别针对自己拥有的特征进行建模,得到特征向量{α1,α2,...,αn};
2、特征交互:
(1)每个参与方将本方特征向量通过同态加密后的结果[αi]发送给除自己之外的leader;
(2)每个leader对每个所收到[αi]进行变换,随机生成εbi,并将[zi+εbi]发送给对应方,同时各个leader生成本方的zleader_m,具体公式如下;
[zi]=[αi]*Wi,
zleader_m=αleader_m*Wleader_m
(3)各方收到leader_m发送的数据后解密[Zi+εbi],并生成Zi,将Zi发送给leader_m,如下式。
Zi=zi+εbi+αi*εacc_i
这里的leader_m指代参与方m,且参与方m为leader;
(4)leader_m收到后生成向量Interacivem,如下式。
Interacivem=zleader_m+[Zi-εbi]
3、各leader方根据己方的子任务,针对特征向量Interacivem进行后续的建模。
4、每个leader计算本方的损失值lossi,并将其并将其传输给第三方;
5、第三方将所有leader的损失值加权求和得到该模型的总损失Loss;
6、第三方计算更新梯度,并返回给各个参与方,到交互层leader的梯度为δm;
7、各个参与方根据自己的梯度更新模型。
(1)对于leader_m侧的模型参数更新和下层梯度更新如下式
Wleader_m=Wleader_m-lr*δm*αleader_m
δbottom_m=δm*Wleader_m
(2)leader_m计算各方的[δm*αi+εbi],并返还给各方。
(4)leader_m更新Wi,计算各方底层模型更新梯度δbottom_i,如下式。将[δbottom_i]发送给对应方。
[δbottom_i]=[δm*(Wi+εacc_i)]
Wi=Wi-εacc_i
(5)各参与方解密[δbottom_i],得到该方在leader_m这个子任务上的梯度,并据此更新模型。
8、更新整体模型。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种多任务联合训练模型系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的多任务联合训练模型系统的结构框图,如图6所示,该装置包括:
特征向量获取模块1,各参与方分别根据己方的特征进行建模,并得到对应的特征向量;
交互模块2,各参与方将其特征向量发送至除己方以外的其他任务方;
损失计算模块3,各任务方根据己方的子任务,结合所接收的各特征向量,再次进行建模,计算己方的损失值并发送至第三方;
总损失获取模块4,第三方将所有任务方的各损失值进行加权求和得到整体模型的总损失值;
梯度计算模块5,第三方根据各损失值计算梯度并返回至各对应参与方;
模型更新模块6,各参与方根据各梯度更新己方模型,并更新整体模型。
在其中一些实施例中,交互模块2具体包括:
向量交互单元21,每个参与方将己方的特征向量进行同态加密,并将加密结果发送至除己方以外的其他任务方;
第一参数传递单元22,各任务方收到加密结果后进行变换,并随机生成对应εbi,各任务方生成己方的第一参数zi,并将[zi+εbi]发送给对应参与方,具体为:
[zi]=[αi]*Wi,
zi=αi*Wi
其中,i=1,2,...,n,Wi为对应权重向量,εbi为与加密后的特征向量对应的随机数;
第二参数传递单元23,当各参与方根据对应任务方的特征向量解密对应[zi+εbi],并生成第二参数Zi,将Zi发送给对应任务方,具体为:
Zi=zi+εbi+αi*εacc_i
其中,εacc_i是第i个任务方的随机生成数;
向量生成单元24,收到第二参数Zi的任务方生成对应的向量Interacivem,具体为:
Interacivem=zm+[Zi-εbi]
在其中一些实施例中,同态加密采用加法同态、乘法同态、混合乘法同态、减法同态、除法同态、代数同态和算数同态其一或组合。
在其中一些实施例中,模型更新模块6具体包括:
参数计算单元61,任务方更新模型参数,并计算各参与方的[δm*αi+εbi],返回至各对应参与方,模型参数具体包括:
Wi=Wi-lr*δm*αi
δbottom_i=δm*Wi
其中,lr为设定的学习率,δm为交互层梯度,δbottom_i为参与方i的bottom层的底层梯度;
参数返回单元62,各参与方生成随机生成数εi,并解密[δm*αi+εbi],计算第三参数Ai和εacc_i,将第三参数和[εacc_i]返回至对应任务方,其中,
εacc_i=εacc_i+εi
参数更新单元63,任务方更新Wi,计算并更新各参与方的底层梯度δbottom_i,将[δbottom_i]发送至对应参与方,其中,
[δbottom_i]=[δm*(Wi+εacc_i)]
Wi=Wi-εacc_i
模型更新单元64,各参与方解密[δbottom_i],得到各对应参与方在对应任务方的子任务上的梯度,并据此更新各任务方方的模型。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图1描述的本申请实施例多任务联合训练模型方法可以由电子设备来实现。图7为根据本申请实施例的电子设备的硬件结构示意图。
电子设备可以包括处理器81以及存储有计算机程序指令的存储器82。
具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。
处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种多任务联合训练模型方法。
在其中一些实施例中,电子设备还可包括通信接口83和总线80。其中,如图7所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。
通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线80包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(ControlBus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(FrontSide Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该电子设备可以基于交互获得的特征向量,执行本申请实施例中的多任务联合训练模型方法,从而实现结合图1描述的多任务联合训练模型方法。
另外,结合上述实施例中的多任务联合训练模型方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种多任务联合训练模型方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种多任务联合训练模型方法,其特征在于,n个参与方中m个参与方具有不同的子任务,具有子任务的所述参与方为任务方,所述子任务之间具有关联性,该方法包括以下步骤:
特征向量获取步骤,各所述参与方分别根据己方的特征进行建模,并得到对应的特征向量;
交互步骤,各所述参与方将其所述特征向量发送至除己方以外的其他所述任务方;
损失计算步骤,各所述任务方根据己方的子任务,结合所接收的各所述特征向量,再次进行建模,计算己方的损失值并发送至第三方;
总损失获取步骤,所述第三方将所有所述任务方的各所述损失值进行加权求和得到整体模型的总损失值;
梯度计算步骤,所述第三方根据各所述损失值计算梯度并返回至各对应所述参与方;
模型更新步骤,各所述参与方根据各所述梯度更新己方模型,并更新整体模型。
2.根据权利要求1所述的多任务联合训练模型方法,其特征在于,所述交互步骤具体包括:
向量交互步骤,每个所述参与方将己方的所述特征向量进行同态加密,并将加密结果发送至除己方以外的其他所述任务方;
第一参数传递步骤,各所述任务方收到所述加密结果后进行变换,并随机生成对应εbi,各所述任务方生成己方的第一参数zi,并将[zi+εbi]发送给对应参与方,具体为:
[zi]=[αi]*Wi,
zi=αi*Wi
其中,i=1,2,...,n,Wi为对应权重向量,εbi为与加密后的所述特征向量对应的随机数;
第二参数传递步骤,当各所述参与方根据对应所述任务方的所述特征向量解密对应所述[zi+εbi],并生成第二参数Zi,将所述Zi发送给对应所述任务方,具体为:
Zi=zi+εbi+αi*εacc_i
其中,εacc_i是第i个任务方的随机生成数;
向量生成步骤,收到所述第二参数Zi的所述任务方生成对应的向量Interacivem,具体为:
Interacivem=zm+[Zi-εbi]
3.根据权利要求2所述的多任务联合训练模型方法,其特征在于,所述同态加密包括加法同态、乘法同态、混合乘法同态、减法同态、除法同态、代数同态和算数同态其一或组合。
4.根据权利要求2所述的多任务联合训练模型方法,其特征在于,所述模型更新步骤具体包括:
参数计算步骤,所述任务方更新模型参数,并计算各所述参与方的[δm*αi+εbi],返回至各对应所述参与方,所述模型参数具体包括:
Wi=Wi-lr*δm*αi
δbottom_i=δm*Wi
其中,lr为设定的学习率,δm为交互层梯度,δbottom_i为参与方i的bottom层的底层梯度;
参数返回步骤,各所述参与方生成随机生成数εi,并解密[δm*αi+εbi],计算第三参数Ai和εacc_i,将所述第三参数和[εacc_i]返回至对应所述任务方,其中,
εacc_i=εacc_i+εi
参数更新步骤,所述任务方更新Wi,计算并更新各所述参与方的所述底层梯度δbottom_i,将[δbottom_i]发送至对应所述参与方,其中,
[δbottom_i]=[δm*(Wi+εacc_i)]
Wi=Wi-εacc_i
模型更新步骤,各所述参与方解密[δbottom_i],得到各对应所述参与方在对应所述任务方的子任务上的梯度,并据此更新各所述任务方方的模型。
5.一种多任务联合训练模型系统,其特征在于,包括:
特征向量获取模块,各所述参与方分别根据己方的特征进行建模,并得到对应的特征向量;
交互模块,各所述参与方将其所述特征向量发送至除己方以外的其他所述任务方;
损失计算模块,各所述任务方根据己方的子任务,结合所接收的各所述特征向量,再次进行建模,计算己方的损失值并发送至第三方;
总损失获取模块,所述第三方将所有所述任务方的各所述损失值进行加权求和得到整体模型的总损失值;
梯度计算模块,所述第三方根据各所述损失值计算梯度并返回至各对应所述参与方;
模型更新模块,各所述参与方根据各所述梯度更新己方模型,并更新整体模型。
6.根据权利要求1所述的多任务联合训练模型方法,其特征在于,所述交互模块具体包括:
向量交互单元,每个所述参与方将己方的所述特征向量进行同态加密,并将加密结果发送至除己方以外的其他所述任务方;
第一参数传递单元,各所述任务方收到所述加密结果后进行变换,并随机生成对应εbi,各所述任务方生成己方的第一参数zi,并将[zi+εbi]发送给对应参与方,具体为:
[zi]=[αi]*Wi,
zi=αi*Wi
其中,i=1,2,...,n,Wi为对应权重向量,εbi为与加密后的所述特征向量对应的随机数;
第二参数传递单元,当各所述参与方根据对应所述任务方的所述特征向量解密对应所述[zi+εbi],并生成第二参数Zi,将所述Zi发送给对应所述任务方,具体为:
Zi=zi+εbi+αi*εacc_i
其中,εacc_i是第i个任务方的随机生成数;
向量生成单元,收到所述第二参数Zi的所述任务方生成对应的向量Interacivem,具体为:
Interacivem=zm+[Zi-εbi]
7.根据权利要求6所述的多任务联合训练模型系统,其特征在于,所述同态加密采用加法同态、乘法同态、混合乘法同态、减法同态、除法同态、代数同态和算数同态其一或组合。
8.根据权利要求5所述的多任务联合训练模型系统,其特征在于,所述模型更新模块具体包括:
参数计算单元,所述任务方更新模型参数,并计算各所述参与方的[δm*αi+εbi],返回至各对应所述参与方,所述模型参数具体包括:
Wi=Wi-lr*δm*αi
δbottom_i=δm*Wi
其中,lr为设定的学习率,δm为交互层梯度,δbottom_i为参与方i的bottom层的底层梯度;
参数返回单元,各所述参与方生成随机生成数εi,并解密[δm*αi+εbi],计算第三参数Ai和εacc_i,将所述第三参数和[εacc_i]返回至对应所述任务方,其中,
εacc_i=εacc_i+εi
参数更新单元,所述任务方更新Wi,计算并更新各所述参与方的所述底层梯度δbottom_i,将[δbottom_i]发送至对应所述参与方,其中,
[δbottom_i]=[δm*(Wi+εacc_i)]
Wi=Wi-εacc_i
模型更新单元,各所述参与方解密[δbottom_i],得到各对应所述参与方在对应所述任务方的子任务上的梯度,并据此更新各所述任务方方的模型。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的多任务联合训练模型方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4中任一项所述的多任务联合训练模型方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110134399.2A CN112765898B (zh) | 2021-01-29 | 多任务联合训练模型方法、系统、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110134399.2A CN112765898B (zh) | 2021-01-29 | 多任务联合训练模型方法、系统、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765898A true CN112765898A (zh) | 2021-05-07 |
CN112765898B CN112765898B (zh) | 2024-05-10 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109255444A (zh) * | 2018-08-10 | 2019-01-22 | 深圳前海微众银行股份有限公司 | 基于迁移学习的联邦建模方法、设备及可读存储介质 |
CN109492420A (zh) * | 2018-12-28 | 2019-03-19 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、终端、系统及介质 |
CN109886417A (zh) * | 2019-03-01 | 2019-06-14 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、装置、设备及介质 |
US20200293887A1 (en) * | 2019-03-11 | 2020-09-17 | doc.ai, Inc. | System and Method with Federated Learning Model for Medical Research Applications |
US20210004718A1 (en) * | 2019-07-03 | 2021-01-07 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and device for training a model based on federated learning |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109255444A (zh) * | 2018-08-10 | 2019-01-22 | 深圳前海微众银行股份有限公司 | 基于迁移学习的联邦建模方法、设备及可读存储介质 |
CN109492420A (zh) * | 2018-12-28 | 2019-03-19 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、终端、系统及介质 |
CN109886417A (zh) * | 2019-03-01 | 2019-06-14 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、装置、设备及介质 |
US20200293887A1 (en) * | 2019-03-11 | 2020-09-17 | doc.ai, Inc. | System and Method with Federated Learning Model for Medical Research Applications |
US20210004718A1 (en) * | 2019-07-03 | 2021-01-07 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and device for training a model based on federated learning |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902413B2 (en) | Secure machine learning analytics using homomorphic encryption | |
Bonawitz et al. | Practical secure aggregation for privacy-preserving machine learning | |
Wang et al. | An efficient and privacy-preserving outsourced support vector machine training for internet of medical things | |
CN111898137A (zh) | 一种联邦学习的隐私数据处理方法、设备及系统 | |
Liu et al. | Toward highly secure yet efficient KNN classification scheme on outsourced cloud data | |
CN111428887B (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
Wu et al. | Secure and efficient outsourced k-means clustering using fully homomorphic encryption with ciphertext packing technique | |
CN112347500B (zh) | 分布式系统的机器学习方法、装置、系统、设备及存储介质 | |
CN114696990B (zh) | 基于全同态加密的多方计算方法、系统及相关设备 | |
Xie et al. | Achieving privacy-preserving online diagnosis with outsourced SVM in internet of medical things environment | |
CN113505882A (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
WO2021082647A1 (zh) | 一种联合学习系统、训练结果聚合的方法及设备 | |
Song et al. | Privacy-preserving unsupervised domain adaptation in federated setting | |
Owusu-Agyemeng et al. | MSDP: multi-scheme privacy-preserving deep learning via differential privacy | |
CN111523134B (zh) | 基于同态加密的模型训练方法、装置及系统 | |
CN112765642A (zh) | 数据处理方法、数据处理装置、电子设备及介质 | |
CN116561787A (zh) | 视觉图像分类模型的训练方法、装置及电子设备 | |
CN116882524A (zh) | 一种满足参与方的个性化隐私保护需求的联邦学习方法和系统 | |
CN110874481B (zh) | 一种基于gbdt模型的预测方法和装置 | |
CN111259440A (zh) | 一种针对云外包数据的隐私保护决策树分类方法 | |
Sun et al. | MedRSS: A blockchain-based scheme for secure storage and sharing of medical records | |
Shin et al. | Securing a local training dataset size in federated learning | |
CN111046431B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN116502732A (zh) | 基于可信执行环境的联邦学习方法以及系统 | |
CN117349685A (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 |