写在前面
在介绍联邦学习客户端之间数据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): 目标变量的偏移。
- 概念偏移(Concept Shift): 独立变量和目标变量之间关系的偏移。
联邦学习中客户端数据Non-IID分布的五种类型:
类型1:Feature distribution skew (convariate shift)
不同客户端
P
i
(
x
)
\mathcal{P}_i(x)
Pi?(x)分布不相同,
P
(
y
∣
x
)
\mathcal{P}(y|x)
P(y∣x)分布相同。
举个例子:
在数字手写识别任务上,不同的人可以看作不同的客户端,小明喜欢写豪放版的"3"(特征x),而小红喜欢写苗条版的"3"(特征x),那么在小明这个客户端上的分布
P
i
(
x
)
\mathcal{P}_i(x)
Pi?(x)中豪放版的"3"概率较高,而小红则相反(也就是说不同客户端
P
i
(
x
)
\mathcal{P}_i(x)
Pi?(x)分布不相同)。但是呢,当 x = 豪放版"3"时,不同客户端用这个特征x预测出来的标签y=3的概率是相近的(也就是说
P
(
y
∣
x
)
\mathcal{P}(y|x)
P(y∣x)分布相同)。
下面这篇论文的实验设置就是Feature distribution skew
地址:https://openaccess.thecvf.com/content/CVPR2021/papers/Li_Model-Contrastive_Federated_Learning_CVPR_2021_paper.pdf
类型2:Label distribution skew (prior probability shift)
不同客户端
P
i
(
y
)
\mathcal{P}_i(y)
Pi?(y)分布不相同,
P
(
x
∣
y
)
\mathcal{P}(x|y)
P(x∣y)分布相同。
以MNIST数据集为例,客户端1有90%的数字1,10%的其他数字,客户端2有95%数字7,10%的其他数字…,这种情况就是不同客户端
P
i
(
y
)
\mathcal{P}_i(y)
Pi?(y)分布不相同。而当y给定时,比如y等于7,那即使是不同的客户端,对应的特征x大概率是7的形状,所以说
P
(
x
∣
y
)
\mathcal{P}(x|y)
P(x∣y)分布相同
下面这篇论文的实验设置就是Label distribution skew
地址:http://www.lamda.nju.edu.cn/lixc/papers/FedRS-KDD2021-Lixc.pdf
类型3:Same label, different features (concpt shift)
不同客户端
P
(
x
∣
y
)
\mathcal{P}(x|y)
P(x∣y)分布不相同,
P
i
(
y
)
\mathcal{P}_i(y)
Pi?(y)分布相同。
P
(
x
∣
y
)
\mathcal{P}(x|y)
P(x∣y)分布不相同可以这样去理解:同样是房子(y相同),欧洲(客户端1)的房子和中国(客户端2)的房子对应的形态是不同的(x不同)
类型4:Same features, different label (concept shift)
不同客户端
P
(
y
∣
x
)
\mathcal{P}(y|x)
P(y∣x)分布不相同,
P
i
(
x
)
\mathcal{P}_i(x)
Pi?(x)分布相同。
P
(
y
∣
x
)
\mathcal{P}(y|x)
P(y∣x)分布不一致,举例来说,不同读者(客户端)对于同一条新闻事件(x)持有不同的看法(y)
类型5:Quantity skew or unbalancedness
这种类型最简单,就是指不同客户端的训练集的数量差异很大。
举个例子:客户端
i
i
i 有100个样本,而客户端
j
j
j 有2万个样本
参考资料
|