【技术实现步骤摘要】
一种数据隐私保护的无服务器异步联邦学习方法
[0001]本专利技术涉及信息安全和联邦学习
,关于数据隐私保护的无服务器异步联邦学习问题,涉及广播加密、群密钥协商、联邦学习,具体涉及到扩展的动态贡献广播加密,差分隐私数据保护和异步联邦学习的一种数据隐私保护的无服务器异步联邦学习方法。
技术介绍
[0002]近年来,机器学习在各个领域发挥着重要作用。传统的机器学习假设训练数据集中由一个组织/节点来训练一个机器学习模型。随着车联网、物联网、医疗等一系列新应用的出现,越来越多的数据由不同的组织生成,由于安全、隐私、经济或监管的因素,在许多情况下,打破数据集之间的壁垒是非常困难的,甚至是不可能的。因此,越来越需要将模型参数的优化分散到多个组织/节点上进行机器学习模型的训练。
[0003]联邦学习是一种流行的技术,用于打破数据集之间的壁垒,在保护数据隐私的同时,实现在多个分散的数据集上进行机器学习模型训练。根据模型更新方法的不同,联邦学习可分为同步更新方法和异步更新方法。同步联邦学习面临着几个挑战,第一个是单点故障,第二个是高时延,最后同步联邦学习通常不适合动态群体,因为在训练过程中,客户可能会加入和离开群体,异步联邦学习可能需要或不需要服务器,更适合难以保持同步通信的场景。
[0004]联邦学习在实际应用中面临数据隐私和模型准确性的挑战。数据隐私在联邦学习中尤为重要,通常基于代价高昂的加密方案或差分隐私来解决。第一类方法通常基于秘密共享、同态加密等,通信和计算成本较高。第二类方法通常通过在训练过程中注入噪 ...
【技术保护点】
【技术特征摘要】
1.一种数据隐私保护的无服务器异步联邦学习方法,包括如下实体:客户端,生成系统参数和颁发证书的机构即可信机构CA,其特征在于,所述的方法包括下列步骤:步骤1:全局设置CA根据初始的安全参数λ运行算法生成系统参数para;CA选择一个签名方案Σ;生成一个主公私钥对(msk,mpk)对应于签名方案Σ;签名方案Σ用于建立认证通道,并用于CA为系统中的节点颁发证书;步骤2:注册节点生成公私钥对CA为该节点生成使用其主私钥msk签名的证书;步骤3:群组建立客户端被划分为不同的群组;客户端初始化群组;每个客户端发布的成员消息必须使用签名方案Σ签名;支持组加入退出,一个或多个客户端可以使用群组加入或群组退出协议加入或离开一个群组;步骤4:训练与聚合阶段对于具有初始模型参数向量或最优模型参数向量的客户端,基于本地数据集训练生成模型更新,然后将噪声添加到模型更新中获得干扰后的模型更新,对干扰模型加密并选择其它客户端作为目标子集交换模型;客户端解密收到的模型更新,对模型进行聚合和验证得到最优的模型参数向量;其中:所述步骤1具体包括:输入一个安全参数λ,CA根据λ选取阶为素数q的循环乘法群G1,G2,G
T
,存在双线性映射双线性映射满足以下性质:
①
双线性:g1和g2分别为群G1,G2中的元素,是阶为q的正整数集合,a和b为中元素,对任意的g1∈G1,g2∈G2,均有成立;
②
非退化性:存在g1∈G1,g2∈G2满足不等于
②
可计算性:存在有效算法,对于g2∈G2,均可计算选择g1∈G1,g2∈G2,Q,B1,...,B
N
∈G1其中Q,B1,...,B
N
均为群G1中的元素,并且设置集合B={B1,...,B
N
},正整数N是最大的组的大小;CA生成T个形为(R
γ
,P
γ
,F
γ
)的元组,每一个都对应一个协商的组的大小;元组(R
γ
,P
γ
,F
γ
)对应的组大小是正整数t,则系统参数的生成如下:1)任取一个整数i,且1≤i≤t,随机选取正整数1)任取一个整数i,且1≤i≤t,随机选取正整数是阶为q的正整数集合,计算中间值2)任取两个整数i,j,且1≤i,j≤t,i≠j,计算中间值3)令4)令5)CA公开系统参数:
CA选择一个签名方案Σ,并生成一个主公私钥对(msk,mpk)与签名方案Σ相对应,该签名方案用于建立身份认证通道,并用于CA为系统中的节点颁发证书;CA发布完整的系统参数fpara=(para,mpk,Σ);所述步骤2具体包括:一个客户端节点,将生成其对应于签名方案Σ的公私密钥对CA将为节点生成一个使用其主私钥msk签名的证书;所述步骤3具体包括:客户端即参与无服务器异步联邦学习的节点被划分为不同的群组,根据节点位置和K
‑
Means算法对客户端进行分组;对于有k个客户端的群组,首先需要协商群组的大小t,与所述系统参数fpara中的元组(R
γ
,P
γ
,F
γ
)对应,(R
γ
,P
γ
,F
γ
)是由CA在设置阶段生成的元组;客户端使用Initialize(v1,
…
,v
k
)协议初始化群组,协议包括两个步骤:第一步:取1≤i≤k并且i为正整数,第i个客户端首先做如下操作:1)随机选取正整数2)计算中间值3)取1≤j≤t,计算中间值4)公开消息第二步:取1≤i≤k并且i为正整数,第i个客户端执行如下操作:1)计算公共加密密钥:2)取1≤i≤t,计算中间值:3)令作为解密密钥;4)设loc为t长的标志字符串,如果一个客户端是第i组成员,则令[loc]
i
=1;5)第i个客户端存...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。