把在数据集上具有相同的样本空间、不同的特征空间的参与方所组成的联邦学习归纳为纵向联邦学习(Vertical Federated Learning, VFL),也可以理解为按特征划分的联邦学习。
在这种联邦学习体系下,每一个参与方的身份和地位是相同的。
在VFL的设置中,存在一些关于实现安全和隐私保护的假设。首先,VFL假设参与方都是诚实但好奇的。第二,VFL假设信息的传输过程是安全且足够可靠的,能够抵御攻击。此外,还假设通信是无损的,不会使得中间结果的内容发生变化。一个半诚实的第三方(STP)独立于各参与方,它将会收集中间结果以计算梯度和损失值,并将结果转发给每一参与方。STP收到的来自参与方的信息是被加密过或者被混淆处理过的。因此各方的原始数据并不会暴露给彼此,并且各参与方只会收到与拥有的特征相关的模型参数。
VFL系统的训练过程一般由两部分组成:首先对其具有相同ID,但分布于不同参与方的实体;然后基于这些已对齐的实体执行加密的(或隐私保护的)模型训练。
由于A方和B方公司的用户群体不同,系统使用一种基于加密的用户ID对齐技术,来确保A方和B方不需要暴露各自的原始数据便可以对齐共同用户。
训练过程可被分为以下四个步骤:
这种算法利用同态加密方法,在联邦线性回归模型的训练过程中保护属于每一个参与方的本地数据。
具体算法流程见原书。
在实际情况中,将一个第三方加入此过程中并不总是可行的,因为第三方的合法性和可问责性难以得到保障。安全多方计算技术,例如秘密共享,可以用于移除第三方和使联邦学习去中心化。
为了进一步防止C方从A方或B方学习到相关信息,A方和B方可以将它们的梯度信息加上加密随机掩码。
模型的效率依赖于通信开销和给数据加密所需的计算开销。在每一轮迭代中,A方和B方之间发送的信息量随着重叠样本数量的增长而增加。
安全联邦提升数(SecureBoost)可与不具有隐私保护功能的且在非联邦设定下的相同算法提供相同的精确度。
主动方不仅是数据提供方,同时拥有样本特征和样本标签,此外还扮演着协调者的角色,计算每个树节点的最佳分割。被动方只是数据提供者,只提供样本特征,没有样本标签。因此,被动方需要和主动方共同地构建模型来预测标签。
SecureBoost包含两个主要步骤。首先,在隐私保护下对参与方之间具有不同特征的重叠用户进行样本对齐。然后,所有参与方通过隐私保护协议共同地学习一个共享的梯度提升树模型。
决策树集成模型的学习是通过寻找一组最佳的决策树以达到较小的分类损失,并且具有较低的模型复杂度。在梯度提升树中,这个目的是通过迭代优化真实标签和预测标签的损失(如损失的平方或损失函数的泰勒近似)来达到的。
每一个被动方首先要对其所有的特征进行分桶,然后将每个特征的特征值映射至每个桶(buckets)中。基于分桶后的特征值,被动方将聚合相应的加密梯度统计信息。通过这种方法,主动方只需要从所有被动方处收集聚合的加密梯度统计信息。
以下步骤总结了SecureBoost算法中一棵树的训练过程。
纵向联邦学习中各参与方彼此间有相对于横向联邦学习更紧密的共生关系,参与方之前需要频繁地互动以交换模型训练中间结果。
纵向联邦学习的训练很容易受到通信故障的影响,从而需要可靠并且高效的通信机制。为了解决这个问题,我们可能需要设计一种流式的通信机制,可以高效地安排每个参与方进行训练和通信的时机,以抵消数据传输的延迟。同时,对于能够容忍在纵向联邦学习过程中发生崩溃的容错机制,也是我们实现纵向联邦学习系统所必须考虑的细节。
目前,大部分防止信息泄露或者对抗恶意攻击的研究都是针对横向联邦学习的场景。之前的研究工作已经证明,只有具备针对性的安全工具,才能让不同的计算种类达到最优效果。