聚类联邦学习的拜占庭鲁棒性

聚类联邦学习的拜占庭鲁棒性

【2020 ICASSP】On the Byzantine Robustness of Clustered Federated Learning
原文链接:https://ieeexplore.ieee.org/document/9054676

介绍

联邦学习假设:存在一个模型 f θ : X → Y f_\theta:\mathcal X\rightarrow\mathcal Y fθ:XY,能够同时满足所有客户端产生的分布 φ i \varphi_i φi,这个假设可以用以下形式表达:

假设1:(FL) 存在参数 θ ∗ ∈ Θ \theta^*\in\Theta θΘ,可以同时使得所有客户端产生的分布损失达到最小:
R i ( θ ∗ ) ≤ R i ( θ )    ∀ θ ∈ B ε ( θ ∗ ) ,   i = 1 , ⋯   , m R_i(\theta^*)\le R_i(\theta)\ \ \forall\theta\in B_\varepsilon(\theta^*),\ i=1,\cdots,m Ri(θ)Ri(θ)  θBε(θ), i=1,,m
这里的 R i ( θ ) = ∫ l ( f θ ( x ) , y ) d φ i ( x , y ) R_i(\theta)=\int l(f_\theta(x),y)d\varphi_i(x,y) Ri(θ)=l(fθ(x),y)dφi(x,y)是在分布 φ i \varphi_i φi上的一个损失函数, l l l是一个合适的损失函数。

然而这个假设不一定总是满足,当:

  • 一个或多个客户端不满足分布 φ i ( y ∣ x ) ≠ φ j ( y ∣ x ) \varphi_i(y|x)\ne\varphi_j(y|x) φi(yx)=φj(yx)
  • 模型 f θ f_\theta fθ不能同时适应所有的分布

聚类联邦学习(Clustered Federated Learning),简称CFL,产生于上述假设1,并且能够解决客户端持有和聚类结构不一致分布的数据的问题。

**假设2:(CFL) ** 在所有客户端中存在一个集合KaTeX parse error: Expected group after '_' at position 36: …ts,c_k},\bigcup_̲\limits{i=1}^kc…,使得任意一个子集 c ∈ C c\in \mathcal C cC满足传统的联邦学习假设。

拜占庭设置: 聚类联邦学习利用FL损失函数的集合特性,来识别聚类结构C,和FL相比,CFL不需要对FL的通信协议进行修改,适用于一般的非凸函数求极值问题,在聚类质量上有很强的数学保证。事实证明,常规的联邦学习在有错误和恶意客户端的存在下无法收敛,一个不良客户端就会损害整个联合训练模型,并且否认了其他所有正确客户端训练的成果。

为了缓解这个问题,现有的解决策略需要对联邦通信协议进行修改,这会使得计算成本很高,在本文中将探讨CFL这个框架在拜占庭式设置中的应用,即客户端存在一个有害子集。我们设置一个良性客户端为 c b e n i g n ∈ C c_{benign}\in \mathcal C cbenignC,所有攻击客户端集合为 C a d v \mathcal C_{adv} Cadv,则全体客户端可以表示为 C = { c b e n i g n } ∪ C a d v \mathcal C=\{c_{benign}\}\cup \mathcal C_{adv} C={cbenign}Cadv

image-20220721130722996

左边第一幅图是传统的联邦学习框架,中间是聚合联邦学习框架,是传统联邦学习的扩展,通过自动将客户端分离到联合可训练数据分布的集群中,增加了鲁棒性和灵活性。右图是CFL在拜占庭设置中的应用,可以当作集群设置的特殊情况,只有最大的集群是良性的,其余客户端都是敌对的。

集群联邦学习

集群联邦学习可以通过检查余弦相似度,在客户端及其数据上可以推断出聚类结构C:
α i , j : = < Δ θ i , Δ θ j > ∣ ∣ Δ θ i ∣ ∣   ∣ ∣ Δ θ j ∣ ∣ \alpha_{i,j}:=\dfrac {<\Delta\theta_i,\Delta\theta_j >} {||\Delta\theta_i||\ ||\Delta\theta_j||} αi,j:=∣∣Δθi∣∣ ∣∣Δθj∣∣<Δθi,Δθj>
这个结果概括为下面定理:

定理1(分离定理+推论) D 1 , D 2 , ⋯   , D m D_1,D_2,\cdots,D_m D1,D2,,Dm是m个客户端不同的本地训练集,每一个训练集都是产生于k个不同数据生成分布 φ 1 , ⋯   , φ k \varphi_1,\cdots,\varphi_k φ1,,φk中的一个分布,表示为 D i ∼ φ I ( i ) ( x , y ) D_i \sim\varphi_{I(i)}(x,y) DiφI(i)(x,y),令每个客户端的经验损失 r i ( θ ) r_i(\theta) ri(θ)都近似于真实风险 R I ( i ) ( θ ) R_{I(i)}(\theta) RI(i)(θ)对于每一个联邦学习目标 θ ∗   s . t . \theta^*\ s.t. θ s.t.
γ i : = ∣ ∣ ∇ R I ( i ) ( θ ∗ ) − ∇ r i ( θ ∗ ) ∣ ∣ ∣ ∣ ∇ R I ( i ) ( θ ∗ ) ∣ ∣ ∈ [ 0 , 1 ) \gamma_i:=\dfrac {||\nabla R_{I(i)}(\theta^*)-\nabla r_i(\theta^*)||} {||\nabla R_{I(i)}(\theta^*)||}\in[0,1) γi:=∣∣∇RI(i)(θ)∣∣∣∣∇RI(i)(θ)ri(θ)∣∣[0,1)
那么,在联邦学习目标的每一个解 θ ∗ \theta^* θ c 1 , c 2 c_1,c_2 c1,c2将是正确的:
KaTeX parse error: Expected group after '_' at position 37: …g\ \mathop{min}_̲\limits{c_1\cup…
如果:
KaTeX parse error: Expected group after '_' at position 15: \mathop {max}_̲\limits{i\in c_…
其中:
H i , j = − γ i γ j + 1 − γ i 2 1 − γ j 2 H_{i,j}=-\gamma_i\gamma_j+\sqrt{1-\gamma_i^2}\sqrt{1-\gamma_j^2} Hi,j=γiγj+1γi2 1γj2
一个稍弱,但更加简单的基于最大逼近误差的表述可以是:

推论1: 只要它保持:
γ m a x : = m a x i = 1 , ⋯   , m γ i < s i n ( π 4 ( k − 1 ) ) \gamma_{max}:=\mathop{max}\limits_{i=1,\cdots,m}\gamma_i<sin(\dfrac \pi {4(k-1)}) γmax:=i=1,,mmaxγi<sin(4(k1)π)
算法: 聚类联邦学习算法以自顶向下的方式分离客户机群:从最初客户机集合 c = { 1 , ⋯   , m } c=\{1,\cdots,m\} c={1,,m}和初始化参数 θ 0 \theta_0 θ0,客户端通过n次随机梯度下降迭代计算出权重更新 Δ θ i \Delta\theta_i Δθi,在传统联邦学习中,这些权重更新被传送到中央服务器,将会通过平均算法被聚合成一个全局模型。在CFL中,比前者更有优势,服务器计算出来余弦相似度矩阵 α \alpha α,基于这个,得到两个聚类候选者:
KaTeX parse error: Expected group after '_' at position 37: …g\ \mathop{min}_̲\limits{c_1\cup…
如果两个聚类之间的最大相似度
α c r o s s ← m a x i ∈ c 1 , j ∈ c 2 α i , j \alpha_{cross}\leftarrow\mathop{max}\limits_{i\in c_1,j\in c_2}\alpha_{i,j} αcrossic1,jc2maxαi,j
低于一个确定的阈值 α c r o s s t h e r s h \alpha_{cross}^{thersh} αcrossthersh,那么主要的集群将分成两个候选集群,然后对每一个客户机集群分别进行模型聚合,在之后的通信回合也重复这个过程,现有的集群可能会使用相同的机制进一步细化,整个过程如下面算法给出:

算法1:聚类联邦学习(用于拜占庭鲁棒性)

image-20220722092158984

首先输入初始化向量 θ 0 \theta_0 θ0,阈值 α c r o s s t h r e s h ∈ [ − 1 , 1 ) \alpha_{cross}^{thresh}\in [-1,1) αcrossthresh[1,1),还有迭代次数n,要输出恶意客户端和恶意模型。

初始化集群C,设置初始模型 θ 0 \theta_0 θ0,和初始权重更新向量 Δ θ c ← 0    ∀ c ∈ C \Delta\theta_c\leftarrow 0\ \ \forall c\in\mathcal C Δθc0  cC

如果没有收敛,一直重复:

​ 对于 i = 1 , ⋯   , m i=1,\cdots,m i=1,,m

​ 第i个客户端做:

​ 随机梯度权重更新

​ 服务端做:

​ 对于所有客户端c,重复:

​ 获得余弦相似度矩阵

​ 得到两个预选集群 c 1 , c 2 c_1,c_2 c1,c2

​ 得到两个集群最大相似度

​ 与阈值进行比较,如果小于阈值:

​ 常规的CFL:

​ 从全体客户端中除去当前客户端c和 c 1 , c 2 c_1,c_2 c1,c2

​ 拜占庭鲁棒式CFL:

​ C是 c 1 , c 2 c_1,c_2 c1,c2中模最大的一个

​ 对于每一个客户端

​ 计算每一个客户端的权重更新向量 Δ θ c ← 0    1 ∣ c ∣ ∑ i ∈ c Δ θ i \Delta\theta_c\leftarrow 0\ \ \dfrac 1 {|c|} {\sum_{i\in c}\Delta\theta_i} Δθc0  c1icΔθi

返回权重向量和全体C

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值