纵向联邦学习的定义与举例

我们把在数据集上具有相同的样本空间、不同的特征空间的参与方所组成的联邦学习归类为纵向联邦学习(VFL)。

假如有一位用户在一家银行中有一些能够反映出该用户的经济收入、消费习惯和信用评级的数据记录。同时在一家电商平台中记录着这位用户所浏览和购买的商品的历史信息。尽管这两家公司拥有用户数据的特征空间完全不同,他们彼此间却有着紧密的联系。例如,用户的购买历史可能在某种程度上决定了该用户的信用评级。

出于不同的商业目的,不同的组织拥有的数据通常具有不同的特征空间,但这些组织可能共享一个巨大的用户群体。通过使用VFL,我们可以利用分布于这些组织的异构数据,搭建更好的机器学习模型,并且不需要交换和泄露隐私数据。

纵向联邦学习的架构

image-20210309235515471

举个例子。假设两家公司A和B想要协同地训练一个机器学习模型。每一家公司拥有各自的数据,此外B还拥有进行模型预测任务所需的标注数据。由于用户隐私和数据安全的原因,A方和B 方不能直接交换数据。为了保证训练过程中的数据保密性,加入了一个第三方协调者C。在这里,我们假设C方是诚实且不与A方和B方共谋,但A方和B方都是诚实但好奇的。被信任的第三方是一个合理的假设,因为C方的角色可以有权威机构(如政府)扮演或安全计算节点代替。

  • 第一部分:加密实体对齐

由于A方和B方公司的用户群体不同,系统使用一种基于加密的用户ID对齐技术,来确保A方和B方不需要暴露各自的原始数据便可以对齐共同用户。

  • 第二部分:加密模型训练

在确定共有实体后,各方可以使用这些共有实体的数据来协同地训练一个机器学习模型。

  1. 协调者C创建密钥对,并将公共密钥发送给A方和B方。
  2. A方和B方对中间结果进行加密和交换。中间结果用来帮助计算梯度和损失值。
  3. A方和B方计算加密梯度并分别加入附加掩码。B方还会计算加密损失。A方和B方将加密的结果发送给C方。
  4. C方对梯度和损失信息进行解密,并将结果发送回A方和B方。A方和B方解除梯度信息上的掩码,并根据这些梯度信息来更新模型参数
Edited on Views times

Give me a cup of [coffee]~( ̄▽ ̄)~*

deku酱 WeChat Pay

WeChat Pay

deku酱 Alipay

Alipay

deku酱 PayPal

PayPal