On Deep Learning with Label Differential Privacy
这里写目录标题
- On Deep Learning with Label Differential Privacy
本文主要贡献是在多分类深度学习任务中,提出了一个使用label differential privacy 的深度学习算法,实现了在提高准确率的同时,保证了隐私性,同时该算法利用了每一轮训练的结果作为先验知识,提高下一轮训练的准确率
0. Abstract
- 训练大规模的深度学习模型任务中,实现不泄露敏感信息的同时,不影响准确率,一直是一项重大的挑战
- 将标签Label看作敏感信息,认作需要被保护
- 用理论结果补充了算法,表明在凸经验风险最小化的设置下,Label-DP训练的样本复杂度是与维度无关的,这与普通的差分隐私形成了对比。
1. Introduction
背景
- 机器学习收集大量数据用于分析,使得人们对在模型训练中使用被使用的个人数据隐私产生担忧
- 差分隐私Differential Privacy被广泛部署应用在机器学习模型训练中,但如DP-SGD一类的模型训练精度仍远低于无DP约束的模型训练结果(准确率-DP-SGD:73%,准确率 non-DP:95%)
1.1 Label DP
- 标签Label被认为是敏感的,而输入被认为不是敏感的,只需要保护Label的隐私
举例
-
computational advertising
-
recommendation systems
-
users surveys and analytics
Our Contributions
- 提出了一个新的基于Label DP的阶段深度学习算法,并对其性能进行了测试
- 得到了一个带有先验知识Prior的经典随机响应-(General Random Respond)GRR算法——RR with Prior
- DP-SGD对于模型大小的伸缩性很差,但是新的算法能够应用在最先进的深度学习框架中,比如ResNet
- 实验证明:保护标签要比保护输入特征和标签来得容易,同时对于经验风险凸优化的情况,Label-DP算法的复杂度远小于同时对特征和标签同时执行DP的复杂度,Label-DP实现了于维度无关的界限
2. Preliminaries
Definition 2.1 (Differential Privacy)
对于任一两个只相差一条数据的邻接数据库D和D’ ,和对任一输出集A的子集S都有
P r [ A ( D ) ∈ S ] ≤ e ε ⋅ P r [ A ( D ’ ) ∈ S ] + δ Pr\lbrack A(D)\in S\rbrack \le e^{\varepsilon} \cdot Pr\lbrack A(D^{’})\in S\rbrack + \delta Pr[A(D)∈S]≤eε⋅Pr[A(D’)∈S]+δ
Definition 2.2 (Label Differential Privacy)
对于任一仅在label上相差一条数据的训练集D和D’ ,和对任一输出集A的子集S都有
P r [ A ( D ) ∈ S ] ≤ e ε ⋅ P r [ A ( D ’ ) ∈ S ] + δ Pr\lbrack A(D)\in S\rbrack \le e^{\varepsilon} \cdot Pr\lbrack A(D^{’})\in S\rbrack + \delta Pr[A(D)∈S]≤eε⋅Pr[A(D’)∈S]+δ
[K]
对于任何的正整数 K, 令 [K] := {1, . . . , K}. [K] 表示标签集
3. Training Algorithms
描述了一个基于Label-DP的深度学习算法
3.0 GRR
对每个Label y i y_i yi使用GRR生成一个隐私的随机Label y i ~ \widetilde{y_i} yi
\
3.1.1 v.s. DP-SGD
DP-SGD 每一轮训练都梯度进行新的查询,即进行一次DP算法
而我们的算法只需要对标签进行一次DP算法,后续重复使用
3.1 Multi-Stage Training
直观上:
- 在一小部分的训练数据集(已GRR)训练模型,使其达到一定的准确率
- 任何用该模型对剩余的样本进行预测
3.1.1 Algorithm Introduction
初始设置
-
算法A 输出 概率分类器,给定一个unlabel的样本x,可以给每个类y∈[K]分配一个概率py
-
将数据集S划分为不相交的S(1), ……, S(T)
-
并设置第0轮(初始)模型的M0,给说所有的类输出相同的概率分布
在每一轮 t ∈ [ T ] t\in[T] t∈[T](iteration)
- 使用上一轮训练得到的模型M(t-1) ,为S(t)中的每一个样本xi分配对应的概率(p1, . . . , pK)
- 利用得到的概率 p ⃗ \vec{p} p 帮助RR更加准确,即进行RRWithPriorp算法,见3.2节
- 通过RRWithPriorp得到 y ~ \widetilde{y} y ,使用所有经过随机响应的数据集 S ~ ( 1 ) , … … , S ~ ( t ) \widetilde{S}^{(1)}, ……, \widetilde{S}^{(t)} S (1),……,S (t)(即前t轮全部)训练得到模型 M(t)
个人总结
- 每一轮的RR 都通过上一轮的模型结果M(t-1) 得到关于本轮需要进行RR的数据集的先验知识,即概率分布 来改进本轮RR的准确率 【每一轮的先验知识随着训练也越来越准确】
- 每一轮的模型训练算法A 都使用前t轮经过RR的数据集(随着每一轮的训练扩大数据集),得到新一轮的模型 M(t) 【每一轮的模型随着更准确数据集的占比的扩大也越来越准确】
LP-MST (Label Privacy Multi-Stage Training)
-
multi-stage多阶段算法的第t 阶段,即表示为第t轮
此处多阶段multi stage算法即为 多轮训练算法
-
LP-1ST表示算法的第一轮,LP-2ST表示算法的第二轮,以此类推
-
LP-1ST等价于使用普通的RR算法
3.1.2 Observation
对任意的 ε > 0, 如果RRWithPrior满足ε-DP, 则 LP-MST 满足 ε-LabelDP.
证明
组合性
3.2 RR with Prior
已知
- 关于x的先验概率 p ⃗ = p 1 , . . . , p k \vec{p}={p_1,...,p_k} p=p1,...,pk
- 真实的标签Label y
目标
目标是利用先验概率使得随机化后的标签 y ~ \widetilde{y} y t最大化 输出是正确的概率(等效于最大化信噪比)
约束
对于y算法需要满足ε-DP
3.2.1 RRWithPrior Description
RRWithPrior使用了一个“RRTop-k的子程序”
RRTop-k
(k为预设值,期望输入的尽可能地接近前k个概率大的标签
- 对RR随机响应机制的一个改进,我们只考虑前k个概率最大的标签
- 这里 p ⃗ \vec{p} p是先验知识,根据 p ⃗ \vec{p} p ,集合 Y k Y_k Yk 是标签label i 对应的概率 p ⃗ \vec{p} p中前k个大的label标签
- 如果真实标签 true label y∈Yk,则在集合 Y k Y_k Yk 中使用随机响应
- 否则,我们从这个集合Yk中均等的随机输出一个label标签
Lemma :R