联邦学习的梯度重构

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

  1. 暴露原始训练数据的某些属性

  2. 利用生成对抗网络生成与私有训练图像类似的图片

尽管许多研究已经证实从梯度中重构原始数据的可能性,这些研究通常基于一个前提假设,即用户上传的梯度是全梯度。

联邦学习系统更倾向于使用梯度压缩方法,以降低通信带宽,即上传高度压缩的梯度。这将使得基于全梯度的数据重构攻击算法可能失效。

生成对抗网络(模型反演攻击,MIA):没有利用共享的梯度信息,而是只用了最后训练好的全局模型参数信息,因此这种类型的攻击只有当每个类下的所有数据分布基本一致时才有效,每一类下的图像分布差异很大的时候则会导致重构的图像缺乏细节或与原始数据的感知相似性极低

iDLG:共享梯度中会泄露原始数据的标签;标签被提取出后,攻击的过程就不需要再更新标签了,只需要不断优化初始的虚假图像,从而减小了搜索空间,加速了收敛过程。但他们的做法缺陷在于只能推断当批大小 (Batch Size) 为 1 时的真实标签,而当批大小大于 1 时则无法推断了。

梯度的批量标签泄漏 (LLG) 方法:从共享梯度中获得用户批量训练数据标签的攻击。LLG利用梯度的方向和大小来确定一个标签的存在或不存在,并且可以很好地扩展到任意批大小和多个类的主任务中,LLG 可以在当批大小为 128 时,标签推断的准确率达到 90% 以上。

IG : 将 DLG 中优化目标中的距离表示从欧式距离变成了余弦相似性,并且对虚假数据进行了正则惩罚。此外,IG 的目标函数中对不同层的梯度设置了不同的权重优化器也从 DLG 中的 LBFGS 改为了 Adam 优化器。他们通过实验证实了这样的设置可以产生比 DLG 更好的重构结果并且支持批量数据重构。

STG:进一步对损失函数(优化目标)进行了改进在目标函数中加入了更多的正则项(包括了对网络批归一化层的规范化),同时并行开启多个独立的优化过程,最终把不同优化过程得到的结果进行配准得到最终的重构图像。实验结果表明他们的方法可以在更大批大小下恢复出高分辨率的图像,但大部分恢复的图像与原始图像依然存在细节上的差异,甚至出现位置错位的问题,其真实的恢复率只有 28%

在辅助数据集中预先训练一个生成器作为先验,然后不断优化生成器的输入,使得其产生的图像所对应的梯度与真实的梯度不断接近,该方法不但引入了先验,且大大降低了搜索空间,从而提高了优化效率和重构质量

  1. 参数服务器由于仅有模型聚合和分发的功能,它无法知道模型每个神经元所对应的真实标签是什么。
  2. 敌手不可能事先拥有与私有训练数据分布一致的辅助数据。

设计了一种从压缩的梯度中推断原始数据属性的方法。在该方法中,敌手需要准备大量包含原始数据本身及其属性值的辅助数据集,并在该数据集上训练多个属性推断模型,其中每个推断模型均为二分类模型(这样的假设也是不合理的呀)

属性相似性度量指标,该指标结合了属性推断模型的输出分类置信值与模型本身的曲线下面积 (Area Under The Curve, AUC),从而给两个属性向量进行打分。分数越高表示两个属性向量越

接近。在攻击阶段,敌手先通过梯度推断出原始数据的 N 个属性得分,然后再利用属性相似性度量指标对推断的属性向量与辅助数据集中的人为标注的属性向量进行两两比较,并选取出得分最高的标注属性向量所对应的图像作为虚假初始化图像

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣哈希表--总结篇

前言 五天写了八道题,有点懈怠,但还是有收获。 内容 一般哈希表都是用来快速判断一个元素是否出现在集合里。 为了实现高效的查找和访问,map通常会使用哈希表或红黑树等数据结构来存储键值对。什么时候用map,什么时候用数组&a…

智能一体化管网水位监测仪怎么样?

城市排水管网是城市正常运行的关键环节,这是地上和地下通道的连接点,一旦出现问题便会影响城市生命线建设的工程进展。在复杂的地下管道内想要了解水位数据,对于政府部门来讲是一个管理难题。如果可以采取智能产品在其中发挥作用,…

联想小新Pro14默认设置的问题

联想小新Pro14 锐龙版,Win11真的挺多不习惯的,默认配置都不符合一般使用习惯。 1、默认人走过自动开机。人机互动太强了; 2、默认短超时息屏但不锁屏,这体验很容易觉得卡机然后唤起,却又不用密码打开; 3…

Git分支与Git标签的介绍及其场景应用

目录 一、Git分支 1.1 定义 1.2 基本概念 1.3 特点与优势 1.4 Git分支操作命令 1.4.1 查看分支 1.4.2 创建分支 1.4.3 删除分支 1.4.4 切换分支 1.4.5 创建并切换到新建分支 1.5 场景应用 1.5.1 前期准备 1.5.2 具体操作 二、Git标签 2.1 定义 2.2 类型 2.3 标…

C# Socket通信从入门到精通(8)——单个异步TCP服务器监听多个客户端C#代码实现

前言: 我们在C# Socket通信从入门到精通(7)——单个异步TCP服务器监听单个客户端C#代码实现这篇文章中讲述了一个服务器如何与一个客户端进行交互,但是有时候我们需要一个服务器与多个客户端进行交互,这时候上一篇文章介绍的方法就不足以实现这个功能,本篇文章就是介绍如…

advanced-css: No.1

本套教程学习来自视频&#xff1a;https://www.bilibili.com/video/BV1n94y1o7yS/?p7&spm_id_frompageDriver&vd_sourceb79be8283df9418cb45941cc0bd583c6 案例 实现效果图 代码 HTML: <!DOCTYPE html> <html lang"en"><head><meta c…

【C++破局】泛型编程|函数模板|类模板

​作者主页 &#x1f4da;lovewold少个r博客主页 ⚠️本文重点&#xff1a;c模板初阶知识点讲解 &#x1f449;【C-C入门系列专栏】&#xff1a;博客文章专栏传送门 &#x1f604;每日一言&#xff1a;花有重开日&#xff0c;人无再少年 目录 前言 泛型编程 函数模板 函数模…

Leetcode—50.Pow(x,n)【中等】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—50.Pow(x,n) 实现代码 double recurPow(double x, long long n) {if(n 1) {return x;}double res recurPow(x, n / 2);if(n % 2 1) {return x * res * res;} else {return res * res;} }double myPow(double x, int…

从0开始python学习-34.pytest常用插件

目录 1. pytest-html&#xff1a;生成HTML测试报告 2.pytest-xdist&#xff1a;并发执行用例 3. pytest-order&#xff1a;自定义用例的执行顺序 4. pytest-rerunfailures&#xff1a;用例失败时自动重试 5. pytest-result-log:用例执行结果记录到日志文件 1. pytest-html…

C进阶-编译环境与预处理

本章重点&#xff1a; 程序的翻译环境 程序的执行环境 详解&#xff1a;C语言程序的编译链接 预定义符号介绍 预处理指令#define 宏和函数的对比 预处理操作符#和##的介绍 命令定义 预处理指令#include 预处理指令#undef 条件编译 1. 程序的翻译环境和执行环境 在ANSI C的任何一…

江西开放大学引领学习新时代:电大搜题助力学子迈向成功

江西开放大学&#xff08;简称江西电大&#xff09;一直以来致力于为学子提供灵活便捷的学习服务。近年来&#xff0c;携手电大搜题微信公众号&#xff0c;江西开放大学以其卓越的教学质量和创新的教学手段&#xff0c;为广大学子开启了一扇通向成功的大门。 作为一家知名的远…

2.如何实现API统一响应-web组件篇

文章目录 1. 统一响应1.1 CommonResult 1. 统一响应 前端调用api接口获得统一的响应&#xff1a; 成功&#xff0c;返回成功的状态码和数据&#xff1b;失败&#xff0c;返回失败的状态码和错误提示。 在标准的 RESTful API 的定义&#xff0c;是推荐使用 HTTP 响应状态码 (…

物联网AI MicroPython学习之语法 network网络配置模块

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; network介绍 模块功能&#xff1a; 用于管理Wi-Fi和以太网的网络模块参考用法&#xff1a; import network import time nic network.WLAN(network.STA_IF) nic.active(True) if not nic.isconnected():…

栈和队列:栈

栈的概念&#xff1a; 栈&#xff1a; 一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶&#xff0c;另一端称为栈底。 栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。…

如何爬取 python 进行多线程跑数据的内容

下是一个使用 Rust 编写的爬虫程序&#xff0c;用于爬取 python 进行多线程跑数据的内容。这个爬虫使用代理信息进行网络请求&#xff0c;并使用了 Rust 的 async-std 库进行异步编程。 use async_std::net::{TcpStream, TcpListener}; use async_std::io::{BufReader, BufWri…

grpc使用教程

准备 1&#xff0c;安装grpc go get -u google.golang.org/grpc2, 安装go语言protobuf生成器protoc-gen-go go get -u google.golang.org/protobuf/cmd/protoc-gen-go3, 通过下面连接&#xff0c;找到合适版本并安装protoc工具&#xff0c;如windows选择 protoc-3.19.5-win64.…

指标体系:洞察变化的原因

一、指标概述 指标体系是指根据运营目标&#xff0c;整理出可以正确和准确反映业务运营特点的多个指标&#xff0c;并根据指标间的联系形成有机组合。 指标体系业务意义极强&#xff0c;所有指标体系都是为特定的业务经营目的而设计的。指标体系的设计应服从于这种目的&#x…

从0开始python学习-33.夹具@pytest.fixture(scope=““,params=““,autouse=““,ids=““,name=““)

目录 1. 创建夹具 1.1 pytest方式 1.2 unittest方式 2. 使用夹具 2.1 通过参数引用 2.2 通过函数引用 3. 参数详解 3.1 scope&#xff1a;作用域 3.2 params-参数化 3.3 autouseTrue表示自动使用&#xff0c;默认为False 3.4 ids&#xff1a;设置变量名 3.5 name&am…

电脑版微信收到的图片怎么样自动保存到指定文件夹中?

8-5 在平时的工作中&#xff0c;如果你每天都需要接收并保存很多同事发来的图片&#xff0c;如何实现自动保存在微信上接收到的图片呢&#xff1f;本文的方法也许适合你&#xff0c;它可以自动把微信上收到的图片、视频、文件帮你保存到指定地方&#xff0c;可以大大地提高工作…

算法之双指针

双指针算法的作用 双指针算法是一种使用2个变量对线性结构(逻辑线性/物理线性)&#xff0c;进行操作的算法&#xff0c;双指针可以对线性结构进行时间复杂度优化&#xff0c;可以对空间进行记忆。 双指针算法的分类 1.快慢指针 2.滑动窗口 3.左右指针 4.前后指针 双指针OJ题目…