《Deep Leakage from Gradients》

news2024/9/27 5:42:19

Deep Leakage from Gradients

摘要

现在的分布式机器学习,或联邦学习中最常用的一种方法就是交换梯度,长期以来人们都认为交换梯度的安全的,但是本文提出从公开共享的梯度中获得私有训练数据是可能的。文章将这种泄漏命名为Deep leak from Gradient,并在计算机视觉和自然语言处理任务中进行了实验验证。最有效的防御方法是梯度剪枝。

介绍

联邦学习(分布式机器学习)无需上传用户数据而只需要上传用户模型参数。最近的一些研究表明梯度可以揭示训练数据的一些属性,例如属性分类器以及使用生成对抗网络生成与训练图像相似的图像。

在这项工作中,坐着证明了来自梯度的深层泄漏(DLG):共享梯度会泄漏私人训练数据。

为了执行攻击,我们首先随机生成一对“虚拟”输入和标签,然后执行通常的向前和向后操作。从虚拟数据导出虚拟梯度后,我们对虚拟输入和标签进行优化,使虚拟梯度与真实梯度之间的距离最小化。梯度匹配使虚拟数据与原始数据接近。当优化完成时,私有训练数据(包括输入和标签)将被充分显示出来。

就是生成一对随机的图片-标签,然后丢入模型训练,这时候损失是生成的梯度与实际的梯度之间的损失。根据这个损失反向传播对图片和标签进行反向传播。

在这里插入图片描述

本文演示了三种防御策略:梯度扰动、低精度和梯度压缩。对于梯度扰动,我们发现尺度大于 1 0 − 2 10^{-2} 102的高斯和拉普拉斯噪声都是一种很好的防御方法。在半精度无法保护的情况下,梯度压缩成功地抵御了攻击,剪枝梯度大于20%。

相关技术

1. 分布式机器学习

将训练过程分布,例如将数据集拆分到不同机子上,将一个epoch分在多个机子上训练,都训练完后聚合一下计算梯度。

分布式机器学习分为集中式和非集中式,对于集中式模式,首先聚合梯度,然后将其传递回每个节点。对于分散模式,梯度在相邻节点之间交换。

2. “浅”梯度泄露

例如,语言任务中的嵌入层只对训练数据中出现的单词产生梯度,从而揭示其他参与者的训练集中使用过哪些单词。由于模棱两可,很难对原句进行推断。另一种情况是全连接层,梯度更新的观察可以用来推断输出的特征值。但是,这不能扩展到卷积层,因为特征的大小远远大于权值的大小。
在梯度上训练的二分类器能够确定是精确的数据记录还是具有特定属性的数据记录包含在其他参与者的“批处理”中。此外,训练GAN模型,合成图像看起来与梯度训练数据相似,但攻击是有限的,只有当所有类成员看起来相似(如人脸识别)时才有效。

方法

在这里插入图片描述
有一个客户端正常训练模型,得到了梯度,这个梯度差被恶意获取了,这个恶意用户通过产生随机数据训练模型,同样得到一个梯度,恶意用户通过计算梯度之间的损失 D \mathcal{D} D来修改自己的数据,就是上图中   ∂ D / ∂ X \ \partial \mathcal{D}/\partial X  D/X ∂ D / ∂ Y \partial \mathcal{D}/\partial Y D/Y
在这里插入图片描述

3.1 利用梯度匹配训练数据泄漏

很简单的两个公式就是:

  1. 计算得到假数据的模型梯度:
    在这里插入图片描述
  2. 计算梯度差,用于反向传播
    在这里插入图片描述

3.2 成批数据的梯度泄露

看完上面的示例,有人就会问了,这就生成一个x用来训练模型,万一提交的梯度是一个batch的数据生成的呢?x如果是一个batch的数据还原出来的数据会是什么样子的?有单张图片得到的梯度还原效果那么好吗?

作者在文中说,确实是这样,具体原因可能是:批处理的数据可以有N!种不同的排列,从而使优化器难以选择梯度方向。作者提出的解决方式是,一个一个标签和数据来训练,一次只训练一个批次的一个输入。
在这里插入图片描述

实验

PASS

防御方法

  1. 噪声 or 降低精度 But 模型性能 下降
  2. 梯度压缩与稀疏化
    剪枝:将更新不太大的参数更新降低到0
  3. 大批量、高分辨率和密码学
    批量一大,还原数据的计算代价变大,论文里说目前只支持到batch_size为8,图片大小64*64的情况。
    [安全聚合] and [同态加密]

总结

本文引入了一种从梯度中获取局部训练数据的算法——Deep leak from Gradients (DLG)。DLG不依赖于任何生成模型或额外的先验数据。我们在视觉和语言任务上的实验都证明了这种深度泄漏的关键风险,并表明只有当防御策略开始降低准确性时,这种深度泄漏才能被防止。这对现代多节点学习系统(如分布式训练、联合学习)提出了挑战。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/809423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PDPS教程:导出带颜色的JT格式2D布局图文件的另一种方法

目录 概述 布局图平面化与边缘化处理 导出为JT格式文件 JT格式文件查看 概述 在PDPS软件中导入机器人生产线或工作站2D布局图之前,要先将布局图文件转换为JT格式。 使用Crossmanager软件转换出来的2D布局图文件会将图形元素原有的颜色自动修改为黑白颜色&…

源码学习初章-基础知识储备

文章目录 学前准备源码地址引言extern "C" 宏定义平台宏跨平台宏vstdio平台禁用警告宏 连接、双层宏定义函数宏系统函数宏自定义函数宏多语句执行宏do while0 普通宏定义 C的一些必备函数知识回调函数和函数指针回调函数wireshark-4.0.7源码例子函数指针wireshark4.0…

Flutter-基础Widget

Flutter页面-基础Widget 文章目录 Flutter页面-基础WidgetWidgetStateless WidgetStateful WidgetState生命周期 基础widget文本显示TextRichTextDefaultTextStyle 图片显示FlutterLogoIconImageIamge.assetImage.fileImage.networkImage.memory CircleAvatarFadeInImage 按钮R…

视频号私信关注引流脚本实操演示教学,分享几个微信视频号引流推广的方法

大家好,我是小刘互联网思维。最近视频号越来越火,所以很多人或者小团队也都盯上了这个新兴市场。有人选择手动引流,就一定有人想软件引流,有些朋友就私信问我这个软件引流要怎么操作,接下来我就为大家简单讲解视频号脚…

【数据结构】【王道408】——PPT截图与思维导图

自用视频PPT截图 视频网址王道B站链接 23考研 408新增考点: 并查集,红黑树 2023年408真题数据结构篇 408考纲解读 考纲变化 目录 第一章 绪论第二章 线性表顺序表单链表双链表循环链表静态链表差别 第三章 栈 队列 数组栈队列栈的应用数组 第四章 串第五…

RustDesk 1.2 现已发布

RustDesk 1.2 现已发布,此版本采用 Flutter 重写桌面版本,支持 Wayland 被控。 一些值得关注的变化有: 用 Flutter 重写支持 ipv6(Beta)增加一次性密码QuickSupport (Beta)硬件编解码器 H264 /…

支持向量机(iris)

代码: import pandas as pd from sklearn.preprocessing import StandardScaler from sklearn import svm import numpy as np# 定义每一列的属性 colnames [sepal-length, sepal-width, petal-length, petal-width, class] # 读取数据 iris pd.read_csv(data\\i…

MicroPython动手做(14)——掌控板之OLED屏幕

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

win10安装vs6行号插件

插件包名:win10 VC6LineNumberAddin 下载包: 链接: https://pan.baidu.com/s/13T-NAxQQDcA_K1hHJQ0vWw?pwdbe3r 提取码: be3r 修改reg为以下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\DavidHowe Software\Lie…

想要零起步做跨境电商,可以试试这7个步骤!

近几年,跨境电商行业在不断的高速发展。国家政策的支持,行业的迅猛发展,使得跨境电商成为我国经济发展中的一匹黑马,不仅业务呈爆发式增长,我国跨境电商也逐步实现了“买全球卖全球”的愿望。 想要零起步做跨境电商&a…

linux学习(gbd进程)[5]

gdb set var i n #可设置变量值进程 冯诺依曼结构

LabVIEW使用灰度和边缘检测进行视频滤波

LabVIEW使用灰度和边缘检测进行视频滤波 数字图像处理(DIP)是真实和连续世界的离散表示。除此之外,这种数字图像在通信、医学、遥感、地震学、工业自动化、机器人、航空航天和教育等领域变得非常重要。计算机技术越来越需要视频图像的数字图…

一文讲解开发中的命名规范

命名规范 好的代码本身就是注释, 所以我们需要统一命名风格。 ​ 在本文中,将从大到小,从外到内,总结Java编程中的命名规范。文中将会涉及到日常工作中常见的命名示例,如包命名,类命名,接口命名&#xff0c…

java+springboot+mysql智慧办公OA管理系统

项目介绍: 使用javaspringbootmysql开发的智慧办公OA管理系统,系统包含超级管理员,系统管理员、员工角色,功能如下: 超级管理员:管理员管理;部门管理;职位管理;员工管理…

传输层中一些零碎且易忘的知识点

端口号:共两个字节 不同类型的端口号: 服务端端口号 熟知端口号:0~1023登记端口号:1024~49151 客户端使用端口号(短暂/临时端口号):49152~65535 要记得常见应…

Linux之Shell 编程详解(一)

第 1 章 Shell 概述 1)Linux 提供的 Shell 解析器有 [atguiguhadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /bin/tcsh /bin/csh2)bash 和 sh 的关系 [atguiguhadoop101 bin]$ ll | grep bash -rwxr-xr-x. 1 root root …

EIP-2535 Diamond standard 实用工具分享

前段时间工作对接到了这标准的协议,于是简单介绍下这个标准分享下方便前端er使用的调用工具 一、标准的诞生 在写复杂逻辑的solidity智能合约时,经常会碰到两个问题,升级和合约大小限制。 升级目前有几种proxy模式,通过delegateca…

Minio在windows环境配置https访问

minio启动后,默认访问方式为http,但是有的时候我们的访问场景必须是https,浏览器有的会默认以https进行访问,这个时候就需要我们进行配置上的调整,将minio从http访问升级到https。而查看minio的官方文档,并…

基于Fringe-Projection环形投影技术的人脸三维形状提取算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .................................................................... figure; imshow(Im…

JavaScript高级——ES6基础入门

目录 前言let 和 const块级作用域模板字符串一.模板字符串是什么二.模板字符串的注意事项三. 模板字符串的应用 箭头函数一.箭头函数是什么二.普通函数与箭头函数的转换三.this指向1. 全局作用域中的 this 指向2. 一般函数(非箭头函数)中的this指向3.箭头…