流程
使用关于输入信息的梯度变化敏感度来衡量,sensitivity易于计算,可以获得基于分层方式的信息泄露。将梯度切片,在随机抽取切片进行加噪声。
全局更新补偿
雅可比矩阵 衡量信息泄露风险
基于随机扰动的风险平衡
总:通过一个衡量方式:梯度变化的敏感度捕获分层间的信息泄露风险概率,并加以跨层随机扰动,攻击者重构数据的质量大幅下降。client在本地训练的时候会对梯度切片进行加噪声,attacker很难定位,即使定位了,也无法重建原始数据。
全局更新补偿
全局梯度的属性相关性
在反向传播中,损失函数l(预测输出和分类准确性之间)从最后一层传到第一层,这里说的层应该是卷积层和全连接层这类的层。
对于l层,梯度向量由链式规则计算的权重和偏差的梯度组成。因为逐层属性在反向传播中逐层产生,所以全局梯度中的逐层属性高度相关,由此可以获得更准确的原始数据。用此进行全局更新的补偿。
因为属性的相关,所以属性之间有些方向之间有较大的的差异,有的方向差异很小。
C :加了噪声扰动的全局梯度矩阵、Z:原始数据的矩阵、R:噪声的矩阵。所以 C = R + Z。The shape of the three matrix is × . R中的元素是符合高斯分布的独立同分布的随机变量。
其中m参与者的数量,s是切片总数,d是进行噪声扰动的切片。是聚合的weight,范围是0-1开区间
以为变量,matrix R 的维度v和w,为函数(·), (·)。经验累积分布函数的渐近性,趋于无穷,(·), (·)也趋于无穷,Q为(·), (·)的比值,当Q>=1,才有上述假设。在以上假设下,经验累积分布函数收敛为FQ(x),其概率密度为:
当x不在LR(协方差矩阵)的特征值 的范围内,FQ等于0.
因此,随机矩阵 R 具有可用于全局更新补偿的概率属性。
全局梯度补偿
C是扰动的全局梯度矩阵。C的协方差矩阵为
其中Pc、Pr、Pz是正交矩阵,其列向量是特征向量,ΛC、ΛZ 和 ΛR 是对角矩阵,其对角线上有相应的特征值。
R T Z and Z T R be equal to 0,因为R的独立随机生成,所以与Z的向量不相关,协方差为0.
由以上 推理可得下列定理
由噪声相关矩阵的最大和最小的特征值来规定了数据相关矩阵的界限,ci的特征值大于zi加r的最小值,小于zi加r的最大值。我们假设数据相关矩阵只有几个主要的特征值,z1到zj,则存在zi<=β,j+1<=i<=w,这里如果j=w,那就有所有的w的,不符合之前的假设。假设zj大于r1(r1是r最大的特征值)。
通过在1,r处的简单阈值,将数据和噪声的特征值从扰动数据特征值中分离,因为z最小的特征值要大于r最大的。
所以这个流程就是:根据随机矩阵理论使用协方差矩阵的特征值分布从C中分离出噪声和数据部分。然后根据数据部分矩阵的特征值进行全局补偿。这可以通过简单地将数据沿数据特征向量投影,然后将其映射回原始空间来完成。
因为噪声分布已经给了,所以我们可以通过式子4求得噪声矩阵的最大最小特征值,并用这个特征值来限定数据矩阵的特征值范围。
选i-j个特征值,噪声的特征值是i-j,别的就是数据的(之前不是说噪声的是1-j)。
将 C (扰动后的数据矩阵)投影到 P∗Z(实际数据的特征向量组成的矩阵,应该是实际数据的方向) 跨越的子空间上得到的实际数据 Zis 的补偿 Z∗。
为了衡量补偿的效果,考虑一下当从w个特征值中选w*个,因为全局梯度的相关性,所以w*方向的方差要大,去掉其他方向的不会造成太多信息损失,然而噪声是随机的,没有相关性,取出w*方向后损失这部分的噪声方差。
避免攻击者利用补偿
本地裁剪,剪裁各个数据样本的梯度并将它们缩放到与该噪声相对应的相似范围,并基于该范围来限制每个各个数据样本对共享梯度G的影响。
裁剪过程:Following
,噪声的高斯分布,其中B是噪声强度
然后,在局部训练的每一步,我们使用文献[15]中提出的Norm裁剪方法,根据数据样本的2-范数对各个数据样本的梯度进行裁剪。。g被取代。当g的2-norm小于g,则g不变,相反,g被B替换。
收敛分析
两种梯度泄露攻击,三个图像数据集,基于非独立同分布
雅克比矩阵
欧几里得距离