「隐语小课」一种度量联邦学习中梯度泄露程度的方法

简介: 「隐语小课」一种度量联邦学习中梯度泄露程度的方法


收录于合集

#隐语小课23

#联邦学习7

摘要

本篇文章是对顶会论文CVPR2022:《Auditing Privacy Defenses in Federated Learning via Generative Gradient Leakage》的解读,欢迎大家交流讨论。

联邦学习(FL)框架允许多个客户端在中央服务器的协调下参与学习任务,而无需交换其私有数据,从而为分布式学习系统带来了隐私优势。然而,最近的研究表明,私有信息仍然可以通过共享梯度信息泄露。为了进一步保护用户的隐私,可以通过梯度信息扰动的方法防止隐私泄露,例如在与服务器共享之前使用附加噪声或梯度压缩。在这项工作中,我们验证了在某些防御方法的保护下,借助生成性梯度泄漏(GGL),私有训练数据仍然可以泄漏。与仅依赖梯度信息重建数据的现有方法不同,我们的方法利用从公共图像数据集学习的生成性对抗网络(GAN)的潜在空间作为先验,以补偿梯度退化期间的信息损失。为了解决梯度算子和GAN模型引起的非线性问题,我们也探索了各种无梯度优化方法(例如,进化策略和贝叶斯优化),并通过实验证明了它们在从梯度重建高质量图像方面的优势,而不是基于梯度的优化器。我们希望所提出的方法可以作为一种工具,用于根据经验测量隐私泄漏量,以便于设计更稳健的防御机制。

1.问题阐述与威胁模型

对梯度进行保护的方法包括:

  • 差分隐私(differential privacy
  • 梯度裁剪(gradient clipping)
  • 梯度稀疏化(gradient sparsification)
  • 表征扰动(representation perturbation)

梯度泄露导致的问题一般包括:

  • 成员推断(membership inference
  • 特性推断(attribute inference)
  • 原始数据重构(recover raw data)

难度最高的问题就是原始数据重构,本文主要解决的问题是从扰动的梯度中重构原始数据。


1 通过梯度导致数据泄露的问题

如图1所示,图中序号1表示客户端使用自己私有数据计算的梯度,序号2表示客户端应用某些防御操作对梯度y进行扰动得到y',序号3表示攻击者利用扰动的梯度进行原始数据的重构。一般的重构方法可能很难重构从扰动的梯度中恢复出原始数据,而利用本文提出的GGL可以较好的重构出原始数据。

2 威胁模型

首先介绍一下威胁模型(Threat model)。如图2所示,客户端利用私有数据进行模型训练得到梯度信息,并使用某些梯度扰动方法对梯度进行一定程度的保护,然后把扰动梯度发送给服务器。攻击者可以在服务器端得到扰动梯度,但不知道保护梯度所采用的扰动方法;攻击者可以利用从公开数据集训练得到的模型中的知识来辅助攻击操作。

2.提出的方法

为了方便阐述,下面先用数据公式描述一下攻击操作。用x表示原始数据,用y表示梯度信息,F表示梯度计算过程,c为标签信息,fθ为联邦学习的模型。可得计算梯度的表示为

      y=F(x)      1

其中F(x)=θL(fθ(x),c)。用T表示对梯度进行有损的变换(比如压缩或者稀疏化),ε表示附加的误差信息(例如差分隐私),因此扰动的梯度为

y=T(F(x))+ε     2

D表示一种距离度量函数,ω(x)表示原始数据的先验信息或者正则项,λ表示权重系数。因此一般求解原始数据的方法表示为

x*=argmin(D(y,F(x))+λω(x))  3

受压缩感知深度生成模型成功的启发,我们利用在公共数据集上训练的生成模型作为重构原始数据的先验信息,用以确保重建的图像质量。此外,为了进一步建模产生扰动梯度的过程,我们提出了一种自适应攻击,通过估计变换T( )并将其合并到优化过程中。具体地说,给定一个训练好的生成器G( ),我们的目标是解决以下优化问题

  z*=argmin(D(y,T(F(G(z))))+λR(G,z))    4

其中z为生成网络的隐空间(latent space)矢量,为正则项来惩罚那些偏离先验信息的隐空间矢量。一旦合适的z被找到,生成器就可以根据z生成原始数据。整个求解过程如图3所示。首先根据客户端分享的梯度信息进行标签的推断,推断的标签作为条件同待优化的隐藏矢量z一起输入预训练好的图像生成器,生成器生成重构的图像,生成的图像和推断的标签作为输入送到联邦学习模型进行梯度计算,并经过梯度转化方法估计,生成扰动的梯度与真实共享的梯度进行距离度量计算损失函数,该损失函数加上正则项构成总的损失函数,采用两种优化方法进行对z的更新。

3 从扰动梯度恢复原始数据方法的框架

下面对图3中的一些细节进行阐述。首先是标签推断(Label Inference)。对于联邦学习分类任务而言,最后全连接层权重(梯度)可以表示为

其中zi为全连接层的第i个输出,值得注意的是如果全连接层前面层的激活函数为ReLU或者sigmoid,其值一直为非负值。对于训练时使用独热标签(one-hot labels)、使用交叉熵损失和softmax操作的网络模型,如果i=c其第一项将为负值。因此我们可以根据梯度信息进行标签的推断。另一个细节是对梯度转化操作(Gradient Transformation)的推断。对于梯度裁剪(gradient clipping),对于给定的裁剪界限S,对梯度裁剪为

实际中,梯度裁剪一般是逐层的方式,攻击者可以把每层扰动梯度的2范数作为估计的裁剪界限值。对于梯度稀疏化(gradient sparsification),根据设置的剪枝率(pruning rate)确定剪枝门限。由于该操作也是逐层进行的,攻击者也可以根据得到梯度的非零项百分比进行稀疏度的估计。

对于表征扰动(representation perturbation)Soteria,由于该过程是对单一全连接层输出进行的,并且是固定的操作,攻击者可以从保护层梯度的非零项中进行逆向工程就可以做到破解。梯度匹配损失可以使用两种距离度量方法,一个是2范数的平方运算,一个是余弦距离。式(4)中的正则项包括两部分,一个是基于KL散度的正则项,为了减少隐层分布与标准正态分布的KL散度,另一个是基于模值的正则项,为了惩罚远离先验分布的隐层矢量。优化策略使用两种无梯度的优化方式。一种是贝叶斯优化,一种是协方差矩阵适应演化策略。这两种策略都可以避开梯度优化算法在非凸问题中陷入局部最优值的情况。

3.实验

在图4中展示了在不同防御算法下的不同重构算法结果.

实验中的防御策略包括:

差分隐私(differential privacy)

梯度裁剪(gradient clipping)

梯度稀疏化(gradient sparsification)

表征扰动(representation perturbation)Soteria

而重构算法包括:

DLG、iDLG,IG,GI和提出的GGL,从实验结果可以看出GGL效果最好。


  图4 在不同防御算法下的不同重构算法结果

在图5中给出了不同优化策略的重构效果,包括梯度优化策略(Adam)和两种非梯度优化策略(BOCMA-ES)结果,由于梯度优化策略容易在非凸问题上陷入局部最优解,因此重构效果不如其它两种方法。

图5 梯度优化策略(Adam)和两种非梯度优化策略(BOCMA-ES)结果

4.局限性

这里讨论一下提出重构算法的局限性。如图6所示,除了文中指出的分布外图像重构结果会出现方位不同和语义缺失的现象外。另一些局限性是batchsize设置为1,如果batchsize大于1的话,可能重构会失败;另外该重构算法依赖于训练好的GAN,如果训练GAN的数据集与要重构的数据集分布差异较大,也会导致重构失败。

6 分布外图像重构结果:方位不同(左侧)和语义缺失(右侧)左右侧第1副图为原图,第2副图为重构图

5.结论

本文提出的方法,是一种利用生成模型从公共数据集中提取先验信息的方法,以改进由隐私保护产生的扰动梯度的图像重建。所提出的方法也可以作为经验隐私保护程度度量的分析工具,有助于未来隐私防御的设计。

6.参考文献

CVPR2022:Auditing Privacy Defenses in Federated Learning via Generative Gradient Leakage.

ps:文中素材来自公开发表论文,如有不妥,将立即删除

相关文章
|
人工智能 自然语言处理 安全
探秘SuperCLUE-Safety:为中文大模型打造的多轮对抗安全新框架
探秘SuperCLUE-Safety:为中文大模型打造的多轮对抗安全新框架【2月更文挑战第2天】
探秘SuperCLUE-Safety:为中文大模型打造的多轮对抗安全新框架
|
机器学习/深度学习 算法 TensorFlow
「隐语小课」深度学习下的DP-SGD
「隐语小课」深度学习下的DP-SGD
1354 0
|
消息中间件 Java Kafka
CentOS 7部署Kafka和Kafka集群
CentOS 7部署Kafka和Kafka集群 注意事项 需要启动多个shell脚本交互客户端进行验证,运行中的客户端不要停止。 准备工作: 安装java并设置java环境变量,在`/etc/profile`中加入 export JAVA_HOME=/usr/java/jdk1.
3478 0
|
前端开发 人机交互
langchain 入门指南 - ReAct 模式
langchain 入门指南 - ReAct 模式
630 1
langchain 入门指南(三)- token的计算
langchain 入门指南(三)- token的计算
723 0
|
存储 人工智能 数据库
Chroma | AI应用开发
文将详细介绍Chroma向量数据库的功能特点、适应场景,并通过Python实操演示其基本使用方法【7月更文挑战第7天】
1017 1
Chroma | AI应用开发
|
存储 开发框架 前端开发
ABP VNext框架基础知识介绍(1)--框架基础类继承关系
ABP VNext框架基础知识介绍(1)--框架基础类继承关系
|
Web App开发 测试技术 Python
【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver
【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver
406 0
|
Java 测试技术 API
使用System.currentTimeMillis获取当前时间
使用System.currentTimeMillis获取当前时间
|
机器学习/深度学习 人工智能 API
薅羊毛!阿里云免费GPU云主机畅玩AI绘画,免费领取阿里云v100显卡搭建AI绘画利器Stable Diffusion
薅羊毛!阿里云免费GPU云主机畅玩AI绘画,免费领取阿里云v100显卡搭建AI绘画利器Stable Diffusion
1847 4
薅羊毛!阿里云免费GPU云主机畅玩AI绘画,免费领取阿里云v100显卡搭建AI绘画利器Stable Diffusion

热门文章

最新文章