联邦学习的梯度重构

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

  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 个属性得分,然后再利用属性相似性度量指标对推断的属性向量与辅助数据集中的人为标注的属性向量进行两两比较,并选取出得分最高的标注属性向量所对应的图像作为虚假初始化图像

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

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

相关文章

栈和队列:栈

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

Antd G6实现自定义工具栏

在使用g6实现知识图谱可视化中,产品经理提出了有关图谱操作的不少功能,需要放置在工具栏中,其中有些功能不在g6自带的功能里,且工具栏样式、交互效果也和官方自定义工具栏不同。那我们怎么去实现呢? g6官方的工具栏案例…

excel如何加密(excel加密的三种方法)

Excel是一款广泛使用的办公软件,有时候我们需要对一些重要的Excel文件进行加密,以保证文件的安全性。下面将介绍3种常用的Excel加密方法。 方法一:通过路径文件-另存为-工具-常规选项-设置打开或修改权限密码(密码只可以使数字、字…

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

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

Nacos热更新

Nacos热更新 相比其他注册中心,Nacos的优势之一在于热更新。 热更新,就是不需要重启服务,就能够更新配置。 nacos配置中心 首先,需要搭建 Nacos,详情见: https://www.cnblogs.com/expiator/p/17392549.h…

Docker本地部署Drupal并实现公网访问

文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 前言 Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习…

数据管理系统-week1-文件系统、数据库和数据库管理系统

文章目录 前言一、 文件系统文件系统的限制 二、 数据库系统三、 数据库管理系统参考文献 前言 一、 文件系统 对于更高级的数据处理应用程序来说,基于数据块的持久存储逻辑模型过于简单数据块序列被划分为称为文件的数据块的可变子序列,与文件相关的名…

键盘打字盲打练习系列之认识键盘——0

一.欢迎来到我的酒馆 盲打,yyds! 目录 一.欢迎来到我的酒馆二.键盘规格三.键盘分区 二.键盘规格 经常看视频,看到别人在键盘上一通干净利索的操作,就打出想要的文字。心里突然来一句:卧槽,打字贼快啊&#…

pytest全局变量的使用

这里重新阐述下PageObject设计模式: PageObject设计模式是selenium自动化最成熟,最受欢迎的一种模式,这里用pytest同样适用 这里直接提供代码: 全局变量 conftest.py """ conftest.py 全局变量,主要实…

AI:76-基于机器学习的智能城市交通管理

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

asp.net外卖网站系统VS开发mysql数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net外卖网站系统 是一套完善的web设计管理系统,系统采用mvc模式(BLLDALENTITY)系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为mysql,使用c#语…

【Unity之UI编程】玩法面板的实现

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:UI_…

Spring Cloud和Kubernetes + Spring Boot 用哪个?

Spring Cloud和Kubernetes Spring Boot都是用于构建微服务架构的解决方案,它们各有优势和不足,选择哪个更好取决于你的具体需求和上下文。 Spring Cloud是一个基于Spring Boot的微服务开发框架,它提供了一套完整的微服务解决方案&#xff0…

OpenMMlab导出yolov3的onnx模型并推理

手动导出 直接使用脚本 import torch from mmdet.apis import init_detector, inference_detectorconfig_file ./configs/yolo/yolov3_mobilenetv2_8xb24-ms-416-300e_coco.py checkpoint_file yolov3_mobilenetv2_mstrain-416_300e_coco_20210718_010823-f68a07b3.pth mod…

Django(复习篇)

项目创建 1. 虚拟环境 python -m venv my_env ​ cd my_env activate/deactivate ​ pip install django ​2. 项目和app创建 cd mypros django-admin startproject Pro1 django-admin startapp app1 ​3. settings配置INSTALLED_APPS【app1"】TEMPLATES【 DIRS: [os.pat…

JavaEE初阶学习:Linux 基本使用和 web 程序部署

1.Linux的基本认识 Linux 是一个操作系统.(搞管理的系统) 和Windows都是同类产品~~ Linux 实际的场景: 1.服务器 2.嵌入式设备 3.移动端(手机)Android 其实就是Linux 1991年,还在读大学的 芬兰人 Linus Benedict Torvalds,搞了一个Linux 这样的系统0.01版,正式发布了~ 后…

数据结构-双向链表

目录 1.带头双向循环链表: 2. 带头双向循环链表的实现: 双向链表初始化: 双向链表打印: 开辟节点函数: 双向链表头插: 双向链表尾插: 双向链表头删: 双向链表尾删&#xff…

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

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

【数据结构】二叉树经典例题---<你真的掌握二叉树了吗?>(第一弹)

一、已知一颗二叉树如下图,试求: (1)该二叉树前序、中序和后序遍历的结果。 (2)该二叉树是否为满二叉树?是否为完全二叉树? (3)将它转换成对应的树或森林。 (4)这颗二叉树的深度为多少? (5)试对该二叉树进行前序线索化。 (6)试对…

算法之双指针

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