粗泛地讲
所谓的联邦学习,不可客观地来说,其本质就是我们通俗意义上的数据增强,也就是增加模型的训练数据。
只不过在现实场景下,很多这些训练数据都是分散在不同设备上的。鉴于一些隐私、安全问题,我们很难直接将这些不同设备上的训练数据收集起来。
比方说,不同移动设备上的用户数据,如果直接全部上传到云端,再去训练一个模型,会导致用户隐私泄露。
正是考虑到了训练数据的不可共享性(数据孤岛),才诞生了联邦学习的思想。
具体来讲
具体来讲联邦学习有三种类型
1. 横向联邦 (数据增强)
数据的样本类型(特征)一致,但是样本实例不同。比方说,如下图,不同用户的同一类型数据。
说人话,其实就是通俗意义上的样本数据增强,增加同类型的训练样本数量。
2. 纵向联邦 (特征增强)
样本数据来源相同,但是样本类型特征不同。比方说,如下图,同一个用户的不同类型特征(共享标签)。
换句话说,其实就是通俗意义上的样本特征增强,增加同一个样本的特征数量。
3. 迁移联邦
迁移学习 + 联邦学习
适用于,不同设备上的样本,样本源和特征都没有重叠的情况 (比方说,用户也没有相同的,特征也没有重合的)。
这时就利用了迁移学习,即现在一个设备上的样本预训练。具体这里不过多展开。
这里附上一篇不错的博客:
一篇文章读懂联邦学习
其他参考:
- 综述:《联邦学习:概念与应用》
- 详解联邦学习Federated Learning