首页 > 其他分享 >FreqFed: A Frequency Analysis-Based Approach for Mitigating Poisoning Attacks in Federated Learning

FreqFed: A Frequency Analysis-Based Approach for Mitigating Poisoning Attacks in Federated Learning

时间:2024-10-12 22:22:13浏览次数:12  
标签:Based 迭代 Attacks 模型 矩阵 Federated 攻击 DCT 客户端

FreqFed: A Frequency Analysis-Based Approach for Mitigating Poisoning Attacks in Federated Learning -- FreqFed:一种基于频率分析的联邦学习中缓解中毒攻击的方法

来源

Network and Distributed System Security (NDSS) Symposium 2024
26 February - 1 March 2024, San Diego, CA, USA
ISBN 1-891562-93-2
https://dx.doi.org/10.14722/ndss.2024.23620
www.ndss-symposium.org

链接:NDSS
作者 & 单位:author

摘要

  • 联邦学习是一种协作学习范式,允许多个客户端共同训练模型而无需共享其训练数据。然而,联邦学习易受到投毒攻击的影响,在这种攻击中,敌手将经过操纵的模型更新注入到联邦学习模型聚合过程中,以破坏或损坏预测(非针对性中毒)或植入隐藏功能(针对性中毒或后门)。
  • 现有针对联邦学习中投毒攻击的防御措施存在若干局限性,例如依赖于对攻击类型和策略或数据分布的特定假设,或者在面对先进的注入技术和策略时缺乏足够的鲁棒性,同时又需保持聚合模型的有效性。
  • 为了解决现有防御机制的不足,本文采取了一种通用的且完全不同的方法来检测投毒(针对性和非针对性)攻击。提出了FreqFed,这是一种新颖的聚合机制,它将模型更新(即权重)转换到频率域,在该域中我们可以识别出继承了足够权重信息的核心频率成分。这使我们能够在客户端的本地训练过程中有效地过滤掉恶意更新,而不受攻击类型、策略和客户端数据分布的影响。

在本文中,客户端训练结束后上传的模型参数(本地神经网络的权重),而不是梯度,这是因为本篇论文采用的聚合方法为FedAvg,在一次联邦学习迭代中( i i i-th round),一个客户端训练多个轮次(epoch),然后将更新后的本地神经网络参数上传。因为一次迭代训练了多次,所以客户端不可能在一次迭代结束后上传梯度(梯度是一次训练的产物)。

威胁模型

  • 本文主要抵抗投毒攻击,联邦学习中的投毒攻击可以大致分为两类:无目标攻击(Untargeted Attacks)和有目标攻击(Targeted Attacks)。无目标攻击旨在削弱聚合模型的性能并阻碍其泛化能力;有目标攻击则旨在将隐蔽功能(后门)植入模型中,此类攻击使得对手能够隐秘地控制模型的行为。这些攻击尤其危险,因为它们可能在较长时间内不被察觉,进而导致严重的安全漏洞。
  • 投毒攻击有以下威胁:
    • 完全控制多达 k A < K / 2 k_\mathcal{A} < K/2 kA​<K/2 的受损客户端,包括这些客户端的全部本地训练数据,以及本地训练操作和超参数(即学习率、训练轮数等)。
    • 恶意客户端在将生成的局部模型提交给全局服务器进行聚合之前,会产生一个恶意权重。
    • 恶意客户端通过向损失函数添加正则化项来精心构造模型更新,以规避聚合服务器的异常检测器的检测,并使得自身恶意模型尽可能与良性模型无法区分。
    • 恶意客户端在每一轮的本地训练中改变其训练方式,并始终在特定的训练迭代中决定以正常或恶意的方式进行行为。
    • 恶意客户端通过调整攻击参数(即毒化模型率、毒化数据率、训练损失等)进行自适应攻击,以利用已部署防御机制的弱点。敌手还可以采用最先进的注入技术,遵循任何注入策略。

设计目标

  • 抵抗投毒攻击,能够有效消除针对性和非针对性中毒攻击的影响,同时保持聚合模型的良性性能。

所用方法

本文的方法相对较简单,就是将客户端上传的模型参数转换到频率域,将模型权重视为信号,通过判断这些信号特征,来分辨恶意客户端和良性客户端,依据DCT系数分簇,将最大簇视为最优良性簇,服务器采用最大簇的模型参数进行更新。

  1. 离散余弦变换(Discrete Cosine Transform,DCT)
  • 在信号处理领域,DCT用来揭示信号的特性,在一些计算机视觉领域,DCT也被用来表示图像的质量(如:水下图像质量评价),因为DCT具有强大的能量集中特性,能够将输入数据压缩为尽可能少的系数。

  • 本文主要使用了二维离散余弦变换(2d DCT),这是因为在2d-DCT中,低频部分主要集中在矩阵的左上部分,矩阵的右下部分为信号的高频部分。 在计算机视觉应用DCT时,DCT的低频部分往往代表了图像中变化缓慢的部分,通常对应于图像的整体结构和平滑区域,这些通常是图像中最显著的特征;而高频部分往往代表了图像中快速变化的部分,比如边缘、细节和纹理等。 在本文中,通过分析DCT的低频部分,就可以分析出模型参数的特征。

  • 以下方程将给出信号 x x x(例如, N × M N \times M N×M 矩阵)在频率 k k k 和 l l l 下的二维离散余弦变换(DCT):
    X ( k , l ) = ∑ m = 0 M − 1 ∑ n = 0 N − 1 c 1 c 2 x ( m , n ) c o s ( k π 2 M ( 2 m + 1 ) ) c o s ( l π 2 N ( 2 n + 1 ) ) X(k,l)=\sum_{m=0}^{M-1} \sum_{n=0}^{N-1} c_1c_2x(m,n)cos(\frac{k\pi}{2M}(2m+1))cos(\frac{l\pi}{2N}(2n+1)) X(k,l)=∑m=0M−1​∑n=0N−1​c1​c2​x(m,n)cos(2Mkπ​(2m+1))cos(2Nlπ​(2n+1))
    其中, c 1 , c 2 , k , l c_1,c_2,k,l c1​,c2​,k,l分别是:

    { c 1 = 2 M N f o r k = 0 , c 1 = 1 f o r k = 1 , 2 , . . . , M − 1 c 2 = 2 M N f o r l = 0 , c 2 = 1 f o r l = 1 , 2 , . . . , N − 1 \begin{cases} & c_1=\sqrt{\frac{2}{MN}} & for & k=0, c_1=1 & for & k=1,2,...,M-1 \\ & c_2=\sqrt{\frac{2}{MN}} & for & l=0, c_2=1 & for & l=1,2,...,N-1 \end{cases} ⎩ ⎧​​c1​=MN2​ ​c2​=MN2​ ​​forfor​k=0,c1​=1l=0,c2​=1​forfor​k=1,2,...,M−1l=1,2,...,N−1​

  • 输入为原始数据 x x x,输出为DCT矩阵 X X X。 对于本文,只需要知道DCT的输入和输出以及低频数据在矩阵的左上即可。

  1. 基于层次密度的空间应用聚类方法及其噪声处理聚类(Hierarchical Density-Based Spatial Clustering of Applications with Noise Clustering,HDBSCAN Clustering
  • 此方法简单地说,就是对于一个左上与右下对称的矩阵 m a t r i x matrix matrix,HDBSCAN Clustering将相似的元素( m a t r i x i , j matrix_{i,j} matrixi,j​)标记为一个相同的簇cluster
  • HDBSCAN Clustering是一种先进的基于密度的聚类技术,利用密度可达性原理来识别数据聚类。
  • HDBSCAN 的一个关键优势在于其能够识别不同大小和形状的聚类。
  • HDBSCAN 的另一个优势在于其能够识别包含噪声或离群点的聚类。

这两个方法原理也不是很难,本文相对较简单,不过创新行却较高。

FreqFed

  • 本文的整体设计如图所示:
    fig1
    在第 t t t 轮迭代中,系统的运行过程如下:
  1. ClientUpdate
  • 客户端 i i i 收到全局模型 G t G_t Gt​ 后,采用 FedAvg 的训练方法,将本地数据分为多个批次,每个批次大小为 B B B ,定义本地训练次数 e p o c h epoch epoch为 E i E_i Ei​ 。在每一次训练次数中,对每一批次进行训练并更新模型,训练完 ( E i × E_i \times Ei​× 批次) 次后,本次迭代结束,客户端 i i i 将模型参数 W i t W_i^t Wit​ 上传。
  1. server
  • 服务器收到客户端 i i i 上传的模型参数 W i t W_i^t Wit​ 后,对模型参数 W i t W_i^t Wit​ 应用DCT变换,将模型参数 W i t W_i^t Wit​ 转换为DCT系数列表 V i t V_i^t Vit​ 。
  • 我们将这个一维数组 V i t V_i^t Vit​ 看成二维的矩阵,我们只需要这个矩阵的左上元素(低频部分),服务器对每一个DCT系数列表 V i t V_i^t Vit​ 应用Filtering算法,将矩阵的左上元素读取到列表 F i t F_i^t Fit​ 中。
  • 服务器处理完所有的客户端的数据后,将所有的 F i t F_i^t Fit​ 输入到聚类算法Clustering中,找出最大簇 B B B ,即拥有 cluster_ids 最多的簇。
  • 服务器找到最大簇 B B B 之后,只对最大簇中的客户端所提交的模型参数 W b l t W_{bl}^t Wblt​ 进行简单聚合: G t + 1 ← ∑ l = 1 L W b l t / L G_{t+1} \gets \sum_{l=1}^{L}W_{bl}^t/L Gt+1​←∑l=1L​Wblt​/L 。
  • 然后服务器将更新的全局模型 G t + 1 G_{t+1} Gt+1​ 发送给所有客户端进行下一轮迭代。
  1. Filtering算法
  • 服务器对客户端 i i i 上传的模型参数 W i t W_i^t Wit​ 应用DCT变换后得到为DCT系数列表 V i t V_i^t Vit​ ,这本是一个一维列表,但是我们将其看作二位矩阵,对于DCT方法,我们只需要矩阵的左上元素,所以我们使用两层 for 循环取其左上元素。
  1. Clustering算法
  • Clustering算法输入的是所有客户端的低频数据( F 1 , . . . , F K F_1,...,F_K F1​,...,FK​),我们计算这些数据的余弦相似度,这是一个二维矩阵,然后用1减去这个矩阵,将值赋值给 d i s t a n c e s m a t r i x i , j distances_matrix_{i,j} distancesm​atrixi,j​,但是请注意到,这是一个右上关于左下对称的矩阵,我们将其翻转为左上与右下对称的矩阵 d i s t a n c e s m a t r i x j , i distances_matrix_{j,i} distancesm​atrixj,i​。
  • 我们得到这个对称矩阵后,使用 HDBSCAN 判断这个矩阵的相似度,得到多个簇,每一个簇都包含着客户端的编号。
  • 选择最大的簇,然后将最大簇 B B B 中的客户端所上传的模型参数进行简单聚合。

算法如算法1所示:
algorithm1

总结

  • 本篇论文主要使用了DCT变换,将模型参数从空间域转换到频率域,然后通过频率域的低频信号来判断模型应该被分类到哪一簇,也就是哪些模型参数的低频信号较相近。
  • 本篇论文中客户端上传的是模型参数,这是因为客户端在一次迭代中并不只是训练一次,而是多次,因为梯度是一次训练的产物,所以在一次迭代结束后,客户端不可能上传梯度,而是将迭代后更新的本地模型参数上传,然后服务器对其判断,将判断出的模型参数进行简单聚合。
  • 本篇论文阅读起来并不难,重点是学习到作者如何将DCT这一技术应用到联邦学习中来抵抗投毒攻击。

思考

  • 本文采用了FedAvg的训练方法,我们能不能换成随机梯度下降,这样客户端一次迭代只训练一次,然后上传更新的梯度,服务器后续的操作都是基于梯度进行,最后对最大簇的梯度进行聚合来更新全局模型。
  • 在聚类Clustering算法中,只返回最大簇,这会不会导致一些良性客户端被忽视,如果除开恶意客户端后,良性客户端经聚类后分类较平均,那么会不会一次迭代产生的收益太少?我们可不可以在得到簇 i d id id 后采用注意力机制,对簇 i d id id 进行权值计算,为不同大小的簇分配不同的权值,然后服务器根据权值对所有的客户端进行简单聚合?
  • 这篇论文只抵抗投毒攻击,因为他采用了FedAvg的方法,那么除了投毒攻击其他攻击都无法抵抗,我们能否增加密钥系统,这样就能抵抗合谋攻击和成员推理攻击,增加了联邦学习的安全性。

标签:Based,迭代,Attacks,模型,矩阵,Federated,攻击,DCT,客户端
From: https://blog.csdn.net/wzx_442011334/article/details/142862455

相关文章

  • PatentGPT: A Large Language Model for Patent Drafting Using Knowledgebased Fine-
    本文是LLM系列文章,针对《PatentGPT:ALargeLanguageModelforPatentDraftingUsingKnowledgebasedFine-tuningMethod》的翻译。PatentGPT:一种使用基于知识的微调方法进行专利起草的大型语言模型摘要1引言2相关工作3提出的方法4实验5基准测试6总结......
  • Codeforces Round 977 (Div. 2, based on COMPFEST 16 - Final Round)
    目录写在前面A签到B贪心,枚举C1贪心C2贪心,枚举DDPE1/E2Kruscal重构树,树上背包写在最后写在前面补题地址:https://codeforces.com/contest/2021。上大分失败呃呃呃呃我不要上班呜呜A签到考虑仅有三个数\(a,b,c(a<b<c)\)时最优操作,手玩下发现最优操作顺序一定是......
  • Codeforces Round 977 (Div. 2, based on COMPFEST 16 - Final Round)
    CodeforcesRound977(Div.2,basedonCOMPFEST16-FinalRound)A.MeaningMean题目链接:Problem-A-Codeforces题目描述:给定一个包含(n)个正整数的数组(a)。你可以执行如下操作直到数组中只剩下一个元素:从数组中选择两个不同的元素(a_i)和(a_j......
  • 【CodeForces训练记录】Codeforces Round 977 (Div. 2, based on COMPFEST 16 - Final
    赛后反思做红温了,太菜了,每题都需要WA几次才能过,B题看到MEX选择性害怕,时间复杂度又算错了A题每次选择一对\(a_i,a_j\)把均值插入数组最后面,要想结果最大,对于两个数求均值,最后的结果一定是小于等于其中的较大值,我们可以考虑如何最大化最后一次操作,想到将最大值保留在最后再......
  • pbootcms模板报错提示PHP Warning: Unknown: open_basedir restriction
    当PbootCMS模板出现报错提示 PHPWarning:Unknown:open_basedirrestrictionineffect.File 时,通常是因为PHP的 open_basedir 限制设置不当。以下是解决该问题的简要步骤:解决步骤检查PHP配置文件(php.ini):确认 open_basedir 设置是否正确。修改 open_b......
  • pbootcms模板报错提示PHP Warning: Unknown: open_basedir restriction
    遇到PbootCMS模板中出现类似 PHPWarning:Unknown:open_basedirrestrictionineffect.File 的错误提示,通常是由于PHP的 open_basedir 配置限制导致的。这种情况下,可以通过调整PHP版本或修改 open_basedir 配置来解决问题。解决方案1.更换PHP版本根据你的描......
  • 【自动泊车】《Vacant Parking Slot Detection in the Around View Image Based on De
    1.参考论文地址:VacantParkingSlotDetectionintheAroundViewImageBasedonDeepLearning代码:GitHub-weili1457355863/VPS-Net:Avacantparkingslotdetectionmethodinthearoundviewimagebasedondeeplearning.2.摘要        带有独立全景监......
  • 联邦学习(Federated Learning)原理与代码实战案例讲解
    联邦学习(FederatedLearning)原理与代码实战案例讲解关键词:联邦学习集中式学习数据隐私保护分布式机器学习同态加密安全多方计算1.背景介绍1.1问题的由来随着大数据时代的到来,数据孤岛现象日益严重。许多组织拥有大量的本地数据,但由于法律、安全或商业原因,这些数据......
  • 第八章Trellis and Graph Based Codes第一部分
    卷积码的结构通过传递要通过线性有限状态移位寄存器传输的信息序列来生成卷积码。一般来说,移位寄存器由K(K位)级和n个线性代数函数生成器组成。编码器的输入数据(假定为二进制数据)每次在移位寄存器中移位k位。每个k位输入序列的输出位数为n位。因此,码率定义为Rc=k/n。K......
  • 【论文阅读笔记】【Hand Pose Estimation-Interacting Hand】 ACR: Attention Collabo
    CVPR2023读论文思考的问题论文试图解决什么问题?写作背景是什么?问题:如何更好地在任意场景下实现双手的姿态估计和重构?背景:现有的方法将两只手当做一个整体去提取特征,同时回归出两只手的信息,这种特征对于双手识别来说并不是最优的,同时也带来了限制:输入必须是2只手;当......