本技术涉及联邦学习,特别是涉及一种基于纵向逻辑回归的联邦学习模型获取方法及系统。
背景技术:
1、联邦学习是一种带有隐私保护、安全加密技术的分布式机器学习技术,旨在让分散的各个参与方在不暴露各自敏感数据的前提下,共同协作进行模型的构建跟训练;其核心思想是通过在拥有本地数据源的参与方之间进行分布式模型构建跟训练,并且在不需要交换各自所拥有的个体或样本数据的前提下,只通过交换各自构建模型的参数或中间的运算结果的方式,共同构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡,这样就可以达到“数据可用不可见”、“数据不动模型动”的效果。
2、在利用多个参与方在进行联邦学习的过程中,可以根据数据的分布情况分为横向、纵向二种场景;横向场景指所有参与方所拥有的数据具有相同的特征而持有不同的样本;纵向场景指所有参与方所拥有的数据具有相同的样本而持有不同的特征;而在联邦学习建模过程中,各个参与方所拥有的数据大部分都是纵向场景;而在实现纵向联邦学习联合建模过程中,由于参与方的用户群体并非完全重合,所以就需要基于各个参与方的数据来构建相同的用户群体,这样就需要各个参与方之间交换各自的用户数据,而在进行多方联邦学习纵向逻辑回归的过程中,各个参与方的数据隐私无法得到保证以及降低各个参与方之间的通信开销。
3、鉴于此,提供一种在模型获取过程中不暴露数据,保证数据隐私的基于纵向逻辑回归的联邦学习模型获取方法及系统是本领域技术人员亟待解决的技术问题。
技术实现思路
1、为解决上述技术问题,本发明的目的为提供一种基于纵向逻辑回归的联邦学习模型获取方法及系统;可以使各个参与方在进行数据交互时交互的都是加密后的中间计算结果且不涉及到解密,从而避免了各个参与方之间的数据泄露,实现了不暴露数据,保证数据隐私,同时使得模型在整个获取过程中降低了通信开销;
2、本发明提供的技术方案如下:
3、一种基于纵向逻辑回归的联邦学习模型获取方法,包括如下步骤:
4、协作方通过paillier算法生成私钥跟公钥,所述协作方分别向第一参与方和第二参与方发送所述公钥;
5、所述第一参与方和所述第二参与方分别根据所述公钥和rsa算法进行样本数据加密对齐,以获取所述第一参与方跟所述第二参与方的共有用户数据;
6、所述第一参与方和所述第二参与方根据所述共有用户数据分别获取第一样本数据和第二样本数据;
7、所述第一参与方和所述第二参与方根据所述第一样本数据跟所述第二样本数据获取总加密梯度值;
8、所述协作方根据所述私钥对所述总加密梯度值进行解密,以获取全局模型参数;
9、所述第一参与方和所述第二参与方根据所述全局模型参数分别更新与之对应的模型参数,以获取全局模型。
10、优选地,所述第一参与方和所述第二参与方分别根据所述公钥和rsa算法进行样本加密对齐,以获取所述第一参与方跟所述第二参与方的共有用户数据,包括如下步骤:
11、所述第一参与方根据所述公钥对所述第一参与方的第一样本数据进行加密获得第一加密样本数据,所述第一参与方将所述第一加密样本数据发送到所述第二参与方;
12、所述第二参与方根据所述公钥对所述第二参与方的所述第二样本数据进行加密获得第二加密样本数据;
13、将所述第二加密样本数据与所述第一加密样本数据进行交集处理,以获取所述第一参与方和所述第二参与方的共有用户数据。
14、优选地,所述第一参与方和所述第二参与方根据所述第一样本数据跟所述第二样本数据获取总加密梯度值,包括如下步骤:
15、所述第一参与方根据所述第一样本数据通过第一计算公式计算第一残差值;所述第一参与方并利用所述公钥对所述第一残差值进行加密,以获得第一加密残差值;
16、第一计算公式为:
17、;
18、其中,为所述第一样本数据中的第条数据,为第一参与方对应的初始模型参数,为第条数据的样本标签;
19、所述第二参与方根据所述第二样本数据通过第二计算公式计算第二残差值,所述第二参与方并利用所述公钥对所述第二残差值进行加密,得到第二加密残差值;
20、第二计算公式为:
21、;
22、其中为所述第二样本数据中的第条数据,为第二参与方对应的初始模型参数;
23、所述第二参与方根据所述第一加密残差值和所述第二加密残差值计算总加密残差值;
24、计算公式为:
25、。
26、优选地,所述第一参与方和所述第二参与方根据所述第一样本数据跟所述第二样本数据获取总加密梯度值,还包括如下步骤:
27、所述第二参与方根据所述第二样本数据与所述总加密残差值计算第二加密梯度值,所述第二参与方并将所述总加密残差值和所述第二加密梯度值发送给所述第一参与方;
28、第二加密梯度值计算公式为:
29、;
30、所述第一参与方根据所述总加密残差值和所述第一样本数据计算第一加密梯度值,所述第一参与方并将所述第一加密梯度值和所述第二加密梯度值发送给所述协作方;
31、第一加密梯度值计算公式为:
32、;
33、所述协作方将所述第一加密梯度值和所述第二加密梯度值进行组合,以获取总加密梯度值。
34、还提供了一种基于纵向逻辑回归的联邦学习模型获取系统,包括:发送模块、第一获取模块、第二获取模块、第三获取模块、第四获取模块和第五获取模块;
35、所述发送模块,用于协作方通过paillier算法生成私钥跟公钥,所述协作方分别向第一参与方和第二参与方发送所述公钥;
36、所述第一获取模块,用于所述第一参与方和所述第二参与方分别根据所述公钥和rsa算法进行样本数据加密对齐,以获取所述第一参与方跟所述第二参与方的共有用户数据;
37、所述第二获取模块,用于所述第一参与方和所述第二参与方根据所述共有用户数据分别获取第一样本数据和第二样本数据;
38、所述第三获取模块,用于所述第一参与方和所述第二参与方根据所述第一样本数据跟所述第二样本数据获取总加密梯度值;
39、所述第四获取模块,用于所述协作方根据所述私钥和总加密梯度值获取全局模型参数;
40、所述第五获取模块,用于所述第一参与方和所述第二参与方根据所述全局模型参数分别更新与之对应的模型参数,以获取全局模型。
41、优选地,所述第一获取模块包括:第一加密模块、第二加密模块和数据处理模块;
42、所述第一加密模块,用于所述第一参与方根据所述公钥对所述第一参与方的第一样本数据进行加密获得第一加密样本数据,所述第一参与方将所述第一加密样本数据发送到所述第二参与方;
43、所述第二加密模块,用于所述第二参与方根据所述公钥对所述第二参与方的所述第二样本数据进行加密获得第二加密样本数据;
44、所述数据处理模块,用于将所述第二加密样本数据与所述第一加密样本数据进行交集处理,以获取所述第一参与方和所述第二参与方的共有用户数据。
45、优选地,所述第二获取模块,包括:第一参数计算模块、第二参数计算模块和第三参数计算模块;
46、所述第一参数计算模块,用于所述第一参与方根据所述第一样本数据通过第一计算公式计算第一残差值;所述第一参与方并利用所述公钥对所述第一残差值进行加密,以获得第一加密残差值;
47、所述第二参数计算模块,用于所述第二参与方根据所述第二样本数据通过第二计算公式计算第二残差值,所述第二参与方并利用所述公钥对所述第二残差值进行加密,得到第二加密残差值;
48、所述第三参数计算模块,用于所述第二参与方根据所述第一加密残差值和所述第二加密残差值计算总加密残差值。
49、优选地,所述第二获取模块,还包括:第一计算发送模块、第二计算发送模块和组合模块;
50、所述第一计算发送模块,用于所述第二参与方根据所述第二样本数据与所述总加密残差值计算第二加密梯度值,所述第二参与方并将所述总加密残差值和所述第二加密梯度值发送给所述第一参与方;
51、所述第二计算发送模块,用于所述第一参与方根据所述总加密残差值和所述第一样本数据计算第一加密梯度值,所述第一参与方并将所述第一加密梯度值和所述第二加密梯度值发送给协作方;
52、所述组合模块,用于所述协作方将所述第一加密梯度值和所述第二加密梯度值进行组合,以获取总加密梯度值。
53、本技术提供了一种基于纵向逻辑回归的联邦学习模型获取方法,通过协作方通过paillier算法生成私钥跟公钥,协作方分别向第一参与方和第二参与方发送公钥;第一参与方和第二参与方分别根据公钥和rsa算法进行样本数据加密对齐,以获取第一参与方跟第二参与方的共有用户数据;第一参与方和第二参与方根据共有用户数据分别获取第一样本数据和第二样本数据;第一参与方和第二参与方根据第一样本数据跟第二样本数据获取总加密梯度值;协作方根据私钥对总加密梯度值进行解密,以获取全局模型参数;第一参与方和第二参与方根据全局模型参数分别更新与之对应的模型参数,以获取全局模型;本方法通过协作方根据paillier算法生成私钥和公钥,协作方分别向第一参与方与第二参与方发送公钥;第一参与方和第二参与方分别根据公钥和rsa算法进行样本数据加密对齐,以获取第一参与方跟第二参与方的共有用户群体,从而获得各个参与方用于模型获取的样本数据,让模型在获取过程中,各个参与方传输的数据都是加密数据,并且在用协作方对模型参数解密后,再对解密后的模型参数注入的噪声,这样能够更好地保证了各个参与方的数据隐私安全,从而提高了模型在获取过程中的安全性,同时降低各个参与方在加解密过程中的计算步骤以及传输的通信开销,从而有效地提升了模型的获取效率。
54、本发明还提供了一种基于纵向逻辑回归的联邦学习模型获取系统,由于该系统与该基于纵向逻辑回归的联邦学习模型获取方法解决相同的技术问题,属于相同的技术构思,理应具有相同的有益效果,在此不再赘述。