横向联邦学习的定义

横向联邦学习也称为按样本划分的联邦学习(Sample-Partitioned Federated Learning 或 Example-Partitioned Federated Learning),可以应用于联邦学习的各个参与方的数据集有相同的特征空间和不同的样本空间的场景,类似于在表格视图中对数据进行水平划分的情况。事实上,横向一词来源于术语 横向划分(horizontal partition)。“横向划分” 广泛用于传统的以表格形式展示数据库记录内容的场景,例如表格中的记录按照行被横向划分为不同的组,且每行都包含完整的数据特征。我们将横向联邦学习的条件总结为:

xi=xj,yi=yj,IiIj,Di,Dj,ijx_i=x_j,y_i=y_j,I_i\ne I_j,\forall D_i,D_j,i\ne j

Di,DjD_i,D_j表示第i方和第j方拥有的数据集。我们假设两方的数据特征空间和标签空间对,即(xi,yi),(xj,yj)(x_i,y_i),(x_j,y_j)是相同的。但是我们假设两方的客户ID空间,即Ii,IjI_i,I_j没有交集或交际很小。

横向联邦学习的安全性

关于横向联邦学习系统的安全性的定义,我们通常假设一个横向联邦学习系统的参与方都是诚实的,需要防范的对象是一个诚实但好奇 (honest-but-curious)的聚合服务器。即通常假设只有服务器才能使得数据参与方的隐私安全受到威胁。

横向联邦学习架构

客户-服务器架构

客户-服务器架构也被称为主-从(master-worker)架构或者轮辐式(hub-and-spoke)架构。在这种系统中,具有同样数据结构的 K 个参与方(也叫作客户或用户)在服务器(也叫作参数服务器或者聚合服务器)的帮助下,协作地训练一个机器学习模型。横向联邦学习系统的训练过程通常由如下四步组成:

  • 各参与方在本地计算模型梯度,并使用同态加密、差分隐私或秘密共享等加密技术,对梯度信息进行掩饰,并将掩饰后的结果(简称为加密梯度) 发送给聚合服务器。
  • 服务器进行安全聚合(secure aggregation)操作,如使用基于同态加密的加权平均。
  • 服务器将聚合后的结果发送给各参与方。
  • 各参与方对收到的梯度进行解密,并使用解密后的梯度结果更新各自的模型参数。

img

图一:横向联邦学习的客户-服务器架构

上述步骤将会持续迭代进行,直到损失函数收敛达到允许的迭代次数的上限或训练时间,这种架构独立于特定的机器学习算法,并且所有参与方将会共享最终的模型参数。

值得注意的是,如果发送的是梯度信息,再将梯度信息聚合,再将聚合好的结果发送各参与方,这称为梯度平均。除了共享梯度信息,联邦学习的参与方还可以共享模型的参数。

对等网络架构

除了上面讨论的客户-服务器架构,横向联邦学习系统也能够利用对等网络架构。在该框架下,不存在中央服务器或 者协调方。在这种架构中,横向联邦学习系统的 K 个参与方也被称为训练方(trainer)或分布式训练方。每一个训练方负责只使用本地数据来训练同一个机器学习模型(如DNN模型)。此外,训练方们使用安全链路(channels)在相互之间传输模型参数信息。为了保证任意两方之间的通信安全,需要使用例如基于公共密钥的加密方法等安全措施。

img

图二:横向联邦学习的对等网络架构

由于对等网络架构中不存在中央服务器,训练方们必须提前商定发送和接收模型参数信息的顺序。

全局模型评估

在横向联邦学习中,模型训练和评估是在每个参与方中分布地执行的,并且任意方都不能获取其他方的数据集。在这里,本地模型性能表示某一参与方在本地测试数据集上检验得出的横向联邦学习模型的性能,全局模型性能表示所有参与方在本地测试数据集上检验得出的横向联邦学习模型的性能。模型性能可以表现为精确度(precision),准确度(accuracy)和召回率(recall)。

我们以一个二分类模型作为例子,能够根据以下步骤得到全局模型性能:

  • 对于二分类任务,第k个参与方会生成本地模型测试结果NTP(k),NFP(k),NTN(k),NFN(k)N_{TP}^{(k)},N_{FP}^{(k)},N_{TN}^{(k)},N_{FN}^{(k)},分别表示真阳性,假阳性,真阴性,假阴性。参与方k=1,2,...,Kk=1,2,...,K都执行此操作。
  • 第k个参与方给协调方发送本地模型预测结果NTP(k),NFP(k),NTN(k),NFN(k)N_{TP}^{(k)},N_{FP}^{(k)},N_{TN}^{(k)},N_{FN}^{(k)}。参与方k=1,2,...,Kk=1,2,...,K都执行此操作。
  • 在收集K个参与方的本地模型测试结果NTP(k),NFP(k),NTN(k),NFN(k)N_{TP}^{(k)},N_{FP}^{(k)},N_{TN}^{(k)},N_{FN}^{(k)},协调方能够计算全局模型性能测试结果。例如,对于二分类任务,全局召回率通过Σk=1KNTP(k)Σk=1K(NTP(k)+NFN(k))\frac{\Sigma_{k=1}^KN_{TP}^{(k)}}{\Sigma_{k=1}^K(N_{TP}^{(k)}+N_{FN}^{(k)})}
  • 协调方将计算得到的全局模型的性能发送给所有的参与方。

联邦平均算法介绍