1.1.2 联邦学习的定义与分类
联邦学习本质上是一种分布式机器学习技术,或新的机器学习框架。接下来从参与者持有的数据特征和使用场景两个角度对联邦学习进行分类。
1.根据数据特征和样本空间分类
根据不同的数据拥有者的数据特征与样本ID分布的重叠关系,可以将联邦学习划分为以下几类。
(1)横向联邦学习
横向联邦学习(Horizontal Federated Learning,HFL),也被称为样本分区(Sample-Partitioned)的联邦学习。横向联邦学习适用于联邦学习参与方的数据有重叠的数据特征,即数据特征在参与方之间是对齐的,但是参与方拥有的数据样本是不同的。横向联邦学习限定各个联邦成员提供的数据具有相同的特征含义,以及相近的模型参数结构(如在异质联邦学习或者联邦多任务学习等场景下可能不同)。使用参数聚合的方式生成联邦模型。在推理过程中,联邦成员内可单独完成模型推理。横向联邦学习使得联邦模型能够学习多方数据特征,提升模型泛化能力。
(2)纵向联邦学习
纵向联邦学习(Vertical Federated Learning,VFL),也被称为特征分区(Feature-Partitioned)的联邦学习。与横向联邦学习不同,纵向联邦学习限定各个联邦成员提供的数据集样本有足够大的交集,特征具有互补性,模型参数分别存放于对应的联邦成员内,并通过联邦梯度下降等技术进行优化。在推理过程中,联邦模型需要联合所有参与方一起使用,由各个参与方依据自身的特征值和参数算出中间变量,最终由标签拥有方或者可信第三方聚合中间变量获得结果。纵向联邦学习适合客群相近,但业务差别较大的场景。例如在风险评分应用中,可以使用纵向联邦学习从借贷历史、消费等不同维度帮助推理用户风险。在推理过程中,联邦成员需要合作完成模型推理。纵向联邦学习使得模型能够利用更多的数据特征,提升模型的准确度。
(3)联邦迁移学习
联邦迁移学习(Federated Transfer Learning,FTL),适用于参与方的数据样本和数据特征重叠都很少的情况。联邦迁移学习是一种特殊的形式,既不限定数据集的特征含义相同,也不需要样本有交集,是一种在相似任务上传播知识的方法。例如A公司是一家视频服务提供商,需要提升广告推荐模型的效果。B公司是一家电商公司,需要提升商品推荐模型的效果。在这种情况下,可以使用联邦迁移学习,利用双方相似的用户浏览序列,抽取深层用户行为特征作为知识,在双方模型间共享和迁移,最终提升双方模型的效果。可以看到,两个联邦成员的输入数据的含义是不同的,客群是不同的(不需要找出相同样本),预测目标也是不同的。相同之处在于双方的业务均与用户的喜好和习惯有关,而这些喜好和习惯可以作为知识共享,降低了模型过拟合的可能性,从而提升了模型效果。
2.从使用场景分类
根据使用场景可以将联邦学习分为跨竖井(跨孤岛)联邦学习(Cross-Silo Federated Learning)和跨设备联邦学习(Cross-Device Federated Learning)。为了便于理解,本书将跨竖井(跨孤岛)联邦学习称为跨组织联邦学习。在其他文献中,联邦学习也被分为面向商业的联邦学习与面向用户的联邦学习。两种分类标准非常接近,可以认为是另一种形式的表达。跨组织联邦学习与跨设备联邦学习的主要区别体现在参与者数量、联邦参与者算力的多少,以及参与者是否能够稳定地参与每个回合的联邦学习(是否会离线)。两者的更多对比见表1-1。
表1-1 跨组织联邦学习与跨设备联邦学习的比较
(1)跨组织联邦学习
跨组织联邦学习也叫作跨孤岛、跨竖井联邦学习。联邦学习的参与者是不同的组织,例如医疗机构、金融机构,以及地理空间意义上的分布式数据中心。当数据分散在不同的但是数量有限的组织中,而且每个组织能提供稳定的学习环境时,称为跨组织联邦学习。这可能是对商业利益的考虑或者法律的限制。即使是一个公司的不同地区的分布,也可能受限于所在地的法律,禁止将数据传输到本地之外。多方风险预测、欺诈检测、医疗领域的药物发现、电子医疗记录挖掘,以及医疗图像分析将是跨组织联邦学习未来研究的主流热点。
(2)跨设备联邦学习
顾名思义,跨设备联邦学习将每一个连接设备视为独立个体,模型在设备上训练,得到能捕捉设备数据特征的模型,然后模型被传输到服务器进行全局模型的聚合。跨设备联邦学习系统中的设备可能会达到数万甚至数百万的规模(如谷歌公司的Gboard键盘、苹果公司的输入法和Siri语音识别功能等)。设备算力的受限和网络连接的不稳定是联邦学习的主要特征。因此跨设备联邦学习需要考虑系统的大规模部署、参与者频繁的连入与退出。需要设计专门的鲁棒、高效的模型聚合算法提升系统学习效率。