【文献阅读】VF2Boost: Very Fast Vertical Federated Gradient Boosting for Cross-Enterprise Learning

笔记:VF2Boost

VF2Boost: Very Fast Vertical Federated Gradient Boosting for Cross-Enterprise Learning

优化现有的SecureBoost方案,实现速度和规模的提升

场景

两企业持有两个数据集,列属性(特征)不同,有部分行(实例)重叠,且只有B方持有标签。目标是在数据不互通的情况下训练模型
在这里插入图片描述

1 GBDT

梯度提升决策树:通过训练一群弱学习者得到一系列决策树,然后利用提升的策略对模型进行改进

1.1 损失函数

对第t棵树来说,目的是最小化损失函数:

image-20220916110059683

Friedman提出的一种实现是

image-20220916110313046

其中gi是梯度,hi是黑塞(二阶导)

1.2 最佳分割

决策树的分割【深入浅出理解决策树算法(一)-核心思想——忆臻

每一次子结点的产生,是由于在当前层数选择了不同的特征来作为我的分裂因素造成的。比如下图用红色三角形表示选择的特征

image-20220916111208625

每一层选择了指定的特征之后,我们就可以继续由该特征的不同属性值进行划分,依次一直到叶子结点。

为什么在第一次选择特征分裂的时候,不选择触感呢?而是选择纹理,比如如下:

不换成触感,或者其它特征为什么也不行呢?为什么选择的是纹理,**这是以什么标准来选择特征的?**这就是我们要说的决策树的关键步骤是分裂属性。

所谓分裂属性就是在某个节点处按照某一特征属性的不同划分构造不同的分支,其目标是让各个分裂子集尽可能地“纯”。尽可能“纯”就是尽量让一个分裂子集中待分类项属于同一类别。

image-20220916111248001

GBDT的分割

决策树的决策依据是根据某个特征进行分割,为了决定以哪个特征作为决策树的分割点,需要对每个可能的分割计算其分割收益,选择分割收益最大的分割点

image-20220916110511501

2. SecureBoost过程

  1. gradient statistics encryption and communication

    B根据每棵树的预测值计算出梯度和黑塞矩阵(二阶导),将其同态加密发送给A

  2. Histogram construction:

    A和B根据自身的实例的特征,在直方图对应位置累加梯度和二阶导,构造直方图

  3. Histogram communication and decryption

    A将加密的直方图发送给B,B解密后统计并计算最佳分割点

2.1 bottleneck

当前的实现为串行实现,执行1时,A闲逛;建造直方图时,B速度较快,建造完后闲逛等待A建造完

  1. A等待B进行加解密操作
  2. A构造直方图时为同态密文加法,两个不同指数的数相加,需要放缩操作,开销很大

3 系统架构

image-20220914193449724

  1. 针对梯度加密,提出了blaster-style encryption
  2. 针对直方图构建,提出了re-ordered histogram accumulation
  3. 针对直方图发送,提出了histogram packing
  4. 针对分割点寻找,提出了optimistic node-splitting strategy

3.1 系统实现

  • 生产友好:使用apache spark–一个分布式引擎
  • 规模和鲁棒性:消息队列
  • 高性能:开发了一个高效的paillier加密库

3.2 Concurrent training protocol

  • blaster-style encryption scheme

    利用A闲逛的时间,将训练实例分成小batch,然后独立地处理它们。如此,B的加密、密文传输、直方图构造三者可以并行执行,也缓解了网络拥堵

    image-20220914195545876

  • optimistic node-splitting strategy

    B乐观地根据自身的特征进行分割点寻找和节点分割,然后进行下一层的分割点寻找,当A建造完成自身的直方图后,按照B的分割点进行分割。若B接收到A的直方图后汇总时发现最佳分割点在A,则A放弃当前分割,并按最佳分割点进行分割
    在这里插入图片描述

3.3 Customized Cryptography for GBDT

  • re-order accumulation technique

    根据同态加密数的指数调整同态加密算子的先后顺序,以减少放缩操作次数

    image-20220914200349775

  • Polynomial-based histogram pack

    将量化值编码到 一个整数中 ,将t个整数为 一批编码到多项式中,然后对整数进行传输和HE操作,操作效率可以提升t倍(类似BatchCrypt)
    image-20220914200614043

总结

这篇文章分析现有的SecureBoost方案,从通信方式和加密操作两方面进行了改进,实现了实现速度和规模的提升
由于之前没有了解过决策树相关概念,此次只是做了简单的了解,文中的方法倒是比较好理解

参考文献

深入浅出理解决策树算法(一)-核心思想
Summary of VF2Boost

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值