本发明公开了一种基于区块链的自适应隐私保护个性化联邦学习方法,属于区块链隐私保护。
背景技术:
1、近年来,深度学习应用广泛。为了获得更准确的预测模型,深度学习通常需要大量的数据用于训练,如果这些数据包含敏感信息,例如个人身份、健康状况等,那么在模型训练过程中可能会面临严重的隐私安全问题,如数据的泄露、滥用或未经授权等。联邦学习作为一种新兴的分布式机器学习技术,允许用户在不共享数据的同时通过协同训练得到一个共享的全局模型。
2、尽管联邦学习已经被证明是一种有效的分布式学习机制,但其需要一个可信赖的中央服务器来聚合用户上传的本地模型,是一种典型的中心化结构。受制于该结构,联邦学习容易受到投毒攻击、模型反转等攻击的影响,导致模型精度下降和隐私数据泄露等问题。同时,由于服务器自身存在性能瓶颈和恶意篡改聚合结果的风险,也会对联邦学习造成不利影响。区块链作为一种分布式账本,具有去中心化、不可篡改、可追溯等特点,因此,近年来已有大量学者提出了利用区块链技术来实现完全去中心化的联邦学习架构解决方案。
技术实现思路
1、本发明提出一种基于区块链的自适应隐私保护个性化联邦学习方法,该方法实现去中心化和个性化的联邦学习,通过区块链架构解决联邦学习对中央服务器的依赖问题,同时利用拥有相似数据分布的参与用户互相合作,为用户提供专属的个性化模型。基于区块链架构设计一种新的共识算法,通过边缘节点选举领导者的方式,分组并聚合拥有相似数据分布的用户本地模型,实现用户的互相合作。此外,该方法在边缘节点选举领导者时通过边缘节点的所有相邻节点验证其优先级,一定程度上降低通讯开销。
2、本发明的技术方案如下:
3、一种基于区块链的自适应隐私保护个性化联邦学习方法,学习方法是基于一个由服务器或蜂窝网络里的基站等边缘节点组成的边缘节点所共同维护的区块链,以及一组由手机、电脑、车载系统或机构各种参与用户组成的分布式客户端u={c1,c2,...,cn}构成,n表示参与用户的总数;
4、其特征在于包括如下步骤:
5、(1)、参与用户首先会从最新生成的区块上下载经过训练得到的初始化全局模型mg以及涉及本次训练的相关参数信息;
6、(2)、参与用户ci将利用全局模型mg从本地数据集中提取出数据的特征表示ri,同时使用该模型进行训练得到本地模型
7、(3)、接着,参与用户ci将对特征表示ri与本地模型进行加密,并将加密过后的密文上传到与其相连的边缘节点;
8、(4)、最终,区块链上的边缘节点在互相通信后,通过共识算法选举出领导者,并将加密过后的ri与发送给领导者;领导者根据收集到的所有ri计算并判断用户数据的相似程度,把具有相似数据分布的用户分为一组,每个组即可代表某一种特定的数据分布类型;分组后,领导者将每个组内的所有参与用户所上传的本地模型聚合,为每一个小组生成个性化模型mp来更好的适应该组的数据分布,个性化模型mp的数量与小组的数量一致;mp即为适用于该数据类型的个性化模型。
9、优选地,上述步骤(1)的具体步骤如下:
10、在系统运行前,通过指定轮数的迭代,得到了初始化全局模型mg从并在最新生成的区块里保存,同时,在区块中还包括参与用户ci的相关信息,具体包括:
11、(1-1)参与用户进行本地训练的参数,包括学习率η、本地训练轮数localepoch和本地训练批次localbatchsize;
12、(1-2)指定参与用户提取特征表示的初始化全局模型的relu层;
13、(1-3)伪随机生成器以及所有参与用户的公钥pk,用于步骤②中加密参与用户生成的特征表示与本地模型。
14、优选地,上述步骤(2)的具体步骤如下:
15、参与用户ci将自己的本地数据输入全局模型mg,并从全局模型mg指定的relu层中选择一个通道,提取出本地数据在通道中的稀疏性,
16、稀疏性通过以下方程计算:
17、
18、其中sp表示稀疏性,计算出di中所有样本稀疏性的平均值,将其视为该参与用户ci的数据从该通道提取出的稀疏性sp(di),并将其定义为该用户的特征表示ri:
19、
20、同时,参与用户ci还将根据相关的训练信息,使用本地数据对初始化全局模型mg进行训练,得到本地模型本地模型的训练定义如下:
21、
22、其中,di表示用户i的本地数据,mq表示个性化模型。
23、优选地,上述步骤(3)的具体步骤如下:
24、当参与用户ci计算出特征表示ri与本地模型后,首先将通过diffie–hellman算法生成一个共享密钥;算法如下:
25、对于第i个参与用户ci,已经下载了所有参与用户的公钥,用户通过diffie-hellman算法中的ka.agree为它与其他所有用户各自成对的生成共享密钥si,j:
26、si,j=kaagree(ski,pkj)
27、其中1≤j≤n,ski代表用户i的私钥,pkj代表用户j的公钥;
28、此后,令该共享密钥si,j作为伪随机生成器的输入从而生成掩码,通过添加掩码生成密文,用户将分别为特征表示ri与本地模型加密:
29、
30、
31、其中,z是指定的模数;
32、在完成加密后,将密文上传给与其相连的边缘节点。
33、优选地,上述步骤(4)中所述领导者将每个组内的所有参与用户所上传的本地模型聚合引用了algorand共识协议中的纯权益证明机制,并利用一种新的共识算法,在边缘节点中选举并验证领导者,领导者负责完成模型的分组聚合。
34、优选地,新的共识算法具体如下:
35、新的共识算法分为两个部分,第一部分边缘节点通过选举得到一个领导者,第二部分领导者将分组聚合得到个性化模型;
36、第一部分流程如下:
37、区块链上的边缘节点在获取到与其相连的客户端所上传的本地模型后,将从持有合法的本地模型的边缘节点中选举领导者,将从所有边缘节点拥有权益的总量中选择出指定数量的权益,并以每个边缘节点中被选中的权益来作为选举领导者的指标,定义τ为从权益的总量中被选择的权益数量,每个权益u都有可能被选中,w为所有权益的数量总和,则任意一个权益被选中的概率为τ/w;对于一个拥有w个权益的边缘节点,它首先通过自己的私钥sk与种子seed生成散列hash和证明proof;而对于在区间[0,1)上划分的w+1个子区间,当计算出某个值j满足:
38、
39、则说明该边缘节点有j个权益被选择,即该边缘节点的优先级priority的值为j,hashlen为hash散列的长度;在计算出所有边缘节点的优先级后,边缘节点将互相通信,每个边缘节点将通过其邻居节点为其proof验证优先级,各个边缘节点依次比较优先级,优先级最高的边缘节点成为领导者;
40、第二部分流程如下:
41、当选举出领导者后,所有边缘节点将把自己的特征表示与本地模型发送给领导者,领导者将通过计算特征向量的欧式距离来比较数据间的相似度,对于第i个参与用户的特征向量ri和第j个客户端的特征向量rj,它们的相似性通过平方差公式计算得到:
42、
43、计算出任意两个参与用户的数据相似度;
44、领导者将随机选择某一个参与用户上传的特征向量rv作为比较对象,并计算该特征向量与所有其他特征向量的相似度,找出相似用户并为其分组;
45、首先设定一个比较阈值threshold,领导者根据两个用户特征向量的相似度是否小于闽值来判断是否将二者分为一组;通过上述方法,领导者将各个参与用户分为若干个组,定义分组集合q代表分组的总数,
46、在分组之后,领导者分别将每组中参与用户所上传的本地模型聚合;采用联邦平均法聚合组内的模型,生成个性化模型mp:
47、其中,表示组内的参与用户总数,∣dk∣表示该小组内参与用户k拥有的样本数量,表示经过加密的参与用户k的本地模型,表示该组内所有用户的样本数量之和,通过该方法分别聚合生成每个分组的个性化模型,得到个性化模型集合
48、本发明的有益效果是:
49、本发明提出基于区块链的自适应隐私保护个性化联邦学习框架,首次将区块链技术和模型个性化技术结合应用于联邦学习。保证用户数据隐私安全的同时,满足参与用户的特定需求。
50、基于algorand共识协议提出一种新的共识算法,自适应地分组并聚合拥有相似数据分布的参与用户本地模型,一定程度上降低通信成本。
1.一种基于区块链的自适应隐私保护个性化联邦学习方法,学习方法是基于一个由服务器或蜂窝网络里的基站等边缘节点组成的边缘节点所共同维护的区块链,以及一组由手机、电脑、车载系统或机构各种参与用户组成的分布式客户端u={c1,c2,...,cn}构成,n表示参与用户的总数;
2.根据权利要求1所述的一种基于区块链的自适应隐私保护个性化联邦学习方法,其特征在于所述步骤(1)的具体步骤如下:
3.根据权利要求1所述的一种基于区块链的自适应隐私保护个性化联邦学习方法,其特征在于所述步骤(2)的具体步骤如下:
4.根据权利要求1所述的一种基于区块链的自适应隐私保护个性化联邦学习方法,其特征在于所述步骤(3)的具体步骤如下:
5.根据权利要求1所述的一种基于区块链的自适应隐私保护个性化联邦学习方法,其特征在于所述步骤(4)中所述领导者将每个组内的所有参与用户所上传的本地模型聚合引用了algorand共识协议中的纯权益证明机制,并利用一种新的共识算法,在边缘节点中选举并验证领导者,领导者负责完成模型的分组聚合。
6.根据权利要求5所述的一种基于区块链的自适应隐私保护个性化联邦学习方法,其特征在于所述新的共识算法具体如下:
