文章目录
总结:
1. 每文三问
-
文章在解决什么问题?
对于 GBDT,如何在保持足够精度的同时平衡 communication efficiency and security,仍是一个未解决的问题。
-
用了什么方法 (创新方法) ?
-
提出 efficient FL for GBDT (eFL-Boost),该方案 minimizes accuracy loss 、communication costs and information leakage。该方案 专注于在 **更新模型时 **适当分配 本地计算(由 each organization 单独执行)和 全局计算(由 all organizations 合作执行),以降低通信成本并提高准确性。
-
树结构在全局计算中会产生很高的通信成本,而叶权重不需要这样的成本,并且叶权重对 accuracy 的贡献更大。因此,在 eFL-Boost 中,a tree structure 由单个 organization 来 determined locally(本地确定), 全局叶权重 是通过聚合所有 organization 的本地梯度计算得到(全局计算)。eFL-Boost 每次更新只需要三次通信。
-
-
效果如何?
-
只有低隐私风险的统计信息会泄露给其他组织。
-
通过在公共数据集 (ROC AUC, Log loss, and F1-score are used as metrics) 上的评估,eFL-Boost 优于产生低通信成本的现有方案,并且与不提供隐私保护方案的 accuracy 相当。
-
2. Introduction
2.1 本文贡献
-
global computation(由 all organizations 合作训练) 的 GBDT 具有较高的预测性能,但通信成本高、信息泄露严重。eFL-Boost 通过 partially introducing local computation 实现了通信成本和 accuracy 之间的权衡。但是,introduction of local computation 会造成精度损失(会降低每棵树的准确性),this loss is compensated补偿 by the property of GBDT(在一定程度上得到补偿), because GBDT can construct a strong learner from multiple weak learners。
-
为了实现通信成本和 accuracy 之间的最佳平衡,在 GBDT 训练时的 in the local and global computations have a balanced resource allocation 。具体而言,
- 在 eFL-Boost 中, 树的结构是局部确定的,而不是全局确定的,以避免较高的通信成本和信息泄露。
- 全局叶权重是聚合所有本地梯度得到的 ,可避免精度下降。
3. EFFICIENT FL FOR GBDT(GBDT的高效FL)
A. OVERVIEW(概述)
当前问题:在确定决策树结构时,数据拥有者之间 通信成本较大 。
研究专注于:如何适当分配 本地计算(由 each organization 单独执行)和 全局计算(由 all organizations 合作执行),以在不影响安全性和准确性的前提下 降低通信成本。
决策树组成:
- 树结构 T {T} T :由多个具有阈值的节点组成的图
- 叶权重 w {w} w :模型的输出
在通信成本方面,树结构的通信成本与树的深度相关;计算全局叶权重只需要一轮通信。
在精度方面,叶权重对预测性能的贡献更大,因为他们与输出直接相关。
eFL-Boost 的核心思想:
- 树结构的确定,需要较大通信成本,对精度贡献相对较小。 —> computed locally
- 叶权重,需要较小的通信成本,对精度贡献相对较大。 —> computed globally
eFL-Boost 的三个组成部分:
- 数据拥有者 D {D} D :计算 G d {G_d} Gd 、 H d {H_d} Hd (每个 leaf 的梯度和 [ 基于 B {B} B 共享的树结构 ])
- 构建者 B {B} B :each update 需要重新从 D {D} D 中选择。除了 D {D} D 的角色外, B {B} B 还负责构建树结构。(树结构 only computed locally)
- 聚集器
A
g
g
{Agg}
Agg :是一个没有数据集的第三方组织。
- 负责对 G d {G_d} Gd 、 H d {H_d} Hd 进行聚合,然后计算全局叶权重 w {w} w ;
- 选择 B {B} B ( B {B} B 是按照预定的顺序选择的)。
讨论 分配给叶节点数据量下限
问题:
从隐私保护的角度来看,
B
{B}
B 不应该采用 叶子只对应少数几个数据点
的树结构。这种树结构中包含的阈值和叶权值仅能满足少量数据,可能会增加个人信息泄露的风险。因此,分配给叶节点的数据量的下限应该预先确定,这样个人信息泄露的风险不会导致任何实际问题。
B. ALGORITHM(算法)
第 i {i} i 次更新流程:
(1)Setup
- A g g {Agg} Agg 从 D {D} D 中选出 B {B} B
- 每个数据拥有者 d ∈ D { d \in D } d∈D 基于 T i − 1 { T_{i-1} } Ti−1 和 ( X d , y d ) { (X_d, y_d) } (Xd,yd) 更新 each data 的梯度( g d , h d { g_d,h_d } gd,hd )
在 eFL-Boost 中, A g g {Agg} Agg 为了抑制 bias in the global model 会在 each update 中选一个不同的 B { }B B
(2)Local Tree Structure Determination
- B {B} B 使用它自己的数据集 X B {X_B} XB 和 g B , h B { g_B, h_B } gB,hB 确定树结构(only the tree structure) T i {T_i} Ti
- B {B} B 把树结构(only the tree structure) T i {T_i} Ti 分享给 D {D} D
N o t e {Note} Note:
- FederBoost 通过全局计算树结构 T i {T_i} Ti ,需要多次直方图通信;
- eFL-Boost 中,应用本地计算来降低这些成本。
(3)Aggregating Gradients for Each Leaf
- 每个数据拥有者 d ∈ D { d \in D } d∈D 根据 X d {X_d} Xd 和 g d , h d { g_d, h_d } gd,hd 计算 G d {G_d} Gd 、 H d {H_d} Hd (叶节点累积梯度和)
- 数据拥有者 d ∈ D { d \in D } d∈D 发送 G d {G_d} Gd 、 H d {H_d} Hd 给 A g g {Agg} Agg
(4)Global Leaf Weight Calculation
- A g g {Agg} Agg 计算 G = ∑ d ∈ D G d {G = \sum_{d \in D} G_d } G=∑d∈DGd 、 H = ∑ d ∈ D H d {H = \sum_{d \in D} H_d } H=∑d∈DHd 、 w i = − G H + λ { w_i = -{G \over H+ \lambda} } wi=−H+λG ( 师姐的 G = ∑ d ∈ D n d n G d {G = \sum_{d \in D}{n_d \over n} G_d } G=∑d∈DnndGd 、 H = ∑ d ∈ D n d n H d {H = \sum_{d \in D}{n_d \over n} H_d } H=∑d∈DnndHd )
- A g g {Agg} Agg 发送 w i {w_i} wi 给 D {D} D
N o t e {Note} Note:
- TFL 和 F-GBDT-G 中每棵树都是本地计算得到的,依赖于本地数据分布改进了损失函数,这会造成较大的精度损失;
- eFL-Boost 中,全局叶权重的计算基于全局分布来对损失函数优化,减少了精度损失;
- 全局叶权重计算只需要单轮通信,其涉及的隐私风险较低。
(5) Add a Completed Tree to the Global Model
- 每个数据拥有者 d ∈ D { d \in D } d∈D 结合树结构(only the tree structure) T i {T_i} Ti 和 w i {w_i} wi 得到 T i {T_i} Ti ,将其添加到全局模型。
Local Tree Structure Determination and Global Leaf Weight Calculation 实现了准确性、通信成本、安全性(信息泄露)之间的最佳平衡。
在所有更新完成后,每个 数据拥有者获得一组完整的决策树。
4. 疑问
本地实例加权梯度 G m ∗ 、 H m ∗ {G_{m*}、H_{m*}} Gm∗、Hm∗ 和全局叶权重 w i {w_i} wi 有什么不一样?