论文名字 | Deep Leakage From Gradients |
来源 | 顶会 NeurIPS |
年份 | 2019.12 |
作者 | Ligeng Zhu Zhijian Liu Song Han |
核心点 | 主要研究梯度泄露问题,使用比以往方法更强的攻击方法,恢复图像是像素级的,恢复文本是符号级的匹配。提出有效的解决方法是梯度裁剪。 |
阅读日期 | 2020.12.13 |
影响因子 |
|
页数 | 11 |
引用数 |
|
内容总结 | |
文章主要解决的问题及解决方案:
文章的主要工作: ①提出一种优化算法,可以在几个迭代中获取训练输入和标签。算法的主要思路是:假设虚拟输入和标签,计算虚拟梯度,优化虚拟梯度与真实梯度之间的距离,通过匹配梯度使得虚拟数据靠近原始数据。 ②提出三种保护数据策略:梯度扰动、低精度、梯度压缩。 ③文章的主要贡献:i)DLG算法是第一个实现证明有可能从公开共享的梯度中获得私人训练数据;ii)DLG只需要梯度,就可以显示像素精确的图像和符号匹配的文本。而传统的方法通常需要额外的信息来攻击,并且只产生部分属性或合成替代;iii)为了防止重要数据的潜在泄漏,分析了各种设置下的攻击难点,并讨论了几种针对攻击的防御策略。 ④标准的分布式训练的计算梯度: 更新权重: ⑤DLG算法实现如图: DLG算法流程:i)输入为可微的机器学习模型Fx,W(因为该算法需要算梯度的梯度),W:权重参数,∇W:通过训练数据计算得到的梯度;ii)初始化虚拟输入和标签;iii)计算虚拟梯度;iv)计算虚拟梯度与真实梯度的差值平方(作为损失函数);v)根据差值平方,反向传播,更新虚拟输入,使其计算后的梯度能与真实梯度匹配。 ⑥实验结果如图3,DLG在MNIST,CIFAR-100,SVHN和LFW数据集中的图像恢复情况。可以看出DLG算法可以还原整个图像。 ⑦为了解决当batchsize大于1时,算法失效的情况,文中对算法1的第六行进行修改: 并使用修改后的算法进行实验,结果如表1和图4所示。 ⑧文中对原有模型进行了两处修改:i)将ReLU换成Sigmoid;ii)删除步长(因为文中算法要求模型是二次可微的) ⑨DLG算法的缺点:i)当batchsize过大的时候,无法进行攻击;ii)当输入图像过大的时候,无法进行攻击;iii)当网络越深的时候,无法进行攻击。(我的理解是权重w的变化差异太大) ⑩防御策略:i)给梯度增加噪声,如图7所示,噪声在10的-4次方时,不能防御梯度泄露;噪声在10的-3次方时,虽然有一定人工干扰,但是还是会泄露;噪声在10的-2次方时,会影响模型精度。(显著)。从图7a和7b的比较中可以看出防御效果取决于方差大小,与噪声类型关系不大。ii)图7c显示,两种半精度方法不能保护训练数据。iii)图7d显示,剪枝率大于20%,可以起到保护隐私的作用(作者没有实验证明影响精度问题,引用了前人的工作)。 (11)文中给出用密码学方法的局限性:1、安全聚合要求梯度为整数,不适用于大多数的CNN,2、同态加密仅针对服务器的攻击。
文章内容:
实验结果:
附录: |