梯度重构"/>
联邦学习的梯度重构
梯度泄露的攻击方法:深度泄露梯度(DLG)——>在高度压缩的场景下是失效的
原因:梯度压缩(可减小通信开销)——>存在信息损失<——从而DLG方法效果有限
但是这本身存在的信息损失怎么解决呢?会对所要达成的目标有影响吗?
揭示在梯度压缩防御设置下攻击者可获取多少隐私数据
度量的标准是什么呢?
在高度压缩的场景下梯度泄露攻击的方法:
- 基于属性推断的梯度泄露攻击:攻击者从共享梯度推断出原始私有训练数据的具体属性,以此作为先验信息补偿进行梯度泄露攻击
基于属性推断的梯度泄露攻击是一种针对深度学习模型的攻击方式。在这种攻击中,攻击者利用模型在训练过程中泄漏的梯度信息,推断出训练数据中包含的具体属性。这些属性可以包括性别、年龄、种族等等,攻击者利用这些属性作为先验信息,进一步进行攻击,例如针对特定群体的歧视性攻击。
攻击者首先准备一个辅助数据集,该数据集中包含数据- 属性对;然后,攻击者将这些数据输入联邦学习的全局模型中 (这个全局模型是如何获得呢) ,从而获得梯度- 属性对;最后,攻击者使用这些梯度 - 属性对来训练一个判别网络。在攻击阶段,攻击者只需要将捕获的梯度输入到已训练好的判别网络中,即可推断私有训练数据属性。
梯度泄露是指在训练深度学习模型时,模型参数的更新算法会使用到训练数据的梯度信息。这些梯度信息包含了训练数据中的敏感信息,如果这些信息被攻击者获取,就可以用来推断出训练数据的具体属性。基于属性推断的梯度泄露攻击就是利用这种泄露的梯度信息,对训练数据进行推断,从而获取其中的具体属性。
这种攻击方式对深度学习模型的安全性造成了严重威胁。为了防止这种攻击,研究人员提出了一些防御方法,例如对抗训练、梯度掩盖等。这些方法可以增加模型的鲁棒性,防止攻击者利用梯度信息进行属性推断攻击
- 基于特征推断的梯度泄露攻击:在基于属性推断的梯度泄露攻击失效的情况下,攻击者从共享梯度推断出原始训练数据的低维向量表征,以此作为先验信息补偿进行梯度泄露攻击
这种攻击方法将梯度信息视为一种泄露的信号,通过分析这个信号,攻击者可以获取到训练数据中的有用信息。
在这种攻击中,攻击者利用梯度信息推断出原始训练数据在某个低维空间中的表征。这个低维空间可能是一个由模型学到的特征空间,或者是一个由攻击者预先设定的空间。攻击者利用推断出的低维向量表征作为先验信息,进一步进行攻击。
基于特征推断的梯度泄露攻击相对于基于属性推断的梯度泄露攻击更加复杂,因为它需要攻击者对模型的内部结构有一定的了解。
- 基于特征生成的梯度泄露攻击:在此方法中,攻击者进一步改进了基于特征推断的梯度泄露攻击,从共享梯度中推断出原始数据的特征后,利用该特征生成一张初始化图像,以此作为先验信息补偿进行梯度泄露攻击
基于特征推断的梯度泄露攻击和基于特征生成的梯度泄露攻击都是针对深度学习模型的攻击方式。这两种攻击方式的主要目标是推断出原始训练数据的特征,并利用这些特征进行攻击。不同之处在于,基于特征生成的梯度泄露攻击在推断出原始数据的特征后,进一步生成了一个初始化图像,作为先验信息进行梯度泄露攻击。
在这两种攻击方法中,攻击者首先需要从共享的梯度信息中推断出原始数据的特征。这些特征可以被看作是原始数据在某个特征空间中的表示。然后,攻击者利用这些推断出的特征生成一张初始化图像。这个初始化图像可以作为先验信息,帮助攻击者更好地进行梯度泄露攻击。
基于特征生成的梯度泄露攻击的优点在于,它不仅可以推断出原始数据的特征,还可以生成一个初始化图像。这个初始化图像可以作为攻击者的参考,使得攻击者更容易地进行梯度泄露攻击。
- 基于梯度生成的梯度泄露攻击:为了解决前三种攻击方式重构效率较低且不适用于批量数据重构的问题,该方法中的攻击者直接利用生成网络从共享梯度中生成一张图像,以此直接 作为私有数据重构结果。(我咋理解这个方法就是类似于DLG方法呀)
基于梯度生成的梯度泄露攻击是针对深度学习模型的一种攻击方式。与基于特征推断的梯度泄露攻击和基于特征生成的梯度泄露攻击不同,基于梯度生成的梯度泄露攻击直接从共享的梯度信息中生成一张图像,作为私有数据重构的结果。
这种攻击方法的优点在于,它可以直接从共享梯度中生成一张图像,而不需要进行特征推断或生成初始化图像。这意味着攻击者可以更有效地利用梯度信息进行数据重构。此外,这种攻击方法还可以应用于批量数据重构,而不仅仅是对单个数据点进行重构。
然而,需要注意的是,基于梯度生成的梯度泄露攻击仍然依赖于梯度信息,因此,它也可能会受到梯度泄露防御方法的抵抗。为了防止这种攻击,研究人员需要开发新的防御方法,以提高模型的安全性和鲁棒性
从视觉效果和客观数值指标进行验证
联邦学习中的梯度出现挑战:
- 暴露原始训练数据的某些属性
- 利用生成对抗网络生成与私有训练图像类似的图片
在高压缩的情况下攻击方是如何从梯度中复原数据?生成对抗网络(模型反演攻击,MIA):没有利用共享的梯度信息,而是只用了最后训练好的全局模型参数信息,因此这种类型的攻击 只有当每个类下的所有数据分布基本一致时才有效, 每一类下的图像分布差异很大的时候则会导致重构的图像缺乏细节或与原始数据的感知相似性极低。 DLG 基于这样一个假设,如果两个数据产生的梯度越相似,则这两个数据本身也是越相似的 iDLG:共享梯度中会泄露原始数据的标签;标签被提取出后,攻击的过程就不需要再更新标签了,只需要不断优化初始的虚假图像,从而减小了搜索空间,加速了收敛过程。但他们的做法缺陷在于只能推断当批大小 (Batch Size) 为 1 时的真实标签,而当批大小大 于 1 时则无法推断了。 梯度的批量标签泄漏 (LLG) 方法:从共享梯度中获得用户批量训练数据标签的攻击。LLG利用梯度的方向和大小来确定一个标签的存在或不存在,并且可以很好地扩展到任意批大小和多个类的主任务中,LLG 可以在当批大小为 128 时,标签推断的准确率达到 90% 以上。 IG : 将 DLG 中优化目标中的距离表示从欧式距离变成了余弦相似性,并且对虚假数据进行了正则惩罚。此外,IG 的目标函数中对不同层的梯度设置了不同的权重,优化器也从 DLG 中的 LBFGS 改为了 Adam 优化器。他们通过实验证实了这样的设置可以产生比 DLG 更好的重构结果并且支持批量数据重构。
虚假数据的定义标准是什么?STG:进一步对损失函数(优化目标)进行了改进在目标函数中加入了更多的正则项(包括了对网络批归一化层的规范化),同时并行开启多个独立的优化过程,最终把不同优化过程得到的结果进行配准得到最终的重构图像。实验结果表明他们的方法可以在更大批大小下恢复出高分辨率的图像,但大部分恢复的图像与原始图像依然存在细节上的差异,甚至出现位置错位的问题,其真实的恢复率只有 28% 在辅助数据集中预先训练一个生成器作为先验,然后不断优化生成器的输入,使得其产生的图像所对应的梯度与真实的梯度不断接近,该方法不但引入了先验,且大大降低了搜索空间,从而提高了优化效率和重构质量 先随机初始化一张噪点图像,然后再不断对其进行优化 上传更新后的模型参数本身仍会存在泄露:两个新的框架 (DLM 和 DLM+) 证明了在联邦学习场景下,传输模型权重也同样可能泄露参与方的私有训练数据 基于解析的梯度泄露攻击:不基于优化的方案来从梯度中窃取原始的私有训练数据;相比于基于优化的攻击最大的区别在于它是有闭式解的,因此,攻击推理速度上也是要快于基于优化的方法
基于优化的攻击方法通常需要通过不断的迭代和调整来寻找最佳解决方案,而基于闭式解的攻击则直接提供一个明确的解决方案。 闭式解是指一个问题的解决方案可以通过一组明确的数学表达式或算法来表示。这意味着,一旦我们有了问题的具体条件,就可以直接计算出解决方案,而不需要进行进一步的优化或调整。 闭式解是指一个问题的解决方案可以通过一组明确的数学表达式或算法来表示。这意味着,一旦我们有了问题的具体条件,就可以直接计算出解决方案,而不需要进行进一步的优化或调整。提出了通过仿射函数的输入可以直接从其权值和偏差的梯度中来计算获得 局限性:在于它只能在批大小为 1 的场景下对数据进行重构,而对于批大小大于 1 的场景,则仅能 重构出一张非自然图像,该图像中的每个像素为批数据中所对应像素点的平均值, 因此这导致该方法在大多现实联邦学习场景(即,训练过程的批大小大于 1)中是无法使用的。 该方法的另外一个前提是输入必须一开始经过一个全连接层, 因此如果要恢复图像数据是基本上不可行的 高度压缩梯度的联邦学习场景下的敌手优化目标: 旨在适应梯度被高度压缩的攻击场景,并使压缩后的虚假梯度与捕获的梯度之间的距离最小化。 基于属性推断的梯度泄露攻击方法 ,该方法通过预先从梯度中推断出原始数据的属性来弥补梯度压缩所带来的信息损失。敌手首先从压缩的梯度中推断出原始图像的属性,然后在辅助数据集中搜索一条与推断属性最接近的图像,并以此作为初始化的虚假数据。随后,通过不断优化该虚假图像来逼近原始的真实图像。 基于属性推断的梯度泄露攻击方法增加了先验,更好地弥补了梯度压缩导致的信息损失。
基于特征的梯度泄露攻击方法:基于特征推断的攻击方法,它可以从梯度中推断出原始数据的特征,并自动提取辅助数据集中的抽象特征,避免了对手动标注的二元属性值的需求。
第二种方法是基于特征生成的攻击方法,它可以利用从梯度中预先推断出的特征来生成图像,并扩大了虚假图像的空间,使得初始化虚假图像更有希望接近原始的真实图像,进而提高图像的重构效果。
基于梯度生成的梯度泄露攻击方法:该方法不需要通过特征推断来生成虚假图像,而是使用基于解析的方法从全连层的梯度中推断出原始的特征图,再将其输入一个预先训练好的生成网络,直接产生原始的图像数据。 DLG在原始论文中提出了一种较好的防御方式,即使用 topK 算法对梯度进行压缩,且当压缩率低于 70%(全文中所提到的梯度压缩率均定义为保留的梯度数与原始总梯度数的比例)时,DLG 基本上将完全失效。- 参数服务器由于仅有模型聚合和分发的功能,它无法知道模型每个神经元所对应的真实标签是什么。
- 敌手不可能事先拥有与私有训练数据分布一致的辅助数据。
梯度压缩是一种用于减少神经网络训练中梯度消失或梯度爆炸问题的技术。然而,梯度压缩本身是一个不可微的操作,因为它不满足链式法则。
在梯度压缩中, 通常会使用一种阈值来决定哪些梯度值需要被压缩。topK 是一种流行的压缩算法,它会将低于某个阈值的梯度值置为 0。这种操作是不可微的,因为它直接将梯度值设置为 0,而不是通过一个可微的函数来压缩梯度。
如果优化目标是使压缩后的梯度与原始梯度尽可能相似,那么这个优化目标必须是二阶可微的。这是因为梯度消失或梯度爆炸问题通常与一阶导数有关,而二阶导数可以提供更丰富的信息来优化梯度。然而,直接将梯度值置为 0 的操作不满足二阶可微性,因此可能会导致优化困难。
因此,如果要使用梯度压缩来解决梯度消失或梯度爆炸问题,那么需要选择一种可微的压缩算法,或者使用其他技术来增加梯度的信息量。
更多推荐
联邦学习的梯度重构
发布评论