CN108776836A - 一种基于vhe的隐私保护神经网络的训练及预测方法 - Google Patents
一种基于vhe的隐私保护神经网络的训练及预测方法 Download PDFInfo
- Publication number
- CN108776836A CN108776836A CN201810592585.9A CN201810592585A CN108776836A CN 108776836 A CN108776836 A CN 108776836A CN 201810592585 A CN201810592585 A CN 201810592585A CN 108776836 A CN108776836 A CN 108776836A
- Authority
- CN
- China
- Prior art keywords
- layer
- output
- indicate
- hidden layer
- training
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于VHE的隐私保护神经网络的训练及预测方法,利用VHE同态加密算法对数据集D进行加密,得到加密数据集D′,所述加密数据集D′包括训练数据集D′1和测试数据集D′2;对所述训练数据集D′1进行BP神经网络批梯度训练,得到训练后的BP神经网络;利用训练后的BP神经网络对测试数据集D′2进行预测,得到预测结果;本发明结合加密算法以及BP神经网络方法实现了密文域下的BP神经网络的训练及预测,也就是实现了云端不可信的情况下,数据在输入加密保护下依旧可以进行BP神经网络的训练及预测等,实现了真正的计算外包。
Description
技术领域
本发明涉及向量同态计算领域,具体涉及一种基于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=[I R],
则加密数据集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同态加密算法对数据集D进行加密,得到加密数据集D′,所述加密数据集D′包括训练数据集D′1和测试数据集D′2;
利用VHE进行加密的具体过程为:
利用加密公式Sc=wx+e (21),
得到SD′=wD+e (22),
又,S=[I R],
则加密数据集D'为:
D′=[(c1,y1),(c2,y2),...,(cn,yn)] (24),
其中,S表示加密时采用的私钥矩阵,w表示加密参数,e表示噪声向量,M表示公钥矩阵,I表示单位矩阵,R表示一个随机矩阵,x表示明文向量,c表示密文向量,n表示数据的序号。
步骤2:对所述训练数据集D′1进行BP神经网络批梯度训练,得到训练后的BP神经网络;
步骤21:设BP神经网络含有m-1个隐层,学习率为α,初始化m个权值矩阵和m个阈值向量;
步骤22:设定训练次数,将训练数据集D′1中的数据a0输入所述BP神经网络,利用权值矩阵和阈值向量,在经过每一层隐层的计算后得到输出层的输出矩阵am,a0表示训练数据集D′1中所有数据的输入向量;
当隐层和输出层的激励函数均为线性函数时,输出矩阵am的计算方法如下:
第一层隐层的输入为:
第一层隐层的输出为:a1=f1(n1) (26),
则第i层隐层的输入为:
第i层隐层的输出为:ai=fi(ni) (28),
即输出层的输入为:
输出层的输出为:am=fm(nm) (30),
当隐层中第i层的激励函数为非线性函数时,该层隐层的输出为:
ai=fi(ni/param1)*param1 (31),
当输出层的激励函数为非线性函数时,输出层的输出为:
am=fm(nm/param1)*param1 (32),
其中,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:计算真实值矩阵y与所述输出矩阵am的差值矩阵err;
差值矩阵err的计算公式为:err=y-am (33);
步骤24:利用所述差值矩阵err反向依次计算输出层到第一层隐层的敏感性;
当输出层和隐层的激励函数均为线性激励函数时,敏感性的计算方法为:
输出层的敏感性为:sm=-2*fm′(nm)*err (34),
第i层隐层的敏感性为:
当输出层的激励函数为非线性激励函数时,输出层敏感性的计算方法为:
sm=-2*fm′(nm/param1)*err/param2 (36),
当隐层中第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层隐层的阈值向量;
步骤25:利用所述敏感性和学习率更新所述权值矩阵和阈值向量,判断训练次数是否达到阈值,若没有达到,则跳转步骤22,否则结束训练;
步骤3:利用训练后的BP神经网络对测试数据集D′2进行预测,得到预测结果;即将测试数据集D′2输入训练后的BP神经网络,所述BP神经网络输出层的输出矩阵即为预测结果。
具体实施例1
本实施例中,BP神经网络中隐层的层数为1,则设学习率为α,初始化2个权值矩阵w1和w2;
w1表示输入层与隐层之间的权值矩阵,尺寸为(数据集D的输入向量维度加1,隐层神经元个数);
w2表示隐层与输出层之间的权值矩阵,尺寸为(隐层神经元个数,输出层神经元个数)
同时初始化2个阈值向量b1和b2,b1表示隐层的阈值向量,b2表示输出层的阈值向量,均初始化为全零向量;
定义隐层的激励函数f1和输出层的激励函数f2;
隐层的输入为:
隐层的输出为:a1=f1(n1) (43),
输出层的输入为:
输出层的输出为:a2=f2(n2) (45),
若激励函数f1或f2为非线性激励函数,由于VHE同态加密算法是针对整数向量的同态加密算法,所以明文数据处理通常要经过一个统一放大的过程,一般会将数据统一放大一定的倍数再截断为整数,再用VHE算法加密;这样得到的密文值的绝对值通常比较大,经过权值矩阵等到达激励函数时值的绝对值也会比较大。若激励函数f1或f2为tanh、sigmoid等非线性激励函数,且他们面对的数据输入的绝对值很大时,根据非线性激励函数的性质,数据的输出几乎只接近于两个值,(如tanh函数,当数据输入的绝对值大于3,则tanh函数输出的值几乎等于正负1);这样的情况对有些神经网络的训练来说意义不大;
因此,为了解决该问题,数据经权值矩阵等到达非线性激励函数时,先将数据都缩小一定倍数(比如全部数据缩小400倍),使得缩小后的数据落在激励函数导数比较大的区间;再经过激励函数作用,得到激励函数的输出;此时再将全部数据放大之前缩小的倍数(如全部数据放大400倍)。假设隐层激励函数为非线性激励函数,隐层的输出为:
a1=f1(n1/param1)*param1 (46),
当输出层的激励函数为非线性函数时,输出层的输出为:
a2=f2(n2/param1)*param1 (47),
步骤23:计算真实值矩阵y与所述输出矩阵a2的差值矩阵err;
差值矩阵err的计算公式为:err=y-a2 (48);
步骤24:利用所述差值矩阵err反向依次计算输出层到第一层隐层的敏感性;
当输出层和隐层的激励函数均为线性激励函数时,敏感性的计算方法为:
输出层的敏感性为:s2=-2*f2′(n2)*crr (49),
隐层的敏感性为:
当输出层的激励函数为非线性激励函数时,输出层敏感性的计算方法为:
s2=-2*f2′(n2/param1)*err/param2 (51),
当隐层中第i层隐层的激励函数为非线性函数时,该层隐层敏感性的计算方法为:
param2表示一个根据数据集等变化的参数,目的是使得s2尽量小以免对w2造成太大影响或使s1尽量小以免对w1造成太大影响。
所述权值矩阵更新方法为:
隐层和输出层间的权值矩阵w2′:
输出层和隐层间的权值矩阵w1′:
所述阈值向量的更新方法为:
输出层阈值向量b2′:
隐层的阈值向量b1′:
步骤25:利用所述敏感性和学习率更新所述权值矩阵和阈值向量,判断训练次数是否达到阈值,若没有达到,则跳转步骤22,否则结束训练;
具体实施例2
基于具体实施例1,本实施例利用数据进行进一步说明。
数据集D的输入=
(8 307 130 3504 12 70 1;8 350 165 3693 11.5 70 1;8 318 150 3436 11 701;8 304 150 3433 12 70 1;8 302 140 3449 10.5 70 1;8 429 198 4341 10 70 1;8454 220 4354 9 70 1;8 440 215 4312 8.5 70 1;8 455 225 4425 10 70 1;8 390 1903850 8.5 70 1;8 383 170 3563 10 70 1;8 340 160 3609 8 70 1;8 400 150 3761 9.570 1;8 455 225 3086 10 70 1;4 113 95 2372 15 70 3;6 198 95 2833 15.5 70 1;6199 97 2774 15.5 70 1;6 200 85 2587 16 70 1;4 97 88 2130 14.5 70 3;4 97 461835 20.5 70 2;4 110 87 2672 17.5 70 2;4 107 90 2430 14.5 70 2;4 104 95 237517.5 70 2;4 121 113 2234 12.5 70 2;6 199 90 2648 15 70 1;8 360 215 4615 14 701;8 307 200 4376 15 70 1;8 318 210 4382 13.5 70 1;8 304 193 4732 18.5 70 1;497 88 2130 14.5 71 3;4 140 90 2264 15.5 71 1;4 113 95 2228 14 71 3;6 232 1002634 13 71 1;6 225 105 3439 15.5 71 1;6 250 100 3329 15.5 71 1;6 250 88 330215.5 71 1;6 232 100 3288 15.5 71 1;8 350 165 4209 12 71 1;8 400 175 4464 11.571 1;8 351 153 4154 13.5 71 1;8 318 150 4096 13 71 1;8 383 180 4955 11.5 711;8 400 170 4746 12 71 1;8 400 175 5140 12 71 1;6 258 110 2962 13.5 71 1;4140 72 2408 19 71 1;6 250 100 3282 15 71 1;6 250 88 3139 14.5 71 1;4 122 862220 14 71 1;4 116 90 2123 14 71 2;4 79 70 2074 19.5 71 2;4 88 76 2065 14.571 2;4 71 65 1773 19 71 3;4 72 69 1613 18 71 3;4 97 60 1834 19 71 2;4 91 701955 20.5 71 1;4 113 95 2278 15.5 72 3;4 97.5 80 2126 17 72 1;4 97 54 225423.5 72 2;4 140 90 2408 19.5 72 1;4 122 86 2226 16.5 72 1;8 350 165 4274 1272 1;8 400 175 4385 12 72 1;8 318 150 4135 13.5 72 1;8 351 153 4129 13 72 1;8304 150 3672 11.5 72 1:8 429 208 4633 11 72 1;8 350 155 4502 13.5 72 1;8 350160 4456 13.5 72 1;8 400 190 4422 12.5 72 1;3 70 97 2330 13.5 72 3;8 304 1503892 12.5 72 1;8 307 130 4098 14 72 1;8 302 140 4294 16 72 1;8 318 150 407714 72 1;4 121 112 2933 14.5 72 2;4 121 76 2511 18 72 2;4 120 87 2979 19.5722;4 96 69 2189 18 72 2;4 122 86 2395 16 72 1;4 97 92 2288 17 72 3;4 120 972506 14.5 72 3;4 98 80 2164 15 72 1;4 97 88 2100 16.5 72 3;8 350 175 4100 1373 1;8 304 150 3672 11.5 73 1;8 350 145 3988 13 73 1;8 302 137 4042 14.5 731;8 318 150 3777 12.5 73 1;8 429 198 4952 11.5 73 1;8 400 150 4464 12 73 1;8351 158 4363 13 73 1;8 318 150 4237 14.5 73 1;8 440 215 4735 11 73 1;8 455225 4951 11 73 1;8 360 175 3821 11 73 1;6 225 105 3121 16.5 73 1;6 250 1003278 18 73 1;6 232 100 2945 16 73 1;6 250 88 3021 16.5 73 1;6 198 95 2904 1673 1;4 97 46 1950 21 73 2;8 400 150 4997 14 73 1;8 400 167 4906 12.5 73 1;8360 170 4654 13 73 1;8 350 180 4499 12.5 73 1;6 232 100 2789 15 73 1;4 97 882279 19 73 3;4 140 72 2401 19.5 73 1;4 108 94 2379 16.5 73 3;3 70 90 212413.5 73 3;4 122 85 2310 18.5 73 1;6 155 107 2472 14 73 1;4 98 90 2265 15.5 732;8 350 145 4082 13 73 1;8 400 230 4278 9.5 73 1;4 68 49 1867 19.5 73 2;4 11675 2158 15.5 73 2;4 114 91 2582 14 73 2;4 121 112 2868 15.5 73 2;8 318 1503399 11 73 1;4 121 110 2660 14 73 2;6 156 122 2807 13.5 73 3;8 350 180 366411 73 1;6 198 95 3102 16.5 74 1;6 232 100 2901 16 74 1;6 250 100 3336 17 741;4 79 67 1950 19 74 3;4 122 80 2451 16.5 74 1;4 71 65 1836 21 74 3;4 140 752542 17 74 1;6 250 100 3781 17 74 1;6 258 110 3632 18 74 1;6 225 105 361316.5 74 1;8 302 140 4141 14 74 1;8 350 150 4699 14.5 74 1;8 318 150 4457 13.574 1;8 302 140 4638 16 74 1;8 304 150 4257 15.5 74 1;4 98 83 2219 16.5 74 2;479 67 1963 15.5 74 2;4 97 78 2300 14.5 74 2;4 76 52 1649 16.5 74 3;4 83 612003 19 74 3;4 90 75 2125 14.5 74 1;4 90 75 2108 15.5 74 2;4 116 75 2246 1474 2;4 120 97 2489 15 74 3;4 108 93 2391 15.5 74 3;4 79 67 2000 16 74 2;6 22595 3264 16 75 1;6 250 105 3459 16 75 1;6 250 72 3432 21 75 1);
数据集D的输出=
(18:15;18;16;17;15;14;14;14;15;15;14;15;14;24;22;18;21;27;26;25;24;25;26;21;10;10;11;9;27;28;25;19;16;17;19;18;14;14;14;14;12;13;13;18;22;19;18;23;28;30;30;31;35;27;26;24;25;23;20;21;13;14;15;14;17;11;13;12;13;19;15;13;13;14:18;22;21;26;22;2;23;28;27;13;14;13;14;15;12;13;13;14;13;12;13;18;16;18;18;23;26;11;12;13;12;18;20;21;22;18;19;21;26;15;16;29;24;20;19;15;24;20;11;20;19;15;31;26;32;25;16;16;18;16;13;14;14;14;29;26;26;31;32;28;24;26;24;26;31;19;18;15);
其中,数据都先经过z标准化处理再统一放大100000倍并截断为整数,再用VHE加密;输入层神经元8个,隐层神经元3个,输出层神经元1个;隐层激励函数与输出层激励函数均为线性函数y=x时;学习率α=0.00000000000001,训练得到的权值矩阵w1和w2为:
w1=
(-6.139434674838574815e-032.783615055985481142e-032.597573530469265979e-021.047196867039671721e-02-4.404191309993287992e-03-4.314353888271064280e-02-5.375757596374240894e-032.406813786508385598e-032.250232233234927826e-02-4.699809134683831380e-022.026815057365157283e-021.949475016412098027e-01-5.081707810515027251e-042.724872866280930814e-042.222573181716350991e-032.749640486881477566e-02-1.176207181141219853e-02-1.137078509887439054e-019.252573629420514020e-03-3.884861504425955302e-03-3.811462614701537771e-021.007592777904417068e-055.609916648425108070e-059.833070213006799660e-05)
w2=
(4.577955863915211809e-02-1.964298994030435133e-02-1.895888532984076336e-01)
训练得到的阈值向量b1和b2为:
b1=
(-8.152305512561307280e-093.502106678115893613e-093.377012884379068223e-08)
b2=(-2.102301076725619626e-07)
具体实施例3
基于具体实施例1,本实施例使用数据进行进一步说明。
数据集D的输入=
([[-3,-2.7,-2.4,-2.1,-1.8,-1.5,-1.2,-0.9,-0.6,-0.3,0,0.3,0.6,0.9,1.2,1.5,1.8],[-2,-1.8,-1.6,-1.4,-1.2,-1,-0.8,-0.6,-0.4,-0.2,-2.2204,0.2,0.4,0.6,0.8,1,1.2])
数据集D的输出=
([0.6589,0.2206,-0.1635,-0.4712,-0.6858,-0.7975,-0.8040,-0.7113,-0.5326,-0.2875,0,0.3035,0.5966,0.8553,1.0600,1.1975,1.2618])
其中,数据都先统一放大10000倍并截断为整数,再用VHE加密;输入层神经元2个,隐层神经元3个,输出层神经元1个;隐层激励函数为非线性函数y=tanh x,数据经过tanhx函数前先缩小400倍,经过tanh x函数后再放大400倍;输出层激励函数为线性函数y=x;学习率α=0.0000001;求隐层梯度时隐层输入向量要缩小400倍,求得的结果要缩小4亿倍;训练5000次后得到的权值矩阵w1和w2:
w1=
(1.350818442673493939e-032.041557835837845818e-044.163832088834219401e-041.136753130540081678e-038.222331994789328427e-044.955382146427165894e-045.729443623177436735e-059.995591730607127220e-054.520187891020232477e-05)
w2=
(9.493600000263369054e+01-6.854221541763298831e+01-6.529630443977579546e+01)
训练得到的阈值向量b1和b2为:
b1=
(4.325795462656172177e-07-1.194787590476169166e-06-1.094117448236732805e-06)
b2=(1.082511170691816282e+01)。
Claims (8)
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=[I R],
则加密数据集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网络的输入,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/paraml尽量落在激励函数fi导函数比较大的区间或使nm/paraml尽量落在激励函数fm导函数比较大的区间。
5.根据权利要求4所述的一种基于VHE的隐私保护神经网络的训练及预测方法,其特征在于:所述步骤23中,差值矩阵err的计算公式为:err=y-am。
6.根据权利要求5所述的一种基于VHE的隐私保护神经网络的训练及预测方法,其特征在于:所述步骤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造成太大影响。
7.根据权利要求5所述的一种基于VHE的隐私保护神经网络的训练及预测方法,其特征在于:所述权值矩阵更新方法为:
第m-1层隐层和输出层间的权值矩阵wm′:
第i层隐层和第i+1层隐层间的权值矩阵wi+1′:
所述阈值向量的更新方法为:
输出层阈值向量bm′:
第i层隐层的阈值向量bi′:
wm′表示更新后的第m-1层隐层和输出层间的权值矩阵,wi+1′表示更新后的第i层隐层和第i+1层隐层间的权值矩阵,bm′表示更新后的输出层阈值向量,bi′表示更新后的第i层隐层的阈值向量。
8.根据权利要求1所述的一种基于VHE的隐私保护神经网络的训练及预测方法,其特征在于:所述步骤3中预测方法为:将测试数据集D′2输入训练后的BP神经网络,所述BP神经网络输出层的输出矩阵即为预测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810592585.9A CN108776836A (zh) | 2018-06-08 | 2018-06-08 | 一种基于vhe的隐私保护神经网络的训练及预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810592585.9A CN108776836A (zh) | 2018-06-08 | 2018-06-08 | 一种基于vhe的隐私保护神经网络的训练及预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108776836A true CN108776836A (zh) | 2018-11-09 |
Family
ID=64025861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810592585.9A Pending CN108776836A (zh) | 2018-06-08 | 2018-06-08 | 一种基于vhe的隐私保护神经网络的训练及预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108776836A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097079A (zh) * | 2019-03-29 | 2019-08-06 | 浙江工业大学 | 一种基于分类边界的用户隐私保护方法 |
CN110119810A (zh) * | 2019-03-29 | 2019-08-13 | 华东师范大学 | 一种基于神经网络的人类行为依赖度分析方法 |
CN110516464A (zh) * | 2019-09-02 | 2019-11-29 | 深圳市网心科技有限公司 | 基于神经网络计算的数据保护方法及相关设备 |
CN110598861A (zh) * | 2019-09-03 | 2019-12-20 | 电子科技大学 | 一种低误比特率的对抗式神经网络加密训练方法 |
CN110874471A (zh) * | 2019-11-19 | 2020-03-10 | 支付宝(杭州)信息技术有限公司 | 保护隐私安全的神经网络模型的训练方法和装置 |
CN111259427A (zh) * | 2020-01-21 | 2020-06-09 | 北京安德医智科技有限公司 | 一种基于神经网络的图像处理方法、装置及存储介质 |
CN112039653A (zh) * | 2020-08-28 | 2020-12-04 | 西安电子科技大学 | 基于神经网络激活单元的云外包数据加解密方法 |
CN112364372A (zh) * | 2020-10-27 | 2021-02-12 | 重庆大学 | 一种有监督矩阵补全的隐私保护方法 |
-
2018
- 2018-06-08 CN CN201810592585.9A patent/CN108776836A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097079A (zh) * | 2019-03-29 | 2019-08-06 | 浙江工业大学 | 一种基于分类边界的用户隐私保护方法 |
CN110119810A (zh) * | 2019-03-29 | 2019-08-13 | 华东师范大学 | 一种基于神经网络的人类行为依赖度分析方法 |
CN110097079B (zh) * | 2019-03-29 | 2021-03-30 | 浙江工业大学 | 一种基于分类边界的用户隐私保护方法 |
CN110119810B (zh) * | 2019-03-29 | 2023-05-16 | 华东师范大学 | 一种基于神经网络的人类行为依赖度分析方法 |
CN110516464A (zh) * | 2019-09-02 | 2019-11-29 | 深圳市网心科技有限公司 | 基于神经网络计算的数据保护方法及相关设备 |
CN110598861A (zh) * | 2019-09-03 | 2019-12-20 | 电子科技大学 | 一种低误比特率的对抗式神经网络加密训练方法 |
CN110874471A (zh) * | 2019-11-19 | 2020-03-10 | 支付宝(杭州)信息技术有限公司 | 保护隐私安全的神经网络模型的训练方法和装置 |
WO2021098255A1 (zh) * | 2019-11-19 | 2021-05-27 | 支付宝(杭州)信息技术有限公司 | 保护隐私安全的神经网络模型的训练方法和装置 |
CN111259427A (zh) * | 2020-01-21 | 2020-06-09 | 北京安德医智科技有限公司 | 一种基于神经网络的图像处理方法、装置及存储介质 |
CN111259427B (zh) * | 2020-01-21 | 2020-11-06 | 北京安德医智科技有限公司 | 一种基于神经网络的图像处理方法、装置及存储介质 |
CN112039653A (zh) * | 2020-08-28 | 2020-12-04 | 西安电子科技大学 | 基于神经网络激活单元的云外包数据加解密方法 |
CN112364372A (zh) * | 2020-10-27 | 2021-02-12 | 重庆大学 | 一种有监督矩阵补全的隐私保护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776836A (zh) | 一种基于vhe的隐私保护神经网络的训练及预测方法 | |
Xing et al. | Mutual privacy preserving $ k $-means clustering in social participatory sensing | |
Maniyath et al. | An efficient image encryption using deep neural network and chaotic map | |
CN110490128B (zh) | 一种基于加密神经网络的手写识别方法 | |
EP2874341B1 (en) | Secure evaluation of a program | |
CN108712260A (zh) | 云环境下保护隐私的多方深度学习计算代理方法 | |
Wang et al. | Privacy preserving distributed deep learning and its application in credit card fraud detection | |
Masood et al. | A novel image encryption scheme based on Arnold cat map, Newton-Leipnik system and Logistic Gaussian map | |
CN112989438A (zh) | 针对隐私保护神经网络模型的后门攻击的检测与识别方法 | |
Wang et al. | A selective image encryption algorithm based on a chaotic model using modular sine arithmetic | |
Wang et al. | Insider collusion attack on privacy-preserving kernel-based data mining systems | |
Morshed et al. | Parallel linear regression on encrypted data | |
Khan et al. | Block cipher’s substitution box generation based on natural randomness in underwater acoustics and Knight’s tour chain | |
Zolfaghari et al. | Crypto makes ai evolve | |
Saini et al. | Analysis of Lorenz-chaos and exclusive-OR based image encryption scheme | |
Yener et al. | Cybersecurity in the era of data science: Examining new adversarial models | |
Jain et al. | Evolving highly nonlinear balanced boolean functions with improved resistance to DPA attacks | |
SM et al. | Improving security with federated learning | |
Jie et al. | Multi-party secure computation with intel SGX for graph neural networks | |
Abbasi et al. | A novel image encryption model based on hybridization of genetic algorithm, Chaos theory and lattice map | |
Roy et al. | An evolutionary image encryption system with chaos theory and DNA encoding | |
Hassan et al. | A probabilistic study on the relationship of deceptions and attacker skills | |
Mehnaz et al. | Privacy-preserving multi-party analytics over arbitrarily partitioned data | |
Yang et al. | A Hybrid Secure Two-Party Protocol for Vertical Federated Learning | |
Bhaskar et al. | A Review on Privacy Preserving Secure Machine Learning |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181109 |