第五章纵向联邦学习
横向联邦学习可以方便用于建立由庞大数量的移动设备所支持的应用。在这些场景下,联邦的目标是应用的消费群体,可以将其视为企业对消费者(B2C)范式。然而在很多实际场景中,联邦学习的参与方是拥有同一用户群体的组织或机构。这些组织针对同一群体收集不同的数据特征以实现不同的业务目标。他们为了提高业务效率,通常由很强的合作意向,这可以被视为企业对企业(B2B)范式。
假设有一位用户在一家银行中有一些能够反映出该用户的经济收入、消费习惯和信用评级的数据记录。同时在一家电商平台中记录着这位用户所浏览和购买的商品的历史信息。尽管这两家公司拥有用户数据的特征空间完全不同,他们彼此间却有着紧密的联系。
我们把在数据集上具有相同的样本空间、不同的特征空间的参与方所组成的联邦学习归类为纵向联邦学习,也可以理解为按特征划分的联邦学习。
5.1纵向联邦学习的定义
出于不同的商业目的,不同组织拥有的数据集通常具有不同的特征空间,但这些组织可能共享一个巨大的用户群体。通过VFL,我们可以利用分布于这些组织的异构数据,搭建更好的机器学习模型,并且不需要交换和泄露隐私数据。
在VFL的设置中,存在一些一些关于实现安全和隐私保护的假设。首先,VFL假设参与方都是诚实但好奇的。这意味着参与方虽然遵守安全协议,但将会尝试通过从其他参与方处获得信息,尽可能多地推理出信息中包含的具体内容。由于各参与方也想要搭建一个更加精确的模型,所以他们相互之间不会共谋。第二,VFL假设信息的传输过程是安全且足够可靠的,能够抵御攻击。
5.2 纵向联邦学习的架构
我们举一个例子来描述VFL的架构。假设有两家公司A和B想要协同地训练一个机器学习模型。每一家公司都拥有各自的数据,此外B方还拥有进行模型预测任务所需要 的标注数据,由于用户隐私和数据安全的原因,A方和B方不能直接交换数据。为了保证训练过程中的数据保密性,加入了一个第三方的协调者C。在这里,我们假设C方式诚实的且不与A方或B方共谋,但A方和B方都是诚实但好奇的。被信任的第三方C是一个合理的假设,因为C方的角色可以由权威机关扮演或由安全计算节点代替。
VFL系统的训练过程一般由两个部分组成(如图a):首先对齐具有相同ID,但分布于不同参与方的实体;然后基于这些已经对齐的实体执行加密的模型训练。
1.第一部分:加密实体对齐
由于A方和B方公司的用户群体不同,系统使用一种基于用户加密的用户ID对齐技术,来确保AB方不需要暴露各自的原始数据便可以对齐共同用户。在实体对齐期间,系统不会将属于某一家公司的用户暴露出来。
2.第二部分:加密模型训练
在确定共有实体后,各方可以使用这些共有实体的数据来协同训练一个机器学习模型。训练过程可以分为以下四个步骤(如图b所示)
(1)协调者C创建密钥对,并将公共密钥发送给AB方
(2)AB方对中间结果进行加密和交换。中间结果用来帮助计算梯度和损失值。
(3)AB方计算加密梯度并分别加入附加掩码