联邦学习的梯度重构

梯度泄露的攻击方法:深度泄露梯度(DLG)——>在高度压缩的场景下是失效的

原因:梯度压缩(可减小通信开销)——>存在信息损失<——从而DLG方法效果有限

但是这本身存在的信息损失怎么解决呢?会对所要达成的目标有影响吗?

揭示在梯度压缩防御设置下攻击者可获取多少隐私数据

度量的标准是什么呢?

在高度压缩的场景下梯度泄露攻击的方法:

  • 基于属性推断的梯度泄露攻击:攻击者从共享梯度推断出原始私有训练数据的具体属性,以此作为先验信息补偿进行梯度泄露攻击

基于属性推断的梯度泄露攻击是一种针对深度学习模型的攻击方式。在这种攻击中,攻击者利用模型在训练过程中泄漏的梯度信息,推断出训练数据中包含的具体属性这些属性可以包括性别、年龄、种族等等,攻击者利用这些属性作为先验信息,进一步进行攻击,例如针对特定群体的歧视性攻击。
梯度泄露是指在训练深度学习模型时,模型参数的更新算法会使用到训练数据的梯度信息。这些梯度信息包含了训练数据中的敏感信息,如果这些信息被攻击者获取,就可以用来推断出训练数据的具体属性。基于属性推断的梯度泄露攻击就是利用这种泄露的梯度信息,对训练数据进行推断,从而获取其中的具体属性。
这种攻击方式对深度学习模型的安全性造成了严重威胁。为了防止这种攻击,研究人员提出了一些防御方法,例如对抗训练、梯度掩盖等。这些方法可以增加模型的鲁棒性,防止攻击者利用梯度信息进行属性推断攻击

攻击者首先准备一个辅助数据集,该数据集中包含数据- 属性对;然后,攻击者将这些数据输入联邦学习的全局模型中 (这个全局模型是如何获得呢) ,从而获得梯度- 属性对;最后,攻击者使用这些梯度 - 属性对来训练一个判别网络。在攻击阶段,攻击者只需要将捕获的梯度输入到已训练好的判别网络中,即可推断私有训练数据属性。
  • 基于特征推断的梯度泄露攻击:在基于属性推断的梯度泄露攻击失效的情况下,攻击者从共享梯度推断出原始训练数据的低维向量表征,以此作为先验信息补偿进行梯度泄露攻击

这种攻击方法将梯度信息视为一种泄露的信号,通过分析这个信号,攻击者可以获取到训练数据中的有用信息。
在这种攻击中,攻击者利用梯度信息推断出原始训练数据在某个低维空间中的表征。这个低维空间可能是一个由模型学到的特征空间,或者是一个由攻击者预先设定的空间。攻击者利用推断出的低维向量表征作为先验信息,进一步进行攻击。
基于特征推断的梯度泄露攻击相对于基于属性推断的梯度泄露攻击更加复杂,因为它需要攻击者对模型的内部结构有一定的了解。

  • 基于特征生成的梯度泄露攻击:在此方法中,攻击者进一步改进了基于特征推断的梯度泄露攻击,从共享梯度中推断出原始数据的特征后,利用该特征生成一张初始化图像,以此作为先验信息补偿进行梯度泄露攻击

基于特征推断的梯度泄露攻击和基于特征生成的梯度泄露攻击都是针对深度学习模型的攻击方式。这两种攻击方式的主要目标是推断出原始训练数据的特征,并利用这些特征进行攻击。不同之处在于,基于特征生成的梯度泄露攻击在推断出原始数据的特征后,进一步生成了一个初始化图像,作为先验信息进行梯度泄露攻击。
在这两种攻击方法中,攻击者首先需要从共享的梯度信息中推断出原始数据的特征。这些特征可以被看作是原始数据在某个特征空间中的表示。然后,攻击者利用这些推断出的特征生成一张初始化图像。这个初始化图像可以作为先验信息,帮助攻击者更好地进行梯度泄露攻击。
基于特征生成的梯度泄露攻击的优点在于,它不仅可以推断出原始数据的特征,还可以生成一个初始化图像。这个初始化图像可以作为攻击者的参考,使得攻击者更容易地进行梯度泄露攻击。

  • 基于梯度生成的梯度泄露攻击:为了解决前三种攻击方式重构效率较低且不适用于批量数据重构的问题,该方法中的攻击者直接利用生成网络从共享梯度中生成一张图像,以此直接 作为私有数据重构结果。(我咋理解这个方法就是类似于DLG方法呀

基于梯度生成的梯度泄露攻击是针对深度学习模型的一种攻击方式。与基于特征推断的梯度泄露攻击和基于特征生成的梯度泄露攻击不同,基于梯度生成的梯度泄露攻击直接从共享的梯度信息中生成一张图像,作为私有数据重构的结果
这种攻击方法的优点在于,它可以直接从共享梯度中生成一张图像,而不需要进行特征推断或生成初始化图像。这意味着攻击者可以更有效地利用梯度信息进行数据重构。此外,这种攻击方法还可以应用于批量数据重构,而不仅仅是对单个数据点进行重构。
然而,需要注意的是,基于梯度生成的梯度泄露攻击仍然依赖于梯度信息,因此,它也可能会受到梯度泄露防御方法的抵抗。为了防止这种攻击,研究人员需要开发新的防御方法,以提高模型的安全性和鲁棒性

视觉效果客观数值指标进行验证

联邦学习中的梯度出现挑战:

  1. 暴露原始训练数据的某些属性
  2. 利用生成对抗网络生成与私有训练图像类似的图片
尽管许多研究已经证实从梯度中重构原始数据的可能性 ,这些研究通常基于一个前提假设, 即用户上传的梯度是全梯度。
联邦学习系统更倾向于使用梯度压缩方法 ,以降低通信带宽,即上传高度压缩的梯度。这将使得基于全梯度的数据重构攻击算法可能失效。
在高压缩的情况下攻击方是如何从梯度中复原数据?
生成对抗网络(模型反演攻击,MIA):没有利用共享的梯度信息,而是只用了最后训练好的全局模型参数信息,因此这种类型的攻击 只有当每个类下的所有数据分布基本一致时才有效, 每一类下的图像分布差异很大的时候则会导致重构的图像缺乏细节或与原始数据的感知相似性极低
DLG 基于这样一个假设,如果两个数据产生的梯度越相似,则这两个数据本身也是越相似的
iDLG:共享梯度中会泄露原始数据的标签;标签被提取出后,攻击的过程就不需要再更新标签了,只需要不断优化初始的虚假图像,从而减小了搜索空间,加速了收敛过程。但他们的做法缺陷在于只能推断当批大小 (Batch Size) 为 1 时的真实标签,而当批大小大 1 时则无法推断了。
梯度的批量标签泄漏 (LLG) 方法:从共享梯度中获得用户批量训练数据标签的攻击。LLG利用梯度的方向和大小来确定一个标签的存在或不存在,并且可以很好地扩展到任意批大小和多个类的主任务中,LLG 可以在当批大小为 128 时,标签推断的准确率达到 90% 以上。
IG :  DLG 中优化目标中的距离表示从欧式距离变成了余弦相似性,并且对虚假数据进行了正则惩罚。此外,IG 的目标函数中对不同层的梯度设置了不同的权重优化器也从 DLG 中的 LBFGS 改为了 Adam 优化器。他们通过实验证实了这样的设置可以产生比 DLG 更好的重构结果并且支持批量数据重构。
虚假数据的定义标准是什么?
STG:进一步对损失函数(优化目标)进行了改进在目标函数中加入了更多的正则项(包括了对网络批归一化层的规范化),同时并行开启多个独立的优化过程,最终把不同优化过程得到的结果进行配准得到最终的重构图像。实验结果表明他们的方法可以在更大批大小下恢复出高分辨率的图像,但大部分恢复的图像与原始图像依然存在细节上的差异,甚至出现位置错位的问题,其真实的恢复率只有 28%
在辅助数据集中预先训练一个生成器作为先验,然后不断优化生成器的输入,使得其产生的图像所对应的梯度与真实的梯度不断接近,该方法不但引入了先验,且大大降低了搜索空间,从而提高了优化效率和重构质量
先随机初始化一张噪点图像,然后再不断对其进行优化
上传更新后的模型参数本身仍会存在泄露:两个新的框架 (DLM 和 DLM+) 证明了在联邦学习场景下,传输模型权重也同样可能泄露参与方的私有训练数据
基于解析的梯度泄露攻击:不基于优化的方案来从梯度中窃取原始的私有训练数据;相比于基于优化的攻击最大的区别在于它是有闭式解的,因此,攻击推理速度上也是要快于基于优化的方法
基于优化的攻击方法通常需要通过不断的迭代和调整来寻找最佳解决方案,而基于闭式解的攻击则直接提供一个明确的解决方案。
闭式解是指一个问题的解决方案可以通过一组明确的数学表达式或算法来表示。这意味着,一旦我们有了问题的具体条件,就可以直接计算出解决方案,而不需要进行进一步的优化或调整。
闭式解是指一个问题的解决方案可以通过一组明确的数学表达式或算法来表示。这意味着,一旦我们有了问题的具体条件,就可以直接计算出解决方案,而不需要进行进一步的优化或调整。
提出了通过仿射函数的输入可以直接从其权值和偏差的梯度中来计算获得
局限性:在于它只能在批大小为 1 的场景下对数据进行重构,而对于批大小大于 1 的场景,则仅能
重构出一张非自然图像,该图像中的每个像素为批数据中所对应像素点的平均值, 因此这导致该方法在大多现实联邦学习场景(即,训练过程的批大小大于 1)中是无法使用的。
该方法的另外一个前提是输入必须一开始经过一个全连接层, 因此如果要恢复图像数据是基本上不可行的
高度压缩梯度的联邦学习场景下的敌手优化目标:
旨在适应梯度被高度压缩的攻击场景,并使压缩后的虚假梯度与捕获的梯度之间的距离最小化。
基于属性推断的梯度泄露攻击方法 ,该方法通过预先从梯度中推断出原始数据的属性来弥补梯度压缩所带来的信息损失。敌手首先从压缩的梯度中推断出原始图像的属性,然后在辅助数据集中搜索一条与推断属性最接近的图像,并以此作为初始化的虚假数据。随后,通过不断优化该虚假图像来逼近原始的真实图像。
基于属性推断的梯度泄露攻击方法增加了先验,更好地弥补了梯度压缩导致的信息损失。

基于特征的梯度泄露攻击方法:基于特征推断的攻击方法,它可以从梯度中推断出原始数据的特征,并自动提取辅助数据集中的抽象特征,避免了对手动标注的二元属性值的需求。

第二种方法是基于特征生成的攻击方法,它可以利用从梯度中预先推断出的特征来生成图像,并扩大了虚假图像的空间,使得初始化虚假图像更有希望接近原始的真实图像,进而提高图像的重构效果。

基于梯度生成的梯度泄露攻击方法:该方法不需要通过特征推断来生成虚假图像,而是使用基于解析的方法从全连层的梯度中推断出原始的特征图,再将其输入一个预先训练好的生成网络,直接产生原始的图像数据。
DLG在原始论文中提出了一种较好的防御方式,即使用 topK 算法对梯度进行压缩,且当压缩率低于 70%(全文中所提到的梯度压缩率均定义为保留的梯度数与原始总梯度数的比例)时,DLG 基本上将完全失效。
  1. 参数服务器由于仅有模型聚合和分发的功能,它无法知道模型每个神经元所对应的真实标签是什么。
  2. 敌手不可能事先拥有与私有训练数据分布一致的辅助数据。
设计了一种从压缩的梯度中推断原始数据属性的方法。在该方法中, 敌手需要准备大量包含原始数据本身及其属性值的辅助数据集,并在该数据集上训练多个属性推断模型 ,其中每个推断模型均为二分类模型 (这样的假设也是不合理的呀)
属性相似性度量指标,该指标结合了属性推断模型的输出分类置信值与模型本身的曲线下面积 (Area Under The Curve, AUC),从而给两个属性向量进行打分。分数越高表示两个属性向量越
接近。在攻击阶段,敌手先通过梯度推断出原始数据的 N 个属性得分,然后再利用属性相似性度量指标对推断的属性向量与辅助数据集中的人为标注的属性向量进行两两比较,并选取出得分最高的标注属性向量所对应的图像作为虚假初始化图像
参数服务器需要了解以下信息:首先,它需要知道要训练的全局模型的神经网络结构以及每次迭代模型训练后对应的参数,即可以获取当前的联邦学习模型以及各个参与方的共享梯度。
合理的优化目标应该是敌手通过不断优化一张虚假图像,使其产生的虚假梯度经过与参与方一致的压缩算法后得到的梯度与捕获梯度(压缩的真实梯度 g c t)的相似度。当此相似度很高时,即可认为此时的虚假数据为最终重构的结果。
梯度压缩本身是一个不可微的操作,以 topK 这种较为流行的压缩算法为例,它直接将低于某阈值的值置为 0 ,而为了优化虚假图像使其产生的压缩梯度与捕获梯度越来越相似,优化目标必须是二阶可微的,而直接置 0 的运算是一个不可微的过程。
梯度压缩是一种用于减少神经网络训练中梯度消失或梯度爆炸问题的技术。然而,梯度压缩本身是一个不可微的操作,因为它不满足链式法则。

在梯度压缩中, 通常会使用一种阈值来决定哪些梯度值需要被压缩。topK 是一种流行的压缩算法,它会将低于某个阈值的梯度值置为 0。这种操作是不可微的,因为它直接将梯度值设置为 0,而不是通过一个可微的函数来压缩梯度。

如果优化目标是使压缩后的梯度与原始梯度尽可能相似,那么这个优化目标必须是二阶可微的。这是因为梯度消失或梯度爆炸问题通常与一阶导数有关,而二阶导数可以提供更丰富的信息来优化梯度。然而,直接将梯度值置为 0 的操作不满足二阶可微性,因此可能会导致优化困难。

因此,如果要使用梯度压缩来解决梯度消失或梯度爆炸问题,那么需要选择一种可微的压缩算法,或者使用其他技术来增加梯度的信息量。

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

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

相关文章

深入解析docker内核网桥

今天做虚拟桌面&#xff0c;朋友问我&#xff0c;为什么vnc 连接另一个docker 容器一直超时&#xff0c;原因是在docker 启动的时候没有组网&#xff0c;那么接下来我就要解析下docker的内核网络。 我们思考几个问题&#xff0c;带你了解linux 中docker 网络实现的基本原理。 文…

【Java基础面试四十六】、 List<? super T>和List<? extends T>有什么区别?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;问题 参考答案&#x…

计算机算法分析与设计(15)---贪心算法(虚拟汽车加油问题和最优分解问题)

文章目录 一、虚拟汽车加油问题1.1 问题描述1.2 思路分析1.3 代码编写 二、最优分解问题2.1 问题描述2.2 思路分析2.3 代码编写 一、虚拟汽车加油问题 1.1 问题描述 一辆虚拟汽车加满油后可行驶 n n n km。旅途中有若干加油站。设计一个有效算法&#xff0c;指出应在哪些加油…

MyBatisPlus实现连表操作、批量处理

1、实现连表查询 正常来说单靠mybatisplus无法实现连表查询&#xff0c;只能靠单表sql然后进行拼接形成连表查询&#xff0c;或者使用xml文件去编写sql语句来实现连表查询。但他又给我们提供了一个插件MyBatis-Plus-Join&#xff0c;用来弥补mybatisplus再连表上的不足&#…

Apache Jmeter测压工具快速入门

Jmeter测压工具快速入门 一、Jmeter介绍二、Jmeter On Mac2.1 下载2.2 安装2.2.1 环境配置2.2.2 初始化设置 2.3 测试2.3.1 创建JDBC Connection Configuration2.3.2 创建线程组2.3.3 创建JDBC Request2.3.4 创建结果监控2.3.5 运行结果 2.4 问题记录2.4.1 VM option UseG1GC异…

【C语言】每日一题(旋转数组)

旋转数组&#xff0c;链接奉上 目录 方法:创建额外的数组&#xff1a;整体思路&#xff1a;代码实现&#xff1a; 数组反转&#xff1a;整体思路&#xff1a;代码实现&#xff1a;小插曲&#xff1a; 方法: 创建额外的数组&#xff1a; 整体思路&#xff1a; 创建一个额外的…

oracle实现搜索不区分大小写

<if test"code ! null and code ! ">and upper(code) like upper(%${code}%) </if>关键字upper

51单片机的时钟系统

1.简介 51内置的时钟系统可以用来计时&#xff0c;与主程序分割开来&#xff0c;在计时过程中不会终端主程序&#xff0c;还可以通过开启时钟中断来执行相应的操作。 2.单片机工作方式 单片机内部有两个十六位的定时器T0和T1。每个定时器有两种工作方式选择&#xff0c;分别…

Redis-Sentinel高可用架构学习

Redis-Sentinel高可用架构 Redis主从复制过程&#xff1a; 主从同步原理 Redis Sentinel&#xff08;哨兵&#xff09;高可用集群方案&#xff1a;Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案。 当用Redis做Master-slave的高可用方案时&#xff0c;假如master宕机了…

STM32F4_照相机

目录 前言 1. BMP编码 2. JPEG编码 前言 我们所要实现的照相机&#xff0c;支持BMP图片格式的照片和JPEG图片格式的照片。 1. BMP编码 BMP文件是由文件头、位图信息头、颜色信息和图形数据四部分构成。 1. BMP文件头&#xff08;14个字节&#xff09;&#xff1a;BMP文件…

numpy矩阵画框框

在n>5(n是奇数)的nn数组中&#xff0c;用*画外方框和内接菱形。 (本笔记适合熟悉numpy的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是基础那…

c++中的继承

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、继承的概念及定义1、继承的概念2、继承的定义2.1 定义格式2.2 继承关系和访问限定符2.3 继承基类成员访问方式的变化 二、基类和派生类对象赋值转换三、继承…

【27】c++设计模式——>迭代器模式(遍历双向链表)(2)

//实现双向链表 #pragma once #include<iostream> #include<string> #include<vector> using namespace std;class Iterator; class ForwardIterator; class ReverseIterator;//链表的最小组成部分是一个节点&#xff0c;先实现一个节点 struct Node //c中st…

在Espressif-IDE中使用Wokwi仿真ESP32

陈拓 2023/10/17-2023/10/19 1. 概述 在Espressif-IDE v2.9.0版本之后可直接在IDE中使用Wokwi模拟器。 1.1 什么是 Wokwi 模拟器&#xff1f; Wokwi 是一款在线电子模拟器&#xff0c;支持模拟各种开发板、元器件和传感器&#xff0c;例如乐鑫产品 ESP32。 Wokwi 提供基于浏…

html表格标签

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><!--表格table 行 tr 列 td --> <table border"1px"><tr> <!--colsp…

逻辑漏洞详解

原理&#xff1a; 没有固定的概念&#xff0c;一般都是不符合常识的情况。比如任意用户注册&#xff0c;短信炸弹&#xff0c;占用资源&#xff0c;交易支付、密码修改、密码找回、越权修改、越权查询、突破限制。 根据实际业务逻辑进行比对&#xff0c;购物的可以根据数量&a…

gulp打包vue3+jsx+less插件

最终转换结果如下 在根目录下添加gulpfile.js文件&#xff0c;package.json添加命令npm run gulp var gulp require(gulp) var babel require(gulp-babel) var less require(gulp-less) var del require(del); var spawn require(child_process).spawn;const outDir &…

【FPGA零基础学习之旅#16】嵌入式块RAM-双口ram的使用

&#x1f389;欢迎来到FPGA专栏~双口ram的使用 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;FPGA学习之旅 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望大家能指正…

X32位汇编和X64位区别无参函数分析(一)

前言 一、X32汇编函数无参无返回分析 二、X64汇编函数无参无返回分析 总结 前言 提示&#xff1a;以下是个人学习总结&#xff1a;如有错误请大神指出来&#xff0c;只供学习参考&#xff0c;本内容使用使用VS2017开发工具&#xff1a;语言是C&#xff0c;需要一些常见的汇编指…

手机知识:安卓内存都卷到24GB了,为何iPhone还在固守8GB

目录 一、系统机制 二、生态差异 三、总结 在刚刚过去的9月&#xff0c;年货iPhone 15系列正式发布&#xff0c;标准版不出意外还是挤药膏&#xff0c;除了镜头、屏幕有些升级&#xff0c;芯片用iPhone 14 Pro系列的&#xff0c;内存只有6GB&#xff1b;即使是集钛合金机身、…