CN115759248A - 基于去中心混合联邦学习的金融系统分析方法及存储介质 - Google Patents
基于去中心混合联邦学习的金融系统分析方法及存储介质 Download PDFInfo
- Publication number
- CN115759248A CN115759248A CN202211382038.0A CN202211382038A CN115759248A CN 115759248 A CN115759248 A CN 115759248A CN 202211382038 A CN202211382038 A CN 202211382038A CN 115759248 A CN115759248 A CN 115759248A
- Authority
- CN
- China
- Prior art keywords
- participant
- bank
- model
- participants
- data
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提出了一种基于去中心混合联邦学习的金融系统分析方法及存储介质,属于金融领域,该方法构建了异构金融参与方之间的联邦学习通信方式,实现了横向和纵向混合的联邦学习通信,打破了传统联邦学习横向和纵向参与方之间模型结构不统一的通信壁垒。基于金融体系的特殊性隐私需求,在混合联邦学习模型的基础上进一步去除了第三方聚合器,计算只在参与方之间进行,大大提高了本地数据的隐私安全性。针对上述模型中纵向同态加密为通信过程带来的计算速度瓶颈问题,通过增加本地迭代轮次q,将纵向联邦学习的加密时间缩短了10倍以上,降低了横向银行参与方与纵向金融机构参与方间的计算瓶颈,并且精度损失不超过5%。
Description
技术领域
本发明涉及金融领域,特别是涉及一种基于去中心混合联邦学习的金融系统分析方法。
背景技术
近十年以来,人类收集、存储、计算、处理数据的能力取得了飞速发展,亟需高效的对数据进行分析利用的算法。机器学习以其擅长分析处理大量数据的特点,顺应时代需求,在银行和金融机构的风险评估和广告投递分析应用中取得了快速发展。机器学习在金融数据中的应用同时引发了诸多隐私保护问题,尤其是在多个银行共同训练一个机器学习模型的多方机器学习中,用户账户的敏感数据通常在模型聚合和传输阶段暴露,随着用户对个人隐私数据的保护意识逐渐增强,如何高效、安全、可靠的开展多方机器学习成为了一个亟待解决的问题。
联邦学习是用于解决多方机器学习安全问题的主要方式之一。联邦学习的核心思想是数据不离开本地,数据在本地进行局部迭代,上传到云端的通常是经过加密的模型参数,这样就达到了既保护数据隐私,又能共同训练机器学习模型的目的。现有技术的联邦学习运营模式大体是各个参与方在本地进行局部模型训练,随后将模型上传给中央服务器,再由中央服务器进行聚合分发,详见专利文献号CN111935156B。该方法采用了经典的企业A和企业B与云端协作者C的联邦学习结构,但随着联邦学习体系的完善,政府、银行等对于信息敏感度较高的机构无法完全信任提供云计算的私人企业协作者C。除此之外现有公开技术的联邦学习是对特征维度相同的数据样本进行训练,一般称之为横向联邦学习,也有技术针对特征维度不同的纵向联邦学习进行研究,详见文献号1008-9217。该方法完成了两方纵向联邦学习不同特征维度模型的训练,但是因为使用了同态加密方案,计算开销较大。由以上内容可知,虽然现有技术能实现特征维度不同参与方的纵向联邦学习通信,但横纵混合的联邦学习方案仍有待研究,同时横纵混合场景还面临着纵向同态加密计算瓶颈导致的横纵计算不一致问题。如何实现一个高效的横纵混合联邦学习算法并在此基础上实现分散去中心化是当前金融领域联邦学习亟待解决的问题。
发明内容
有鉴于此,本发明的目的是针对现有的金融场景下多个银行与多个金融机构联邦学习的需求,同时在此基础上保证不借助外部协作参与者,而设计一个高效可行的基于去中心横纵混合联邦学习的金融系统分析方法。该方法实现了不同特征维度下的联邦学习通信模式,通过本地迭代轮次降低了同态加密带来的计算开销,采用同态加密和广播技术实现了去中心化的功能,在保证高安全性的基础上具有较高的预测精度。
为实现上述目的,本发明采用以下技术方案:基于去中心混合联邦学习的金融系统分析方法,其特征在于,该方法应用于拥有不同数据分区方式的参与方的金融系统,具体包括如下步骤:
步骤1:金融系统特征分析确定训练数据集,构建联邦学习模型
所述金融系统由N个银行参与方和M个金融机构参与方构成,N≥1,M≥1,其中银行参与方的特征维度相同,数据分区方式为水平分区,金融机构参与方的特征维度不同,数据分区方式为垂直分区;金融系统中所有参与方总共拥有K条样本,每条样本有D个特征;用矩阵X表示整个训练数据集,矩阵X的维度为K×D,将第i个银行参与方持有的数据集,表示为Xi,Ki表示银行参与方i的样本数,因此银行参与方i持有的数据集是维度为Ki×D的矩阵;将第i个金融机构参与方持有的数据集,表示为Xij,j表示将一条样本的特征分成j份,因此金融机构参与方i中的数据是维度为Ki×Dj的矩阵,Dj代表金融机构参与方i持有的特征数量;
联邦学习采用的模型为逻辑回归模型,通过逻辑回归sigmoid激活函数,训练了一个线性的逻辑回归模型W=(w1,w2,…,wD),将样本X=(x1,x2,…,xD)映射为是否为异常交易标签y∈[0,1],逻辑回归模型函数为:
其中,x1、x2,…,xD代表数据特征对应的具体值,w0为模型参数常数,w1,w2,…,wD代表不同特征对应的模型参数值,在异常交易分类问题中,设阈值为0.5,输出大于阈值为正常交易,输出小于阈值为异常交易;使用随机梯度下降法对模型参数W进行优化,为了表示真实标签与预测结果的误差程度,需要计算交叉熵损失函数,优化的平均逻辑损失Loss为:
其中K为训练数据集中样本数,y*为标签的真实值,h由逻辑回归模型函数计算得出;为了使损失函数收敛,得到与真实标签最接近的预测值,求出损失函数梯度G下降的方向,梯度下降公式为:
最后损失函数收敛,梯度下降优化完成,训练过程就完成了,最终的模型参数W为结果参数,在联邦学习中,参与方传递的只有模型参数W的相关信息,本地数据X只参与计算,不向其他参与方传递;
步骤2:应用同态加密和掩码技术实现纵向联邦学习通信算法
联邦学习模型和训练数据集构建完成后,应用同态加密和掩码技术,金融机构参与方间采用纵向交互算法,进行联邦学习,实现纵向金融机构参与方的训练;
步骤3:实现横向联邦学习通信算法及横纵参与方交互
1)横向特征维度相同银行参与方间采用横向交互算法,进行联邦学习,实现横向银行参与方训练;
2)横向银行参与方与纵向金融机构参与方采用横纵交互算法,进行横纵混合联邦学习,实现横向银行参与方与纵向金融机构参与方交互训练,其中,横向银行参与方与纵向金融机构参与方需要对齐模型特征再进行横纵混合联邦学习。
步骤2中,在纵向交互算法中,预先设A,B为两个金融机构参方,A和B的样本ID重合但特征维度不同,其中,A为持有标签y的金融参与方,B为不持有标签y的金融参与方,m和n为参与方A和B持有的特征维度;根据步骤1中构建的联邦学习模型,A保存的数据为Xia=(xa1,xa2,…,xam)及标签y,B持有的数据为Xib=(xb1,xb2,…,xbn),其中xa1,xa2,…,xam为金融机构A每条样本中对应特征的具体值,xb1,xb2,…,xbn为金融机构B每条样本中对应特征的具体值;A和B对应的权重分别为Wa和Wb;采用同态加密运算进行加密,具体同态加密采用的f运算为:
[[a]]+[[b]]=[[a+b]]
a·[[b]]=[[a·b]]
其中[[a]]代表a的密文,[[b]]代表b的密文,[[a+b]]代表a+b的密文,[[a·b]]代表a·b的密文,Xia,Xib对应步骤1中Xij,Wa和Wb对应步骤1中W,同态加密运算需要生成公钥PUBa和私钥PRIa,T为最大迭代轮次,Vb为传递模型信息的中间分段值,Rb为秘密共享参数;
具体金融机构参与方间采用纵向交互算法的执行过程如下:
步骤B1:进行初始化操作,A和B初始化权重Wa和Wb,A生成同态加密算法的公钥PUBa和私钥PRIa,并将公钥发给B,同时A初始化与B进行数据交换的分段值Vb;
步骤B2:A使用本地数据Xia,权重Wa和分段值Vb进行q轮迭代并更新本地模型;
步骤B3:A使用paillier同态加密将[[y-y*]]发送给B,B应用同态加密性质计算出梯度[[Db]]并通过掩码Rb与A再进行一轮交互,最终B得到梯度Db;
步骤B4:B使用本地数据Xib,权重Wb,梯度Db更新本地模型,并计算分段值Vb发给A;
步骤B5:A更新分段值Vb,如果迭代轮次等于T,返回步骤B2;
其中,在第一轮迭代,Xa1对应随机初始化的Vb,B使用Xb1计算出Vb后A需要将Vb更新,至此才算完成中间值Vb的初始化,迭代才从Xa1开始。
步骤3中,横向交互算法中,N个数据水平分布的横向银行参与方,样本特征维度重合但ID不同,银行参与方i持有的数据为Xi=(xi1,xi2,…,xiD),xi1,xi2,…,xiD为银行参与方i中每条样本中对应特征的具体值;对应的权重为Wi;T为最大迭代轮次,Wij表示银行参与方i发送给银行参与方j的本地模型;
具体横向特征维度相同银行参与方间采用横向交互算法的执行过程如下:
步骤A1:进行初始化操作,初始化N个银行参与方的模型并随机生成权重W1,…,Wn;
步骤A2:对于银行参与方i使用本地的数据计算loss和梯度G,得到本地局部模型;
步骤A3:银行参与方i把将本地局部模型Wij广播给其他银行参与方j;
步骤A4:银行参与方i对于所有接收到的模型Wki聚合平均得到全局模型Wi;并更新本地模型,如果迭代轮次等于T,返回步骤A2。
步骤3中,在横纵交互算法中,设A和B为两个纵向金融机构参与方,银行参与方i为与两个纵向金融机构参与方交互的横向银行参与方,A和B的样本数据呈垂直分布,银行参与方i与A,B整体的样本数据呈水平分布,A保存的数据为Xia=(xa1,xa2,…,xam)及标签y,B持有的数据为Xib=(xb1,xb2,…,xbn),银行参与方i持有的数据为Xi=(xi1,xi2,…,xiD)及标签y,m,n表示两个纵向金融机构参与方的数据维度;A和B对应的权重分别为Wa和Wb,银行参与方i的权重为Wi;T为最大迭代轮次;
具体横向银行参与方与纵向金融机构参与方采用横纵交互算法的执行过程如下:
步骤C1:进行初始化操作,初始化各参与方的权重;
步骤C2:银行参与方i根据纵向金融机构参与方的维度m,n将Wi分为Wa和Wb,并将对应的权重发送给A和B;
步骤C3:A和B对于自己接收到的模型Wa或Wb加权平均得到全局模型中自己对应特征维度的模型Wa或Wb;
步骤C4:A,B通过步骤1中的联邦学习模型算法对本地模型进行更新;
步骤C5:A,B向银行参与方i广播更新后的特征维度;
步骤C6:银行参与方i将A,B的特征维度组合成完整模型并聚合得到金融机构参与方的局部模型,如果迭代轮次等于T,返回步骤C2。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述的方法的步骤。
通过上述设计方案,本发明可以带来如下有益效果:本发明提出了一种基于去中心混合联邦学习的金融系统分析方法,该方法构建了异构金融参与方之间的联邦学习通信方式,实现了横向和纵向混合的联邦学习通信,打破了传统联邦学习横向和纵向参与方之间模型结构不统一的通信壁垒。基于金融体系的特殊性隐私需求,在混合联邦学习模型的基础上进一步去除了第三方聚合器,计算只在参与方之间进行,大大提高了本地数据的隐私安全性。针对上述模型中纵向同态加密为通信过程带来的计算速度瓶颈问题,通过增加本地迭代轮次q,将纵向联邦学习的加密时间缩短了10倍以上,降低了横向银行参与方与纵向金融机构参与方间的计算瓶颈,并且精度损失不超过5%。通过金融体系脱敏数据的实验验证了本发明所提出的方法训练出的模型的可用性,在保证高安全性的基础上具有较高的预测精度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明示意性实施例及其说明用于理解本发明,并不构成本发明的不当限定,在附图中:
图1是本发明的整体架构图;
图2是基于去中心混合联邦学习算法的整体执行流程图;
图3是本发明实施例中顶层银行间交互算法的执行流程图;
图4是本发明实施例中底层金融机构间交互算法的执行流程图;
图5是本发明实施例中顶层银行与底层金融机构交互算法执行流程图;
图6是本发明在金融分析系统场景下与传统集中式算法,分散梯度下降算法和纵向梯度下降算法的收敛曲线对比图,其中,COL为传统集中式机器学习算法,DHL为分散梯度下降算法,DVL为纵向联邦学习算法,DVH为本发明去中心混合联邦学习算法;
图7是本发明在底层金融机构交互计算过程中明文和密文上加密时间的对比,以及在局部迭代轮次Q取不同值时对加密效率的提升效果图;
图8是本发明在底层金融机构交互计算过程取不同局部迭代轮次q值的收敛曲线对比图。
具体实施方式
如图1、图2、图3、图4和图5所示,基于去中心混合联邦学习的金融系统分析方法,包括如下步骤:
步骤1:金融系统特征分析,联邦学习模型构建
金融系统系统分析架构由N个银行和M个金融机构构成,其中银行的特征维度是相同的,数据分区方式为水平分区,金融机构的特征维度是不同的,数据分区方式为垂直分区;所有参与方一共拥有K条样本,每条样本有D个特征;用矩阵X(X是维度为K×D的矩阵)表示整个训练数据集,将第i个银行参与方持有的数据集,表示为Xi,Ki表示银行参与方i的样本数,因此银行参与方i的数据是维度为Ki×D的矩阵;将第i个金融机构参与方持有的数据集,表示为Xij,j表示将一条样本的特征分成j份,因此每个金融机构参与方中的数据是维度为Ki×Dj的矩阵,Dj代表金融机构参与方持有的特征数量;在本发明实施的设置中,金融机构参与方的标签值不可共享,即一组金融机构内只有一个金融机构持有标签信息。构建的联邦学习架构如图1,其中M=2,N=2。
联邦学习采用的模型为逻辑回归模型,通过逻辑回归sigmoid激活函数,训练了一个线性的逻辑回归模型W=(w1,w2,…,wD),将样本X=(x1,x2,…,xD)映射为是否为异常交易标签y∈[0,1],逻辑回归模型函数为:
其中,x1、x2,…,xD代表数据特征,w1,w2,…,wD代表模型参数值,在异常交易分类问题中,假设阈值为0.5,输出大于阈值分类为正常交易,输出小于阈值输出为异常交易。使用随机梯度下降法对模型参数W进行优化,为了表示真实标签与预测结果的误差程度,需要计算交叉熵损失函数,优化的平均逻辑损失Loss为:
其中K为训练数据集中样本数,y*为标签的真实值,h由回归函数模型计算得出;为了使损失函数收敛,得到与真实标签最接近的预测值,求出损失函数梯度G下降的方向,梯度下降公式为:
最后损失函数收敛,梯度下降优化完成,训练过程就完成了,最终的模型参数W为结果参数,在联邦学习中,参与方传递的只有模型参数W的相关信息,本地数据X只参与计算,不向其他参与方传递;
步骤2:应用同态加密和掩码技术,实现纵向联邦学习通信算法
联邦学习模型和训练数据集构建完成后,首先应用金融机构数据Xij和金融机构模型参数W完成底层纵向金融参与方的训练
设A和B为两个纵向金融机构参与方,A和B的样本ID重合但特征维度不同,特征维度由m,n表示,数据的标签仅被一方持有。根据步骤1中构建的联邦学习模型,A保存的数据为Xia=(xa1,xa2,…,xam)及标签y,B持有的数据为Xib=(xb1,xb2,…,xbn);A和B对应的权重分别为Wa和Wb。同态加密提供了一种密码学加密方案。简而言之,该算法使得参与方可以对数据加密后发送给第三方,第三方能够在加密的密文数据上完成特定运算f,而不获取数据的明文信息,参与方收到加密运算的结果后解密,与在明文上进行运算f的结果一致,本发明采用的f运算如公式所示:
[[a]]+[[b]]=[[a+b]]
a·[[b]]=[[a·b]]
其中[[a]]代表a的密文,[[b]]代表b的密文,[[a+b]]代表a+b的密文,[[a·b]]代表a·b的密文,Xia,Xib对应步骤1中Xij,Wa和Wb对应步骤1中W,同态加密运算需要生成公钥PUBa和私钥PRIa,T为最大迭代轮次,Vb为传递模型信息的中间分段值,Rb为秘密共享参数;
金融机构参与方间采用纵向交互算法(即图中算法1)的执行过程如下,图4演示了算法1执行的过程。
步骤B1:进行初始化操作,A和B初始化权重Wa和Wb,A生成同态加密算法的公钥PUBa和私钥PRIa,并将公钥发给B。同时A初始化与B进行数据交换的分段值Vb。因为标签由A持有,因此为了保证标签的保密性,秘钥由A生成,A也自然成为了该数据块中的伪中心。
步骤B2:A使用本地数据Xia,权重Wa和分段值Vb进行q轮迭代并更新本地模型。q为本地迭代轮次,作用是提高协议效率和提升训练效果,通过将一轮全局迭代在一个局部迭代中来完成大幅减少同态加密和数据传输的计算量和计算时间,以提高训练效率。
步骤B3:A使用paillier同态加密将[[y-y*]]发送给B,B应用同态加密性质计算出梯度[[Db]]并通过掩码Rb与A再进行一轮交互,最终B得到梯度Db;
步骤B4:B使用本地数据Xib,权重Wb,梯度Db更新本地模型,并计算分段值Vb发给A;
步骤B5:A更新分段值Vb,如果迭代轮次等于T,返回步骤B2。
需要注意的是,Vb和金融机构参与方A的数据对齐问题。在第一轮迭代,Xa1对应随机初始化的Vb,金融机构参与方B使用Xb1计算出Vb后金融机构参与方A需要将Vb更新,至此才算完成中间值Vb的初始化,迭代才从Xa1开始。
步骤3:实现横向联邦学习通信算法及横纵参与方交互
在此本发明的网络分为两层:水平分散分布的顶层;垂直分布的底层(即步骤2完成的工作);每个银行参与方都可以与其他参与方进行通信,这样就形成了一个包含垂直和水平数据分区的金融系统分析联邦学习通信网络。完成底层训练后进行顶层结构的训练:
1)顶层横向特征维度相同银行参与方训练
在顶层算法中假设N个数据水平分布的横向银行参与方,它们的样本特征维度重合但ID不同。银行参与方i持有的数据为Xi=(xi1,xi2,…,xiD),对应的权重为Wi。T为最大迭代轮次,Wij表示银行参与方i发送给银行参与方j的本地模型。
具体横向特征维度相同银行参与方间采用横向交互算法(即图中算法2)的执行过程如下,图3演示了算法2执行的过程:
步骤A1:进行初始化操作,初始化N个银行参与方的模型并随机生成权重W1,…,Wn;
步骤A2:对于每个银行参与方使用本地的数据计算loss和梯度G,得到本地局部模型;
步骤A3:每个银行参与方把将本地局部模型Wij广播给其他银行参与方j;
步骤A4:银行参与方i对于所有接收到的模型Wki聚合平均得到全局模型Wi,并更新本地模型;如果迭代轮次等于T,返回步骤A2。
2)顶层横向银行参与方与底层纵向金融机构参与方训练
在顶层横纵交互算法中,设A和B为两个纵向金融机构参与方,银行参与方i为与两个纵向金融机构参与方交互的横向银行参与方,A和B的样本数据呈垂直分布,银行参与方i与A,B整体的样本数据呈水平分布;A保存的数据为Xia=(xa1,xa2,…,xam)及标签y,B持有的数据为Xib=(xb1,xb2,…,xbn),银行参与方i持有的数据为Xi=(xi1,xi2,…,xiD)及标签y,m,n表示两个纵向金融机构参与方的数据维度;A和B对应的权重分别为Wa和Wb,银行参与方i的权重为Wi;T为最大迭代轮次;
具体横向银行参与方与纵向金融机构参与方采用横纵交互算法的执行过程如下,图5演示了算法3执行的过程:
步骤C1:进行初始化操作,初始化各参与方的权重;
步骤C2:银行参与方i根据纵向金融机构参与方的维度m,n将Wi分为Wa和Wb,并将对应的权重发送给A和B;
步骤C3:A和B对于自己接收到的模型Wa或Wb加权平均得到全局模型中自己对应特征维度的模型Wa或Wb;
步骤C4:A,B通过步骤1中的联邦学习模型算法对本地模型进行更新;
步骤C5:A,B向银行参与方i广播更新后的特征维度;
步骤C6:顶层银行参与方i将A,B的特征维度组合成完整模型并聚合得到底层金融机构参与方的局部模型,如果迭代轮次等于T,返回步骤C2。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。
为了更清楚地说明本发明,下面结合优选实施例对本发明做进一步的说明。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。为了避免混淆本发明的实质,公知的方法、过程、流程并没有详细叙述。
基于去中心混合联邦学习的金融系统分析方法,包括如下步骤:
一、分析金融系统特征,构建联邦学习模型
1、特征分析。不失一般性,优先明确分析银行与金融机构的特征维度。
银行持有的特征维度如下:交易机构平台、用户标识符、用户姓名、用户住址、用户存款余额、用户存款、用户账户状态、最终受益人、交易日期、交易货币类型、交易金额、标签(0或1)。
金融机构A持有的特征维度如下:交易机构、用户标识符、用户姓名、最终受益人、交易日期、交易货币类型、交易金额、标签(0或1)。
金融机构B持有的特征维度如下:用户标识符、用户姓名、用户住址、用户存款余额、用户存款、用户账户状态。
采用特征提取技术提取对模型影响较深的特征,剔除无效或低权重特征如交易日期等,得到最终投入模型训练特征。并将上述特征维度参数进行归一化处理,计算公式如需下
其中x*为归一化后的数据,x为原始数据,min为该特征下数据的最小值,max为该特征下数据的最大值。为方便表示,后文所述的数据X均为归一化处理后的数据。
这里计银行的特征维度为D,持有标签值,金融机构A的特征维度为E,持有标签值,金融机构B的特征维度为F,即E+F=D。各参与方样本矩阵如下(为方便理解,在此对后文样本矩阵构造做解释说明,XK×D表示K行D列的样本矩阵,xij表示样本矩阵中第i行第j列的值):
具体银行的样本矩阵为:
金融机构A和金融机构B(后简称A,B)样本矩阵为:
其中K1+K2=K,K为样本总量,K1为银行持有样本量,K2为金融机构持有样本量。
2、模型构建。针对上述构建的样本特征,构建相对应的模型维度,对LR计算模型的激活函数、特征向量维度、网络层数等参数进行设置,其中激活函数部分采用sigmoid函数,特征维度分别为各个参与方的数据维度,初始化各参与方模型Wda,Wdb,We,Wf。
二、应用同态加密和掩码技术,实现纵向联邦学习通信算法
金融机构A和金融机构B(后简称A,B)样本矩阵如下:
其中K1+K2=K,K为样本总量,K2为金融机构持有样本量。
标签值由A持有,这一步主要目的是完成无中心节点的底层纵向参与方联邦学习,根据步骤1执行流程,进行如下操作:
1)算法准备阶段:对金融机构A,B的模型We,Wf进行初始化,初始化为0矩阵或初始化为随机矩阵。持有金融分析标签的金融机构A生成同态加密所需的公私钥PUBa和私钥PRIa,A初始化中间分段值Vb为0或随机值。A将公钥PUBa发送给B。
2)A本地模型训练阶段:A使用本地数据Xia,模型We和步骤1)中初始化的Vb计算部分预测值y*,计算公式如下:
y*=We×Xia+Vb
更新本地模型We,其中lr为学习率,计算公式如下:
h=sigmoid(We×Xia+Vb)
Loss=-y·log(h)-(1-y)·log(1-h)
We=We-lr×G
3)密文传输阶段:A计算真实标签和预测值的差值,并使用公钥PUBa加密发送给B,发送参数如下:
[[y-y*]]
B收到密文,应用本地数据Xib,模型Wf和密文[[y-y*]],计算加密梯度[[Db]],计算公式如下:
[[Db]]=[[y-y*]]×Xib
B产生随机掩码Rb,使用公钥PUBa加密Rb,将掩码后的梯度发送给A,发送参数如下:
[[Db]]+[[Rb]]
A收到掩码后的梯度使用私钥PRIa解密,得到Db+Rb,但由于秘密共享掩码,A无法得知B的具体梯度Db,将得到的明文结果返回给B,发送参数如下:
Db+Rb
4)B本地模型训练阶段
B收到明文掩码,解密得到属于自己的明文梯度Db,使用梯度更新模型,计算公式如下:
Wf=Wf-lr×Db
5)中间分段值传输
B根据局部模型Wf本地数据Xb计算分段值Vb,并将分段值发送给A,用于A进行下一轮迭代训练,计算公式如下:
Vb=Wf×Xb
6)重复步骤2)~步骤5)直至达到最大迭代轮次T或损失值loss值达到阈值,A,B各自保留对应自己特征维度的模型。
三、实现横向联邦学习通信算法及横纵参与方交互
银行的样本矩阵如下:
其中K1+K2=K,K为样本总量,K1为银行持有样本量。
1、各大银行都持有标签值,这一步主要目的是完成无中心节点的顶层横向银行参与方联邦学习,具体横向特征维度相同银行参与方间采用横向交互算法的执行过程如下:
1)算法准备阶段:各大银行对自己的本地模型Wi(i≥1)进行初始化,初始化为0矩阵或初始化为随机矩阵;
2)本地模型训练:各大银行局部更新本地模型Wi,其中lr为学习率,计算公式如下:
h=sigmoid(Wi×X)
Loss=-y·log(h)-(1-y)·log(1-h)
Wi=We-lr×G
3)全局模型聚合:各大银行得到本地局部模型后广播发送模型,根据收到的模型进行加权聚合,Wki表示银行参与方i收到银行参与方k所发来的局部模型(k≥0),N为步骤1所述银行参与方数量,聚合公式如下:
4)重复步骤2)~步骤3)直至达到最大迭代轮次T或loss值达到阈值,各大银行各自保留上一轮的全局模型;
2、在第1步的基础上,还需要完成横纵混合的联邦学习交互,具体横向银行参与方与纵向金融机构参与方采用横纵交互算法的执行过程如下:
1)算法准备阶段:各大银行对自己的本地模型Wi(i≥1)进行初始化,金融机构A,B对模型We,Wf进行初始化,均初始化为0矩阵或初始化为随机矩阵;
2)银行模型分片:银行参与方i根据金融机构参与方维度E,F将Wi分割为We和Wf,并将We和Wf发送给金融机构A,B;
3)金融机构本地模型更新:金融机构A,B调用步骤1中的底层纵向联邦算法更新本地模型We,Wf;并各自将自己的局部模型发送给顶层横向银行参与方;
4)银行本地模型聚合:银行参与方i对收到的We,Wf进行拼接,得到Wj;同时与收到的其他参与方传递来的模型进行聚合,更新全局模型,聚合公式如下:
5)重复步骤2)~步骤4)直至达到最大迭代轮次T或loss值达到阈值,各参与方保留上一轮的全局模型.
四、脱敏数据集实验
实验在一台两个GPU显卡的机器上运行,参与方都部署在同一个局域网内。实现软件版本为python 3.7.0,PyTorch 1.2.0,同态加密使用Hwlib库中的CKSS方案部署。由于银行数据包含用户隐私性,本发明采用经过脱敏处理的仿真数据集进行实验。
1、可行性实验。首先对比了金融分析场景下去中心混合联邦算法与传统集中式机器学习算法,分散梯度下降算法和纵向联邦学习算法的性能。将集中式算法和纵向联邦学习算法设置为一个单独的数据分区,分散梯度下降算法设置成三个横向数据分区,去中心混合联邦算法设置为N=2,M=2。这组实验中设置训练参数为学习率Lr=0.01,全局迭代轮次epoch=3,局部迭代轮次q=1,图6展示了各算法的收敛曲线,Y轴给出平均损失Loss,X轴给出迭代次数,下表给出了各算法的最终平均准确率。可以观察到①模型都能在多次迭代后快速收敛到稳定状态;②横向分散式梯度下降算法相比集中式算法几乎没有性能损失;③引入纵向孤岛会导致模型最终损失值偏高,孤岛的定义:联邦学习可以分为跨设备和跨孤岛,跨设备联邦学习的客户端是大量的移动设备或IoT设备,客户端数量庞大且随时容易退出,通信网络复杂。跨孤岛联邦学习在孤立的数据上训练模型,客户是不同的组织或地理上分隔的数据中心,客户端相对较少,且相比来说客户端更加稳定,与传统的跨设备研究有很大不同。由于“跨孤岛”说法不准确容易引起歧义,后文统称这种联邦学习方式为跨silo联邦学习,并且设定每个参与方为一个silo;④分散横纵联邦算法和纵向梯度下降算法在迭代前期损失波动较大,但最终都趋于稳定并达到收敛状态;⑤纵向梯度下降算法准确率波动较大,但分散横纵联邦算法中的纵向客户端准确率收敛稳定,由此得出结论是:
实现了横向银行参与方和纵向金融机构参与方混合的联邦学习通信,打破了传统联邦学习横向和纵向参与方之间模型结构不统一的通信壁垒;
去除了第三方聚合器,计算只在银行/金融机构参与方之间进行,大大提高了金融系统本地数据的隐私安全性;
COL | DVL | DHL | DVH | |
准确率 | 0.774 | 0.769 | 0.773 | 0.771 |
COL为传统集中式机器学习算法,DHL为分散梯度下降算法,DVL为纵向联邦学习算法,DVH为本发明去中心混合联邦算法;
2、纵向效率优化实验。其次在金融机构A与金融机构B间进行去中心混合联邦算法时讨论局部迭代轮次q对加密效率的提升以及对模型精度的影响,并对比了算法在密文与明文下的计算时间。设置训练参数为Lr=0.01,Epoch=10,同态加密的主要计算开销集中在步骤2的大数加密和解密运算中,增加q主要是通过减少随机数Rb的加密时间和减少解密[[Db]]+[[Rb]]的工作量(这两者可以总结为对参与方B梯度的加密处理)来提高训练效率。图7展示了q取不同值时算法的平均执行时间,对比了算法在明文上的计算效率和在密文上的计算效率。图8展示了q取不同值时对算法性能的影响,Y轴给出平均损失Loss,X轴给出迭代次数,下表给出了各算法的最终平均准确率。可以观察到增加局部迭代轮次会使模型loss升高,但最终仍达到收敛,并且小幅降低了模型准确率,但计算效率大幅提升,因此可以通过提高q降低纵向金融机构参与方的计算瓶颈。由此得出结论是:
通过增加本地迭代轮次,将纵向联邦学习的加密时间缩短了10倍以上,降低了银行与金融机构间因数据维度不同导致的计算瓶颈,并且精度损失不超过5%
q | 1 | 2 | 5 | 10 |
准确率 | 0.763 | 0.758 | 0.751 | 0.747 |
最后应说明的是:以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.基于去中心混合联邦学习的金融系统分析方法,其特征在于,该方法应用于拥有不同数据分区方式的参与方的金融系统,具体包括如下步骤:
步骤1:金融系统特征分析确定训练数据集,构建联邦学习模型
所述金融系统由N个银行参与方和M个金融机构参与方构成,N≥1,M≥1,其中银行参与方的特征维度相同,数据分区方式为水平分区,金融机构参与方的特征维度不同,数据分区方式为垂直分区;金融系统中所有参与方总共拥有K条样本,每条样本有D个特征;用矩阵X表示整个训练数据集,矩阵X的维度为K×D,将第i个银行参与方持有的数据集,表示为Xi,Ki表示银行参与方i的样本数,因此银行参与方i持有的数据集是维度为Ki×D的矩阵;将第i个金融机构参与方持有的数据集,表示为Xij,j表示将一条样本的特征分成j份,因此金融机构参与方i中的数据是维度为Ki×Dj的矩阵,Dj代表金融机构参与方i持有的特征数量;
联邦学习采用的模型为逻辑回归模型,通过逻辑回归sigmoid激活函数,训练了一个线性的逻辑回归模型W=(w1,w2,…,wD),将样本X=(x1,x2,…,xD)映射为是否为异常交易标签y∈[0,1],逻辑回归模型函数为:
其中,x1、x2,…,xD代表数据特征对应的具体值,w0为模型参数常数,w1,w2,…,wD代表不同特征对应的模型参数值,在异常交易分类问题中,设阈值为0.5,输出大于阈值为正常交易,输出小于阈值为异常交易;使用随机梯度下降法对模型参数W进行优化,为了表示真实标签与预测结果的误差程度,需要计算交叉熵损失函数,优化的平均逻辑损失Loss为:
其中K为训练数据集中样本数,y*为标签的真实值,h由逻辑回归模型函数计算得出;为了使损失函数收敛,得到与真实标签最接近的预测值,求出损失函数梯度G下降的方向,梯度下降公式为:
最后损失函数收敛,梯度下降优化完成,训练过程就完成了,最终的模型参数W为结果参数,在联邦学习中,参与方传递的只有模型参数W的相关信息,本地数据X只参与计算,不向其他参与方传递;
步骤2:应用同态加密和掩码技术实现纵向联邦学习通信算法
联邦学习模型和训练数据集构建完成后,应用同态加密和掩码技术,金融机构参与方间采用纵向交互算法,进行联邦学习,实现纵向金融机构参与方的训练;
步骤3:实现横向联邦学习通信算法及横纵参与方交互
1)横向特征维度相同银行参与方间采用横向交互算法,进行联邦学习,实现横向银行参与方训练;
2)横向银行参与方与纵向金融机构参与方采用横纵交互算法,进行横纵混合联邦学习,实现横向银行参与方与纵向金融机构参与方交互训练,其中,横向银行参与方与纵向金融机构参与方需要对齐模型特征再进行横纵混合联邦学习。
2.根据权利要求1所述的基于去中心混合联邦学习的金融系统分析方法,其特征在于,步骤2中,在纵向交互算法中,预先设A,B为两个金融机构参方,A和B的样本ID重合但特征维度不同,其中,A为持有标签y的金融参与方,B为不持有标签y的金融参与方,m和n为参与方A和B持有的特征维度;根据步骤1中构建的联邦学习模型,A保存的数据为Xia=(xa1,xa2,…,xam)及标签y,B持有的数据为Xib=(xb1,xb2,…,xbn),其中xa1,xa2,…,xam为金融机构A每条样本中对应特征的具体值,xb1,xb2,…,xbn为金融机构B每条样本中对应特征的具体值;A和B对应的权重分别为Wa和Wb;采用同态加密运算进行加密,具体同态加密采用的f运算为:
[[a]]+[[b]]=[[a+b]]
a·[[b]]=[[a·b]]
其中[[a]]代表a的密文,[[b]]代表b的密文,[[a+b]]代表a+b的密文,[[a·b]]代表a·b的密文,Xia,Xib对应步骤1中Xij,Wa和Wb对应步骤1中W,同态加密运算需要生成公钥PUBa和私钥PRIa,T为最大迭代轮次,Vb为传递模型信息的中间分段值,Rb为秘密共享参数;
具体金融机构参与方间采用纵向交互算法的执行过程如下:
步骤B1:进行初始化操作,A和B初始化权重Wa和Wb,A生成同态加密算法的公钥PUBa和私钥PRIa,并将公钥发给B,同时A初始化与B进行数据交换的分段值Vb;
步骤B2:A使用本地数据Xia,权重Wa和分段值Vb进行q轮迭代并更新本地模型;
步骤B3:A使用paillier同态加密将[[y-y*]]发送给B,B应用同态加密性质计算出梯度[[Db]]并通过掩码Rb与A再进行一轮交互,最终B得到梯度Db;
步骤B4:B使用本地数据Xib,权重Wb,梯度Db更新本地模型,并计算分段值Vb发给A;
步骤B5:A更新分段值Vb,如果迭代轮次等于T,返回步骤B2;
其中,在第一轮迭代,Xa1对应随机初始化的Vb,B使用Xb1计算出Vb后A需要将Vb更新,至此才算完成中间值Vb的初始化,迭代才从Xa1开始。
3.根据权利要求2所述的基于去中心混合联邦学习的金融系统分析方法,其特征在于,步骤3中,横向交互算法中,N个数据水平分布的横向银行参与方,样本特征维度重合但ID不同,银行参与方i持有的数据为Xi=(xi1,xi2,…,xiD),xi1,xi2,…,xiD为银行参与方i中每条样本中对应特征的具体值;对应的权重为Wi;T为最大迭代轮次,Wij表示银行参与方i发送给银行参与方j的本地模型;
具体横向特征维度相同银行参与方间采用横向交互算法的执行过程如下:
步骤A1:进行初始化操作,初始化N个银行参与方的模型并随机生成权重W1,…,Wn;
步骤A2:对于银行参与方i使用本地的数据计算loss和梯度G,得到本地局部模型;
步骤A3:银行参与方i把将本地局部模型Wij广播给其他银行参与方j;
步骤A4:银行参与方i对于所有接收到的模型Wki聚合平均得到全局模型Wi;并更新本地模型,如果迭代轮次等于T,返回步骤A2。
4.根据权利要求3所述的基于去中心混合联邦学习的金融系统分析方法,其特征在于,步骤3中,在横纵交互算法中,设A和B为两个纵向金融机构参与方,银行参与方i为与两个纵向金融机构参与方交互的横向银行参与方,A和B的样本数据呈垂直分布,银行参与方i与A,B整体的样本数据呈水平分布,A保存的数据为Xia=(xa1,xa2,…,xam)及标签y,B持有的数据为Xib=(xb1,xb2,…,xbn),银行参与方i持有的数据为Xi=(xi1,xi2,…,xiD)及标签y,m,n表示两个纵向金融机构参与方的数据维度;A和B对应的权重分别为Wa和Wb,银行参与方i的权重为Wi;T为最大迭代轮次;
具体横向银行参与方与纵向金融机构参与方采用横纵交互算法的执行过程如下:
步骤C1:进行初始化操作,初始化各参与方的权重;
步骤C2:银行参与方i根据纵向金融机构参与方的维度m,n将Wi分为Wa和Wb,并将对应的权重发送给A和B;
步骤C3:A和B对于自己接收到的模型Wa或Wb加权平均得到全局模型中自己对应特征维度的模型Wa或Wb;
步骤C4:A,B通过步骤1中的联邦学习模型算法对本地模型进行更新;
步骤C5:A,B向银行参与方i广播更新后的特征维度;
步骤C6:银行参与方i将A,B的特征维度组合成完整模型并聚合得到金融机构参与方的局部模型,如果迭代轮次等于T,返回步骤C2。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211382038.0A CN115759248B (zh) | 2022-11-07 | 2022-11-07 | 基于去中心混合联邦学习的金融系统分析方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211382038.0A CN115759248B (zh) | 2022-11-07 | 2022-11-07 | 基于去中心混合联邦学习的金融系统分析方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115759248A true CN115759248A (zh) | 2023-03-07 |
CN115759248B CN115759248B (zh) | 2023-06-13 |
Family
ID=85356731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211382038.0A Active CN115759248B (zh) | 2022-11-07 | 2022-11-07 | 基于去中心混合联邦学习的金融系统分析方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115759248B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058304A (zh) * | 2019-05-06 | 2019-07-26 | 吉林大学 | 基于单程波传播算子的多次波可控照明定量分析方法 |
CN110782042A (zh) * | 2019-10-29 | 2020-02-11 | 深圳前海微众银行股份有限公司 | 横向联邦和纵向联邦联合方法、装置、设备及介质 |
CN111935156A (zh) * | 2020-08-12 | 2020-11-13 | 科技谷(厦门)信息技术有限公司 | 一种联邦学习的数据隐私保护方法 |
CN112633409A (zh) * | 2020-12-31 | 2021-04-09 | 深圳前海微众银行股份有限公司 | 预测方法、纵向联邦学习和横向联邦学习的模型训练方法 |
CN113689003A (zh) * | 2021-08-10 | 2021-11-23 | 华东师范大学 | 一种安全的去除第三方的混合联邦学习框架及方法 |
CN114492831A (zh) * | 2021-12-23 | 2022-05-13 | 北京百度网讯科技有限公司 | 联邦学习模型的生成方法及其装置 |
GB202206263D0 (en) * | 2021-04-29 | 2022-06-15 | Nvidia Corp | Dynamic weight updates for neural networks |
CN114710330A (zh) * | 2022-03-22 | 2022-07-05 | 华东师范大学 | 一种基于异构分层联邦学习的异常检测方法 |
-
2022
- 2022-11-07 CN CN202211382038.0A patent/CN115759248B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058304A (zh) * | 2019-05-06 | 2019-07-26 | 吉林大学 | 基于单程波传播算子的多次波可控照明定量分析方法 |
CN110782042A (zh) * | 2019-10-29 | 2020-02-11 | 深圳前海微众银行股份有限公司 | 横向联邦和纵向联邦联合方法、装置、设备及介质 |
CN111935156A (zh) * | 2020-08-12 | 2020-11-13 | 科技谷(厦门)信息技术有限公司 | 一种联邦学习的数据隐私保护方法 |
CN112633409A (zh) * | 2020-12-31 | 2021-04-09 | 深圳前海微众银行股份有限公司 | 预测方法、纵向联邦学习和横向联邦学习的模型训练方法 |
GB202206263D0 (en) * | 2021-04-29 | 2022-06-15 | Nvidia Corp | Dynamic weight updates for neural networks |
CN113689003A (zh) * | 2021-08-10 | 2021-11-23 | 华东师范大学 | 一种安全的去除第三方的混合联邦学习框架及方法 |
CN114492831A (zh) * | 2021-12-23 | 2022-05-13 | 北京百度网讯科技有限公司 | 联邦学习模型的生成方法及其装置 |
CN114710330A (zh) * | 2022-03-22 | 2022-07-05 | 华东师范大学 | 一种基于异构分层联邦学习的异常检测方法 |
Non-Patent Citations (4)
Title |
---|
QIANG YANG, ET AL.: "Federated Machine Learning: Concept and Applications", ACM TRANSACTIONS ON INTELLIGENT SYSTEMS AND TECHNOLOGY, vol. 10, pages 1, XP058427733, DOI: 10.1145/3298981 * |
周俊;方国英;吴楠;: "联邦学习安全与隐私保护研究综述", 西华大学学报(自然科学版), no. 04, pages 21 - 29 * |
李鉴;邵云峰;卢?;吴骏;: "联邦学习及其在电信行业的应用", 信息通信技术与政策, no. 09, pages 39 - 45 * |
贾延延;张昭;冯键;王春凯;: "联邦学习模型在涉密数据处理中的应用", 中国电子科学研究院学报, no. 01, pages 47 - 53 * |
Also Published As
Publication number | Publication date |
---|---|
CN115759248B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9158925B2 (en) | Server-aided private set intersection (PSI) with data transfer | |
CN110633806A (zh) | 纵向联邦学习系统优化方法、装置、设备及可读存储介质 | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN110073633A (zh) | 使用同态加密的区块链数据保护 | |
US11843586B2 (en) | Systems and methods for providing a modified loss function in federated-split learning | |
CN114595835B (zh) | 基于联邦学习的模型训练方法及装置、设备、存储介质 | |
Wang et al. | Effect of quantum noise on deterministic joint remote state preparation of a qubit state via a GHZ channel | |
Sun et al. | Privacy-preserving verifiable incentive mechanism for online crowdsourcing markets | |
CN111428887A (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
US11991156B2 (en) | Systems and methods for secure averaging of models for federated learning and blind learning using secure multi-party computation | |
WO2022156594A1 (zh) | 联邦模型训练方法、装置、电子设备、计算机程序产品及计算机可读存储介质 | |
CN113179158B (zh) | 一种控制带宽的多方联合数据处理方法及装置 | |
WO2023130705A1 (zh) | 用户数据处理的系统、方法以及装置 | |
CN115455476A (zh) | 基于多密钥同态加密的纵向联邦学习隐私保护方法及系统 | |
CN112600830A (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN111753315A (zh) | 输入数据的计算方法、计算引擎及存储介质 | |
CN112101609A (zh) | 关于用户还款及时性的预测系统、方法、装置及电子设备 | |
WO2023038930A1 (en) | Systems and methods for averaging of models for federated learning and blind learning using secure multi-party computation | |
CN115759248B (zh) | 基于去中心混合联邦学习的金融系统分析方法及存储介质 | |
CN113657616B (zh) | 联邦学习模型的更新方法和装置 | |
CN115361196A (zh) | 一种基于区块链网络的业务交互方法 | |
WO2022081539A1 (en) | Systems and methods for providing a modified loss function in federated-split learning | |
WO2021050088A1 (en) | Methods and systems for implementing privacy-preserving dark pools | |
CN114004363B (zh) | 联合更新模型的方法、装置及系统 | |
CN116822620A (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 |