一种基于VHE的隐私保护神经网络的训练及预测方法技术

技术编号:19389204 阅读:18 留言:0更新日期:2018-11-10 02:08
本发明专利技术公开了一种基于VHE的隐私保护神经网络的训练及预测方法,利用VHE同态加密算法对数据集D进行加密,得到加密数据集D′,所述加密数据集D′包括训练数据集D′1和测试数据集D′2;对所述训练数据集D′1进行BP神经网络批梯度训练,得到训练后的BP神经网络;利用训练后的BP神经网络对测试数据集D′2进行预测,得到预测结果;本发明专利技术结合加密算法以及BP神经网络方法实现了密文域下的BP神经网络的训练及预测,也就是实现了云端不可信的情况下,数据在输入加密保护下依旧可以进行BP神经网络的训练及预测等,实现了真正的计算外包。

A training and forecasting method of privacy preserving neural network based on VHE

The invention discloses a training and prediction method of privacy protection neural network based on VHE, which encrypts data set D'by using VHE homomorphic encryption algorithm and obtains encrypted data set D'. The encrypted data set D', which includes training data set D' 1 and testing data set D'2, carries out BP neural network batch on the training data set D' 1. Gradient training is used to obtain the trained BP neural network; the trained BP neural network is used to predict the test data set D'2 and obtain the prediction result; The training and prediction of BP neural network in ciphertext domain is realized by combining encryption algorithm and BP neural network method, that is to say, in the case of untrustworthy cloud. Under the protection of input encryption, the data can still be trained and predicted by BP neural network, which realizes the real outsourcing of computing.

【技术实现步骤摘要】
一种基于VHE的隐私保护神经网络的训练及预测方法
本专利技术涉及向量同态计算领域,具体涉及一种基于VHE的隐私保护神经网络的训练及预测方法。
技术介绍
如今,大数据已经成为未来社会与经济发展的趋势,在人类社会各个领域都有很大的应用潜力。大量来自传感器,社交网络,企业,互联网等的数据被收集、共享和分析。由于云计算的广泛使用,用户现在不仅将他们的数据,还将数据挖掘的任务外包给云。然而,云很有可能是不安全的,云在数据挖掘时可能会危害用户的隐私。被挖掘的数据可能包含敏感信息,例如个人身份,医疗记录甚至财务信息。BP神经网络是多层前馈网络,主要工作分为两个阶段:第一阶段,信号向前传播,由输入层经隐层到达输出层;第二阶段:误差反向传播,由输出层经隐层再到输入层,依次调节隐含层到输出层的权重和隐层神经元的阈值、输入层到隐含层的权重和神经元阈值。它的整个过程是在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。在大数据背景下,利用BP神经网络进行训练和预测所需数据量很大,通常用户会将数据发送至云进行计算,云将计算后的结果再返回至用户,在计算时通常是对源数据进行计算,由于云有可能是不安全的,因此这些源数据可能会被泄露,对用户造成极大的损失。而目前为了保护数据的隐私,用到的方法有k-匿名化、差分隐私、数据加密等。K-匿名化在一定程度上可以保护个人隐私,但是同时会降低数据的可用性;差分隐私只能保证数据的精确值的安全,不能保证数据的估计值的安全;如果用一般的底层加密方案加密数据,对这样的密文进行数据挖掘又很有难度。由于利用BP神经网络进行训练和预测过程时数据的计算均在云端完成,采用以上方法均无法解决数据不安全的问题。
技术实现思路
本专利技术的目的在于:提供一种基于VHE的隐私保护神经网络的训练及预测方法,解决了目前在利用BP神经网络进行训练和预测时,无法保证数据安全的技术问题。本专利技术采用的技术方案如下:一种基于VHE的隐私保护神经网络的训练及预测方法,包括以下步骤:步骤1:利用VHE同态加密算法对数据集D进行加密,得到加密数据集D′,所述加密数据集D′包括训练数据集D′1和测试数据集D′2;步骤2:对所述训练数据集D′1进行BP神经网络批梯度训练,得到训练后的BP神经网络;步骤3:利用训练后的BP神经网络对测试数据集D′2进行预测,得到预测结果。进一步的,所述步骤1中利用VHE进行加密的具体过程为:利用加密公式Sc=wx+e(1),得到SD′=wD+e(2),又,S=[IR],则加密数据集D′为:D′=[(c1,y1),(c2,y2),...,(cn,yn)](4),其中,S表示加密时采用的私钥矩阵,w表示加密参数,e表示噪声向量,M表示公钥矩阵,I表示单位矩阵,R表示一个随机矩阵,x表示数据集D中的明文向量,c表示加密数据集D′中的密文向量,n表示数据的序号。进一步的,所述步骤2具体为:步骤21:设BP神经网络含有m-1个隐层,学习率为α,初始化m个权值矩阵和m个阈值向量;步骤22:设定训练次数,将训练数据集D′1中的数据a0输入所述BP神经网络,利用权值矩阵和阈值向量,在经过每一层隐层的计算后得到输出层的输出矩阵am,a0表示训练数据集D′1中所有数据的输入向量;步骤23:计算真实值矩阵y与所述输出矩阵am的差值矩阵err;步骤24:利用所述差值矩阵err反向依次计算输出层到第一层隐层的敏感性;步骤25:利用所述敏感性和学习率更新所述权值矩阵和阈值向量,判断训练次数是否达到阈值,若没有达到,则跳转步骤22,否则结束训练。进一步的,所述步骤22中,当隐层和输出层的激励函数均为线性函数时,输出矩阵am的计算方法如下:第一层隐层的输入为:第一层隐层的输出为:a1=f1(n1)(6),则第i层隐层的输入为:第i层隐层的输出为:ai=fi(ni)(8),即输出层的输入为:输出层的输出为:am=fm(nm)(10),当隐层中第i层的激励函数为非线性函数时,该层隐层的输出为:ai=fi(ni/param1)*param1(11),当输出层的激励函数为非线性函数时,输出层的输出为:am=fm(nm/param1)*param1(12),其中,n1表示第一层隐层的输入,a0表示BP网络的输入,w1表示BP神经网络输入层和第一层隐层间的权值矩阵,b1表示第一层隐层的阈值向量,a1表示第一层隐层的输出,f1表示第一个隐层的激励函数,ni表示第i层隐层的输入,ai-1表示第i-1层隐层的输出,wi表示第i-1层隐层和第i层隐层间的权值矩阵,bi表示第i层隐层的阈值向量,ai表示第i层隐层的输出,fi表示第i层隐层的激励函数,nm表示输出层的输入,am-1表示第m-1层隐层的输出,wm表示第m-1层隐层和输出层间的权值矩阵,bm表示输出层的阈值向量,am表示输出层的输出,fm表示输出层的激励函数,T表示矩阵的转置,param1表示一个根据数据集等变化的参数,目的是使得ni/param1尽量落在激励函数fi导函数比较大的区间或使nm/param1尽量落在激励函数fm导函数比较大的区间。进一步的,所述步骤23中,差值矩阵err的计算公式为:err=y-am。进一步的,所述步骤24中,当输出层和隐层的激励函数均为线性激励函数时,敏感性的计算方法为:输出层的敏感性为:sm=-2*fm′(nm)*err(13),第i层隐层的敏感性为:当输出层的激励函数为非线性激励函数时,输出层敏感性的计算方法为:sm=-2*fm′(nm/param1)*err/param2(15),当隐层中第i层隐层的激励函数为非线性函数时,该层隐层敏感性的计算方法为:其中,sm表示输出层的敏感性,fm′表示激励函数fm的导函数,param2表示一个根据数据集等变化的参数,目的是使得sm尽量小以免对wm造成太大影响或使si尽量小以免对wi造成太大影响。进一步的,所述权值矩阵更新方法为:第m-1层隐层和输出层间的权值矩阵wm′:第i层隐层和第i+1层隐层间的权值矩阵wi+1′:所述阈值向量的更新方法为:输出层阈值向量bm′:第i层隐层的阈值向量bi′:wm′表示更新后的第m-1层隐层和输出层间的权值矩阵,wi+1′表示更新后的第i层隐层和第i+1层隐层间的权值矩阵,bm′表示更新后的输出层阈值向量,bi′表示更新后的第i层隐层的阈值向量。进一步的,所述步骤3中预测方法为:将测试数据集D′2输入训练后的BP神经网络,所述BP神经网络输出层的输出矩阵即为预测结果。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:1.本专利技术结合加密算法以及BP神经网络方法实现了密文域下的BP神经网络的训练及预测,也就是实现了云端不可信的情况下,数据在输入加密保护下依旧可以进行BP神经网络的训练及预测等,实现了真正的计算外包;2.本申请采用VHE加密算法进行加密,实现了向量的运算下的加密算法,类同态加密方案,实现了快速加密。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1是本专利技术的整体流程图。具体实施方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。下面结合图1对本专利技术作详细说明。一种基于VHE的隐私本文档来自技高网
...

【技术保护点】
1.一种基于VHE的隐私保护神经网络的训练及预测方法,其特征在于:包括以下步骤:步骤1:利用VHE同态加密算法对数据集D进行加密,得到加密数据集D′,所述加密数据集D′包括训练数据集D′1和测试数据集D′2;步骤2:对所述训练数据集D′1进行BP神经网络批梯度训练,得到训练后的BP神经网络;步骤3:利用训练后的BP神经网络对测试数据集D′2进行预测,得到预测结果。

【技术特征摘要】
1.一种基于VHE的隐私保护神经网络的训练及预测方法,其特征在于:包括以下步骤:步骤1:利用VHE同态加密算法对数据集D进行加密,得到加密数据集D′,所述加密数据集D′包括训练数据集D′1和测试数据集D′2;步骤2:对所述训练数据集D′1进行BP神经网络批梯度训练,得到训练后的BP神经网络;步骤3:利用训练后的BP神经网络对测试数据集D′2进行预测,得到预测结果。2.根据权利要求1所述的一种基于VHE的隐私保护神经网络的训练及预测方法,其特征在于:所述步骤1中利用VHE进行加密的具体过程为:利用加密公式Sc=wx+e(1),得到SD′=wD+e(2),又,S=[IR],则加密数据集D′为:D′=[(c1,y1),(c2,y2),...,(cn,yn)](4),其中,S表示加密时采用的私钥矩阵,w表示加密参数,e表示噪声向量,M表示公钥矩阵,I表示单位矩阵,R表示一个随机矩阵,x表示数据集D中的明文向量,c表示加密数据集D′中的密文向量,n表示数据的序号。3.根据权利要求1所述的一种基于VHE的隐私保护神经网络的训练及预测方法,其特征在于:所述步骤2具体为:步骤21:设BP神经网络含有m-1个隐层,学习率为α,初始化m个权值矩阵和m个阈值向量;步骤22:设定训练次数,将训练数据集D′1中的数据a0输入所述BP神经网络,利用权值矩阵和阈值向量,在经过每一层隐层的计算后得到输出层的输出矩阵am,a0表示训练数据集D′1中所有数据的输入向量;步骤23:计算真实值矩阵y与所述输出矩阵am的差值矩阵err;步骤24:利用所述差值矩阵err反向依次计算输出层到第一层隐层的敏感性;步骤25:利用所述敏感性和学习率更新所述权值矩阵和阈值向量,判断训练次数是否达到阈值,若没有达到,则跳转步骤22,否则结束训练。4.根据权利要求3所述的一种基于VHE的隐私保护神经网络的训练及预测方法,其特征在于:所述步骤22中,当隐层和输出层的激励函数均为线性函数时,输出矩阵am的计算方法如下:第一层隐层的输入为:第一层隐层的输出为:a1=f1(n1)(6),则第i层隐层的输入为:第i层隐层的输出为:ai=fi(ni)(8),即输出层的输入为:输出层的输出为:am=fm(nm)(10),当隐层中第i层的激励函数为非线性函数时,该层隐层的输出为:ai=fi(ni/paraml)*paraml(11),当输出层的激励函数为非线性函数时,输出层的输出为:am=fm(nm/paraml)*paraml(12),其中,n1表示第一层隐层的输入,a0表示BP网络的输入...

【专利技术属性】
技术研发人员:杨浩淼张有何伟超梁绍鹏李洪伟任彦之
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1