一种安全的去除第三方的混合联邦学习框架及方法

文档序号:27553778发布日期:2021-11-24 23:32阅读:123来源:国知局
一种安全的去除第三方的混合联邦学习框架及方法

1.本发明属于联邦学习建模领域,特别涉及去除第三方的大规模分布式边缘智能框架以及基于安全多方计算的横向联邦建模方式和纵向联邦建模方式。


背景技术:

2.机器学习技术在实践中被广泛用于生成用于医疗、银行、推荐服务、威胁分析和认证技术的预测模型。随着时间的推移,收集到的大量网络边缘数据为很多问题提供了新的解决方案,而深度学习的进展导致了语音、图像和文本识别方面的突破。
3.大型互联网公司收集用户的在线活动,培训预测用户未来兴趣的推荐系统。来自不同医院和政府机构的健康数据可以用来建立新的诊断模型,而金融公司和支付网络可以结合交易历史、商户数据和账户持有人信息,以训练更准确的欺诈检测引擎。
4.然而,在不同的行业中,大多数应用程序只能访问小的或低质量的数据集。标签数据是非常昂贵的,特别是在需要人力专长和领域知识的领域。此外,特定任务所需的数据可能不会全部存储在一个地方。许多组织可能只有未标记的数据,而其他一些组织可能只有非常有限的标签。而且,在gdpr的限制下,各组织也越来越难以合并它们的数据。
5.为了解决这一挑战,某歌公司引入了联邦学习(fl)系统,其中全球机器学习模型由分布式参与者的联邦更新,同时将其数据存储在本地。他们的框架要求所有贡献者共享相同的特性空间。另一方面,还研究了在特征空间中划分数据的安全机器学习。这些方法只适用于具有共同特征或联合下的共同样本的数据。
6.然而,在目前应用的两方联邦学习的场景中,参与者guest和参与者host进行隐私求交后的联邦建模数据量非常小导致模型的性能和精度也不够高。例如,双方的样本数量有10万条数据,求交后的数据可能只有5000条数据,然后双方利用这5000条数据进行建模,这样的数据量想要得到高质量的模型是远远不够的。因此,如何提高联合模型的精度是一个急需解决的问题。
7.在最近的一些工作中,已经有相关工作研究混合联邦学习方法,具体方法为:针对每个组,根据组内参与者的数据集联合训练每组的联邦学习模型;对各组的得到联邦学习模型进行融合得到新的一个联邦学习模型,并将新的联邦学习模型发送给每个组内参与者,以此方式进行迭代,直至模型训练结束。但这个方案存在两个问题。第一,该方案仅仅适用于具有多组参与者的联邦学习模型训练,而且要求每个组内进行相同的联邦学习模式,即要求数据特征值完全一致,不适用于数据特征值不规则的情况。第二,每个组内都存在一个协调者,即可信的第三方。在实践中,是很难找到一个权威的第三方,可以被所有参与者信任。另外,方案中但凡涉及到第三方,就增加了数据泄漏的风险。如果设计的协议中去掉了第三方,就可以大大降低系统的复杂性和任意双方建立联合模型的成本。


技术实现要素:

8.本发明的目的是提供一种安全的去除第三方的混合联邦学习框架和方法,该方法
是在混合联邦学习上的另一个努力;提出了针对的各组内如何进行混合联邦学习并且构建了相对应的混合联邦学习框架;不仅可以简化系统部署,而且大大提升了联邦建模的安全性。
9.一种安全的去除第三方的混合联邦学习框架,包括数个分布式计算节点,从数个分布式计算节点中选取数个边缘聚合器;数个边缘聚合器中随机选择一个边缘聚合器定做中心聚合器,每个边缘聚合器与至少一个分布式计算节点相关联,具体构成如下:
10.1)每轮随机选择的其中一个聚合器作为中心聚合器,其余边缘聚合器首先从选定的中心聚合器下载全局学习模型,每个分布式计算节点从其关联的边缘聚合器下载全局模型,每个分布式计算节点训练好子模型后再上传到关联的边缘聚合器;边缘聚合器接收子模型后得到一个更新的边缘模型,再将边缘模型返回给关联的分布式计算节点,经过多次更新迭代,每个边缘聚合器得到一个边缘模型;
11.2)每个边缘聚合器将边缘模型更新至中心聚合器;中心聚合器接收边缘模型后对全局模型进行更新返回其余的边缘聚合器,以此迭代,直至全局模型达到预期的精度为止。
12.一种安全的去除第三方的混合联邦学习方法,包括下述步骤:
13.步骤1:设有m个小组,每个小组中有n个参与者,每个参与者手中拥有一个数据集,且每个参与者初始化一个模型参数,部分参与者的数据集仅包括特征数据,部分参与者的数据集包括特征数据和标签数据;其中每个参与者对应一个分布式计算节点,每个小组对应一个边缘聚合器,数个小组随机选择一个小组做中心聚合器;
14.步骤2:每个小组i,1≤i≤m各自组内参与者基于选定的同态加密方案利用数据集和模型参数进行混合联邦学习,即组内参与者首先进行纵向联邦学习,然后再进行横向联邦学习,或者,首先组内参与者进行横向联邦学习,再进行纵向联邦学习,最终每一个小组的组内成员都得到一个混合联邦学习模型m
i
,该混合联邦学习模型m
i
就是边缘模型;
15.步骤3:联合所有小组的混合联邦学习模型m
i
再进行混合联邦学习,即所有小组首先进行横向联邦学习,再进行纵向联邦学习,或者,所有小组首先进行纵向联邦学习,再进行横向联邦学习,最终,每个小组得到一个全新的联邦学习模型m
i’,且模型m
i’参数分布在对应的各个小组之间的参与者手中;
16.步骤4:将得到一个全新的联邦学习模型m
i’作为新一轮的模型参数的输入,重复步骤2

步骤4,以此迭代更新模型m
i’,直至联邦学习模型收敛至某一阈值或者达到最大迭代次数。
17.步骤2或3中所述横向联邦学习具体为:在两个数据集的用户特征重叠较多而用户重叠较少的情况下,把数据集按照横向切分;即用户维度切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练,具体包括下述步骤:
18.步骤a1:参与方首先各自在本地进行建模;
19.步骤a2:对所有参与方建模结果进行加权平均,再返回给各个参与方;
20.步骤a3:以此方式进行迭代,直至横向联邦学习模型收敛至某一阈值或者达到最大迭代次数。
21.步骤2或3中所述纵向联邦学习具体为:在两个数据集的用户重叠较多而用户特征重叠较少的情况下,把数据集按照纵向即特征维度切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练,具体包括下述步骤:
22.步骤b1:无标签数据的参与方提供加密特征数据协助有标签数据的参与方进行梯度更新和模型参数更新;
23.步骤b2:有标签数据的参与方提供加密标签数据协助无标签数据的参与方进行梯度更新和模型参数更新;
24.步骤b3:b1

b2步骤进行迭代,直至纵向联邦学习模型收敛至某一阈值或者达到最大迭代次数。
25.步骤2或3所述进行混合联邦学习,具体为:
26.两个表格的纵坐标代表用户id实例,横坐标x代表特征数据,y代表标签数据:
[0027][0028]
组内参与者进行混合联邦学习,设定小组中仅有两个参与者;设定为首先进行纵向联邦学习,然后再进行横向联邦学习;第一个参与者拥有左表格对应的数据集,第二个参与者拥有右表格对应的数据集;利用第一个参与者数据集中的用户id(1,2)、特征数据(x1,x2,x3,x4,x3,x4)以及标签数据y和第二个参与者数据集中的用户id(1,2)和特征值(x7,x8)进行纵向联邦学习,然后利用第一个参与者数据集中的用户id(1,2,3,4,5)、特征数据(x1,x2)和第二个参与者数据集中的用户id(8,9)、特征数据(x7,x8)以及标签数据y进行横向联邦学习。
[0029]
步骤4中所述阈值具体为:模型参数变化量小于设定的某个数值。
[0030]
所述b1和步骤b2所述进行梯度更新采用全量梯度下降、小批量梯度下降或随机梯度下降方式。
[0031]
本发明的有益效果在于:
[0032]
首先,本发明的混合联邦学习方法不仅适用于组内进行混合联邦学习,而且适用于不同组进行混合联邦学习,大大提升了联邦建模的精确度。
[0033]
第二,本发明的混合联邦学习框架不要求各组之间的特征值一定完全相同,适用于数据不规则的情形。
[0034]
第三,本发明的混合联邦学习框架是去除第三方协调的架构,这种模式不仅可以简化系统部署,而且大大提升了联邦建模的安全性。
附图说明
[0035]
图1为本发明框架示意图;
[0036]
图2为本发明方法流程图;
[0037]
图3为本发明实施例横向联邦学习示意图;
[0038]
图4为本发明实施例纵向联邦学习示意图。
具体实施方式
[0039]
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
[0040]
本发明提供的一种安全的去除第三方的混合联邦学习框架,包括数个分布式计算节点和数个边缘聚合器;数个边缘聚合器中随机选择一个边缘聚合器定做中心聚合器,每个边缘聚合器与至少一个分布式计算节点相关联,具体构成为:
[0041]
1)每轮随机选择的其中一个聚合器作为中心聚合器,其余边缘聚合器首先从选定的中心聚合器下载全局学习模型,每个分布式计算节点从其关联的边缘聚合器下载全局模型,每个分布式计算节点训练好子模型后再上传到关联的边缘聚合器;边缘聚合器接收子模型后得到一个更新的边缘模型,再将边缘模型返回给关联的分布式计算节点,经过多次更新迭代,每个边缘聚合器得到一个边缘模型;
[0042]
2)每个边缘聚合器将边缘模型更新至中心聚合器;中心聚合器接收边缘模型后对全局模型进行更新返回其余的边缘聚合器,以此迭代,直至全局模型达到预期的精度为止。
[0043]
本发明提供的一种安全的去除第三方的混合联邦学习方法,包括下述步骤:
[0044]
步骤1:现有m个小组,每个小组中有n个参与者,每个参与者手中拥有一个数据集,且每个参与者初始化一个模型参数。
[0045]
步骤2:每个小组i,1≤i≤m各自组内参与者基于选定的同态加密方案利用数据集和模型参数进行混合联邦学习,即组内参与者首先进行纵向联邦学习,然后再进行横向联邦学习,或者,首先组内参与者进行横向联邦学习,再进行纵向联邦学习,最终每一个小组的组内成员都得到一个混合联邦学习模型m
i

[0046]
步骤3:联合所有小组的混合联邦学习模型m
i
再进行混合联邦学习,即所有小组首先进行横向联邦学习,再进行纵向联邦学习,或者,所有小组首先进行纵向联邦学习,再进行横向联邦学习,最终,每个小组得到一个全新的联邦学习模型m
i’,且模型m
i’参数分布在对应的各个小组之间的参与者手中;
[0047]
步骤4:将得到一个全新的联邦学习模型m
i’作为新一轮的模型参数的输入,返回步骤2

步骤4,以此迭代更新模型m
i’,直至联邦学习模型收敛至某一阈值或者达到最大迭代次数。
[0048]
本发明的步骤2、步骤3中横向联邦学习具体定义为在两个数据集的用户特征重叠较多而用户重叠较少的情况下,把数据集按照横向(即用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练。比如有两家不同地区银行,它们的用户群体分别来自各自所在的地区,相互的交集很小。但是,它们的业务很相似,因此,记录的用户特征是相同的。此时,使用横向联邦学习来构建联合模型。
[0049]
本发明的步骤2、步骤3中纵向联邦学习具体定义为在两个数据集的用户重叠较多而用户特征重叠较少的情况下,把数据集按照纵向(即特征维度)切分,并取出双方用户相
同而用户特征不完全相同的那部分数据进行训练。
[0050]
本发明的步骤2、步骤3中的混合联邦学习方式,具体参看以下面表格以及以下表述:
[0051]
两个表格的纵坐标代表用户id实例,横坐标x代表特征数据,y代表标签数据:
[0052][0053]
组内参与者进行混合联邦学习,设定小组中仅有两个参与者;设定为首先进行纵向联邦学习,然后再进行横向联邦学习;第一个参与者拥有左表格对应的数据集,第二个参与者拥有右表格对应的数据集;利用第一个参与者数据集中的用户id(1,2)、特征数据(x1,x2,x3,x4,x3,x4)以及标签数据y和第二个参与者数据集中的用户id(1,2)和特征数据(x7,x8)进行纵向联邦学习,然后利用第一个参与者数据集中的用户id(1,2,3,4,5)、特征数据(x1,x2)和第二个参与者数据集中的用户id(8,9)、特征数据(x7,x8)以及标签数据y进行横向联邦学习。
[0054]
本发明的步骤1、步骤2中的横向联邦方式,具体参看下述步骤:
[0055]
步骤a1:参与方首先各自在本地进行建模;
[0056]
步骤a2:对所有参与方建模结果进行加权平均,再返回给各个参与方;
[0057]
步骤a3:以此方式进行迭代,直至横向联邦学习模型收敛至某一阈值或者达到最大迭代次数。
[0058]
本发明的步骤1、步骤2中的纵向联邦方式,具体参看下述步骤:
[0059]
步骤b1:数据集中无y标签数据的参与方提供加密特征数据协助有y标签的参与方进行梯度更新和模型参数更新;
[0060]
步骤b2:数据集中有y标签数据的参与方提供加密标签数据协助无y标签的参与方进行梯度更新和模型参数更新;
[0061]
步骤b3:以此方式进行迭代,直至纵向联邦学习模型收敛至某一阈值或者达到最大迭代次数。
[0062]
本发明的步骤b1、步骤b2中的梯度更新的方法采用全量梯度下降方式,小批量梯度下降方式或随机梯度下降。
[0063]
本发明设计的去除第三方的安全混合联邦学习框架方法,具体实施过程中采用的加密方案可以替换成秘密分享技术、不经意传输技术以及混肴电路技术。
[0064]
实施例
[0065]
以多家银行联邦训练逻辑回归算法为例,安全的去除第三方的混合联邦学习方法步骤作具体说明:
[0066]
安全的去除第三方的混合联邦学习方法具体流程如图2所示。
[0067]
首先,多个银行内部进行首先根据数据集进行混合联邦学习,即每个银行各个部门首先联合进行纵向联邦学习,然后再联合进行横向联邦学习(也可以首先进行纵向联邦学习,再进行联邦学习),最终每一个银行都得到一个混合联邦学习模型mi;
[0068]
其次,将每一个银行得到的混合联邦学习模型m
i
部分进行横向联邦学习,即加权平均,部分进行纵向联邦学习,得到一个全新的联邦学习模型m
i’,该模型参数分布在对应的每个银行的各个部门手中;最后得到一个全新的联邦学习模型m
i’作为新一轮的模型参数的输入,以此迭代更新模型m
i’,直至联邦学习模型收敛至某一阈值或者达到最大迭代次数,模型训练接收。
[0069]
第一阶段:横向联邦学习
[0070]
综合用户属性信息,定义模型逻辑回归算法,初始模型参数θ,学习率μ,最大迭代次数r,获取特征对齐信息,进行横向联邦学习,流程图如图3所示。
[0071]
逻辑回归的计算方法是下面的sigmoid函数:
[0072][0073]
其中θ=(θ0,θ1,θ2,...,θn)是一组模型参数。当有测试样本输入时,这组模型参数与特征数据进行内积计算
[0074]
h
θ
(x)=θ0+θ1x1+θ2x2+


n
x
n
[0075]
这里的x1,x2,x3,
……
,x
n
就是每个测试样本的n个特征数据。之后再按照sigmoid函数的形式求出y,从而去判断每个测试样本所属的类别。
[0076]
第二阶段:纵向联邦学习
[0077]
综合用户属性信息,定义模型逻辑回归算法,初始模型参数θ,学习率μ,最大迭代次数r,获取样本对齐信息,进行纵向联邦学习,流程图如图4所示。
[0078]
样本对齐即对样本的特征值进行隐私求交算法,以两方为例,具体计算方法为:bob生成公钥对,将公钥发给alice,alcie对自己的id进行加密,然后将加密的发送给bob,bob将alice加密后的值进行第二次加密得到z
a
,bob也将自己的id进行加密得到z
b
。bob将za和zb发送给bob,alice对z
b
进行加密得到d
b
,将d
b
和z
a
进行求交,得到交集结果发送给bob。
[0079]
第三阶段:混合联邦学习
[0080]
将每一个银行的联邦学习模型mi部分进行横向联邦学习,即加权平均,部分进行纵向联邦学习,得到一个全新的联邦学习模型mi’,该模型参数分布在对应的各个银行之间的部门手中;最后得到一个全新的联邦学习模型mi’作为新一轮的模型参数的输入,返回第一阶段和第二阶段,以此迭代更新模型mi’,直至联邦学习模型收敛至某一阈值或者达到最大迭代次数。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1