一种联邦学习深度影子防御方法
文献发布时间:2023-06-19 18:56:39
技术领域:
本发明属于人工智能领域,涉及联邦学习防御方法。
背景技术:
联邦学习作为一种新兴的分布式机器学习模式,能够在数据不出本地的情况下进行模型训练,极大地降低了隐私数据泄露的风险。然而,现有的基于生成对抗网络的分布式深度学习攻击、深度梯度泄露、协作学习特征泄露等研究已经证明公开共享的模型更新和梯度仍然可以泄露联邦学习隐私,甚至恢复原始数据。共享更少的梯度、减少输入空间的维度、混淆梯度、防御蒸馏等大部分防御措施也被证明是无效或可以规避的。此外,联邦学习防御方式滞后于攻击方式发展,并且穷尽一切攻击手段来设计联邦学习防御方式是不现实的,联邦学习发展遭遇极大的挑战。因此,迫切需要一个新的防御方法解决上述问题。
生成对抗网络可以用生成的数据替代原始真实数据,避免攻击者直接接触真实数据训练过的模型。深度影子防御方法使用影子数据训练影子模型,并产生影子梯度。攻击者无法通过有效的攻击方法从影子梯度恢复原始数据,确保了联邦学习中公开共享的模型更新和梯度的安全。
发明内容:
本发明目的是设计一种联邦学习深度影子防御方法。为避免攻击者进行联邦学习梯度反演恢复原始数据,本发明采用深度影子防御方法,主要基于生成对抗网络设计新的联邦学习防御方法。为实现上述目的,本发明采用如下技术方案:
步骤一:学习真实数据分布:生成对抗网络分为生成器和判别器,深度影子防御方法利用生成器对真实数据的分布特征进行学习;与此同时判别器对构建的生成分布与真实数据分布的差异进行计算,使两者的差异尽可能接近;
步骤二:生成影子数据:生成器在学习到满足真实数据的分布之后,从生成分布中抽取影子数据;影子数据将真实数据进行了隐藏,并且与真实数据服从同一分布;
步骤三:学习原始联邦学习模型行为:由于模型在训练过程中会对训练数据产生记忆,为避免原始联邦学习模型被黑盒攻击还原,深度影子防御方法将原始联邦学习模型隐藏起来,并学习原始联邦学习模型行为,训练产生功能相同,结构相异的影子模型;
步骤四:构造影子模型:影子模型能够使用与原始联邦学习模型相同的分类或预测服务,并且模型结构上的不同能够尽可能地避免迁移性攻击,有效保护原始联邦学习模型。
步骤五:生成影子梯度:将影子数据送入构造好的影子模型中进行训练,产生影子梯度,攻击者无法通过最小化虚假梯度和影子梯度距离的方式恢复出原始真实数据。
附图说明
图1详细描述了本发明深度影子防御方法。
具体实施方式:
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本发明提供一种联邦学习深度影子防御方法,具体步骤如下:
步骤一:学习真实数据分布:生成对抗网络分为生成器G和判别器D,深度影子防御方法利用生成器G对真实数据的分布特征P
步骤1.1:联邦学习用户i拥有真实数据(x
步骤1.2:衡量生成分布P
步骤1.3:求解使得最大化目标函数的D
步骤1.4:代入求解
步骤二:生成影子数据:生成器在学习到满足真实数据的分布P
步骤三:学习原始联邦学习模型行为:由于模型在训练过程中会对训练数据产生记忆,为避免原始联邦学习模型被黑盒攻击还原,深度影子防御方法将原始联邦学习模型隐藏起来,并学习原始联邦学习模型行为,训练产生功能相同,结构相异的影子模型。
步骤3.1:假定有可微联邦学习模型F,参数权重为W,真实数据在模型F中进行训练会产生梯度
步骤3.2:由于步骤二已经得到影子数据,学习原始联邦学习模型F的行为可以直接使用影子数据。
步骤四:构造影子模型:影子模型F′能够提供与原始联邦学习模型F相同的分类或预测服务,并且模型结构上的不同能够尽可能地避免黑盒设置下的迁移性攻击,有效保护原始联邦学习模型F。
步骤五:生成影子梯度:将影子数据送入构造好的影子模型中进行训练,产生影子梯度,攻击者无法通过最小化虚假梯度和影子梯度距离的方式恢复出原始真实数据。
步骤5.1:生成影子梯度
步骤5.2:攻击者生成随机的虚假数据(x
x
步骤5.3:攻击者将虚假数据送入影子模型F′进行训练,生成虚假梯度
步骤5.4:攻击者通过最小化虚假梯度和影子梯度距离的方式发起攻击,攻击优化目标定义如下。
步骤5.5:攻击者在最小化虚假梯度和影子梯度距离之后,最多只能获得影子数据,真实数据不会被泄露。
- 一种具有防御对抗样本攻击功能的深度学习分类方法
- 一种基于区块链的联邦学习搭便车攻击防御方法
- 一种基于注意力蒸馏的联邦学习后门防御方法