谁都能看懂的纵向联邦学习(VFL)加密聚合算法的解释

场景说明

为便于分析,先考虑最简单的情形,现在有两个clients,client A和 client B,以及一个受信任的第三方client C(或者用server代替也可以)。client A和 client B都有一定数量的sample(每一条sample都对应ID编号,IDA表示client A的样本编号),只有client A持有label。
如果放在纵向联邦学习的场景中,那么A和B的ID是大部分都相同的(举个例子,假如A和B分别代表同一个城市的一家银行和一家保险公司,每个ID则对应每一个客户,因为在同一个城市里,所以他们面对的客户大部分都是同一批人,即大部分ID都是重合的),而我们假设A和B对应的同一个ID的feature是互斥的(银行和保险公司办理的业务一般是不同的,不同的业务类型即不同的feature)。

在上述场景下,我们来让A和B一起训练一个模型,同时要保证隐私不泄露。

训练步骤

1.首先client A将自己存放的所有数据ID加密为 EnA[IDA] 发送给client B,EnA表示A使用的加密算法。
2.client B将client A发来的加密ID与自己的数据ID一起加密,分别得到 EnB[EnA[IDA]] 和 EnB[IDB],再将两组密文一起发送给client A。EnB表示B使用的加密算法。
3.client A收到client B发来的密文后对密文使用私钥进行解密,得到 EnB[IDA] 和 EnB[IDB],根据同态性质,此时可以对两种密文取交集,得到 EnB[IDAB],即样本对齐。

到这里已经实现了样本ID对齐。

4.client A将对齐后的密文 EnB[IDAB] 发送给client B,B方拿到密文后用私钥B解密得到IDAB,并将其用自己的sample预测的label值加密为 EnB[Y],与对应的IDAB 一起发给A。
5.client A根据收到的label得到残差(一个ID对应一个Res),并将Res和对应ID一起发给client B。
6.client A计算自己的grad(一个feature对应一个grad),再将grad、loss等参数使用C分配的公钥加密后发给C方。同理,client B拿到client A发来的Res后可计算出自己的grad等参数,用公钥加密发送给C。
7.C方收到client A和 client B的密文 EnC[gradA]、EnC[gradB] 后用公钥解密,更新参数后再加密返回给client A和 client B(A、B分别只拿到自己的参数)。
8.client A和 client B更新参数评估accuracy,判断是否进行下一轮迭代。

以上的训练过程,简单讲其实就是client A和 client B各自使用各自的样本做训练,通过密文的互传获得相应的参数进行参数更新。

与横向联邦学习(HFL)的区别

类似的场景,与纵向FL不同的是,在横向FL中,我们的client A和 client B存放的每个sample都有足够的feature(比如不同城市的两家银行,他们面对的客户是没什么交集的,但是同样作为银行,客户办理的业务是类似的),这样A B就可以各自训练各自的model,也不需要ID对齐这一步,因为不需要互传数据和参数,所以在保护数据隐私时只考虑server是否诚实即可。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
垂直联邦学习(Vertical Federated Learning, VFL)和水平联邦学习(Horizontal Federated Learning, HFL)是两种不同的分布式机器学习方法,它们的主要区别在于数据的分布和参与方之间的协作方式。 **垂直联邦学习VFL)**: - **数据类型不同**:VFL涉及的是数据源拥有不同类型但相同个体的数据,比如不同的组织可能各自拥有患者的医疗记录,但每个组织只包含部分信息,如医院A有病人的年龄、性别和疾病数据,而医院B有病人的治疗方案和药物反应数据。 - **模型构建**:在VFL中,模型通常在各参与方的本地进行训练,然后共享模型的部分层或参数,以便于在保持数据隐私的同时,联合建模各个特征领域的知识。 - **隐私保护**:由于数据在本地处理,数据不会离开其原始的源头,从而更好地保护了数据隐私。 **水平联邦学习(HFL)**: - **数据相同但分布在多个位置**:HFL涉及的是来自同一类型但分布在不同地理位置的数据,比如多个智能手机用户的数据,它们都有相似的特征,如用户行为、地理位置等。 - **协同训练**:在HFL中,模型可以在所有参与方的设备上并行训练,利用数据的量而非种类来提升模型性能,最终在中央服务器上聚合模型参数。 - **隐私策略**:虽然数据没有离开本地设备,但为了防止数据泄露,通常会使用加密或者其他安全协议来处理和交换模型更新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值