基于联邦学习中毒攻击的防御策略

article/2025/4/22 13:00:26

文章目录

      • 联邦学习简介
      • FL(federal learning)和模型中毒攻击的背景
      • 针对模型中毒攻击的防御策略
        • 局部模型更新的评估方法
          • 基于光谱异常检测的方法( Spectral Anomaly Detection Based Method)
          • 基于真理推理的评估方法
          • 基于熵的滤波方法
          • 基于余弦相似度的评估方法
          • 吸取教训
        • Global Model的聚合方法
          • 基于标准的聚合方法
          • 基于统计的聚合方法
      • 挑战和未来方向
          • 抵抗模型中毒攻击的有效性
          • 中央服务器的计算消耗

联邦学习简介

​联邦学习不需要worker将原始数据传输到Server,只需要对训练好的本地模型进行更新,从而保护了客户端的数据隐私,Server只需要将各个worker发送的向量进行聚合,从而减少了Server的计算压力。

​然而联邦学习也存在安全隐患,不能保证所有worker上传的信息都是真实的,这使得Server很容易遭到拜占庭工人(Byzantine worker)的恶意攻击。

​攻击方式分为两种,一种是数据中毒攻击,一种是模型中毒攻击,前者针对原始数据,后者针对模型算法,模型中毒攻击更容易造成损害。

FL(federal learning)和模型中毒攻击的背景

​传统的FL框架由中央服务器(Central Server)和许多客户端(Client)组成,用 i ∈ { 1 , 2 , 3 , ⋯ , N } \\i \in \{1,2,3,\cdots ,N\} i{1,2,3,,N}表示各个客户端,共有N个客户端,每一个客户端由大小不同的本地数据集,用 D i D_i Di表示,每一轮学习开始时,服务器选择一定数量的客户端参与联邦学习,用 m k m_k mk 表示第k轮种选择的客户端所占的比例。

​每轮学习开始前,服务器将初始向量 ω \omega ω发送给这些客户端,然后客户端根据这个初始向量用自己的原始数据进行训练,将训练好的向量 ω i k \omega_i^k ωik 发送给中央服务器,表示第i个客户端第k轮提交的向量。

​中央服务器收集本地模型的向量进行聚合算法来进一步更新全局模型,一旦模型的损失收敛,这个过程将会结束。

​然而可能存在不值得信任的Client,如下图所示。

在这里插入图片描述

​由于中央服务器无法访问本地客户端的原始数据,而客户端的数据是非 i . i . d i.i.d i.i.d(非独立同分布)的,中央服务器难以本地数据是否被篡改过,导致全局模型收敛缓慢或者精度降低。

针对模型中毒攻击的防御策略

局部模型更新的评估方法

​直观上来说,防御模型中毒攻击最直接的方法就是检查客户提交的内容,而中央服务器无法对原始数据进行访问,所以此方法进行的评估将成为一项挑战。

基于光谱异常检测的方法( Spectral Anomaly Detection Based Method)

​基本思想是将正确数据和恶意数据嵌入到地位空间中。提出了一种基于光谱异常检测的FL评价框架,首先假设有一个公共数据集,包含了正确和恶意数据,将这些数据进行局部模型更新,利用某种算法来区分这两种数据的更新结果,区分开来后再剔除恶意更新,从而提高精确率。

基于真理推理的评估方法

​在全局模型聚合之前对各个Client提交的向量进行评估,如果和所有向量加权平均相差很大,则他的可信度将会很低。有两种方法聚合全局模型:

  • 使用可靠性评分给每一个Client提交的向量一个权值,与平均差别小的权值大,反之则小
  • 直接删除可靠性评分较低的所有更新向量
基于熵的滤波方法

​服务器一开始收集了一些公共数据,然后用公共数据计算每次更新的熵,如果熵比较高会导致准确率较低,所以给熵值设置了一个较高的阈值,并过滤掉熵高于阈值的更新。即使attacker数量很大,基于熵的过滤方法也能很好的执行。

基于余弦相似度的评估方法

​余弦相似度是通过计算两个向量之间夹角的余弦值来评估他们之间的相似度。

​攻击者操纵更新的方向往往和我们预期更新的方向相反或者差别很大,所以先让服务器收集样本数较少的干净数据进行训练,计算完余弦相似度后,每一次更新都有一个信任评分,作为全局模型聚合的权重,这种框架叫做 C l u s t e r e d F e r e r a t e d L e a r n i n g Clustered\ Fererated\ Learning Clustered Fererated Learning,中央服务器通过检查局部模型更行的相似性来计算每一个Client的可信度,并移除无贡献或恶意的Client。

吸取教训

​在模型聚合前,对局部模型更新可以有效识别恶意节点,从而减少模型中毒对FL的负面影响。但需要对每一个Client提交的数据进行检查,耗时长,消耗计算资源。

Global Model的聚合方法

​全局模型的聚合是FL的重要组成部分,基于防御模型中毒攻击的聚合方法大致分为两类:

基于标准的聚合方法

​这里的标准指的是用于评估局部模型更新的标准(如信任度、可靠性、相似性等),它们来自对于更新的检查。

基于统计的聚合方法

​与上述方法不同,在聚合过程中不进行局部模型更新的验证,只通过统计方法选择数据。

	- Trim-mean:这是独立选择模型的各个参数,剔除最大值和最小值,计算出平均值作为参数的聚合值。- Median:在参数中独立选取中值作为聚合结果的全局模型。- Krum:在m个局部模型中选取最接近(余弦相似度)其他局部模型的一个局部模型作为全局模型。

挑战和未来方向

抵抗模型中毒攻击的有效性

​attacker可以基于生成式对抗网络设计攻击,使得修改后的更新难以发现,或者同时控制多台设备联合发器攻击,这时候,局部模型更行的力度可以根据攻击程度进行调整。

​在未来研究中,我们需要意识到精心设计的模型中毒攻击。我们需要研究不同的攻击策略。比如恶意Client的数量、攻击的轮数、发起进攻的时间等,这样才能设计出有效的防御机制。

中央服务器的计算消耗

​现有的防御机一般没有考虑到计算资源的有限性,一些验证机制对所有的更新进行验证会消耗大量能量,还会造成时间延迟,影响整个训练过程。

​在未来研究中,我们需要考虑如何减少部署防御机制所造成的资源消耗,一旦Client数量庞大,会消耗大量时间精力。一个可能的想法是通过设计多个Server来减少资源消耗,区块链和FL组合可能是一个有前景的解决方案。


http://chatgpt.dhexx.cn/article/4rqOxPTQ.shtml

相关文章

DDos攻击防御策略

DDOS攻击防御策略 DDOS(DDOS:Distributed Denial of Service) 分布式拒绝服务攻击. 在信息安全三要素里面—保密性,完整性,可用性,中DDOS(分布式拒绝服务攻击),针对的是目标机器的可用性,这种攻击方式是利用目标系统网络系统功能的的欠缺或者直接消耗其资源,是目标机器木法正常…

网络安全威胁与防御策略

第一章:引言 随着数字化时代的快速发展,网络已经成为人们生活和工作中不可或缺的一部分。然而,网络的广泛应用也引发了一系列严峻的网络安全威胁。恶意软件、网络攻击、数据泄露等问题层出不穷,给个人和企业带来了巨大的风险。本文…

安全文章研读:深度学习对抗攻击防御策略的一些实现

本文整理自哈尔滨工业大学硕士论文:深度学习对抗攻击防御策略的研究与实现 0x01 太长不看 深度学习在表现优异的同时,还存在易受攻击的缺陷。多数防御策略只能应对特定的攻击方法,普适性比较低,另外这些防御策略多为全局过滤扰动…

过拟合与欠拟合的生动理解

文章目录 1、过拟合2、欠拟合3、图像表现4、解决办法 1、过拟合 过拟合(OverFititing):太过贴近于训练数据的特征了,在对应训练集上表现非常优秀,近乎完美的预测/区分了所有的数据,但是在新的测试集上却表…

模型的过拟合与欠拟合

样本数据集:样本数据集总是表现为数据的内在规律(如:yf(x))与随机噪声共同作用的结果。 训练集:训练集是用于训练模型的样本数据集合。我们总是希望通过训练集,找到真实数据的内在规律,同时又希…

如何解决过拟合与欠拟合

如何解决过拟合与欠拟合 根据不同的坐标方式,欠拟合与过拟合图解不同。 1.横轴为训练样本数量,纵轴为误差 如上图所示,我们可以直观看出欠拟合和过拟合的区别: ​ 模型欠拟合:在训练集以及测试集上同时具有较高的误…

机器学习中的过拟合与欠拟合

目录 一、什么是过拟合与欠拟合二、原因及解决方法三、正则化类别四、拓展—原理 问题:训练数据训练的很好啊,误差也不大,为什么在测试集上面有 问题呢? 当算法在某个数据集当中出现这种情况,可能就出现了过拟合现象。…

机器学习之过拟合与欠拟合

1 机器学习中的误差 一般地,将学习器(机器学习模型)的实际预测输出与样本的真实输出之间的差异称为“误差”(error)。 统计学习的目的是使学到的模型不仅对已知数据而且对未知数据都能有很好的预测能力。不同的学习方法会给出不同的模型。当损失函数给定时&…

机器学习过拟合与欠拟合!

↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:胡联粤、张桐,Datawhale面经小组 Q1 如何理解高方差与低偏差? 模型的预测误差可以分解为三个部分: 偏差(bias), 方差(variance)…

机器学习:过拟合与欠拟合问题

本文首发于 AI柠檬博客,原文链接:机器学习:过拟合与欠拟合问题 | AI柠檬 过拟合(overfitting)与欠拟合(underfitting)是统计学中的一组现象。过拟合是在统计模型中,由于使用的参数过…

机器学习知识总结 —— 6. 什么是过拟合和欠拟合

文章目录 过拟合欠拟合泛化能力避免过拟合的一般方法从数据集上规避从训练模型上规避从训练过程上规避 作为从「统计学(Statistics)」跟「计算机科学(Computer Science)」交叉而诞生的新学科「机器学习(Machine Learni…

VGG16网络结构要点

学习BCNN的过程时遇到,VGG16的网络结构如下图示意: 13个卷积层(Convolutional Layer),分别用conv3-XXX表示3个全连接层(Fully connected Layer),分别用FC-XXXX表示5个池化层(Pool …

VGG-16网络结构解析

VGG,也叫做VGG-16网络。这个网络结构很有意思,相必实现这个网络的作者是有点强迫症,不然整个网络为什么能够如此的协调一致。基本上每一次的内容都大同小异,2层或3层卷积层,激活一下,池化一下,就…

VGGNet网络结构

深度神经网络一般由卷积部分和全连接部分构成。卷积部分一般包含卷积(可以有多个不同尺寸的核级联组成)、池化、Dropout等,其中Dropout层必须放在池化之后。全连接部分一般最多包含2到3个全连接,最后通过Softmax得到分类结果&…

VggNet网络结构详解

VggNet网络结构详解 #图像识别网络结构详解 一、概述 VGG在2014年由牛津大学著名研究组VGG (Visual Geometry Group) 提出,斩获该年ImageNet竞赛中 Localization Task (定位任务) 第一名 和 Classification Task (分类任务) 第二名。 二、网络详解 VGG16相比Al…

VGG11、VGG13、VGG16、VGG19网络结构图

VGG11、VGG13、VGG16、VGG19网络结构图 前言 前言 VGG网络采用重复堆叠的小卷积核替代大卷积核,在保证具有相同感受野的条件下,提升了网络的深度,从而提升网络特征提取的能力。 可以把VGG网络看成是数个vgg_block的堆叠,每个vgg_…

VGG网络结构详解与模型的搭建

首先贴出三个链接: 1. VGG网络结构详解视频 2. 使用pytorch搭建VGG并训练 3. 使用tensorflow搭建VGG并训练 VGG网络是在2014年由牛津大学著名研究组VGG (Visual Geometry Group) 提出,斩获该年ImageNet竞赛中 Localization Task (定位任务) 第一名 和…

【深度学习】VGG16网络结构复现 | pytorch |

文章目录 前言一、VGG16介绍二、VGG16网络复现——pytorch 前言 这篇文章按道理来说应该是很简单的,但是因为一个很小的bug,让我难受了一晚上,直到现在我也没找出原因。后面我会提到这个bug。 今天这篇文章主要用来手动搭建vgg16这个网路&am…

经典卷积神经网络---VGG16网络

VGG16网络结构及代码 下图为VGG网络结构图,最常用的就是表中的D结构,16层结构(13层卷积3层全连接层),卷积的stride为1,padding为1,maxpool的大小为2,stride为2(池化只改…

VGG16网络结构复现(Pytorch版)

VGG有6种子模型,分别是A、A-LRN、B、C、D、E,我们常看到的基本是D、E这两种模型,即VGG16,VGG19 为了方便阅读,并没有加上激活函数层 from torch import nn import torch from torchsummary import summaryclass VGG…