三大研究方向:联邦优化算法、通信开销和隐私保护。
联邦优化算法:非独立同分布且不平衡的隐私性数据,数据集分布在不同的客户端上且不可以直接获取,客户端本身特征导致数据非独立同分布性。客户数量的分布,在联邦优化算法中可能需要面对成千上百的客户端参与。
通信效率:在实际的场景应用中,客户端往往会受到通信带宽以及能量资源等的限制。这种场景中,联邦学习算法设计应该考虑到在有效的带宽资源下实现更加高效的数据传输。
隐私保护:无论在任何联邦学习的算法中,隐私保护往往是最核心的要求。在整个联邦学习算法过程中要在有效联合学习的前提下,保证用户数据不会被泄露。
联邦学习分类:
1. 按样本特征维度分类:
一般情况下都是默认数据是按样本的维度进行划分的,也就是一个客户端持有一部分样本,另一个客户端持有另一部分样本。在特征维度,这两部分样本特征的属性应该是相同的,这种类型可以叫做横向联邦学习。另一类在特征维度进行划分,这种情况下,同一个样本的一部分特征可能存在一个客户端上,而另一部分的特征可能存在其他的客户端上,该样本在多个客户端上的特征集合能更加全面的表征这个样本,这种类型也被叫做纵向联邦学习。
2. 按学习场景分类:
联邦学习的一个分类依据是联邦学习场景中相关要素,可以将联邦学习分为两类:跨设备 (cross-device) 联邦学习,跨孤岛 (cross-silo) 联邦学习。
在跨孤岛 (cross-silo) 联邦学习中,模型是训练在一种多数据孤岛的场景下,每个客户端就是一个数据孤岛,其可以一个独立的组织或者数据中心。跨设备 (cross-device) 联邦学习类似于跨孤岛 (cross-silo) 联邦学习,这里设备一般指手机或者物联网设备,因此客户端是数量是非常巨大的。
客户端有效性:在分布式学习和跨孤岛 (cross-silo) 联邦学习中所有的客户端都是一直有效的。在跨设备 (cross-device) 联邦学习中每个时间节点只有小部分客户端是有效的,剩余客户端会由于某种原因则处于离线的状态,比如手机设备关机。
客户端可靠性:在分布式和跨孤岛 (cross-silo) 联邦学习中客户端在整个连接的过程中是相对可靠的,而在跨设备 (cross-device) 联邦学习中客户端是高度不可靠的,在通信过程中客户端会以一定的概率失败或者掉线。
目的性:结果应用目的的不同,可以将联邦学习分为全局联邦学习和个性化联邦学习。一种为联合全局模型学习,该模型为每个客户端提供相同的服务,常见的应用场景为多个银行联合各自私有的用户数据联合学习用户风控模型。另一种为联合个性化模型学习,对每个客户端都会学习一个对应的个性化模型,实现个性化的服务,一种常见的应用场景为手机设备上根据用户习惯的推荐等算法。
在客户端,融合了原学习算法MAML(一文入门元学习(Meta-Learning)(附代码) - 知乎 (zhihu.com)),对初始化模型进行学习;
元学习:在机器学习中,训练单位是一条数据,通过数据来对模型进行优化;数据可以分为训练集、测试集和验证集。在元学习中,训练单位分层级了,第一层训练单位是任务,也就是说,元学习中要准备许多任务来进行学习,第二层训练单位才是每个任务对应的数据。
在服务器端,针对需向客户端下发多个个性化模型的情况,基于模型学习中的梯度相似性,建立客户端之间的相关性;
梯度压缩:减少客户端和服务器之间通信开销
模型压缩:减小客户端上模型的大小
计算压缩:模型在客户端上的训练更加高效