梯度会泄漏训练数据?MIT新方法从梯度窃取训练数据只需几步

简介: 梯度交换是现代多机训练常用的通讯方式(分布式训练,联邦学习)。长期以来,人们认为梯度是可以安全共享的,即训练数据不会因梯度交换而泄漏。但是 MIT 的一项研究表明,隐私的训练数据可以通过共享的梯度来获取。

梯度交换是现代多机训练常用的通讯方式(分布式训练,联邦学习)。长期以来,人们认为梯度是可以安全共享的,即训练数据不会因梯度交换而泄漏。但是 MIT 的一项研究表明,隐私的训练数据可以通过共享的梯度来获取。


研究人员将此命名为深度梯度泄漏(Deep Leakage from Gradients),并在计算机视觉和自然语言处理任务上进行了验证。实验结果表明,他们的攻击比以前的方法要强大得多,在各种数据集和任务上,DLG 只需几个梯度步骤即可完全恢复训练数据。对于图像,他们的方法可以实现像素(pixel)级别的恢复;对于文本,可以达到词条(token)级别的匹配。


该论文已经被 NeurIPS 2019 接受。研究者希望通过这篇工作引起大家的警惕并重新考虑梯度的安全性。他们还在论文中讨论了防止这种深度泄漏的几种可能策略,其中最有效的防御方法是梯度压缩


微信图片_20211202144039.jpg



此外,他们还将在 NeurIPS 2019 大会上介绍这项工作。


背景


在协同学习 (collabrative learning) 和联邦学习 (federated learning) 中,每个用户的数据始终储存在本地,仅有模型的梯度在不同设备之前传播。这类算法不需要将数据集中到一处,可以在保护用户隐私的同时,也让模型从海量数据中受益。例如多家医院可以共同训练一个医疗模型而无需共享患者的医疗数据。


然而,「梯度共享」方案是否真的可以保护参与者的私人数据?在大多数情况下,人们认为梯度是可以安全共享的:因为数值形式的梯度并没有直接包含有意义的训练数据。最近的一些研究指出,梯度揭示了训练数据的某些属性(例如是否戴眼镜)。在这篇文章中,研究者考虑了一个更具挑战性的案例:我们可以从梯度中窃取完整训练数据吗?传统观点认为答案是否定的,但 MIT 的研究表明这实际上是可行的。


与之前研究中的弱攻击(使用类标签的属性推断和生成模型)相比,这种深度梯度泄漏是第一次被讨论并给现有的多节点机器学习系统带来了挑战。如果是带参数服务器(Parameter server)的训练(下图左侧),中心服务器能够窃取所有参与者的隐私数据。对于无参数服务器的训练(下图右侧),情况甚至更糟,因为任何参与者都可以窃取其相邻节点的训练数据。研究者在视觉(图像分类)和语言任务(隐蔽语言模型)上的验证了攻击的有效性。在各种数据集和任务上,DLG 只需几个梯度步骤即可完全恢复训练数据。


微信图片_20211202144117.jpg


方法


在这项工作中,研究者提出深度梯度泄漏算法(DLG):公开的梯度会泄漏个人的隐私数据。他们提出了一种优化算法,只需几次迭代即可从梯度中获得训练输入和标签。


为了进行攻击,研究者首先随机生成一对「虚拟的」输入和标签(dummy data and label),然后执行通常的前向传播和反向传播。从虚拟数据导出虚拟梯度之后,他们没有像传统优化那样更新模型权重,而是更新虚拟输入和标签,以最大程度地减小虚拟梯度和真实梯度之间的差异。当攻击结束后,私人数据便完全暴露了出来。值得注意的是,整个过程不需要训练数据集的任何额外信息。


微信图片_20211202144150.jpg


上图中的 ||∇w' - ∇w|| 对于虚拟数据和标签可导,因此可以使用标准梯度下降方法来优化。请注意,此优化需要二阶导数(梯度的导数)。因此假设模型是两次可微。这适用于大多数现代机器学习模型(例如大多数神经网络)和任务。实现该算法并不难,只要选择的平台支持二阶导数即可。此处,研究者选择 PyTorch 作为实验平台,并提供一个仅需 20 行代码的实现


微信图片_20211202144204.jpg


结果


研究者在常用的图片分类任务和语言模型上测试了该深度泄漏的效果。在图片分类任务上,他们观察到具有干净背景(MNIST)的单色图像最容易恢复,而像人脸这样的复杂图像则需要更多的迭代来恢复(下图)。优化完成后,尽管有一些可见的噪声点,但恢复结果基本与原始数据相同。


微信图片_20211202144221.jpg


image.gif


在视觉上,他们比较了其他泄漏算法与 DLG。先前方法 (Melis et al) 基于 GAN 模型。在 SVHN 上,虽然泄漏的结果还可依稀识别出是数字「9」,但这已不是原始训练图像。LFW 的情况更糟,CIFAR 上则完全失败。DLG 展现的泄漏程度远远强于以往的「浅」泄漏算法。


在语言模型上,研究者选用最近流行的 BERT 模型作为实验平台。不同于图像模型的连续输入,语言模型的文字输入往往是离散的。因此他们将 DLG 应用在词条(Token)上,在还原出词条之后再去反向推断原句的构成。他们从 NeurIPS 主页上选取了三句话作为实验对象。


与视觉任务类似,他们从随机初始化的嵌入开始:迭代 0 处的反向查询结果毫无意义。在优化过程中,虚拟词条产生的梯度逐渐向原始词条产生的梯度靠拢。在之后的迭代中,部分原句中的单词逐渐出现。在下表的例 3 中,在第 20 轮迭代中,出现了「annual conference」,在第 30 轮迭代中,得到了与原始文本非常相似的句子。尽管有少部分由于分词本身歧义引起的不匹配,但是原始训练数据的主要内容已经完全泄漏。


微信图片_20211202144231.jpg



防御


深度梯度泄漏(DLG)的攻击程度是之前从未讨论过的。因此,MIT 的研究者也测试了几种防御的方法。


他们们首先实验了梯度扰动(Noisy gradients)并尝试了高斯噪声(Gaussian noise)和拉普拉斯噪声(Laplacian noise)。如下图所示,防御并不是很理想:只有在噪声大到使准确率降低时(> 10^-2),该策略才能够成功防御深度梯度泄漏(DLG)。


他们也测试了低精度梯度对于深度梯度泄漏(DLG)的防御效果。遗憾的是两种常用单精度格式(IEEE Float 16, B Float 16)都不能阻止泄漏。8-bit 数据虽然能阻止该泄漏,然而模型的性能却也明显降低。在多种尝试后,他们发现最有效的防御方法是梯度压缩,只要稀疏性大于 20% 即可成功防御。DGC(Lin 2017)的研究表明可以在梯度的稀疏性达到 99% 以上时,依旧训练出性能相近的模型。因此,压缩梯度是一种对抗深度梯度泄漏(DLG)的有效手段。


微信图片_20211202144257.jpg

微信图片_20211202144323.jpg


他们将在 NeurIPS 2019 大会上介绍这项工作,Poster Session 将在温哥华当地时间 5pm 到 7pm 在 East Exhibition Hall B + C 154 号展位进行,欢迎感兴趣的老师、同学、工业界同事前去交流。



相关文章
|
7月前
|
测试技术
goldfish loss:减少训练数据泄漏,提高大语言模型输出的多样性
LLMs(大型语言模型)能够记忆并重复它们的训练数据,这可能会带来隐私和版权风险。为了减轻记忆现象,论文作者引入了一种名为"goldfish loss"的微妙修改,在训练过程中,随机抽样的一部分标记被排除在损失计算之外。这些被舍弃的标记不会被模型记忆,从而防止模型完整复制训练集中的一整个标记序列。
99 3
|
3月前
|
机器学习/深度学习 存储 人工智能
梯度累积的隐藏陷阱:Transformer库中梯度累积机制的缺陷与修正
在本地微调大规模语言模型时,由于GPU显存限制,通常采用梯度累积技术来模拟大批次训练。然而,实际研究表明,梯度累积方法在主流深度学习框架中会导致模型性能显著下降,尤其是在多GPU环境中。本文详细探讨了梯度累积的基本原理、应用场景及存在的问题,并通过实验验证了修正方案的有效性。研究指出,该问题可能在过去多年中一直存在且未被发现,影响了模型的训练效果。
197 4
梯度累积的隐藏陷阱:Transformer库中梯度累积机制的缺陷与修正
|
3月前
|
机器学习/深度学习 存储 监控
揭秘微调‘失忆’之谜:如何运用低秩适应与多任务学习等策略,快速破解灾难性遗忘难题?
【10月更文挑战第13天】本文介绍了几种有效解决微调灾难性遗忘问题的方法,包括低秩适应(LoRA)、持续学习和增量学习策略、记忆增强方法、多任务学习框架、正则化技术和适时停止训练。通过示例代码和具体策略,帮助读者优化微调过程,提高模型的稳定性和效能。
105 5
|
8月前
|
数据挖掘 计算机视觉
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
567 1
|
7月前
|
机器学习/深度学习 算法 网络架构
**深度学习中的梯度消失与爆炸影响模型训练。梯度消失导致输入层参数更新缓慢,梯度爆炸使训练不稳。
【6月更文挑战第28天】**深度学习中的梯度消失与爆炸影响模型训练。梯度消失导致输入层参数更新缓慢,梯度爆炸使训练不稳。解决办法包括:换激活函数(如ReLU)、权重初始化、残差连接、批量归一化(BN)来对抗消失;梯度裁剪、权重约束、RMSProp或Adam优化器来防止爆炸。这些策略提升网络学习能力和收敛性。**
71 0
|
8月前
|
机器学习/深度学习 数据采集 算法
|
8月前
|
机器学习/深度学习 数据可视化
数据分享|R语言生存分析模型因果分析:非参数估计、IP加权风险模型、结构嵌套加速失效(AFT)模型分析流行病学随访研究数据
数据分享|R语言生存分析模型因果分析:非参数估计、IP加权风险模型、结构嵌套加速失效(AFT)模型分析流行病学随访研究数据
|
8月前
|
机器学习/深度学习 自然语言处理 算法
【大模型】关于减轻 LLM 训练数据和算法中偏差的研究
【5月更文挑战第6天】【大模型】关于减轻 LLM 训练数据和算法中偏差的研究
|
8月前
|
机器学习/深度学习
大模型开发: 解释批量归一化以及它在训练深度网络中的好处。
批量归一化(BN)是2015年提出的加速深度学习训练的技术,旨在解决内部协变量偏移、梯度消失/爆炸等问题。BN通过在每层神经网络的小批量数据上计算均值和方差,进行标准化处理,并添加可学习的γ和β参数,保持网络表达能力。这样能加速训练,降低超参数敏感性,对抗过拟合,简化初始化。BN通过稳定中间层输入分布,提升了模型训练效率和性能。
199 3
|
机器学习/深度学习 数据处理 数据格式
【MATLAB第12期】基于LSTM长短期记忆网络的多输入多输出回归预测模型思路框架,含滑动窗口, 预测未来,单步预测与多步预测对比,多步预测步数对预测结果影响分析
【MATLAB第12期】基于LSTM长短期记忆网络的多输入多输出回归预测模型思路框架,含滑动窗口, 预测未来,单步预测与多步预测对比,多步预测步数对预测结果影响分析

相关实验场景

更多