联邦学习中的数据非独立同分布问题

联邦学习中的数据非独立同分布(Non-IID)

从集中式机器学习到联邦机器学习

  1. 集中式模型:传统的集中式机器学习是将所有的数据收集到服务器端,在服务器端统一进行模型训练和处理,并将预测的结果分发给用户。但将数据上传到服务器具有隐私和安全风险,而且在服务器端统一进行训练浪费了终端的算力。,
  2. 分布式模型:将数据集分为多个子集,云端将模型和不同子集分发给各个终端,终端根据本地数据对模型进行训练和预测,可以加快训练速度,但每个终端只能看到部分数据集,导致模型的泛化能力下降。
  3. 联邦学习模型:数据集分布在多个设备或计算节点上,每个节点有自己的数据,并子啊本地进行训练,然后各个节点将自己训练的参数上传给中央服务器,中央服务器将参数聚合形成一个全局模型参数。联邦学习保证数据不离开本地,也充分利用了终端设备的算力,但也引入了新的问题。
    在这里插入图片描述

数据的独立同分布

  1. 独立性:采样样本之间相互独立,互不影响。比如扔骰子,假如只是看每次扔到的点数大小,每次扔到几就是几,它们之间是相互独立的,但要是看连续两次的和大小,那么第一次扔到的结果和第二次的结果是关联的他们不符合独立性的要求
  2. 同分布:在概率空间中不论进行几次抽样,他们都服从同一个分布。当扔骰子时,每次扔到任何一个数字的概率都是1/6。

  在传统的机器学习中,可以把训练集和测试集看成两个客户端,在之前的训练中,我们都是假设这两个客户端是IID的,这是通过训练数据集获得的模型在测试数据集上也能表现较好的重要保障。
在这里插入图片描述

  比如在一个图像分类数据集cifar-10中,共有6W张照片分为10类,在传统的图像分类实验中,数据集采用均匀划分的5w个作为训练集,1w个样本作为测试集。因为训练集和测试集都是均匀划分的,你在这两个集合中随便抽取一个样本,它属于其中一类的概率都是1/10。这就是IID。
  假设现在我们现在让10个人去随心所欲去收集一个fake Cifar-10数据集,也不去限制他每一类要收集多少张,最后也是合起来一共6w张,然后我们再非常随机的进行训练集和测试集的划分。比如训练集中,“ship”占训练集的1/5。而我们在测试集中,“ship”发现只占“1/20”。如果我们将这些类进行投票,并且绘制在一个柱状统计图中。测试集一眼看过去的曲线趋势和训练集的曲线趋势完全不一样,所以训练集和测试集99.999999999%概率不是独立同分布的。

数据的非独立同分布

  在传统的应用场景中,数据存储在中心,机器学习可以获取所有数据的整体信息,但是在联邦学习中,由于数据仅存储在本地,导致数据之间分布的不一致性。在联邦学习中,数据的非独立同分布具体分为以下几种情况:

  1. Feature Distribution skew:同一类别有不同的表现形式,比如在手写体识别的数据集中,同样的数字,不同的人写法不同
  2. Label distribution skew:不同的数据标签有不同的表现形式,比如疾病案例数据,一些医院在几种特定的疾病上更加专业,便会有更多相关患者的记录。
  3. Same label,different features,对于不同的客户,相同的标签y可能有不同的特征,比如不同地区的建筑物存在很大差别
  4. Same features,different label:由于个人喜好,训练数据中相同的特征向量可以有不同的标签,比如反映情绪的标签具有个人和区域差异。
  5. Quantity skew or unbalancedness :不同的客户端可以拥有非常不同的数据量。
      不管是那种情况的非独立同分布,每个客户端中的数据分布不能代表全局数据分布,这会影响联邦学习的收敛性。

针对 Non-IID数据的研究

  1. 文章《Federated Learning with Non-IID Data》测试了IID数据和Non-IID数据之间模型性能的差异,发现性能大幅下降
    在这里插入图片描述

为了找到原因,文章通过定义一个Weight divergence来衡量Non-IID的偏差程度
在这里插入图片描述
在这里插入图片描述

  1. 许多研究对模型更新和模型聚合做了改进,如何使得模型更加Robust和Efficient成为了Non-IID数据研究的一大热点《Federated Learning on Non-IID Data Silos: An Experimental Study》对一些解决Non-IID问题的方法进行了实验研究
    在这里插入图片描述

  2. 数据的 Non-IID 问题在联邦学习中依旧是个开放性问题,对这方面的研究还在继续。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值