CN108776836A - 一种基于vhe的隐私保护神经网络的训练及预测方法 - Google Patents

一种基于vhe的隐私保护神经网络的训练及预测方法 Download PDF

Info

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
Application number
CN201810592585.9A
Other languages
English (en)
Inventor
杨浩淼
张有
何伟超
梁绍鹏
李洪伟
任彦之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201810592585.9A priority Critical patent/CN108776836A/zh
Publication of CN108776836A publication Critical patent/CN108776836A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, 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的隐私保护神经网络的训练及预测方法
技术领域
本发明涉及向量同态计算领域,具体涉及一种基于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神经网络输出层的输出矩阵即为预测结果。
CN201810592585.9A 2018-06-08 2018-06-08 一种基于vhe的隐私保护神经网络的训练及预测方法 Pending CN108776836A (zh)

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)

* Cited by examiner, † Cited by third party
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 重庆大学 一种有监督矩阵补全的隐私保护方法

Cited By (12)

* Cited by examiner, † Cited by third party
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