iDLG Improved Deep Leakage from Gradients

2023-05-16

iDLG: Improved Deep Leakage from Gradients

人们普遍认为,在分布式学习系统中,如协作学习和联合学习等,共享梯度不会泄露私人训练数据。最近,Zhu等人[1]提出了一种方法,显示了从公开共享的梯度中获得私人训练数据的可能性。在他们的Deep Leakage from Gradient(DLG)方法中,他们在共享梯度的监督下合成了假数据和相应的标签。然而,DLG在收敛和持续发现ground-truth标签方面存在困难。在本文中,我们发现共享梯度肯定会泄露ground-truth的标签。我们提出了一种简单而可靠的方法来从梯度中提取准确的数据。特别是,相对于DLG来说,我们的方法肯定能提取出真实的标签,因此我们将其命名为改进的DLG(iDLG)。我们的方法对任何用交叉熵损失训练的可微分模型都是有效的,而且是在one-hot标签上。我们从数学上说明了我们的方法如何从梯度中提取ground-truth标签,并从经验上证明了它比DLG的优势。

1 Introduction

DLG的主要思想是通过将假梯度与共享梯度相匹配来生成假数据和相应的标签。具体来说,他们以随机初始化的假数据和标签开始。从那里,他们在分布式设置中的当前共享模型上计算假梯度。通过最小化假梯度和共享真实梯度之间的差异,他们同时迭代更新假数据和标签。尽管DLG是有效的,但我们发现它不能可靠地提取地面真实标签或生成高质量的假数据。

在本文中,我们提出了一种简单但绝对有效的方法,从共享梯度中提取基础真实标签。通过推导,我们证明分类(交叉熵)损失的梯度与正确标签激活(在输出层)有关,位于(-1,0),而其他标签的梯度位于(0,1)。因此,正确标签和错误标签的梯度的符号是相反的。当输出(logits)的梯度无法获得时,我们表明最后一层权重的梯度(在输出层和它前面的层之间)也遵循这一规则。

有了这个规则,我们可以根据共享梯度来识别ground-truth标签。换句话说,通过共享用交叉熵损失训练的神经网络(NN)的梯度,肯定会泄露出ground-truth标签。这使我们能够始终提取ground-truth标签,并大大简化了DLG[1]的目标,以提取高质量的数据。因此,我们将我们的方法命名为改进的DLG(iDLG)。我们工作的主要贡献包括。

  • 通过揭示标签和梯度标志之间的关系,我们提出了一个分析程序,从共享的梯度中提取ground-truth标签,准确率达到100%,这有利于以更好的保真度提取数据。
  • 我们通过比较三个数据集上提取的标签的准确性和提取的数据的保真度,实证证明了iDLG比DLG[1]的优势。

本文的其余部分组织如下。第2节介绍了从共享梯度和拟议的iDLG方法中提取ground-truth标签的分析程序。第3节通过实验评估展示了iDLG相对于DLG的优势,第4节通过讨论总结了本文。

2 Methodology

Zhu等人[1]最近的工作提出了一种方法(DLG),从共享梯度中窃取分布式学习中参与者所保护的专有数据。在他们的方法中,他们试图通过梯度匹配目标生成假数据和相应的标签。然而,在实践中,人们发现他们的方法经常产生错误的标签。在这项工作中,我们提出了一种分析方法,从共享梯度中提取真实的标签,然后我们可以根据正确的标签更有效地提取数据。因此,我们将我们的方法命名为改进的梯度深度泄漏(iDLG)。在这一节中,我们首先介绍了提取ground-truth标签的程序。然后,我们展示了基于提取的标签的iDLG方法。

2.1 Extracting Ground-truth Labels

让我们考虑一下分类情况,NN模型一般是用one-hot标签的交叉熵损失来训练的,它被定义为

在这里插入图片描述

y = [y1, y2, …] 是输出(logit),yi表示对第i类的预测得分(置信度)。那么,每个输出的损失梯度为

在这里插入图片描述

在这里插入图片描述

然而,我们可能无法获得关于输出y的梯度,因为它们不包括在共享梯度∇W中,后者是关于模型W的权重的导数。我们发现梯度向量 ∇ W L i ∇W^i_L WLi关于连接到输出层第i个Logit的权重 W L i W^i_L WLi可以写成

在这里插入图片描述

在这里插入图片描述

当使用非负的激活函数时,例如ReLU和Sigmoid, ∇ W L i ∇W^i_L WLi g i g_i gi的符号是相同的。因此,我们可以简单地识别出其对应的 ∇ W L i ∇W^i_L WLi为负值的ground-truth标签。有了这个规则,我们就很容易从共享梯度∇W中识别出私有训练数据x的ground-truth标签c。请注意,这个规则与模型的结构和参数无关。换句话说,在任何训练阶段,从任何随机初始化的参数来看,这对任何网络都是成立的。

2.2 Improved DLG (iDLG)

基于提取的ground-truth标签,我们提出了改进的DLG(iDLG),它更稳定,更有效地进行优化。该算法在算法1中进行了说明。iDLG程序从可微调的学习模型F(x;W)开始,模型参数为W,梯度∇W根据私人训练数据(x,c)计算。第一步是从共享梯度∇W中提取ground-truth标签c’,如公式(4)所示。
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iDLG Improved Deep Leakage from Gradients 的相关文章

随机推荐

  • 使用ORB_SLAM3运行Realsense T265

    关于硬件 官网说明 使用说明 Realsense T265是一款跟踪相机 xff0c 配有两个FOV为111 7 x 108 6的广角相机 xff0c 并且带有IMU BMI055 惯性测量单元 设备内部配有vpu处理器并嵌入了建图和定位算
  • ceres-solver和g2o性能比较

    前言 ceres solver 和 g2o 是slam领域常见的优化器 xff0c 其中ceres solver被vins mono使用 xff0c 而g2o被orb slam3使用 xff0c 因此到底哪个优化器更适合于在slam算法开发
  • FreeRTOS的vTaskDelete使用说明

    FreeRTOS的vTaskDelete使用说明 函数说明 参数 xff1a xTaskToDelete 要删除的任务的任务句柄 返回值 无 说明 删除一个用函数xTaskCreate 或者xTaskCreateStatic 创建的任务 x
  • 机器学习——随机森林(Random Forest)

    1 随机森林 xff08 random forest xff09 简介 随机森林是一种集成算法 xff08 Ensemble Learning xff09 xff0c 它属于Bagging类型 xff0c 通过组合多个弱分类器 xff0c
  • 《基础知识——C和C++的主要区别》

    C和C 43 43 的主要区别 设计思想上 xff1a C 43 43 是面向对象的语言 xff0c 而C是面向过程的结构化编程语言 语法上 xff1a C 43 43 具有封装 继承和多态三种特性 C 43 43 相比C xff0c 增加
  • 数据库原理及应用(十三)E-R图、关系模式

    数据库设计的过程 数据分析 gt 数据建模 gt 关系数据库模式 gt 关系数据库管理 用户需求 gt 概念模型 E R Model gt 逻辑模型 xff08 三层结构 xff09 现实世界 gt 信息世界 gt 机器世界 概念设计工具E
  • Ubuntu数据备份与恢复工具(一)

    在我们日常工作中 xff0c 个人文件 业务数据及应用信息的备份与恢复策略是一个重要的环节 意外删除 硬件故障 操作失误 网络攻击 xff0c 甚至是自然灾害 xff0c 都可以直接或间接导不可估价的数据损失 为了避免损失 xff0c 缩少
  • 百度移动端面试回忆

    百度一面 xff1a 1 自我介绍 2 悲观锁和乐观锁 乐观锁 xff1a 总是认为不会产生并发问题 xff0c 每次去取数据的时候总认为不会有其他线程对数据进行修改 xff0c 因此不会上锁 xff0c 但是在更新时会判断其他线程在这之前
  • Quagga编译安装

    Quagga源码编译安装 1 Quagga下载 1 官网下载quagga 1 2 4 tar gz并拖入虚拟机桌面 2 解压到 opt目录下 sudo tar zxvf Desktop quagga 1 2 4 tar gz C opt 2
  • VINS-FUSION 源码 双目 单线程 按执行顺序阅读

    VINS FUSION 源码 双目 单线程 按执行顺序阅读 Keywords xff1a VINS FUSION vins 源码解读 源码梳理 vins数据结构 vinsfusion vins双目 双目vins 双目vinsfusion 双
  • 【C语言】__attribute__使用

    一 介绍 GNU C 的一大特色就是 attribute 机制attribute 可以设置函数属性 xff08 Function Attribute xff09 变量属性 xff08 Variable Attribute xff09 和类型
  • Ubuntu20.04下CUDA、cuDNN的详细安装与配置过程(图文)

    Ubuntu20 04下CUDA cuDNN的详细安装与配置过程 xff0c 亲测试可用 xff08 图文 xff09 一 NVIDIA xff08 英伟达 xff09 显卡驱动安装1 1 关闭系统自带驱动nouveau2 2 NVIDIA
  • 使用动量(Momentum)的SGD、使用Nesterov动量的SGD

    使用动量 Momentum 的SGD 使用Nesterov动量的SGD 参考 xff1a 使用动量 Momentum 的SGD 使用Nesterov动量的SGD 一 使用动量 Momentum 的随机梯度下降 虽然随机梯度下降是非常受欢迎的
  • Data Uncertainty Learning in Face Recognition

    Data Uncertainty Learning in Face Recognition 建模数据的不确定性对含噪音图像非常重要 xff0c 但对于人脸识别的研究却很少 先驱者的工作 35 通过将每个人脸图像嵌入建模为高斯分布来考虑不确定
  • ENAS代码解读

    ENAS代码解读 参考代码 xff1a https github com TDeVries enas pytorch 数据集 xff1a cifar10 main函数 xff1a span class token keyword def s
  • PC-DARTS Partial Channel Connections for Memory-Efficient Differentiable Architecture Search

    PC DARTS Partial Channel Connections for Memory Efficient Differentiable Architecture Search Abstract 可微体系结构搜索 xff08 DAR
  • deepsort代码解析

    DeepSort代码解析 项目地址 xff1a deepsort span class token keyword if span name span class token operator 61 61 span span class t
  • CBAM

    CBAM 我们提出了卷积块注意力模块 xff08 CBAM xff09 xff0c 这是一个简单而有效的前馈卷积神经网络的注意力模块 给定一个中间特征图 xff0c 我们的模块沿着通道和空间两个独立的维度依次推导注意力图 xff0c 然后将
  • onos2.0编译安装(npm install和 build问题解决)

    onos编译安装 Ubuntu16 04 1 前置下载安装 1 1 前置包安装 sudo apt get install git sudo apt get install python Oracle JDK8 sudo apt get in
  • iDLG Improved Deep Leakage from Gradients

    iDLG Improved Deep Leakage from Gradients 人们普遍认为 xff0c 在分布式学习系统中 xff0c 如协作学习和联合学习等 xff0c 共享梯度不会泄露私人训练数据 最近 xff0c Zhu等人 1