本发明涉及深度学习和隐私保护技术领域,具体涉及一种自适应切割阈值的深度学习差分隐私保护方法。
背景技术:
在过去的十年中,深度学习技术在各种机器学习/数据挖掘任务中取得了显著的成功,例如生物医疗预测、语音识别和大规模的情感分析等。深度学习取得如此成功的原因是拥有大量数据用于训练模型,然而这些第三方机构所提供的众包数据包含很多敏感信息,如果恶意的攻击者获取这些数据并以此获利,那么可能会给用户带来严重的隐私和安全问题。例如,已证实基于卷积神经网络(cnn)的疾病识别分类器可以通过反复查询输出概率来恢复训练数据集中的个人隐私信息。现有的隐私问题可能会阻碍用户共享他们的数据,从而阻碍深度学习本身的未来发展。
为了解决这类攻击所带来的隐私问题,一些基于差分隐私的方法被提出。一种是直接对原始数据部署差分隐私,但是这种方法可能会使得训练模型的精度严重下降,原因是为了保证不同的隐私界限,添加的噪声可能过多,从而使得模型的精度下降。另一种方式是向梯度中添加噪声,由于这种方法在每次迭代过程中,给梯度增加了相同分布且相同量的噪声,导致原始梯度的大失真,因此无法完全避免精度下降的问题;此外,这种方法隐私成本是每次梯度计算累积的,而每次迭代的隐私消耗很高,这不仅造成总体隐私预算过高,而且使得收敛速度很慢。
技术实现要素:
本发明所要解决的是现有深度学习隐私保护方法在做分类预测任务时,每次迭代引入噪声过多而引起的模型精度下降的问题,提供一种自适应切割阈值的深度学习差分隐私保护方法。
为解决上述问题,本发明是通过以下技术方案实现的:
自适应切割阈值的深度学习差分隐私保护方法,包括步骤如下:
步骤1、利用给定的样本数据集对基于卷积神经网络的差分隐私保护模型进行训练,得到训练好的差分隐私保护模型;
步骤1.1、令迭代次数t=1,并随机初始化基于卷积神经网络的差分隐私保护模型的第1次迭代的模型优化参数θ1;
步骤1.2、从样本数据集的n个样本中随机采样n个样本构成第t次迭代的训练样本集lt;
步骤1.3、将第t次迭代的训练样本集lt的n个样本分别送入到当前基于卷积神经网络的差分隐私保护模型中,得到n个样本的模型预测值;并基于每个样本的模型预测值和真实值计算每个样本的模型损失函数;
步骤1.4、利用每个样本的模型损失函数对第t次迭代的模型优化参数θt求偏导,得到n个第t次迭代的中间模型梯度;
步骤1.5、利用k-means算法将n个中间模型梯度聚类为k个簇;
步骤1.6、为每个簇分配不同的切割边界ck和方差δk;
步骤1.7、将簇k内每个第t次迭代的中间模型梯度的l2范式
若
若
步骤1.8、利用基于方差δk的高斯噪声分别对步骤1.7所得的簇k内的每个第t次迭代的中间模型梯度
步骤1.9、令t=t 1,并计算第t次迭代的隐私预算εt和第t次迭代的模型优化参数θt;其中:
εt=ε-tδε
步骤1.10、判断第t次迭代的隐私预算εt是否消化完毕即是否小于设定的隐私预算阈值:
如果是:则将第t次迭代的模型优化参数θt作为基于卷积神经网络的差分隐私保护模型的最终参数,由此得到训练好的差分隐私保护模型;
否则,则转至步骤1.2;
步骤2、将需要保护的数据输入到步骤1所训练好的差分隐私保护模型中,得到差分隐私保护后的数据;
上述n>>n,n为样本数据集的样本个数,n为第t次迭代的训练样本集的样本个数;j=1,2,…,m,m为簇k内第t次迭代的中间模型梯度的个数;k=1,2,…,k,k为簇的个数;ε为全局隐私预算,δε为隐私预算的递减步长;η为学习率,θt-1为第t-1次迭代的模型优化参数,
上述步骤1.6中,簇k的切割边界ck为:
或
式中,
上述步骤1.6中,簇k的方差δk为:
δk=σ2ck2i
式中,σ为高斯噪声的噪声规格,ck为簇k的切割边界,i为高斯噪声的均值,k=1,2,…,k,k为簇的个数。
与现有技术相比,本发明在k-means框架下的自适应切割值差分隐私保护方法,结合聚类机制对梯度进行了筛选并量化,对每个簇内的梯度设置了不同的切割边界对其进行切割,同时对不同簇设定不同的高斯噪声对其进行加噪,从而加快了模型的收敛速度,并缓解了总体的隐私预算过高而引起的模型精度下降的问题。
附图说明
图1为自适应切割阈值的深度学习差分隐私保护方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,对本发明进一步详细说明。
参见图1,自适应切割阈值的深度学习差分隐私保护方法,包括步骤如下:
步骤1、利用给定的样本数据集对基于卷积神经网络的差分隐私保护模型进行训练,得到训练好的差分隐私保护模型。
步骤1.1、令迭代次数t=1,并随机初始化基于卷积神经网络的差分隐私保护模型的第1次迭代的模型优化参数θ1。
本发明所采用的差分隐私保护模型以卷积神经网络为框架,卷积神经网络(convolutionalneuralnetwork,cnn)是一种前馈型的神经网络,其在大型图像处理方面有出色的表现,目前已经被大范围使用到图像分类、定位等领域中。相比于其他神经网络结构,卷积神经网络需要的参数相对较少,使的其能够广泛应用。在本实施例中,所选用的卷积神经网络为经典的lenet-5的卷积神经网络,其包含两个卷积和池化层和三个全连接层。
步骤1.2、以l/n的采样率从样本数据集的n个样本中随机采样n个样本构成第t次迭代的训练样本集lt。其中n>>n,n为样本数据集的样本个数,n为第t次迭代的训练样本集的样本个数。
步骤1.3、将第t次迭代的训练样本集lt的n个样本xi分别送入到当前基于卷积神经网络的差分隐私保护模型中,得到n个样本xi的模型预测值f(xi,θt)。并基于每个样本的模型预测值f(xi,θt)和对应的每个样本的真实值yi计算每个样本xi的模型损失函数l(yi,f(xi,θt))。
在卷积神经网络的训练过程中,损失函数是用来估量模型的预测值f(xi,θ)与真实值yi的不一致程度,它是一个非负实值函数,通常使用l(yi,f(xi,θ))来表示,其中θ为模型优化参数,我们的目标就是找到最优的θ使得损失函数的值最小。
步骤1.4、利用每个样本的模型损失函数l(yi,f(xi,θt))对第t次迭代的模型优化参数θt求偏导,得到n个第t次迭代的中间模型梯度
步骤1.5、利用k-means算法将n个中间模型梯度
步骤1.6、为每个簇分配不同的切割边界ck和方差δk。
由于每个簇中的梯度的大小近似相同,所以我们对同一簇内的梯度设置相同的切割边界,但各簇间的切割边界则不相同。在本发明中,基于簇内k的第t次迭代的中间模型梯度
所述线性切割边界为:
所述指数切割边界为:
式中,
在本发明中,方差δk可以与切割边界ck有关,也可以与切割边界ck无关,其只要保证每个簇所加的高斯噪声不同即可。在本实施例中,基于簇k的切割边界ck确定簇k的方差δk,δk=σ2ck2i;其中σ为高斯噪声的噪声规格,ck为簇k的切割边界,i为高斯噪声的均值;
步骤1.7、将簇k内每个第t次迭代的中间模型梯度的l2范式
若
若
步骤1.8、利用基于方差δk的高斯噪声分别对步骤1.7所得到的簇k内的每个第t次迭代的中间模型梯度
在本实施例中,利用分布为均值为0,方差为δk的高斯噪声n(0,δk)对簇k内的每个第t次迭代的中间模型梯度
步骤1.9、令t=t 1,并计算第t次迭代的隐私预算εt和第t次迭代的模型优化参数θt。其中:
εt=ε-tδε
式中,ε为全局隐私预算,δε为隐私预算的递减步长。η为学习率,θt-1为第t-1次迭代的模型优化参数,
步骤1.10、判断第t次迭代的隐私预算εt是否消化完毕即是否小于设定的隐私预算阈值:
如果是:则将第t次迭代的模型优化参数θt作为基于卷积神经网络的差分隐私保护模型的最终参数,由此得到训练好的差分隐私保护模型。
否则,则转至步骤1.2。
步骤2、将需要保护的数据输入到步骤1所训练好的差分隐私保护模型中,得到差分隐私保护后的数据。
需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
1.自适应切割阈值的深度学习差分隐私保护方法,其特征是,包括步骤如下:
步骤1、利用给定的样本数据集对基于卷积神经网络的差分隐私保护模型进行训练,得到训练好的差分隐私保护模型;
步骤1.1、令迭代次数t=1,并随机初始化基于卷积神经网络的差分隐私保护模型的第1次迭代的模型优化参数θ1;
步骤1.2、从样本数据集的n个样本中随机采样n个样本构成第t次迭代的训练样本集lt;
步骤1.3、将第t次迭代的训练样本集lt的n个样本分别送入到当前基于卷积神经网络的差分隐私保护模型中,得到n个样本的模型预测值;并基于每个样本的模型预测值和真实值计算每个样本的模型损失函数;
步骤1.4、利用每个样本的模型损失函数对第t次迭代的模型优化参数θt求偏导,得到n个第t次迭代的中间模型梯度;
步骤1.5、利用k-means算法将n个中间模型梯度聚类为k个簇;
步骤1.6、为每个簇分配不同的切割边界ck和方差δk;
步骤1.7、将簇k内每个第t次迭代的中间模型梯度的l2范式
若
若
步骤1.8、利用基于方差δk的高斯噪声分别对步骤1.7所得的簇k内的每个第t次迭代的中间模型梯度
步骤1.9、令t=t 1,并计算第t次迭代的隐私预算εt和第t次迭代的模型优化参数θt;其中:
εt=ε-tδε
步骤1.10、判断第t次迭代的隐私预算εt是否消化完毕即是否小于设定的隐私预算阈值:
如果是:则将第t次迭代的模型优化参数θt作为基于卷积神经网络的差分隐私保护模型的最终参数,由此得到训练好的差分隐私保护模型;
否则,则转至步骤1.2;
步骤2、将需要保护的数据输入到步骤1所训练好的差分隐私保护模型中,得到差分隐私保护后的数据;
上述n>>n,n为样本数据集的样本个数,n为第t次迭代的训练样本集的样本个数;j=1,2,…,m,m为簇k内第t次迭代的中间模型梯度的个数;k=1,2,…,k,k为簇的个数;ε为全局隐私预算,δε为隐私预算的递减步长;η为学习率,θt-1为第t-1次迭代的模型优化参数,
2.根据权利要求1所述自适应切割阈值的深度学习差分隐私保护方法,其特征是,步骤1.6中,簇k的切割边界ck为:
或
式中,
3.根据权利要求1或2所述自适应切割阈值的深度学习差分隐私保护方法,其特征是,步骤1.6中,簇k的方差δk为:
δk=σ2ck2i
式中,σ为高斯噪声的噪声规格,ck为簇k的切割边界,i为高斯噪声的均值,k=1,2,…,k,k为簇的个数。
技术总结