CAFE: Catastrophic Data Leakage in Vertical Federated Learning(纵向联邦学习)
GitHub:https://github.com/DeRafael/CAFE
摘要:
梯度共享机制(批处理)会泄露私有数据—>提出数据泄露攻击CAFE—>提出缓解CAFE对策
在分布式机器学习系统(如联邦学习(FL)中部署的梯度共享机制可能会泄露私有训练数据。增加批处理大小以使数据恢复复杂化通常被视为防止数据泄漏的一种有前途的防御策略。在本文中,我们重新审视了这一防御前提,并提出了一种先进的数据泄漏攻击,并提供了理论依据,以有效地从共享聚合梯度中恢复批量数据。我们将提出的方法命名为垂直联邦学习中的灾难性数据泄漏(CAFE)。与现有的数据泄漏攻击相比,我们在垂直FL设置上的大量实验结果证明了CAFE在执行大规模数据泄漏攻击时的有效性,并提高了数据恢复质量。我们还提出了一种切实可行的缓解CAFE的对策。我们的研究结果表明,参与标准FL的私人数据,特别是垂直案例,从训练梯度中泄露的风险很高。
纵向联邦学习:参与方拥有相同的样本空间但特征空间不同,即他们共享相同的用户但拥有不同的用户特征
现有联邦学习梯度泄露攻击方法:
现有的方法限制批处理数据的恢复、缺乏数据恢复的理论支撑、前提假设过于严格(例如要求类的数量远远大于恢复的数据样本的数量)
方法:
CAFE:利用数据索引和数据对齐(可恢复出批处理数据)
理论恢复步骤:(1)恢复相对于第一个全连接层(FC)输出的损失梯度;(2)恢复第一FC层的输入;(3)恢复原始数据
每次迭代中批处理索引
损失函数及梯度计算:
聚合梯度的维度是固定的
聚合梯度的维度是固定的:
完全恢复模型的第一个FC层的输入,称为具有理论保证的内部表示,并使用内部表示作为学习的正则化器来帮助提高数据泄漏攻击的性能。在VFL设置中充分利用了攻击者已知的批数据索引,从而可以确定(3)中的系统方程,而不是不确定
在红框部分,针对服务器的攻击(服务器作为攻击者)
数据索引对齐:对于每一批,服务器(作为攻击者)需要向所有本地worker发送数据索引或数据id列表,以确保每个worker都选择了具有相同id序列的数据
具体步骤:
(1)恢复全连接层输出的损失梯度:
在神经网络中恢复损失函数相对于第一全连接层输出的梯度的步骤:
损失函数梯度计算问题:特别是对于全连接层(FC layer)的训练数据输入输出以及相应的梯度表示方法
整体算法分布式优化
恢复损失函数相对于模型参数的梯度:
旨在聚合所有工作者计算出的局部梯度,以形成全局梯度,该全局梯度可以用于更新中央服务器上的模型参数。
针对第一全连接层输入 H(输入矩阵) 的恢复
第t次迭代的数据:
计算损失函数关于特定参数(b1)梯度的过程
梯度只在模型参数之外给定,通过迭代优化过程恢复:
CAFE的第一步总结在算法1中,算法1具有上述约束
为保证攻击效率,在CAFE中考虑了两种灵活的更新协议——算法3:CAFE(嵌套循环)和算法4:CAFE(单循环)。算法4的迭代次数要少于算法3。
尽管CAFE提供了理论上的恢复保证,基本前提是客户机将上传真实(正确)的梯度用于聚合。
提出了一种直观而实用的方法来缓解CAFE,要求每个客户端上传虚假(但相似)的梯度,从而导致通过CAFE恢复错误的数据。
为了解决真实梯度的泄漏问题,设计一种名为Fake gradients的防御方法,并在附录f的算法5中进行了总结。该防御方法的主要思想是攻击者将目标对准错误的梯度,并将错误的输入反推到第一FC层,从而使攻击者无法恢复真实的训练数据。算法5(附录F)中的防御策略可以添加到算法1和算法2中的第8行和第9行之间。
如算法5(附录F)所述,每个局部客户端可以随机生成正态分布N (0;σ2)并按降序排序元素(第1、2行)。同时,本地工人也按降序排序他们的真梯度,并记录排序项目的索引(第7行)。然后,计算真梯度与所有假梯度之间的l2范数距离,以找到最近的假梯度(第12行)。然后,我们按照排序顺序配对假梯度以匹配真梯度(第17行)。这是一个重要的步骤,这样我们就可以在真实梯度的相同位置保持大/小值。最后,本地工作人员将伪造的渐变上传到服务器。
参考:
原文地址:https://blog.csdn.net/weixin_62646577/article/details/142334004
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!