联邦学习中常见的Clients数据Non-IID非独立同分布总结


写在前面

在介绍联邦学习客户端之间数据Non-IID分布前,我们需要先了解Dataset Shift的概念。

联邦学习中客户端之间Non-IID分布和我们在做机器学习任务时可能遇到的训练集与测试集分布不一致其实是一个道理(因为你可以把训练集想象成客户端1,测试集想象成客户端2)。

训练集和测试集分布不一致被称作数据集偏移(Dataset Shift)。西班牙格拉纳达大学Francisco Herrera教授在他PPT《Dataset Shift in Classification: Approaches and Problems》里提到数据集偏移有三种类型:

  • 协变量偏移(Covariate Shift): 独立变量的偏移,指训练集和测试集的输入服从不同分布,但背后是服从同一个函数关系,如图1所示。
  • 先验概率偏移(Prior Probability Shift): 目标变量的偏移。
    ![](https://img-blog.csdnimg.cn/f27284dd0a424bcc967bfcac05ea8b0d.png)
  • 概念偏移(Concept Shift): 独立变量和目标变量之间关系的偏移。

联合概率分布

数据集(X,Y)可以看作从联合概率分布P(X,Y)中采样得到

联邦学习中客户端数据Non-IID分布的五种类型:

类型1:Feature distribution skew (convariate shift)

不同客户端 $\mathcal{P}_i(x)$分布不相同,$\mathcal{P}(y|x)$分布相同。

举个例子:

在数字手写识别任务上,不同的人可以看作不同的客户端,小明喜欢写豪放版的”3”(特征x),而小红喜欢写苗条版的”3”(特征x),那么在小明这个客户端上的分布$\mathcal{P}_i(x)$中豪放版的”3”概率较高,而小红则相反(也就是说不同客户端 $\mathcal{P}_i(x)$分布不相同)。但是呢,当 x = 豪放版”3”时,不同客户端用这个特征x预测出来的标签y=3的概率是相近的(也就是说$\mathcal{P}(y|x)$分布相同)。

下面这篇论文的实验设置就是Feature distribution skew

论文地址:https://arxiv.org/pdf/2006.04088.pdf

Those who have the same rotation are from the same distribution.

类型2:Label distribution skew (prior probability shift)

不同客户端 $\mathcal{P}_i(y)$分布不相同,$\mathcal{P}(x|y)$分布相同。

以MNIST数据集为例,客户端1有90%的数字1,10%的其他数字,客户端2有95%数字7,10%的其他数字…,这种情况就是不同客户端 $\mathcal{P}_i(y)$分布不相同。而当y给定时,比如y等于7,那即使是不同的客户端,对应的特征x大概率是7的形状,所以说$\mathcal{P}(x|y)$分布相同

下面这篇论文的实验设置就是Label distribution skew

论文地址:http://www.lamda.nju.edu.cn/lixc/papers/FedRS-KDD2021-Lixc.pdf

类型3:Same label, different features (concept shift)

不同客户端$\mathcal{P}(x|y)$分布不相同, $\mathcal{P}_i(y)$分布相同。

$\mathcal{P}(x|y)$分布不相同可以这样去理解:同样是房子(y相同),欧洲(客户端1)的房子和中国(客户端2)的房子对应的形态是不同的(x不同)

类型4:Same features, different label (concept shift)

不同客户端$\mathcal{P}(y|x)$分布不相同, $\mathcal{P}_i(x)$分布相同。

$\mathcal{P}(y|x)$分布不一致,举例来说,不同读者(客户端)对于同一条新闻事件(x)持有不同的看法(y)

类型5:Quantity skew or unbalancedness

这种类型最简单,就是指不同客户端的训练集的数量差异很大。

举个例子:客户端 $i$ 有100个样本,而客户端 $j$ 有2万个样本

参考资料


Author: SHWEI
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source SHWEI !
评论
 Previous
一文读懂BERT模型 一文读懂BERT模型
学习资料 Hugging Face:https://huggingface.co 李宏毅:ELMO, BERT, GPT讲解 李沐:BERT 论文逐段精读【论文精读】 李沐:BERT预训练【动手学深度学习v2】 ShusenWang:BER
2021-10-09
Next 
【元学习之小样本学习】 Few-Shot Learning 基本概念 【元学习之小样本学习】 Few-Shot Learning 基本概念
这篇文章是博主学习 Few-Shot Learning 过程中所记录的学习笔记 学习资料感谢 @Shusen Wang 大佬的分享 Shusen Wang: Few-Shot Learning (1/3): 基本概念 课件:Slid
  TOC