专栏名称: 机器之心
目录
51好读  ›  专栏  ›  机器之心

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

机器之心  · 掘金  · AI  · 2019-12-13 02:52

正文

阅读 15

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

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

机器之心发布, 作者:Ligeng Zhu等。

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

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


  • 网站:https://dlg.mit.edu

  • 论文:https://arxiv.org/abs/1906.08935

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

背景

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

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

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

方法

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

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

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


结果

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

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







请到「今天看啥」查看全文