Krum算法是一种基于欧氏距离的拜占庭容错机器学习算法,是一种在分布式机器学习中保证其在具有拜占庭错误时仍然可以收敛的算法。
拜占庭错误
所谓的拜占庭错误在机器学习中是指,客户端在提交模型更新时,可以提交任意的随机数,或者选择不提交。当然,这有可能是由于机器故障或者网络故障等不可抗力的原因,也可能是由于恶意的用户故意提交错误的更新,来破坏训练过程。
算法假设
我们具有nnn个客户端{
c1,c2,⋯ ,cn}\{c_1,c_2,\cdots,c_n\}{
c1,c2,⋯,cn}和一个服务器sss,每个客户端都具有一部分数据,cic_ici具有数据DiD_iDi。一般假设数据是独立同分布的,也就是iid.
在这nnn个客户端中,有fff个是不诚实的,也就是可能发起拜占庭攻击的。且满足2f+2<n2f+2<n2f+

Krum算法是一种用于分布式机器学习的拜占庭容错算法,旨在处理客户端可能存在的拜占庭错误。这些错误可能是由于故障或恶意行为导致的模型更新异常。算法涉及客户端和服务器,通过计算梯度间的欧氏距离,选择得分最低的梯度进行模型更新,从而确保在存在不诚实节点的情况下仍能收敛。Multi-Krum是其扩展,选取多个最低得分的梯度进行平均更新。
最低0.47元/天 解锁文章
78





