Ligeng Zhu等作者

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

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

研究人员将此命名为深度梯度泄漏(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 展现的泄漏程度远远强于以往的「浅」泄漏算法。

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

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

防御

深度梯度泄漏(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)的有效手段。

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

理论MIT数据安全梯度
4
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

迭代 技术

模型的权重在训练期间的一次更新。迭代包含计算参数在单个批量数据上的梯度损失。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

联邦学习技术

如何在保护数据隐私、满足合法合规要求的前提下继续进行机器学习,这部分研究被称为「联邦学习」(Federated Learning)。

推荐文章
暂无评论
暂无评论~