摘要
联邦学习中的数据异构性问题主要是由参与训练的各客户端的数据虽独立分布但不服从同一采样方法(Non-IID)所导致的,这一问题也导致模型精度的严重下降。如何缓解Non-IID带来的不利影响目前仍是一个开放性的问题。
目前已经有很多算法可以应用于这一问题的处理上,但由于这些算法的实验都是基于不同的Non-IID场景,我们没办法系统地、直观地理解这些算法的优缺点。
为了能对各算法的性能进行一个比较,《Federated Learning on Non-IID Data Silos: An Experimental Study》这篇文章为Non-IID数据的划分策略提出了一个基准——NIID-Bench,NIID-Bench提供了全面的划分策略和数据集来覆盖不同的Non-IID场景,文章还对几种算法进行了系统的比较,并讨论了机器学习在分布式数据中存在的问题及其未来的研究方向。
数据划分策略
数据划分策略具体需要讨论两个问题:
第一:数据集是使用真实世界的Non-IID数据集还是合成数据集。
第二:如何设计全面的Non-IID场景。
该文章提出了一种名为“NIID-Bench”的划分策略,对于这两个问题,NIID-Bench做了如下处理:
对于第一个问题,NIID-Bench选择通过将真实数据集划分为多个较小的子集来合成分布式Non-IID数据集。与使用真实的联邦数据集相比,采用划分策略有以下优点:
首先,真实联邦数据集中的不平衡程度通常很难评估,但划分策略可以很容易地量化和控制局部数据的不平衡程度。
其次,划分策略可以设置不同数量的参与者来模拟不同的场景,而真实的联邦数据集的数据资源通常是固定的。
最后,由于数据规则和隐私问题,适用于训练的真实联邦数据集可能不是公开的。在现有广泛使用的公共数据集上开发划分策略显得更加灵活,这些数据集已经有大量集中的训练知识作为参考,并且可以模拟不同的Non-IID场景。
对于第二个问题,具体的划分策略参考《Advances and Open Problems in Federated Learning》这篇文章中对Non-IID场景的分类。
简单来讲,该文章总结了Non-IID数据分布的五种不同情况:(1)标签分布倾斜;(2)特征分布倾斜;(3)标签相同但特征不同;(4)特征相同但标签不同;(5)数量倾斜。五种情况具体的含义可以看我之前的这篇文章
这里第三种情况主要与纵向FL有关(各方样本id相同,但特征不同,eg:对于同一个id,银行有他的贷款信息,超市有他的购物信息)。文章中关注的是横向FL(各方特征空间相同,但拥有不同的样本id,eg:每个银行都有客户的贷款信息,但不同地方的银行客户群体不同)。第四种情况在大多数联邦学习中并不会遇到。因此,本文将标签分布倾斜、特征分布倾斜和数量倾斜视为可能存在的Non-IID数据分布情况并对每种场景进行数据模拟。
针对每种情况的数据模拟方法
标签分布倾斜
文章模拟了两种标签分布倾斜的场景,基于数量的标签不平衡和基于分布的标签不平衡。
基于数量的标签不平衡:
每个客户端的数据样本中,标签的种类是固定的。文章引入了一个通用的划分策略来设置每个客户端的标签数量。假设每个客户端的数据样本只有K个不同的标签。首先随机分配K个不同的标签id给每个客户端。然后,对于每个标签的样本,我们将它们随机平均地分配给拥有该标签的客户端。这样,每个用户的标签数量是固定的,不同用户的样本之间没有重叠。后面用#C = K来表示这种划分策略。
基于分布的标签不平衡:
每个标签都根据狄利克雷分布给每个用户分配一定比例的该标签的样本。具体而言,根据 p k p_k pk~ D i r N Dir_N DirN