本发明涉及计算机,具体地,涉及基于区块链的抗拜占庭攻击的隐私联邦学习方法及系统。尤其涉及联邦学习中针对激励机制、隐私保护和拜占庭容错等问题的算法解决。
背景技术:
1、近年来,随着机器学习尤其是深度学习技术的发展,使用机器学习的方法在计算机视觉、自然语言、辅助决策诸多领域完成预测、内容生成等任务变得日益重要。作为数据驱动的方法,机器学习需要大规模高质量数据进行模型训练,这就存在数据隐私问题的限制,即模型训练节点将数据拥有者的数据收集并训练的方案正面临日益严峻的挑战。为此,学届提出联邦学习算法,由多个数据拥有者在本地进行模型训练,并将模型更新而不是训练数据发送给服务器进行模型聚合,以达成隐私保护机器学习的目标。
2、随着对联邦学习研究的深入,多种针对模型更新的推理攻击方案被提出,迫使联邦学习算法必须引入可靠的隐私保护机制。差分隐私、同态加密、安全多方计算等方案是受到广泛关注的隐私保护机制。由于联邦学习计算过程的复杂性,以及同态加密、安全多方计算方案的计算效率或通信效率限制,上述基于两种算法设计的隐私保护联邦学习效率低下而无法实际应用;相反,差分隐私因其计算过程高效,被视为实现隐私保护联邦学习的可行方案,受到广泛关注。
3、因为联邦学习模型性能与训练过程中的数据量和数据质量存在密切关联,如何激励更多工作节点,尤其是持有高质量数据的工作节点参与训练过程,一直是联邦学习算法设计中的重要问题。联邦学习的模型训练过程需要工作节点在本地进行,并将训练结果发送到服务器,这就需要消耗工作节点的算力和网络带宽,因此,需要对训练节点进行激励。目前主流的激励方案大多仅考虑工作节点的计算量,即激励的多少正比于数据量,而忽略了数据质量的因素,这就导致工作节点主动降低数据质量以提高收益,因此需要设计更加有效的激励机制。
4、此外,使用中心化的服务器进行联邦学习模型聚合,会导致性能瓶颈、单点失效、易受攻击等问题,而区块链技术作为加密货币系统的底层技术,能够提供去中心化、数据公开透明、不可篡改等优良特性,因此,结合区块链技术设计去中心化联邦学习系统被视为解决上述问题的可行方案。进一步,为了防止联邦学习工作节点进行拜占庭攻击,提高系统鲁棒性,如何基于区块链设计高鲁棒性的联邦学习算法也是重要的研究课题。
5、专利文献cn114239862a公开了一种一种保护用户数据隐私的抗拜占庭攻击的联邦学习方法,将服务器端分为两部分,计算服务器和服务提供服务器,由这两个服务器共同完成安全计算,各自得到有效性检测结果、反映服务器梯度方向与本地梯度方向相似性的余弦相似度结果。
6、目前针对上述问题的某一方面,已经存在研究工作及解决方案。但是综合考虑隐私保护、鲁棒性、激励机制,并基于区块链技术设计去中心化联邦学习系统,到目前为止,还没有找到一种行之有效的方法来解决此问题。
7、因此,综合考虑上述问题,基于区块链设计隐私保护、拜占庭鲁棒的激励联邦学习框架,具有极其重要的实际意义。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种基于区块链的抗拜占庭攻击的隐私联邦学习方法及系统。
2、根据本发明提供的一种基于区块链的抗拜占庭攻击的隐私联邦学习方法,包括:
3、激励步骤:由工作节点向竞价节点出价,竞价节点根据所述工作节点的信誉值选取获胜工作节点,并将获胜工作节点随机划分为训练节点和验证节点;
4、训练步骤:所述训练节点向区块链请求全局模型并使用本地隐私数据集进行模型训练,并为损失函数的梯度添加高斯噪声得到局部模型发送给验证节点,所述验证节点计算局部模型在本地数据集上的准确率作为模型评分,然后根据评分结果进行模型聚合,最后将评分结果和聚合得到的全局模型通过拜占庭共识机制添加到区块链上。
5、优选地,所述激励步骤包括差分隐私反向竞价子步骤和信誉值机制子步骤,包括:
6、步骤s1.1:获取数据的成本和数据量;
7、步骤s1.2:工作节点根据所述数据的成本和数据量计算参与本轮训练的所需成本;
8、步骤s1.3:根据所述所需成本计算对应的出价,并发送给竞价节点;
9、步骤s1.4:所述竞价节点根据区块链存储的评分结果数据计算相应工作节点的信誉值;
10、步骤s1.5:通过所述信誉值计算选取对应工作节点的概率;
11、步骤s1.6:根据所述概率选取工作节点作为获胜工作节点并计算所述获胜工作节点的训练费用,将所述工作节点随机划分为训练节点和验证节点;
12、其中,所述训练费用的计算公式如下:
13、
14、其中,pi表示第i个工作节点的训练费用,bi表示第i个工作节点的出价,bm表示bi的最大值,ri表示第i个工作节点的信誉,rm表示ri的最大值;
15、优选地,对于每个工作节点i,选取对应的获胜工作节点的概率,公式如下:
16、
17、其中,w、r分别表示工作节点集合、所述工作节点对应的信誉集合,b、r分别表示工作节点的出价、工作节点的信誉,下标j用于遍历w中的每个工作节点;
18、优选地,当对应的工作节点出价等于参与本轮训练的所需成本时,所获取的收益最大且收益大于0。
19、优选地,所述训练步骤包括高斯机制差分隐私模型优化子步骤和局部准确度校验子步骤,包括:
20、步骤s2.1:获取区块链上全局模型,使用本地数据集进行训练;
21、步骤s2.2:训练节点为计算得到的损失函数梯度添加随机高斯噪声,并作为局部模型发送给验证节点,所述添加随机高斯噪声的均值为0,方差为σ2id,且
22、其中,id表示d×d维矩阵,δg表示损失函数在相邻集合上差值的上界,δg,∈g表示(∈g,δg)-差分隐私边界参数;
23、步骤s2.3:验证节点通过执行所述局部准确度校验子步骤为局部模型评分,得到对应的评分结果;
24、步骤s2.4:验证节点聚合模型,将全局模型和所述评分结果通过拜占庭公式存储到区块链上;
25、步骤s2.5:将当前训练周期中的最高工作节点作为下一周期的竞价节点,重复执行所述步骤s2.1至步骤s2.4,直至训练结束。
26、优选地,所述验证节点聚合模型的公式如下:
27、
28、其中,θt表示模型参数,η表示学习率,ni表示训练节点i的本地数据量大小,nj用于遍历每个训练节点的本地数据量,gi()表示第i个训练节点的模型更新;
29、参与聚合的模型为模型评分最高的2/3*p个局部模型,p为训练节点数量。
30、根据本发明所提供的一种基于区块链的抗拜占庭攻击的隐私联邦学习系统,包括:
31、激励模块:由工作节点向竞价节点出价,竞价节点根据所述工作节点的信誉值选取获胜工作节点,并将获胜工作节点随机划分为训练节点和验证节点;
32、训练模块:所述训练节点向区块链请求全局模型并使用本地隐私数据集进行模型训练,并为损失函数的梯度添加高斯噪声得到局部模型发送给验证节点,所述验证节点计算局部模型在本地数据集上的准确率作为模型评分,然后根据评分结果进行模型聚合,最后将评分结果和聚合得到的全局模型通过拜占庭共识机制添加到区块链上。
33、优选地,所述激励模块包括差分隐私反向竞价子模块和信誉值机制子模块,包括:
34、模块m1.1:获取数据的成本和数据量;
35、模块m1.2:工作节点根据所述数据的成本和数据量计算参与本轮训练的所需成本;
36、模块m1.3:根据所述所需成本计算对应的出价,并发送给竞价节点;
37、模块m1.4:所述竞价节点根据区块链存储的评分结果数据计算相应工作节点的信誉值;
38、模块m1.5:通过所述信誉值计算选取对应工作节点的概率;
39、模块m1.6:根据所述概率选取工作节点作为获胜工作节点并计算所述获胜工作节点的训练费用,将所述工作节点随机划分为训练节点和验证节点;
40、其中,所述训练费用的计算公式如下:
41、
42、其中,pi表示第i个工作节点的训练费用,bi表示第i个工作节点的出价,bm表示bi的最大值,ri表示第i个工作节点的信誉,rm表示ri的最大值;
43、优选地,对于每个工作节点i,选取对应的获胜工作节点的概率,公式如下:
44、
45、其中,w、r分别表示工作节点集合、所述工作节点对应的信誉集合,b、r分别表示工作节点的出价、工作节点的信誉,下标j用于遍历w中的每个工作节点;
46、优选地,当对应的工作节点出价等于参与本轮训练的所需成本时,所获取的收益最大且收益大于0。
47、与现有技术相比,本发明具有如下的有益效果:
48、1、本发明采用区块链技术,克服了中心化联邦学习系统的弊端,设计了训练过程透明、可追溯的去中心化联邦学习系统框架,兼顾模型安全、效率和性能。
49、2、本发明通过差分隐私反向竞价算法来激励工作节点参与模型训练,综合考虑工作节点数据量和数据质量因素,满足激励完备性和个体合理性,同时保护工作节点的竞价隐私性。
50、3、本发明设计差分隐私联邦学习算法,为训练节点的模型更新添加高斯噪声,该算法可被证明实现差分隐私,并能够分析出噪声对模型性能影响的上界。
51、4、本发明引入模型验证过程,根据训练节点模型评分选择模型更新来聚合成新的全局模型,使联邦学习系统能够抵御拜占庭攻击,具有更高的鲁棒性。
52、5、本发明具有极强的实用性和广泛的适用范围。