1.一种基于特征区域分割的差分隐私深度学习方法,其特征在于其采用以下步骤:Ⅰ预处理阶段:
步骤1、对输入特征贡献度的差分隐私保护,具体操作如下:
1.1)采用逐层相关性传播算法计算每一条训练数据的每一个输入特征对于模型输出的贡献度;
1.2)根据步骤1.1)的计算结果,计算每一输入特征对于模型输出的平均贡献度;
1.3)向输入特征的贡献度中添加等量的拉普拉斯噪声,获得隐私预算为ε1的差分隐私贡献度;
步骤2、对输入特征的差分隐私保护,具体操作如下:
2.1)根据差分隐私贡献度对输入特征进行特征区域分割,利用凝聚层次聚类算法将贡献度相似的输入特征划分到同一特征区域,并计算每一个特征区域的区域贡献度
2.2)计算每一个特征区域所包含的输入特征在所有特征中所占的比例μk;
2.3)计算每一个特征区域的区域贡献度比率αk;
2.4)根据区域贡献度比率,为每一特征区域的输入特征分配隐私预算;
2.5)计算输入特征的敏感度;
2.6)对输入特征分区域类添加噪声;
步骤3、对训练数据标签的差分隐私保护,将模型的损失函数转化为多项式的形式,向多项式的系数中添加隐私预算为ε3的拉普拉斯噪声;
Ⅱ模型训练阶段
步骤4、使用随机梯度下降算法训练深度学习模型,具体操作如下:
4.1)计算梯度;
4.2)更新模型参数,最终得到隐私预算为ε1+ε2+ε3的差分隐私深度学习模型。
2.根据权利要求1所述的一种基于特征区域分割的差分隐私深度学习方法,其特征在于步骤1.1)具体包括:a)计算输入数据xi经输出层hl上的神经元p对模型输出的贡献度:将训练数据集D={x1,x2,…,xn}由输入层h0输入待训练模型,经隐含层h={h1,h2,…,hl‑1},再由输出层hl得到模型输出 将其作为总的相关性,逐层向后进行分解,由此,得到输入数据xi经输出层hl上的神经元p对模型输出的贡献度为:且该层所有神经元的贡献度与模型输出满足如下关系:
其中, 为输出层上的神经元p的输入值, 为输出层hl上的神经元p与前一层hl‑1上神经元的连接权重,β≥0用于克服 的无界性;
b)计算相邻两层神经元的贡献度:输出层神经元的贡献度逐层向后传播,由此可得输入数据xi经第l层hl上的神经元p到第l‑1层hl‑1上的神经元q的贡献度为:其中, 为第l‑1层hl‑1上的神经元q的输入值, 为第l‑1层hl‑1上的神经元q与第l层hl上的神经元p的连接权重,β≥0用于克服 的无界性;
由式(2)可得,第l‑1层hl‑1上的神经元q对模型输出的贡献度为第l层hl上所有与q相连的神经元的贡献度之和,具体表示为:c)计算输入数据xi的每一个特征对模型输出 的贡献度:根据逐层相关性传播算法,将相关性逐层进行分解并反向传播,最终得到输入数据xi中每一个特征对模型输出的贡献度为:其中, 表示输入数据xi的第j个特征xij对于模型输出的相关性,j∈[1,d],d为输入特征总数。
3.根据权利要求1所述的一种基于特征区域分割的差分隐私深度学习方法,其特征在于步骤1.2)具体操作如下:训练数据集中每一条输入数据xi都包含d个特征,由步骤1.1)可计算得到每一条输入数据xi的第j个特征对于模型输出的贡献度,对所有输入数据的第j个特征贡献度进行求和,进而得到第j个特征对于模型输出的平均贡献度为其中,n表示训练数据集包含的训练数据条数。
4.根据权利要求1所述的一种基于特征区域分割的差分隐私深度学习方法,其特征在于步骤1.3)的具体操作如下:a)计算输入特征贡献度的敏感度
其中,Δ1表示贡献度的灵敏度,它反映了单条记录的改变对于贡献度产生的最大影响,Δ1决定了向贡献度中添加噪声的数量,D与D'表示一对相邻数据集;
b)向输入特征贡献度中添加拉普拉斯噪声:根据逐层相关性传播算法,得到了每一个输入特征对于模型输出的贡献度,对其添加噪声得到差分隐私贡献度,借助差分隐私贡献度有效区分不同特征对模型输出的重要程度,为了防止原始数据的信息不被泄露,向贡献度当中注入拉普拉斯噪声,实现对贡献度的差分隐私保护,得到的差分隐私贡献度如下:其中, 表示均值为0,尺度参数为 的拉普拉斯随机噪声,ε1表示分配给贡献度的隐私预算,它反映了对贡献度进行隐私保护的程度,ε1的值越大,隐私保护的程度就越低。
5.根据权利要求1所述的一种基于特征区域分割的差分隐私深度学习方法,其特征在于所述步骤2.1)中凝聚层次聚类算法对输入特征进行特征区域分割的具体过程如下:a)特征区域分割初始状态:特征区域分割初始,将待分割的每一个输入特征都视为一个特征区域,即Cj={xij},j=1,2,…,d,任意两个特征区域之间的距离Dis(i,j)用两个输入特征之间贡献度差值的绝对值表示,即Dis(i,j)=|R′i‑R′j|
由此构造距离度量矩阵R,矩阵中的每一元素R[i,j]表示输入特征i与输入特征j之间的距离,用两个输入特征贡献度差值的绝对值表示,即R[i,j]=Dis(i,j),且R[j,i]=R[i,j];
b)特征区域分割:选择最小距离minDis(i,j)对应的两个特征区域Ci和Cj,将其合并为一个特征区域,更新合并后的特征区域与其它特征区域的距离,任意两个特征区域Cr和Cs之间距离的计算公式如下:其中,|Cr|和|Cs|分别表示特征区域Cr和Cs中包含的输入特征数;
c)最终分割结果:每一次分割结束后,计算任意两个特征区域之间的距离是否大于预先设定的阈值γ,若存在不满足条件的特征区域,则更新距离度量矩阵R,重复步骤b),继续分割;否则分割结束,说明任意两个区域距离都比较远,输入特征的区域特征区分明显;
d)计算区域贡献度:即每一个特征区域中所包含的所有输入特征贡献度的均值,即
6.根据权利要求1所述的一种基于特征区域分割的差分隐私深度学习方法,其特征在于步骤2.2)中: 其中|Ck|表示第k个特征区域包含的输入特征数,满足s表示最终分割的特征区域数;
步骤2.3)中:第k个特征区域的区域贡献度比率为第k个特征区域的区域贡献度绝对值与每一个特征区域的输入特征占比μk和该特征区域贡献度绝对值 乘积之和的比值,即其中,区域贡献度αk可反映第k个特征区域对于模型输出的相对重要性;
步骤2.4)中:根据区域贡献度比率,为每一特征区域的输入特征分配隐私预算,即第k个特征区域分配的隐私预算为分配给输入特征的总隐私预算ε2乘上该特征区域的区域贡献度比率αk,即εk=ε2×αk (8)其中,ε2表示分配给所有输入特征的总隐私预算;
步骤2.5)中计算输入特征的敏感度的公式为:
其中,L和L'表示一对相邻数据批次,h0表示输入层;
步骤2.6)的具体操作如下:对于 按照步骤2.4)分配给每个特征区域的隐私预算,为该特征区域中的每一个输入特征添加拉普拉斯噪声,采用如下公式:由此根据区域贡献度比率α实现向输入特征注入自适应扰动,同一区域中的输入特征添加的拉普拉斯噪声大小相同,不同区域的输入特征添加的噪声大小不同,且不同区域添加的噪声大小与该区域特征的贡献度呈反比。
7.根据权利要求1所述的一种基于特征区域分割的差分隐私深度学习方法,其特征在于步骤3具体包括:
3.1)损失函数具体表示
当深度学习模型输出层采用Softmax作为激活函数,交叉熵损失函数作为模型的损失函数时,损失函数具体表示如下:其中,m表示标签的类别数,yic表示训练批次L中的输入数据xi对应的标签, 表示输入(l+1)数据xi的预测结果,hl(xi)表示输入数据xi经输出层hl的输出,ω 表示输出层hl与输出变量之间的连接权重矩阵;
3.2)将交叉熵损失函数转化为多项式:
基于以上对损失函数的具体表示,将交叉熵损失函数展开成多项式形式,具体表示如下:‑z z
其中,对于 有fc(z)=yic log(1+e )+(1‑yic)log(1+e), 表示fc(z)的R阶导数在z=0处的取值,R∈[0,2],且
3.3)计算损失函数的敏感度:
3.4)为保护训练数据的标签,对损失函数多项式的系数分别添加拉普拉
斯噪声,此处的敏感度为Δ3,分配的隐私预算为ε3,噪声损失函数满足隐私预算为ε3的差分隐私,最终整个差分隐私深度学习模型满足隐私预算为ε1+ε2+ε3的差分隐私。
8.根据权利要求1所述的一种基于特征区域分割的差分隐私深度学习方法,其特征在于步骤4.1)计算梯度具体操作如下:从训练数据集D={x1,x2,...,xn}中随机选取一个训练批次L,计算梯度,如下:
4.2)更新模型参数:
t
其中,ω 表示模型在第t轮迭代中的权重参数,η为模型预先定义的学习率,重复步骤4.1)和4.2),得到最优的模型参数。