查看原文
其他

论文笔记:隐私保护的梯度提升决策树

逆光中的黑雁i 隐私计算研习社 2022-11-05

摘要为了获得更紧密的敏感度边界,本文提出了基于梯度的数据过滤(GDF)以保证敏感度的边界,并进一步提出了几何叶子修剪(GLC)以利用GBDT的树形学习系统来获得敏感度的更紧密边界。 结合顺序和并行组合,我们设计了一个新颖的boosting框架,以充分利用GBDT的隐私预算和提升效果。 我们的方法可以满足差分隐私的需求,同时提高精度。


1

DPBoost方案
简单说,本文主要是在敏感度计算上得到了更精确的值,之后用的两次加噪,一次是指数机制,用在分裂时选取哪个作为分割点,score func是“the gain of the split”,一次是Laplace机制用在叶节点的取值上;用不相交数据子集训练不同树,是parallel composition,不同iteration是seq composition(figure 1)


2

更严格的灵敏度界限

之前的工作是通过估计函数输出的范围来设置敏感度,使得敏感度的大小与数据库大小相关,本文认为不妥,而使用定义推导出敏感度,这里的敏感度分为两种,非叶节点(lemma 1)和叶子节点(lemma 2),可以看到两种敏感度都与g*有关,而max|gi|是梯度的最大值,他是没有先验界限的,因此需要限制梯度范围。

由于梯度是基于预测值和目标值之间的距离来计算的,所以裁剪梯度意味着间接改变目标值,这可能导致巨大的精度损失。因此提出了Gradient-based Data Filtering (GDF),想在每次迭代尽可能过滤掉少的数据来bound梯度,减少对acc的影响。



Loss func是凸函数,梯度单调非递减,所以随着树的增多,梯度(小于零)的绝对值会越来越小。实验表明整个训练中大多数情况下都比gl*低,因此可以用它当阈值,当前迭代被过滤掉的数据不参与本次迭代,但可能在后面树的训练中使用。这样成功bound了ΔG和ΔV。



分析GDF近似误差:



根据定理5,我们有如下讨论:


(1)GDF近似误差的上界不依赖于实例数。这种良好的特性允许即使在大数据集上也有小的近似误差。


(2)通常,大多数情况下,梯度值低于阈值且其比率p较低,如附录B所示。因此,实际上近似误差较小。


(3)如果| gf|大,逼近误差可能大。然而,具有非常大梯度的实例通常是训练数据集中的异常值,因为它们不能被GBDTs很好地学习。因此,通过过滤这些异常值来学习一棵树是合理的。


GDF为所有树设置相同敏感度,但随着迭代(收敛)进行,敏感度也会随之变化,精确推导太难了,而且阈值设置不适当会引起过大的精度损失,需要新方法控制不同树之间的衰减,在内部节点加噪声会影响当前分裂的gain,而在叶子节点加噪声会直接影响预测值,这里focus叶子结点的敏感度bounding。


由于GBDT模型一次训练一棵树,以适应它之前的树的残差,因此修剪叶节点将主要影响收敛速度,但不会影响广义树模型的目标。


Geometric Leaf Clipping (GLC)发现衰减是等比数列



在第t次迭代中,在apply Laplace之前,用下式进行clip:



对每棵树进行敏感度约束可以得到:




3

隐私预算分配

algorithm1-单颗树时



首先,我们使用GDF预处理训练数据集。然后,从根开始构建决策树,直到达到最大深度。


对于内部节点,我们在选择分割值时采用指数机制。考虑gain of the split:G为score func,增益越高的feature value被选为分裂值的概率越大。


对于叶子节点,我们首先使用GLC裁剪叶值。然后,应用拉普拉斯机制向叶值注入随机噪声。


对于树内部的隐私预算分配,我们采用了现有研究中的机制。具体来说,我们为叶节点(即εleaf)分配一半的隐私预算,然后将剩余的预算平均分配给内部节点的每个深度(每个层获得εnleaf)。这样就有:


algorithm2-多颗树时

提出了一种 two-level boosting 结构,称为 Ensemble of Ensembles (EoE),它可以利用 seq composition 和 parallel composition 来分配树之间的隐私预算。在每个集成(ensemble)中,我们首先用从数据集D采样的不相交子集训练一些树。因此,parallel composition 被应用在集成中。然后,使用相同的训练集D以顺序方式训练多个这样的集合。结果,在集合之间应用 seq composition。这样的设计可以利用隐私预算,同时保持 boosting 的有效性。在某些情况下,EoE可以有效地解决几何叶裁剪(GCL)的副作用,这种副作用会导致叶值随着迭代的增长而受到过于严格的限制。


给定树的总数T和每个集成中的树数Te,我们可以得到集成的总数Ne= T /Te。然后,每棵树的隐私预算为(ε/Ne)。


当构建第t个差分隐私决策树时,我们首先计算树在集合中的位置,即te= t mod Te。由于每个树的最大叶子值在GLC中是不同的,为了利用前面树的贡献,分配给树的实例数量与其叶子敏感度成比例。


具体来说,我们从数据集I中随机选择个未使用的实例作为输入,其中I在集成开始时被初始化为整个训练数据集D。每个树都是使用算法1中的 TrainSingleTree() 构建的。所有的T个树都是一个个训练出来的,这些树构成了我们最终学习的模型。



可以得到:




END

转载自博客园:逆光中的黑雁i。原文链接:https://www.cnblogs.com/cheerUpGZ/p/14629843.html

往期推荐


联邦学习顶会论文及开源框架汇总

论文笔记-联邦学习攻防研究综述

课程笔记:全同态加密理论与基础

ACL Findings 2022 | THE-X: 通过同态加密实现Transformer的推断隐私安全




欢迎投稿
邮箱:pet@openmpc.com
参与更多讨论,请添加小编微信加入交流群

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存