CN114118407B - 一种面向深度学习的差分隐私可用性度量方法 - Google Patents
一种面向深度学习的差分隐私可用性度量方法 Download PDFInfo
- Publication number
- CN114118407B CN114118407B CN202111270189.2A CN202111270189A CN114118407B CN 114118407 B CN114118407 B CN 114118407B CN 202111270189 A CN202111270189 A CN 202111270189A CN 114118407 B CN114118407 B CN 114118407B
- Authority
- CN
- China
- Prior art keywords
- gradient
- noise
- data
- value
- privacy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013135 deep learning Methods 0.000 title claims abstract description 12
- 238000000691 measurement method Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 57
- 230000006870 function Effects 0.000 claims abstract description 45
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000012549 training Methods 0.000 claims abstract description 34
- 238000013528 artificial neural network Methods 0.000 claims abstract description 30
- 238000009826 distribution Methods 0.000 claims description 45
- 210000002569 neuron Anatomy 0.000 claims description 36
- 230000004913 activation Effects 0.000 claims description 15
- 238000009825 accumulation Methods 0.000 claims description 12
- 230000035945 sensitivity Effects 0.000 claims description 9
- 238000011478 gradient descent method Methods 0.000 claims description 7
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 238000009795 derivation Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 230000002441 reversible effect Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000001351 cycling effect Effects 0.000 claims description 3
- 238000005315 distribution function Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 claims description 2
- 238000013136 deep learning model Methods 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 230000007423 decrease Effects 0.000 abstract description 3
- 238000003062 neural network model Methods 0.000 abstract description 2
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种面向深度学习的差分隐私可用性度量方法,首先将数据输入到神经网络模型中,计算出该随机化权重下的模型参数,在该参数下得到数据标签,与真实输出进行比较,得到此轮迭代的损失函数,利用损失函数的反向传播得到梯度值;其次定义衡量可用性的指标,并反推出该前提下隐私预算的大小,若预算不合适则在该值的基础上以一定增长率增加;最后,引入动量的思想,结合上一次梯度下降的方向对本次梯度方向进行优化,减少整体寻优过程的波动,加速模型的收敛。本发明用到了差分隐私、神经网络随机梯度下降、动量等技术,实现了数据传输过程中隐私性和可用性的平衡,并保证了神经网络训练过程的收敛性。
Description
技术领域
本发明涉及一种面向深度学习的差分隐私可用性度量方法,属于数据安全和隐私保护技术领域。
背景技术
随着机器学习技术的快速发展,训练过程对数据的需求也越来越大,因此,造成信息泄露的几率也会越来越大。一旦用户的敏感信息被泄露,将对用户、企业带来严重的经济损失。因此,亟需研究一种数据隐私保护技术,确保数据在发布过程中的安全性。
为了解决数据隐私保护问题,研究人员设计了多种加密机制,用于保护数据在发布与查询过程中的隐私信息。然而,传统的加密算法基于繁重的密码算法构造,计算复杂度较高。
差分隐私保护拥有严格的数学可解释性,且能够保护统计数据发布过程中的隐私信息,目前已被广泛应用于数据安全与隐私保护中。然而传统的加噪方法带来的随机性较大,对数据可用性带来不确定的影响,且加噪后对于神经网络随机梯度下降过程的收敛性会造成一定的影响。
发明内容
本发明提供一种面向深度学习的差分隐私可用性度量方法,用到了差分隐私、神经网络随机梯度下降、动量等技术,实现了数据传输过程中隐私性和可用性的平衡,并保证了神经网络训练过程的收敛性。
基于现有技术的不足,本发明要解决的问题是在保证数据隐私性和可用性的前提下进行神经网络训练过程,并保证其收敛性
为解决上述技术问题,本发明所采用的技术方案如下:
一种面向深度学习的差分隐私可用性度量方法,包括如下步骤:
步骤1:随机梯度下降训练:深度学习模型中神经网络的结构由神经元之间的连接触发,能够将数据从简单的特征抽象为复杂的结果;首先将数据输入神经元,然后从输入层到隐藏层到输出层执行前向传播,得到随机化权重下预测值和真实值之间的差值,再根据目标函数对误差的矫正进行反向传播,由梯度决定每次更新的大小和方向,并根据输入数据不断修正每个神经元获得的参数值;
步骤2:随机噪声生成:用拉普拉斯机制生成随机噪声来对梯度信息进行保护;
步骤3:可用性度量;
步骤4:隐私预算调整;
步骤5:数据加噪;
步骤6:梯度值更新。
上述步骤1包括:步骤1.1初始化参数:
随机初始化权重参数、epoch、batch大小以及迭代次数等神经网络需要的训练参数的大小;
步骤1.2从输入到输出计算中间值:
将数据输入神经网络,从输入到输出依次计算中间值,若第l层的第j个神经元上层共有k个神经元输出,对于此神经元来说激活函数即中间值为:经过逐层计算激活值,得到最终模型的输出/>其中,权重参数/>代表了中间第l-1层的第k个神经元向第l层的第j个神经元传递参数,/>表示第l层第j个神经元的偏置,/>表示第l层第j个神经元的激活函数的输出,/>表示第l-1层第k个神经元的激活函数的输出,其中σ即为这里的激活函数,本发明中采用的是ReLU函数;
步骤1.3得到实际输出与预测输出之间的损失:
得到模型输出后,利用链式法则,进行反向梯度求导,逐层回传误差,之后计算得到每个神经元对总误差的贡献,用该误差来修正梯度权重参数w;
神经网络的参数学习是一个非线性优化问题,通过优化损失函数间接优化模型参数,并提高模型性能;假设需要优化的目标函数为:其中L代表每个样本的损失函数,f(x;θ)是当样本输入x时的预测输出,y是真实输出,/>是训练集上的经验分布,经验分布和真实数据分布越接近,模型预测结果和真实结果越接近,/>是对数据集上每一个数据点(x,y)求经验分布得到的期望值,下面对其进行具体说明;
经验分布来自训练样本,而所有的数据无法被收集到,因此训练样本能够代表的样本信息越多,模型在测试集上的表现越优;用期望衡量真实数据分布与经验分布之间的差别,然后通过将期望损失最小化来不断迭代模型,该训练过程称为经验风险最小化,其中m代表了训练样本的数目,i是一个变量,表示从第1个到第m个样本循环并累加的过程,公式如下:
步骤1.4反向传播计算梯度:
得到损失函数后,利用误差的反向传播计算梯度,即梯度下降以初始化的随机参数开始,在每个步骤中计算要优化的非线性函数的梯度,并更新参数,直到算法收敛到局部最优,按照数据生成分布抽取m个独立同分布的小批量样本,通过计算它们的梯度均值,可以得到梯度的无偏估计。
上述步骤2:随机噪声生成:在执行随机梯度下降过程中,梯度信息是由数据计算而来的,若梯度信息遭到泄露,真实的数据信息也可能以一定概率泄露,用拉普拉斯机制生成随机噪声来对梯度信息进行保护。
上述步骤3可用性度量包括:
步骤3.1:由于噪声的随机性,可能引入不合适的噪声会对梯度造成较大的影响,导致我们查询到的结果严重失真。为了尽可能地保证我们接收到的结果是可用的,在满足数据可用性的前提下进行加噪,即给出一个阈值限定数据可用性的损失;
步骤3.2:为了衡量数据的可用性,这里利用KL散度的思想对加噪前后输出的相似性进行衡量,即用加噪前输出等于真实值的概率和加噪后输出等于真实值的概率比值表示加噪带来的可用性损失,然后该值在上一步所给出的阈值限定范围内。
上述步骤3包括如下步骤:步骤3.1定义隐私损失阈值:
为了保证数据可用性,首先确定能接受的数据失真程度,定义一个阈值δ,即我们可以容忍的可用性失真。然后随机生成一个噪声Lap(b),b为噪声的尺度参数,衡量加噪前后预测值与真实值相等的概率比值,若Lap(b)小于等于阈值δ,则说明噪声的值合适,大小设置为Lap(b),若Lap(b)大于δ,则此隐私预算的前提下,对噪声进行缩减至Lap(b)小于等于阈值δ;
步骤3.2定义可用性指标:
KL散度是两个概率分布p和q差别的非对称性度量,若p(x)和q(x)是x取值的两个概率分布,则p对q的相对熵为:
利用KL散度的思想,对可用性的衡量,公式定义如下:其中,f(D)表示将某种查询函数f作用在数据集D上的输出,Lap(b)表示要添加的方差大小为b的Laplace噪声,y表示真实的输出,此处令二者的比值小于等于定义的隐私损失阈值δ,即/>
上述步骤4:隐私预算调整:在满足可用性的前提下加入噪声后,由于隐私预算是满足串行性质的,因此我们需要计算此次迭代消耗了多少隐私预算,然后用总的预算减去该次消耗得出剩余预算用于后续迭代,直到预算耗尽。当然该情况下噪声大小可能不合适,需要以一定比率进行调整。
上述步骤4包括确定隐私预算:
若加的是随机生成的噪声,利用拉普拉斯的反向推导得出该值下的隐私预算值ε;拉普拉斯分布服从的分布如下:其中,μ是位置参数,b>0是表示方差大小的参数,此处,将位置参数设置在原点处保证加入噪声的期望均值为零;
因此可得噪声值大小即该分布的累积分布函数,并反推出方差b,公式如下:而方差又满足/>所以可得隐私预算ε大小,其中,对于查询f:D→R,以及相邻数据集D和D',f的敏感度Δf定义为:Δf=maxD,D'||f(D)-f(D')||,敏感度Δf仅与查询f的类型有关,可以衡量数据集上查询结果之间的最大差异;
如果噪声不合适,适当调整隐私预算的取值,公式如下:其中,t表示第t次迭代,εt和εt+1分别表示第t次和第t+1次隐私预算的大小,此处β为衰减率;
然后用总的隐私预算减去已用的隐私预算得出剩下的预算值:
上述步骤中,加噪包括如下步骤:
步骤5.1梯度裁剪:
随机梯度下降通过对样本的梯度范数裁剪来限制每一个样本的敏感度,然后在上传梯度参数之前分批对梯度添加噪声,为了提供差分隐私保证,需要对每个样本对模型参数的影响进行限制,因此可以对每个梯度向量的L2范数进行裁剪,即设定裁剪阈值C,若阈值较大,则梯度向量g将被g/max(1,g/2C)替代,裁剪保证了当||g||≤2C的时候,梯度g被保留,当||g||>2C的时候,被阈值C取代;
步骤5.2噪声添加:
将随机拉普拉斯噪声添加到裁剪的梯度中,即其中,xi表示第i个样本数据x,gt(xi)表示第t轮迭代将样本数据输入训练模型后得到的输出梯度,L表示一次迭代求梯度时输入到神经网络的样本数量,∑i表示对第t次迭代的i个样本训练得到的梯度求和,/>表示加噪后第t轮迭代的梯度值。利用统计学的原理通过比较随机梯度下降在此数据点上在加噪前后是否存在不同,来保证攻击者不能判断出特定数据点是否包含在训练数据集中;其中,/>表示噪声服从均值为0,方差为Δf/ε的拉普拉斯分布,I为维数与样本数量以及梯度数量相关的单位矩阵,方便噪声添加矩阵运算。噪声在满足上述约束条件的前提下进行添加。
上述步骤6:梯度值更新:由于加噪会对随机梯度下降过程造成影响,导致迭代过程的震荡或者无法收敛到最优,针对该问题,引入动量的思想,以一定概率结合历史梯度方向,对于相邻两次梯度更新方向相同的情况起到进一步加速的作用,而对于两次更新方向相反的情况进行减速,同时,对于学习率,会由不同的变量自适应调整,保证每一次更新的步长都比较合适。
上述步骤6包括如下步骤:
步骤6.1利用动量计算临时更新:
随机梯度下降方法学习过程有时会比较慢,而动量方法可以加速学习,特别是在处理带噪声的梯度,动量可以累积之前梯度指数级衰减的移动平均,并且继续沿该方向移动。此处引入v作为速度,代表参数在空间移动的方向和速率,假设其为负梯度的指数衰减平均,即作为此处的动量。超参数α属于[0,1]决定了之前梯度的贡献衰减的有多快。更新规则如下:θ表示步骤5.2中梯度加噪后进行梯度更新得到的权重参数,/>表示利用动量更新后得到的临时权重参数。
步骤6.2梯度累积:
在刚刚得到临时点处计算梯度:其中,m为一次更新梯度的样本数量,/>表示要对后续公式求梯度,/>表示在已知权重参数/>的基础上将第i个样本输入神经网络得到的预测输出,y(i)表示第i个样本的真实输出,/>表示第i个样本的预测输出和真实输出的损失函数,∑i表示对所有i个样本的损失求和。之后进行梯度的累积,初始化累积变量r为0,累积过程的公式如下:r←ρr+(1-ρ)ge g,其中ρ表示衰减速率,e表示梯度按元素相乘,g表示在上述临时点处计算得到的新梯度。
步骤6.3梯度更新:
在累积梯度的基础上计算速度的更新:其中其中a是处在0-1之间的超参数,v表示速度,γ是全局学习率,/>要对梯度逐元素应用。
得到速度v后在该参数的基础上进行权重参数θ的更新:θ←θ+v。
由于神经网络迭代训练过程中梯度信息会面对模型逆向攻击、成员推理攻击等一系列隐私威胁,因此引入差分隐私技术进行保护,然而噪声量不合适会对数据的可用性会造成一定的影响,且会影响模型的收敛,本申在保护模型信息的同时,尽可能小地破坏数据的可用性,并保证模型的收敛。
本申请方案主要包含随机梯度下降训练,在保证可用性的前提下加噪并调整隐私预算以及利用动量的思想保证收敛性几部分。首先将数据输入到神经网络模型中,计算出该随机化权重下的模型参数,然后在该参数下得到数据标签,与真实输出进行比较,得到此轮迭代的损失函数,之后利用损失函数的反向传播得到梯度值;其次定义衡量可用性的指标,并反推出该前提下隐私预算的大小,若预算不合适则在该值的基础上以一定增长率增加;最后,引入动量的思想,结合上一次梯度下降的方向对本次梯度方向进行优化,减少整体寻优过程的波动,加速模型的收敛。
具体地,在加噪时,首先考虑了数据可用性的大前提,并引入一个阈值表明我们可以允许的数据“失真”范围,然后运用数学量化的方式对加噪前后模型的比值进行计算,使得该值小于可用性阈值,然后在该情况下反推出隐私预算大小。如果随机噪声不合适则进一步调整隐私预算。在保证可用性的前提下加噪,即保证了数据传输过程不会遭到隐私信息的泄露,又保证了数据可用性的损失在我们允许的范围内。在更新梯度时,引入了动量的思想,以一定权重结合了历史经验下梯度更新的方向,若新梯度的方向和历史梯度方向一致,则该次梯度向着相同方向加速更新。若新梯度方向和历史梯度方向不一致,则此次梯度下降起一个减速作用,防止因为某些不合适的数据点导致梯度更新过程的震荡。该过程减少了加噪对梯度更新过程带来的影响,保证了模型的收敛。
本发明未提及的技术均参照现有技术。
本发明面向深度学习的差分隐私可用性度量方法,用到了差分隐私、神经网络随机梯度下降、动量等技术,实现了数据传输过程中隐私性和可用性的平衡,并保证了神经网络训练过程的收敛性。
附图说明
图1为本发明面向深度学习的差分隐私可用性度量方法的流程图。
图2为本发明神经网络随机梯度下降的训练过程,每个长方形代表一个层,每个层对于特征的提取具有不同的作用。
图3为普通加噪方法与本发明加噪方法准确率随着迭代次数的变化图。
图4为在神经网络的随机梯度下降过程加入了动量的思想进行优化的过程图。
图5(a)和(b)分别为普通随机梯度下降方法与本发明梯度更新方法损失函数对比图,(c)和(d)分别为普通随机梯度下降方法与本发明所用梯度更新方法准确率变化对比图。
具体实施方式
为了更好地理解本发明,下面结合实施例进一步阐明本发明的内容,但本发明的内容不仅仅局限于下面的实施例。
面向深度学习的差分隐私可用性度量方法,流程如图1所示,包括神经网络随机梯度下降、在保证可用性的前提下对梯度信息进行差分隐私保护并进行隐私预算的调整、以及为了减小噪声对收敛性造成的影响引入动量方式进行梯度更新,该图1描述了整个过程。面向深度学习的差分隐私可用性度量方法具体包括如下步骤:
步骤1:计算梯度参数
步骤1.1初始化参数
随机初始化权重参数,epoch、batch大小以及迭代次数等神经网络需要的训练参数的大小。
步骤1.2从输入到输出计算中间值
将数据输入神经网络,从输入到输出依次计算中间值,若第l层的第j个神经元上层共有k个神经元输出,对于此神经元来说激活函数即中间值为:经过逐层计算激活值,得到最终模型的输出/>其中权重参数/>代表了中间第l-1层的第k个神经元向第l层的第j个神经元传递参数,/>表示第l层第j个神经元的偏置,/>表示第l层第j个神经元的激活函数的输出,/>表示第l-1层第k个神经元的激活函数的输出,其中σ即为这里的激活函数,本发明中采用的是ReLU函数。
步骤1.3得到实际输出与预测输出之间的损失
得到模型输出后,利用链式法则,进行反向梯度求导,逐层回传误差,之后计算得到每个神经元对总误差的贡献,用该误差来修正梯度权重参数w。神经网络的参数学习是一个非线性优化问题,通过优化损失函数间接优化模型参数,并提高模型性能。
假设需要优化的目标函数为:其中L代表每个样本的损失函数,f(x;θ)是当样本输入x时的预测输出,y是真实输出,/>是训练集上的经验分布,经验分布和真实数据分布越接近,模型预测结果和真实结果越接近,/>是对数据集上每一个数据点(x,y)求经验分布得到的期望值,下面对其进行具体说明。
经验分布来自训练样本,而所有的数据无法被收集到,因此训练样本能够代表的样本信息越多,模型在测试集上的表现越优。这里用期望衡量真实数据分布与经验分布之间的差别,然后通过将期望损失最小化来不断迭代模型。该训练过程称为经验风险最小化,其中m代表了训练样本的数目,i是一个变量,表示从第1个到第m个样本循环并累加的过程,公式如下:训练过程如图2所示。
步骤1.4反向传播计算梯度
得到损失函数后,利用误差的反向传播计算梯度。即梯度下降以初始化的随机参数开始,在每个步骤中计算要优化的非线性函数的梯度,并更新参数,直到算法收敛到局部最优。按照数据生成分布抽取m个独立同分布的小批量样本,通过计算它们的梯度均值,可以得到梯度的无偏估计。
步骤2.隐私预算
步骤2.1定义隐私损失阈值
为了保证数据可用性,首先确定我们能接受的数据失真程度,定义一个阈值δ,即我们可以容忍的可用性失真。然后随机生成一个噪声Lap(b),b为噪声的尺度参数,衡量加噪前后预测值与真实值相等的概率比值,若Lap(b)小于等于阈值δ,则说明噪声的值合适,大小设置为Lap(b),若Lap(b)大于δ,则此隐私预算的前提下,噪声进行一定程度的缩减。
表1为利用拉普拉斯机制随机生成的噪声,基于噪声值的大小设置可用性阈值为0.1。
表1
步骤2.2定义可用性指标
KL散度是两个概率分布P和Q差别的非对称性度量,若p(x)和Q(x)是X取值的两个概率分布,则p对q的相对熵为:
此处我们利用KL散度的思想,对可用性的衡量,公式定义如下:其中,f(D)表示将某种查询函数f作用在数据集D上的输出,Lap(b)表示要添加的方差大小为b的Laplace噪声,y表示真实的输出,此处令二者的比值小于等于我们定义的隐私损失阈值δ即/>
步骤2.3确定隐私预算
若加的是随机生成的噪声,利用拉普拉斯的反向推导得出该值下的隐私预算值ε;拉普拉斯分布服从的分布如下:其中,μ是位置参数,b>0是表示方差大小的参数。此处,将位置参数设置在原点处保证加入噪声的期望均值为零。
因此可得噪声值大小即该分布的累积分布函数,并反推出方差b,公式如下:而方差又满足/>所以可得隐私预算ε大小。其中,对于查询f:D→R,以及相邻数据集D和D',f的敏感度Δf定义为:Δf=maxD,D'||f(D)-f(D')||,敏感度Δf仅与查询f的类型有关,可以衡量数据集上查询结果之间的最大差异。
如果噪声不合适,那么适当调整隐私预算的取值,公式如下:其中,t表示第t次迭代,εt和εt+1分别表示第t次和第t+1次隐私预算的大小。此处β为衰减率。
然后用总的隐私预算减去已用的隐私预算得出剩下的预算值:
步骤3.数据加噪
在满足数据可用性的前提下进行加噪,即给出一个阈值限定数据可用性的损失;利用KL散度的思想对加噪前后输出的相似性进行衡量;
步骤3.1梯度裁剪
随机梯度下降通过对样本的梯度范数裁剪来限制每一个样本的敏感度,然后在上传梯度参数之前分批对梯度添加噪声。为了提供差分隐私保证,需要对每个样本对模型参数的影响进行限制,因此可以对每个梯度向量的L2范数进行裁剪,即设定裁剪阈值C,若阈值较大,则梯度向量g将被g/max(1,g/2C)替代。裁剪保证了当||g||≤2C的时候,梯度g被保留,当||g||>2C的时候,被阈值C取代。
步骤3.2噪声添加
将随机拉普拉斯噪声添加到裁剪的梯度中,即其中,xi表示第i个样本数据x,gt(xi)表示第t轮迭代将样本数据输入训练模型后得到的输出梯度,L表示一次迭代求梯度时输入到神经网络的样本数量,∑i表示对第t次迭代的i个样本训练得到的梯度求和,/>表示加噪后第t轮迭代的梯度值。此处利用统计学的原理通过比较随机梯度下降在此数据点上在加噪前后是否存在不同,来保证了攻击者不能判断出特定数据点是否包含在训练数据集中。
其中表示噪声服从均值为0,方差为Δf/ε的拉普拉斯分布,I为维数与样本数量以及梯度数量相关的单位矩阵,方便噪声添加矩阵运算。噪声在满足上述约束条件的前提下进行添加。图3为普通加噪方法与上述方法准确率随着迭代次数的变化图,在MNIST数据集上进行了600次迭代,每10次进行一次记录,epoch大小为24,batch大小为10,总的隐私预算大小设为1,可明显看出,本申请有着更好的准确率。
步骤4梯度更新
步骤4.1利用动量计算临时更新
随机梯度下降方法学习过程有时会比较慢,而动量方法可以加速学习,特别是在处理带噪声的梯度,动量可以累积之前梯度指数级衰减的移动平均,并且继续沿该方向移动。此处引入v作为速度,代表参数在空间移动的方向和速率,假设其为负梯度的指数衰减平均,即作为此处的动量。超参数α属于[0,1]决定了之前梯度的贡献衰减的有多快。更新规则如下:θ表示加噪后进行梯度更新得到的权重参数,/>表示利用动量更新后得到的临时权重参数。
步骤4.2梯度累积
在刚刚得到临时点处计算梯度:其中,m为一次更新梯度的样本数量,/>表示要对后续公式求梯度,/>表示在已知权重参数/>的基础上将第i个样本输入得到的预测输出,y(i)表示第i个样本的真实输出,/>表示第i个样本的预测输出和真实输出的损失函数,∑i表示对所有i个样本的损失求和。之后进行梯度的累积,初始化累积变量r为0,累积过程的公式如下:r←ρr+(1-ρ)ge g,其中ρ表示衰减速率,e表示梯度按元素相乘,g表示在上述临时点处计算得到的新梯度。
步骤4.3梯度更新
在累积梯度的基础上计算速度的更新:其中a是处在0-1之间的超参数,v表示速度,γ是全局学习率,/>要对梯度逐元素应用。
得到速度v后在该参数的基础上进行权重参数θ的更新:θ←θ+v。
图4为在神经网络的随机梯度下降过程加入了动量的思想进行优化的过程,其中x1和x2的矢量和表示梯度下一次要更新的方向,x*表示最终要达到的最优点,箭头所指的方向是梯度更新的方向,这里要优化的损失函数假设为:x1^2+9*x2^2,可以看出,加入动量的思想后,梯度会朝着最优值的方向加速更新。
图5中,图(a)和(b)分别为普通随机梯度下降方法与本发明梯度更新方法损失函数对比图,图(c)和(d)分别为普通随机梯度下降方法与本发明所用梯度更新方法准确率变化对比图,在Iris数据集上进行实验,每4个step进行一次记录,epoch大小为500,可明显看出,本申请的优势是非常显著的。
Claims (3)
1.一种面向深度学习的差分隐私可用性度量方法,其特征在于:包括如下步骤:
步骤1:随机梯度下降训练:深度学习模型中神经网络的结构由神经元之间的连接触发,能够将数据从简单的特征抽象为复杂的结果;首先将数据输入神经元,然后从输入层到隐藏层到输出层执行前向传播,得到随机化权重下预测值和真实值之间的差值,再根据目标函数对误差的矫正进行反向传播,由梯度决定每次更新的大小和方向,并根据输入数据不断修正每个神经元获得的参数值;
步骤2:随机噪声生成,用拉普拉斯机制生成随机噪声来对梯度信息进行保护;
步骤3:可用性度量;
步骤4:隐私预算调整;
步骤5:数据加噪;
步骤6:梯度值更新;
步骤3可用性度量包括:
步骤3.1:在满足数据可用性的前提下进行加噪,即给出一个阈值限定数据可用性的损失;
步骤3.2:利用KL散度对加噪前后输出的相似性进行衡量;
步骤3.1定义隐私损失阈值:
为了保证数据可用性,首先确定能接受的数据失真程度,定义一个阈值δ,然后随机生成一个噪声Lap(b),b为噪声的尺度参数,衡量加噪前后预测值与真实值相等的概率比值,若Lap(b)小于等于阈值δ,则说明噪声的值合适,大小设置为Lap(b),若Lap(b)大于δ,则此隐私预算的前提下,对噪声进行缩减至Lap(b)小于等于阈值δ;
步骤3.2定义可用性指标:
KL散度是两个概率分布p和q差别的非对称性度量,若p(x)和q(x)是x取值的两个概率分布,则p对q的相对熵为:
利用KL散度的思想,对可用性的衡量,公式定义如下:其中,f(D)表示将某种查询函数f作用在数据集D上的输出,Lap(b)表示要添加的方差大小为b的Laplace噪声,y表示真实的输出,此处令二者的比值小于等于定义的隐私损失阈值δ,即
步骤4中的隐私预算调整:在满足可用性的前提下加入噪声后,由于隐私预算是满足串行性质的,需要计算此次迭代消耗了多少隐私预算,然后用总的预算减去该次消耗得出剩余预算用于后续迭代,直到预算耗尽;
步骤4包括确定隐私预算:
若加的是随机生成的噪声,利用拉普拉斯的反向推导得出该值下的隐私预算值ε;拉普拉斯分布服从的分布如下:其中,μ是位置参数,b>0是表示方差大小的参数,此处,将位置参数设置在原点处保证加入噪声的期望均值为零;
因此可得噪声值大小即该分布的累积分布函数,并反推出方差b,公式如下:而方差又满足/>所以可得隐私预算ε大小,其中,对于查询f:D→R,以及相邻数据集D和D',f的敏感度Δf定义为:Δf=maxD,D'||f(D)-f(D')||,敏感度Δf仅与查询f的类型有关,可以衡量数据集上查询结果之间的最大差异;
如果噪声不合适,调整隐私预算的取值,公式如下:其中,t表示第t次迭代,εt和εt+1分别表示第t次和第t+1次隐私预算的大小,此处β为衰减率;
然后用总的隐私预算减去已用的隐私预算得出剩下的预算值:
步骤5中,数据加噪包括如下步骤:
步骤5.1梯度裁剪:
随机梯度下降通过对样本的梯度范数裁剪来限制每一个样本的敏感度,然后在上传梯度参数之前分批对梯度添加噪声,为了提供差分隐私保证,需要对每个样本对模型参数的影响进行限制,因此可以对每个梯度向量的L2范数进行裁剪,即设定裁剪阈值C,若||g||>2C,则梯度向量g将被g/max(1,g/2C)替代,裁剪保证了当||g||≤2C的时候,梯度g被保留,当||g||>2C的时候,被阈值C取代;
步骤5.2噪声添加:
将随机拉普拉斯噪声添加到裁剪的梯度中,即其中,xi表示第i个样本数据x,gt(xi)表示第t轮迭代将样本数据输入训练模型后得到的输出梯度,L表示一次迭代求梯度时输入到神经网络的样本数量,∑i表示对第t次迭代的i个样本训练得到的梯度求和,/>表示加噪后第t轮迭代的梯度值;利用统计学的原理通过比较随机梯度下降在此数据点上在加噪前后是否存在不同,来保证攻击者不能判断出特定数据点是否包含在训练数据集中;其中,/>表示噪声服从均值为0,方差为Δf/ε的拉普拉斯分布,I为维数与样本数量以及梯度数量相关的单位矩阵,方便噪声添加矩阵运算,噪声在满足上述约束条件的前提下进行添加;
步骤6中的梯度值更新包括如下步骤:
步骤6.1利用动量计算临时更新:
随机梯度下降方法学习过程有时会比较慢,而动量方法可以加速学习,在处理带噪声的梯度,动量可以累积之前梯度指数级衰减的移动平均,并且继续沿该方向移动,引入v作为速度,代表参数在空间移动的方向和速率,假设其为负梯度的指数衰减平均,即作为此处的动量,超参数α属于[0,1]决定了之前梯度的贡献衰减的有多快,更新规则为:θ表示步骤5.2中梯度加噪后进行梯度更新得到的权重参数,/>表示利用动量更新后得到的临时权重参数;
步骤6.2梯度累积:
在刚刚得到的临时点处计算新的梯度:其中,m为一次更新梯度的样本数量,/>表示要对后续公式求梯度,/>表示在已知权重参数/>的基础上将第i个样本输入神经网络得到的预测输出,y(i)表示第i个样本的真实输出,/>表示第i个样本的预测输出和真实输出的损失函数,∑i表示对所有i个样本的损失求和,之后进行梯度的累积,初始化累积变量r为0,累积过程的公式如下:r←ρr+(1-ρ)g⊙g,其中ρ表示衰减速率,⊙表示梯度按元素相乘,g表示在上述临时点处计算得到的新梯度;
步骤6.3梯度更新:
在累积梯度的基础上计算速度的更新:其中a是处在0-1之间的超参数,v表示速度,γ是全局学习率,/>要对梯度g逐元素应用;
得到速度v后在该参数的基础上进行权重参数θ的更新:θ←θ+v。
2.如权利要求1所述的面向深度学习的差分隐私可用性度量方法,其特征在于:步骤1包括:
步骤1.1初始化参数:
随机初始化权重参数、epoch、batch大小以及迭代次数神经网络需要的训练参数的大小;
步骤1.2从输入到输出计算中间值:
将数据输入神经网络,从输入到输出依次计算中间值,若第l层的第j个神经元上层共有k个神经元输出,对于此神经元来说激活函数即中间值为:经过逐层计算激活值,得到最终模型的输出/>其中,权重参数/>代表了中间第l-1层的第k个神经元向第l层的第j个神经元传递参数,/>表示第l层第j个神经元的偏置,/>表示第l层第j个神经元的激活函数的输出,/>表示第l-1层第k个神经元的激活函数的输出,其中σ即为这里的激活函数,采用的是ReLU函数;
步骤1.3得到实际输出与预测输出之间的损失:
得到模型输出后,利用链式法则,进行反向梯度求导,逐层回传误差,之后计算得到每个神经元对总误差的贡献,用该误差来修正梯度权重参数w;
神经网络的参数学习是一个非线性优化问题,通过优化损失函数间接优化模型参数,并提高模型性能;假设需要优化的目标函数为:其中L代表每个样本的损失函数,f(x;θ)是当样本输入x时的预测输出,y是真实输出,/>是训练集上的经验分布,经验分布和真实数据分布越接近,模型预测结果和真实结果越接近,/>是对数据集上每一个数据点(x,y)求经验分布得到的期望值;
经验分布来自训练样本,而所有的数据无法被收集到,因此训练样本能够代表的样本信息越多,模型在测试集上的表现越优;用期望衡量真实数据分布与经验分布之间的差别,然后通过将期望损失最小化来不断迭代模型,该训练过程称为经验风险最小化,其中m代表了训练样本的数目,i是一个变量,表示从第1个到第m个样本循环并累加的过程,公式如下:
步骤1.4反向传播计算梯度:
得到损失函数后,利用误差的反向传播计算梯度,即梯度下降以初始化的随机参数开始,在每个步骤中计算要优化的非线性函数的梯度,并更新参数,直到算法收敛到局部最优,按照数据生成分布抽取m个独立同分布的小批量样本,通过计算它们的梯度均值,可以得到梯度的无偏估计。
3.如权利要求1或2所述的面向深度学习的差分隐私可用性度量方法,其特征在于:步骤2中,在执行随机梯度下降过程中,梯度信息是由数据计算而来的,若梯度信息遭到泄露,真实的数据信息存在泄露风险,用拉普拉斯机制生成随机噪声来对梯度信息进行保护。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111270189.2A CN114118407B (zh) | 2021-10-29 | 2021-10-29 | 一种面向深度学习的差分隐私可用性度量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111270189.2A CN114118407B (zh) | 2021-10-29 | 2021-10-29 | 一种面向深度学习的差分隐私可用性度量方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114118407A CN114118407A (zh) | 2022-03-01 |
CN114118407B true CN114118407B (zh) | 2023-10-24 |
Family
ID=80379356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111270189.2A Active CN114118407B (zh) | 2021-10-29 | 2021-10-29 | 一种面向深度学习的差分隐私可用性度量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114118407B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116090014B (zh) * | 2023-04-07 | 2023-10-10 | 中国科学院数学与系统科学研究院 | 一种面向智能电网的差分隐私分布式随机优化方法及系统 |
CN117113418B (zh) * | 2023-10-18 | 2024-01-16 | 武汉大学 | 基于迭代优化的抗图像增强数据脱敏方法及系统 |
CN117313160B (zh) * | 2023-11-21 | 2024-04-09 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种隐私增强的结构化数据仿真生成方法及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108549904A (zh) * | 2018-03-28 | 2018-09-18 | 西安理工大学 | 基于轮廓系数的差分隐私保护K-means聚类方法 |
CN110263831A (zh) * | 2019-06-06 | 2019-09-20 | 陕西师范大学 | 一种基于差分隐私的局部高阶图聚类方法 |
CN111242196A (zh) * | 2020-01-06 | 2020-06-05 | 广西师范大学 | 可解释性深度学习的差分隐私保护方法 |
CN111971675A (zh) * | 2017-12-18 | 2020-11-20 | 普威达有限公司 | 数据产品发布方法或系统 |
CN111985539A (zh) * | 2020-07-30 | 2020-11-24 | 西安理工大学 | 基于高斯核函数的差分隐私保护的模糊c均值聚类方法 |
CN112307514A (zh) * | 2020-11-26 | 2021-02-02 | 哈尔滨工程大学 | 一种采用Wasserstein距离的差分隐私贪心分组方法 |
CN112668044A (zh) * | 2020-12-21 | 2021-04-16 | 中国科学院信息工程研究所 | 面向联邦学习的隐私保护方法及装置 |
CN113094746A (zh) * | 2021-03-31 | 2021-07-09 | 北京邮电大学 | 基于本地化差分隐私的高维数据发布方法及相关设备 |
CN113127931A (zh) * | 2021-06-18 | 2021-07-16 | 国网浙江省电力有限公司信息通信分公司 | 基于瑞丽散度进行噪声添加的联邦学习差分隐私保护方法 |
CN113468592A (zh) * | 2021-06-15 | 2021-10-01 | 武汉理工大学 | 一种基于深度学习的差分隐私保护方法及装置 |
CN113536373A (zh) * | 2021-07-07 | 2021-10-22 | 河南大学 | 一种脱敏气象数据的生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3097655A1 (en) * | 2019-10-30 | 2021-04-30 | Royal Bank Of Canada | System and method for machine learning architecture with differential privacy |
-
2021
- 2021-10-29 CN CN202111270189.2A patent/CN114118407B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111971675A (zh) * | 2017-12-18 | 2020-11-20 | 普威达有限公司 | 数据产品发布方法或系统 |
CN108549904A (zh) * | 2018-03-28 | 2018-09-18 | 西安理工大学 | 基于轮廓系数的差分隐私保护K-means聚类方法 |
CN110263831A (zh) * | 2019-06-06 | 2019-09-20 | 陕西师范大学 | 一种基于差分隐私的局部高阶图聚类方法 |
CN111242196A (zh) * | 2020-01-06 | 2020-06-05 | 广西师范大学 | 可解释性深度学习的差分隐私保护方法 |
CN111985539A (zh) * | 2020-07-30 | 2020-11-24 | 西安理工大学 | 基于高斯核函数的差分隐私保护的模糊c均值聚类方法 |
CN112307514A (zh) * | 2020-11-26 | 2021-02-02 | 哈尔滨工程大学 | 一种采用Wasserstein距离的差分隐私贪心分组方法 |
CN112668044A (zh) * | 2020-12-21 | 2021-04-16 | 中国科学院信息工程研究所 | 面向联邦学习的隐私保护方法及装置 |
CN113094746A (zh) * | 2021-03-31 | 2021-07-09 | 北京邮电大学 | 基于本地化差分隐私的高维数据发布方法及相关设备 |
CN113468592A (zh) * | 2021-06-15 | 2021-10-01 | 武汉理工大学 | 一种基于深度学习的差分隐私保护方法及装置 |
CN113127931A (zh) * | 2021-06-18 | 2021-07-16 | 国网浙江省电力有限公司信息通信分公司 | 基于瑞丽散度进行噪声添加的联邦学习差分隐私保护方法 |
CN113536373A (zh) * | 2021-07-07 | 2021-10-22 | 河南大学 | 一种脱敏气象数据的生成方法 |
Non-Patent Citations (2)
Title |
---|
基于差分隐私模型的位置轨迹发布技术研究;冯登国;张敏;叶宇桐;;电子与信息学报(第01期);全文 * |
差分隐私保护下的Adam优化算法研究;李敏;李红娇;陈杰;;计算机应用与软件(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114118407A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114118407B (zh) | 一种面向深度学习的差分隐私可用性度量方法 | |
Zeiler | Adadelta: an adaptive learning rate method | |
US8788450B2 (en) | Self-organizing quantum robust control methods and systems for situations with uncertainty and risk | |
Jafarpour et al. | Robust implicit networks via non-Euclidean contractions | |
Ghasemi et al. | SRF: Matrix completion based on smoothed rank function | |
Mohammadbagherpoor et al. | An improved implementation approach for quantum phase estimation on quantum computers | |
Wang et al. | Deep BSDE-ML learning and its application to model-free optimal control | |
Lorenc et al. | Computing an ensemble of variational data assimilations using its mean and perturbations | |
KR20220027155A (ko) | 격자 점들 열거를 위한 디바이스들 및 방법들 | |
CN115935436A (zh) | 一种基于差分隐私的深度学习模型隐私保护方法 | |
Song et al. | An adaptive UKF algorithm and its application in mobile robot control | |
Ouyang et al. | Nonmonotone globalization for Anderson acceleration using adaptive regularization | |
Efimov et al. | An exact robust hyperexponential differentiator | |
El Mekkaoui et al. | Distributed stochastic gradient MCMC for federated learning | |
Fu et al. | Accelerated stochastic optimization methods under quasar-convexity | |
CN116226897A (zh) | 一种结合训练损失和隐私损失的改进Prim区块链网络传输优化方法 | |
Nguyen et al. | A deep learning approach for solving Poisson’s equations | |
Olver | Shifted GMRES for oscillatory integrals | |
Pennie et al. | Entropy decay rates for conservative spectral schemes modeling Fokker-Planck-Landau type flows in the mean field limit | |
Franzese et al. | Revisiting the effects of stochasticity for Hamiltonian samplers | |
Jia | The application of Monte Carlo methods for learning generalized linear model | |
Meyer et al. | Accelerated gradient temporal difference learning algorithms | |
Ngo et al. | A Rolling Optimized Nonlinear Grey Bernoulli Model RONGBM (1, 1) and application in predicting total COVID-19 infected cases | |
Lavado et al. | Achieving Constraints in Neural Networks: A Stochastic Augmented Lagrangian Approach | |
Toulis et al. | Supplement to “Asymptotic and finite-sample properties of estimators based on stochastic gradients.” |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |