FedDefender: Client-Side Attack-Tolerant Federated Learning

与现有的大部分方法不同,FedDefender是在客户端层面的防御机制。
方法叠的有点多

在这里插入图片描述
大部分方法都在④这一步防御,通过设计鲁邦的聚合策略等,但是本文通过修改本地训练策略,来更新模型,文章主要基于两个观点:

  1. 本地模型不容易过拟合噪声
  2. 知识蒸馏传递正确的全局信息

在这里插入图片描述

Step 1. 本地元更新

我们通过元学习以鲁棒的方式训练良性局部模型。目标是发现模型的参数,即使在被噪声信息干扰后也能产生准确的预测。为了实现这一点,首先生成一个有噪声的合成标签,然后应用一个梯度更新来扰动局部网络参数。然后,计算扰动网络预测正确输出的梯度,并利用梯度优化原始局部模型。

作者认为,用传统的损失函数训练得到的模型,很容易会对恶意用户产生的噪声过拟合,因此可以给局部模型“打疫苗”,先用生成的噪声去训练。

过多的扰动会使模型的决策边界过度变形,导致性能下降。为了减轻这种严重变形的风险,我们通过转移来自类似样本的标签来创建更逼真的噪声标签,这些标签类似于y的分布。

1. 得到 θ ~ k \tilde{\theta}_k θ~k

怎么做呢,就是用模型的特征提取层,就是中间随便找一层,得到特征分布,然后计算与他特征分布最接近top-k个,然后随机选择一个作为他的新标签。

因为是top-k个中随机选择一个,因此大部分选中的还是和他一样的标签,小概率选中其他的标签,就防止噪声过大了。

得到这个带有噪声的数据集之后,用这个数据集进行一次正常的梯度下降。
在这里插入图片描述

2. 用 θ ~ k \tilde{\theta}_k θ~k在原始数据集上训练,得到的梯度给 θ k \theta_k θk

进行了一次正常的梯度下降,得到的模型我们称之为 θ ~ k \tilde{\theta}_k θ~k

然后就是,用这个使用噪声数据集训练一步的模型 θ ~ k \tilde{\theta}_k θ~k,去原始数据集 X \mathcal{X} X上算一个分类的损失,然后用这个损失,去更新原来的模型 θ k {\theta}_k θk。反正 θ ~ k \tilde{\theta}_k θ~k就只是个工具人,只是为了训练出来,然后计算他在原始数据集上的梯度,将它的梯度给本来的模型用。具体为什么论文也没说。就说这样可以防止局部模型在训练过程中受到合成噪声的污染。
因为 θ ~ k \tilde{\theta}_k θ~k可以将噪声正确的区分?所以 θ ~ k \tilde{\theta}_k θ~k的梯度比较好用吗。
在这里插入图片描述

Step 2. 全局知识蒸馏

1. 辅助网络知识蒸馏

考虑到上一步的元更新局部模型,我们使用中间特征映射将全局知识蒸馏应用于辅助分类器,以抵消对污染全局模型的不利影响。在辅助分类器和原始分类器之间进行自知识蒸馏,进一步将全局知识整合到局部模型的更深层中。

深层神经网络中的深层更容易过度拟合噪声(即记忆),这是由于基于梯度下降的优化的固有性质。在这种情况下,FedDefender将全局知识转移到局部模型的浅层中间部分,以减少虚假信息的不利影响。

在这里插入图片描述
将一个模型分成两部分,全部模型和中间部分,用全部模型的输出当教师网络去训练中间层,这一部分设计知识蒸馏,不太懂。

然后又生成一个新的数据集 X ^ \hat{\mathcal{X}} X^ X ^ \hat{\mathcal{X}} X^里的 y ^ \hat{y} y^是如下公式替换的:
在这里插入图片描述

就是计算全局模型的输出和真实的标签的余弦相似度,修正一下标签。
然后上面的公式11就变成了
在这里插入图片描述

2. 辅助自蒸馏

在这里插入图片描述
看不下去了,这部分先放着

这一套组合拳,光损失就有五个,我都不敢想时间复杂度有多高。

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

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

相关文章

机器学习的边界与实际应用

目录 前言1 机器学习的广泛适用性1.1. 利用输入输出映射1.2. 大量的可用数据 2 机器学习能做的事情举例2.1 自动驾驶2.2 用户请求处理2.3 有大量数据的医学影像诊断 3 机器学习不能做的事情举例3.1 市场分析报告3.2 感同身受的邮件回复3.3 手势意图判断3.4 少量数据的医学影像诊…

真Unity-Editor二次开发-ScriptableObject 可自定义UI界面

关于ScriptablObject自定义 作为官方指定的,曾经我也吐槽过ScriptableObject很鸡肋,个人曾经也是强烈反对在项目中使用,但直到我今天看到下面这个代码,菜发现其实只是自己太菜鸡而已 --------------不想多写什么 -------------…

无人机生态环境监测、图像处理与GIS数据分析

构建“天空地”一体化监测体系是新形势下生态、环境、水文、农业、林业、气象等资源环境领域的重大需求,无人机生态环境监测在一体化监测体系中扮演着极其重要的角色。通过无人机航空遥感技术可以实现对地表空间要素的立体观测,获取丰富多样的地理空间数…

Java面试篇【JVM】常见面试题(2024最新)

JVM 1. Java内存区域详解 线程私有:程序计数器,虚拟机栈,本地方法栈 线程共享的:堆,方法区,直接内存 1.1 各个区域详解 程序计数器 每个线程需要一个计数器记录自己执行到哪一行了。线程之间切换需要保存…

LVS集群---二

1.LVS工作模式和相关命令 1.1LVS集群工作模式 - lvs-nat:修改请求报文的目标IP,多目标IP的DNAT- lvs-dr:操纵封装新的MAC地址(直接路由)- lvs-tun:隧道模式 1.1.1 LVS的NAT模式 lvs-nat:本质是多目标IP的…

flutter 使用webview

背景: 一般都有使用webview加载网页的需求,比如加载隐私协议、用户协议等。 如何做: 当然,我们自己不用封装轮子,在pub.dev上有成熟的轮子:webview_flutter 首先,将依赖导入,在pub…

MooC下载pdf转为ppt后去除水印方法

1、从MooC下载的课件(一般为pdf文件)可能带有水印,如下图所示: 2、将pdf版课件转为ppt后,同样带有水印,如下图所示: 3、传统从pdf中去除水印方法不通用,未找到有效去除课件pdf方法…

c语言指针基础(中)

指针 assert断言 要想使用assert需要包含头文件<assert.h>&#xff0c;作用是程序在运行时要确定符合某种条件,如果符合程序正常运行,如果不符合,就会报错,停止运行。 例子: int *p; assert(p!NULL)程序运行到assert这条语句时,会判断p是不是空指针,如果不是空指针程序…

LVS 负载均衡 - DR模式

一 . DR 模式 直接路由 1.介绍&#xff1a; 直接路由&#xff08;Direct Routing&#xff09;&#xff1a;简称 DR 模式&#xff0c;采用半开放式的网络结构&#xff0c;与 TUN 模式的结构类似&#xff0c;但各节点并不是分散在各地&#xff0c;而是与调度器位于同一个物…

曲线曲面 - 连续性, 坐标变换矩阵

连续性 有两种&#xff1a;参数连续性&#xff08;Parametric Continuity&#xff09;、几何连续性&#xff08;Geometric Continuity&#xff09;参数连续性&#xff1a; 零阶参数连续性&#xff0c;记为&#xff0c;指相邻两段曲线在结合点处具有相同的坐标 一阶参数连续性&…

css-通用样式按钮加号

1.实现 2.代码 html <div class"addF">&#xff0b;</div> css .addF{width:40px;font-size:25px;font-weight:600;background-color:rgb(64, 158, 255);text-align:center;color:white;height:34px;border-radius:3px;line-height:34px; }

Windows下 OracleXE_21 数据库的下载与安装

Oracle 数据库的下载与安装 数据库安装包下载数据库安装访问数据库进行测试Navicat连接数据库 1. 数据库安装包的下载 1.1 下载地址 Oracle Database Express Edition | Oracle 中国 1.2 点击“下载 Oracle Database XE”按钮&#xff0c;进去到下载页面&#xff08;选择对…

ES基础-ES优化

优化-硬件选择 Elasticsearch 的基础是 Lucene&#xff0c;所有的索引和文档数据是存储在本地的磁盘中 磁盘在现代服务器上通常都是瓶颈。Elasticsearch重度使用磁盘&#xff0c;你的磁盘能处理的吞吐量越大&#xff0c;你的节点就越稳定。这里有一些优化磁盘I/O的技巧&#x…

数据处理分类、数据仓库产生原因

个人看书学习心得及日常复习思考记录&#xff0c;个人随笔。 数据处理分类 操作型数据处理&#xff08;基础&#xff09; 操作型数据处理主要完成数据的收集、整理、存储、查询和增删改操作等&#xff0c;主要由一般工作人员和基层管理人员完成。 联机事务处理系统&#xff…

ELF 1技术贴|在NXP源码基础上适配开发板的按键功能

本次源代码适配是在NXP i.MX6ULL EVK评估板的Linux内核源代码&#xff08;特定版本号为Linux-imx_4.1.15&#xff09;的基础中展开的。 首要任务集中在对功能接口引脚配置的精细调整&#xff0c;确保其能无缝匹配至ELF 1开发板。接下来&#xff0c;我们将详细阐述适配过程中关…

Maven对项目构建过程中的每个步骤的详细介绍

1. 概述 Maven除了管理项目的依赖以外&#xff0c;还能对项目的构建过程进行管理。除了使用命令行以外&#xff0c;我们平时经常用IDEA图形化界面进行操作&#xff0c;如图所示&#xff1a; 本文将详细描述Maven对项目构建过程中的每一个阶段。 2. 构建过程 注意&#xff1…

垂直分表、分布式Id详细介绍、模板引擎FreeMarker、对象存储服务MinIO(黑马头条Day02)

目录 垂直分表 分布式ID 为什么需要分布式ID 分布式ID需要满足的条件 常见的分布式ID算法有哪些 项目中具体如何使用分布式ID 模板引擎FreeMarker freemarker简介 对象存储服务MinIO MinIO简介 MinIO的优点 本项目中使用的FreeMarker和MinIO示例 今天在学习黑马头…

短视频矩阵系统技术开发商--支持技术资质核验(自研独立saas框架开发)

短视频矩阵系统是一种能够帮助用户快速制作、发布和推广短视频的系统。 &#x1f347;&#x1f347;它通常包括以下部分&#xff1a; 短视频矩阵系统#短视频矩阵系统源头#短视频矩阵系统源头开发#短视频矩阵系统软件#短视频矩阵系统技术#2024互联网风口项目短视频矩阵系统带动…

ORACLE RAC反应卡顿时enq: SV - contention和latch: row cache objects的分析

某客户数据库系统使用ORACLE RAC 11G版本&#xff0c;两个节点。在上午8点钟之后&#xff0c;业务开始大量进行时&#xff0c;出现严重的卡顿问题&#xff1b;在工程师分析后&#xff0c;发现当时出现了很多异常等待数据&#xff0c;如典型的enq: SV - contention 、enq: TX - …

【Java JVM】Class 文件

Java 的口号 “一次编写, 到处运行 (Write Once, Run Anywhere)” 的基础: JVM 和 所有平台都统一支持的程序存储格式 – 字节码 (Byte Code)。 只要在对应的平台安装对应的 JVM, 将我们编写的源码编译为 Class 文件, 就能达到了一次编写, 导出运行的目标, 中间的所有细节由不同…