CN108647525B - 可验证的隐私保护单层感知机批量训练方法 - Google Patents
可验证的隐私保护单层感知机批量训练方法 Download PDFInfo
- Publication number
- CN108647525B CN108647525B CN201810436942.2A CN201810436942A CN108647525B CN 108647525 B CN108647525 B CN 108647525B CN 201810436942 A CN201810436942 A CN 201810436942A CN 108647525 B CN108647525 B CN 108647525B
- Authority
- CN
- China
- Prior art keywords
- user
- training
- cloud server
- equal
- sample
- 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
Images
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
- 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/045—Combinations of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于应用电子设备进行识别的方法或装置技术领域,公开了一种可验证的隐私保护单层感知机训练方法、模式识别系统,借助于同一组训练样本,可以针对不同的模式同时训练得到多个不同的训练模型。在每一轮迭代中选择一小批样例代替一个样例进行迭代,利用随机梯度下降法,将样例向量扩张成矩阵样例来加快迭代的收敛速度;在训练阶段,用户将繁重计算任务外包给云服务器,用户需要在上传输入矩阵前进行加密操作;利用随机置换函数和稀疏矩阵盲化,实现用户数据的隐私保护;本发明首次在单层感知机训练方案中考虑了验证机制,云服务器返回一个错误的计算结果,用户可以以100%的概率检验出。
Description
技术领域
本发明属于应用电子设备进行识别的方法或装置技术领域,尤其涉及一种可验证的隐私保护单层感知机批量训练方法。
背景技术
目前,业内常用的现有技术是这样的:同比于2013年全球数据量0.9ZT,截至2020年数据量将达到15ZT。随着不同设备所产生的数据量逐步增加,机器学习方案得到愈来愈多的关注和应用。机器学习可以处理海量数据用于模型训练;最近,机器学习应用于诸多研究领域。例如:垃圾邮件分类、疾病诊断和风险评估等。机器学习包括两个阶段:训练阶段和预测阶段。给定一组训练样例和对应输出值,通过一系列迭代可以得到预测模型。在预测阶段,一些新的数据作为模型的输入,可以得到预测的分类结果或者一个特定的连续值。在众多机器学习方法中,神经网络由于其良好的性能在很多领域得到了大量的关注和应用。作为神经网络学习算法中最简单的一种,单层感知机(SLP)成功地应用于预测分类结果。由于本地的计算和存储资源受限,在机器学习训练模型中,训练的模型必须具有较高的精度,经过迭代更新后模型最终趋向于一个收敛值。在上述过程中,需要大量的计算和存储资源。然而,本地由于设备内存、处理速度等存储和计算资源的限制,难以在本地客户端完成复杂繁重的训练任务。基于云模型的机器学习范式成为一种新兴的研究方向。云计算实现了将计算作为一种资源的可能性。因此,用户可以以按需付费的方式将复杂繁重的计算任务外包给云服务器。虽然外包范式导致很多隐私问题。在多数情况下,用户的输入可能会包含很多敏感信息而云服务器通常为诚实且好奇的。因此,单层感知机训练过程中的隐私保护问题成为一种新挑战。此外,由于软硬件故障、恶意攻击等原因,云服务器可能会返回一个计算上不可区分的结果。在这种情况下,用户需要具备检测返回结果有效性的能力,在基于云模型的单层感知机训练过程中十分地有必要。否则,外包复杂的计算任务将毫无意义。考虑到单层感知机学习中的隐私保护问题,传统的全同态加密的密码原语可以实现。然而,现有的全同态加密方案不具有高效性和可行性。同态加密方案可以允许对密文进行对应的明文下同等意义的运算。然而,通常同态加密方法只能满足某一种特定运算,从而限制了其应用。Gentry于2009年提出全同态加密方案,由于其计算复杂度较大,目前只有理论上的研究价值。最近,利用单层感知机方案采用隐私保护的高效疾病预测模型PPDP;在训练阶段,对于每一条样例,在加密上传给云服务器前,医院(客户端)的计算开销是O(n^3)。也就是说若训练迭代的轮数正好等于训练样例的个数时,外包过程将毫无意义。原因是在单层感知机训练阶段涉及到的最复杂的开销是O(n^3)。此外,这个方案并没有考虑到验证方面,云服务器可以返回一个无效的计算结果来欺骗云用户。另外,预测模型由用户训练得到,可以视为用户的知识产权,并且在训练阶段需要保护。由于预测样例由查询者提供,预测结果需要被保护且仅由查询者获知。随着人工智能的发展,机器学习已经广泛地应用于诸多领域,例如模式识别、图像处理和推荐服务。由于外包计算法范式的优势,结合于云服务器的机器学习方式得到越来越多的关注。基于云辅助的计算技术,机器学习过程中涉及到的繁重的计算任务可以以按需付费的方式外包给云服务器。然而,外包的大规模数据中包含敏感信息且云服务器通常为半可信的。因此,对用户端数据的隐私保护以及对云服务器返回的计算结果的验证成为挑战。
综上所述,现有技术存在的问题是:
(1)现有的训练模型只能一次性完成一个模型的训练,不能实现多模型的训练任务;
(2)在模型训练中,每次选择一个样例进行迭代更新,迭代收敛速度慢;
(3)现有的加密技术可以实现用户数据的隐私保护,但目前缺乏高效可行的隐私保护机器学习方案;
(4)现有的基于云服务器的模型训练没有验证功能,由于云服务器通常为半可信的,云服务器可能会返回无效的计算结果,进而可能会造成训练任务失败。
解决上述技术问题的难度和意义:
(1)针对同一样本数据集可以同时训练多个模型;
(2)采用小批处理的思想,一次可以用多个错误分类样例的平均值代替一个分类错误样例,加快迭代速度,加速逼近准确值;
(3)采用稀疏矩阵盲化思想,设计了高效的隐私保护机器学习方案,本地计算的复杂度由O(n^3)降低到了O(n^2);
(4)由于云服务器的通常为半可信的,针对云环境下的基于机器学习的训练模型,加入验证机制,可以保证训练结果的有效性。
发明内容
针对现有技术存在的问题,本发明提供了一种可验证的隐私保护单层感知机训练方法、模式识别系统。
本发明是这样实现的,一种可验证的隐私保护单层感知机训练方法,其特征在于,所述可验证的隐私保护单层感知机训练方法每一轮迭代中选择一小批样例代替一个样例进行迭代,利用随机梯度下降法,将样例向量扩张成矩阵样例来加快迭代的收敛速度;在训练阶段,用户将繁重计算任务外包给云服务器,用户需要在上传输入矩阵前进行加密操作;利用随机置换函数和稀疏矩阵盲化,实现用户数据的隐私保护;在解密云服务器返回的计算结果后,用户随机选择一个向量,计算验证等式是否成立;相等,则计算结果将通过验证;选择一个训练模型代替模型;训练算法满足迭代终止条件,将输出针对于不同模式的模型;否则,将继续进行下一轮迭代。
进一步,所述可验证的隐私保护单层感知机训练方法包括:
(1)同时训练s个模型,基于小批处理的思想在每一轮迭代中选择一小批样例代替一个样例进行迭代;利用随机梯度下降法,将样例向量x={x1,x2,...xn}扩张成矩阵样例X={xi,j}(1≤i≤n,1≤j≤m)加快迭代的收敛速度;同时得到s个模型W={wj,k}(1≤j≤m,1≤k≤s);
(2)在训练阶段,用户将繁重计算任务外包给云服务器,用户需要在上传输入矩阵X和W前进行加密操作;利用随机置换函数和稀疏矩阵盲化,实现用户数据的隐私保护;
(3)在解密云服务器返回的计算结果Y后,用户随机选择一个向量r={r1,r2,...rn},计算下列等式是否成立XWr=Yr;相等,则计算结果Y将通过验证;选择一个训练模型wk代替S个模型W;训练算法满足迭代终止条件,那么算法将输出针对于s个不同模式的S个模型;否则,算法将继续进行下一轮迭代。
进一步,所述可验证的隐私保护单层感知机训练方法具体包括以下步骤:
步骤一,初始化阶段:在上传给云服务器前进行加密处理,用户执行KenCen算法生成三个稀疏矩阵F1∈Rn×n,F2∈Rm×m,F3∈Rs×s用于盲化输入矩阵,用户随机选择初始化权重向量W∈Rm×s;
步骤二,训练阶段:用户选择n个样例数据{x1,x2,...xn}及对应的输出值{o1,o2,...on},结合初始化权重向量W∈Rm×s,借助云服务器完成一次权重更新。
步骤三,拥有新样例x={x1,x2,...xn}的查询者与拥有预测模型的w={w1,w2,...wn}的用户共同执行,结束时,只有查询者知道最终的分类结果,用户和查询者在算法执行的过程中双方的输入数据具有隐私保护性。
进一步,所述步骤二具体包括:
第一步,用户在每一轮迭代中随机选取一小束样例代替一个样例,用户选择n个样例数据{x1,x2,...xn}及对应的输出值{o1,o2,...on},每一个样例有m个属性;把训练样例表示成X∈Rn×m,用户执行MMEnc算法后得到和并将密文组 发送给云服务器;
第三步,用户端执行解密算法得到最终的计算结果,用户将检验云服务器返回的计算结果的正确性,用户随机选择一组向量r={r1,r2,...rs},其中元素不全为零,本地计算XWr和Yr是否相等,相等,则计算结果将通过验证;否则,算法将终止;
第四步,选择矩阵Y的某一列,记为yk,用户执行如下符号函数:
ti,k=sign(yi,k)(for1≤i≤n);
用户将ti,k和oi,k进行逐一比较,对于ti,k≠oi,k(for1≤i≤n),用户将对向量wk执行如下更新公式:
第五步:用户对S个不同的模式产生S个不同的预测模型。
进一步,所述步骤三具体包括:
X=x1α1+x2α2+…+xnαn:
W=w1β1+w2β2+…+wnβn;
M=aX+bZ.
N=cX+dZ;
查询者将上述密文组<M,N>发送给用户进行结果预测;
第二步:当接收到查询者发送来的密文组<M,N>,用户根据持有的预测模型计算:
WM=W(aX+bZ);
WN=W(cX+dZ);
同时,用户计算迹函数T(WM),T(WN),并发送给查询者;
第三步:当收到迹函数T(WM),T(WN)后,查询者计算以下公式:
o=(ad-bc)-1(dT(WM)-bT(WN));
查询者执行激活函数,t=sign(o)。
本发明的另一目的在于提供一种所述可验证的隐私保护单层感知机训练方法的可验证的隐私保护单层感知机训练系统,所述可验证的隐私保护单层感知机训练系统由用户、云服务器和查询者组成;
用户,将训练样例{xi,j}(1≤i≤n,1≤j≤m),随机权重{wj.k}(1≤j≤m,1≤k≤s),学习率η,批处理的大小n,迭代的预设值p;用户将最终的S个不同的预测模型W作为输出;
云服务器,在云服务器的协助下,用户将繁重的计算任务以按需付费的方式外包给云服务器以节省本地资源;
查询者,拥有一组新样例查询者想要获得对应的分类结果。
本发明的另一目的在于提供一种应用所述可验证的隐私保护单层感知机训练方法的模式识别系统。
本发明的另一目的在于提供种应用所述可验证的隐私保护单层感知机训练方法的图像处理系统。
本发明的另一目的在于提供一种应用所述可验证的隐私保护单层感知机训练方法的推荐服务系统。
综上所述,本发明的优点及积极效果为:本发明针对s个不同的模式可以同时训练得到s个不同的预测模型,基于批处理技术,训练模型w可以快速收敛至最优值,与现有技术相比,本发明在计算复杂度方面由O(n^3)降低到了O(n^2)。本发明首次在单层感知机训练方案中考虑了验证机制,云服务器返回一个错误的计算结果,用户可以以100%的概率检验出。本发明基于两方安全计算,预测模型w和新的预测样例得到很好的保护,最终的计算结果只有查询者知道。
在训练阶段,本发明要求对于云服务器来说用户的数据是隐私保护的。给定加密的训练样例,云服务器不能得到用户的原始数据。更进一步地,输出结果对于服务器来说也具有隐私性。在预测阶段,查询数据和预测模型都得到很好的保护。也就是说,两方参与者都不能得到额外的信息。由于云服务器是半可信的,用户需要具备检测错误的能力。也就是说,云服务器返回的任何错误结果都不能通过用户的验证。在训练阶段,对于用户来说,外包预处理和验证过程的计算时间开销应小于本地的独立计算的开销。
附图说明
图1是本发明实施例提供的可验证的隐私保护单层感知机训练方法流程图。
图2是本发明实施例提供的可验证的隐私保护单层感知机训练方法模型示意图。
图3是本发明实施例提供的数据集A随样本条例变化的时间开销示意图。
图4是本发明实施例提供的数据集A随样本条例属性变化的时间开销示意图。
图5是本发明实施例提供的数据集B随样本条例变化的时间开销示意图。
图6是本发明实施例提供的数据集B随样本条例属性变化的时间开销示意图。
图7是本发明实施例提供的数据集B随样本条例变化的时间开销示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明支持批处理模型训练并且支持用户端对返回结果的可验证性;采用经典的两方安全计算方法,采用新型的轻量级的隐私保护模型预测方法,两方参与者都可以隐私保护自己的输入信息。安全性分析可以证明本发明达到了安全特性。同时,在两个真实数据集上实现了方案的性能评估,实验结果和分析表明了本发明具有高效性和实用性。
如图1所示,本发明实施例提供的可验证的隐私保护单层感知机训练方法包括以下步骤:
S101:每一轮迭代中选择一小批样例代替一个样例进行迭代,利用随机梯度下降法,将样例向量扩张成矩阵样例来加快迭代的收敛速度;
S102:在训练阶段,用户将繁重计算任务外包给云服务器,用户需要在上传输入矩阵前进行加密操作;利用随机置换函数和稀疏矩阵盲化,实现用户数据的隐私保护;
S103:在解密云服务器返回的计算结果后,用户随机选择一个向量,计算下列等式是否成立;相等,则计算结果将通过验证;选择一个训练模型代替模型;训练算法满足迭代终止条件,将输出针对于不同模式的模型;否则,将继续进行下一轮迭代。
下面结合附图对本发明的应用原理做进一步的描述。
1、经典的单层感知机学习方案;
1.1小批处理的单层感知机训练算法
单层感知机可以作为一种分类器,其输出属于一个种类或者另一个种类。给定一组训练样例,X={x1,x2,...xn}及对应的输出值{o1,o2,...on}(oi∈{1,-1}),单层感知机训练算法的目标是得到一个预测模型。在某种情况下,对于一个新的数据样例,预测模型可以给出精准的分类预测结果t。单层感知机的基本框架如图2所示:
如图2所示,单层感知机有两层神经网络组成:输入层和输出层。在节点中,输入层可以标记为{xi,1,xi,2,...xi,n},对于样例xi来说有n个属性特征。输出层神经元是输入层节点和对应权重值{w1,w2,...wn}的线性组合。一个特殊的激活函数作用于输出节点,然后可以得到分类节点ti∈{1,-1}。在本发明中由于其简便性和实用性本发明选择符号函数作为激活函数。
ti=sign(wTXi);
如果oi≠ti,那么权重参数w将会按照如下公式进行更新:
wi=w+ηXiOi;
在每一轮的迭代中本发明随机选取一小束样例m个来代替一个样例进行迭代更新。因为小批处理的优势在于可以加速迭代过程。此外权重向量值w可以快速的收敛于最小值。权重向量w值可以用m个样例的平均值来更新当前值。对于一些oi≠ti的情况,权重向量w的更新公式可以表示为:
如果满足以下两个条件之一,单层感知机训练算法就可以终止:迭代的论述大于预设值,或者预测模型收敛于一组常数值。本发明将小批处理的单层感知机的训练算法描述于算法1。
1.2隐私保护的外包矩阵相乘方法
安全外包大规模矩阵相乘在计算机科学和工程领域可以用来作为构造模块。本发明的安全外包矩阵相乘算法,包括如下五个子算法:(KenGen,MMEnc,Compute,MMDec,Verify);
Ker:输入安全参数,用户从密钥空间中随机选择三个集合{α1,α2,..。αn},{β1,β2,...βn}和{γ1,γ2,...γn}。用户随机生成三个置换函数π1·π2,π3。利用上述三个置换函数,用户生成三个稀疏矩阵Kronecker delta函数δx,y表示如下:
MMEnc:给定两个大规模矩阵X,Y,资源受限的用户想要计算两个矩阵相乘的结果。用户需要在上传给云服务器前进行加密处理。利用矩阵盲化技术,本地用户可以进行如下计算:和然后将盲化后的计算结果发送给云服务器。
Verify考虑到云服务器通常为半可信的,用户需要对解密后的结果进行正确性验证。用户首先随机选择一个向量r={r1,r2,...rn},并且进行如下验证:Tr=XYr。如果相等,那么计算结果将通过验证算法;否则,算法将输出错误。
13安全内积协议
为了简化表示,本发明将迹函数标记为T。更进一步地,上述迹函数具有以下四条性质:
a∈Fp,T(a)=na;
X=x1α1+x2α2+…+xnαn;
Y=y1β1+y2β2+…+ynβn;
如下等式成立:
T(XY)=x·y;
2系统和安全模型
本发明由三部分实体组成:用户、云服务器和查询者;系统模型如图3所述:
用户:用户的主要任务是对于S个不同的模式训练得到S个不同的预测模型。用户将训练样例{xi,j}(1≤i≤n,1≤j≤m),随机权重{wj.k}(1≤j≤m,1≤k≤s),学习率η,批处理的大小n,迭代的预设值p。用户将最终的S个不同的预测模型W作为输出。
云服务器:它拥有强大的计算和存储资源。在云服务器的协助下,用户可以将繁重的计算任务以按需付费的方式外包给云服务器以节省本地资源。云服务器是诚实且好奇的,云服务器诚实地执行协议,但是云服务器会尽可能地挖掘敏感信息。
查询者:在特定的预测模型下,拥有一组新样例查询者想要获得对应的分类结果。一方面,新的样例数据归查询者所有,涉及到个人隐私。另一方面,特定的预测模型属于用户的知识产权。查询者不能获取除最终结果以外的其它信息。
2.2安全模型
在训练阶段,本发明考虑到敌手是诚实且好奇的云服务器。云服务器诚实地执行协议,在执行协议的过程中可以通过分析数据获得额外的信息。在预测阶段,本发明假设用户和查询者都是诚实且好奇的。一方面,查询者拥有的查询数据可能包含敏感信息不能泄露给其他人;另一方面,查询者可能通过多次输入查询值以获取预测模型信息。因此,在本发明的安全模型中,本发明必须保证两方都不能获得已知之外的其它信息。
在本发明中可以同时支持s个不同预测模型的训练。同时,本发明可以保证在训练阶段和预测阶段的隐私性。本发明满足以下性质:
隐私性:在训练阶段,本发明要求对于云服务器来说用户的数据是隐私保护的。给定加密的训练样例,云服务器不能得到用户的原始数据。更进一步地,输出结果对于服务器来说也具有隐私性。在预测阶段,查询数据和预测模型都得到很好的保护。也就是说,两方参与者都不能得到额外的信息。
可验证性:由于云服务器是半可信的,用户需要具备检测错误的能力。也就是说,云服务器返回的任何错误结果都不能通过用户的验证。
高效性:在训练阶段,对于用户来说,外包预处理和验证过程的计算时间开销应小于本地的独立计算的开销。
3本发明实施例提供的可验证的隐私保护单层感知机训练方法
3.1本发明将简要概括同时训练s个模型的过程。一方面,本发明基于小批处理的思想在每一轮迭代中选择一小批样例代替一个样例进行迭代。也就是说,利用随机梯度下降法,本发明将样例向量x={x1,x2,...xn}扩张成矩阵样例X={xi,j}(1≤i≤n,1≤j≤m)来加快迭代的收敛速度。另一方面,由于同一组样例可以用来训练不同的模型,因此本发明可以同时得到s个模型W={wj,k}(1≤j≤m,1≤k≤s)。在训练阶段,用户可以将繁重计算任务外包给云服务器。由于云服务器通常为半可信的,用户需要在上传输入矩阵X和W前进行加密操作。利用随机置换函数和稀疏矩阵盲化技术,本发明可以实现用户数据的隐私保护。
本发明的可验证的高效单层感知机训练算法。在解密云服务器返回的计算结果Y后,用户随机选择一个向量r={r1,r2,...rn},计算下列等式是否成立XWr=Yr。如果相等,则计算结果Y将通过验证。本发明选择一个训练模型wk代替s个模型W。如果训练算法满足迭代终止条件,那么算法将输出针对于s个不同模式的s个模型。否则,算法将继续进行下一轮迭代。
对于一个新来的样例,基于两方安全计算的思想,本发明提出轻量级的隐私保护预测算法。只有查询者获知算法最终输出的结果。此外,考虑到查询者的输入信息中可能包含个人敏感信息,并且预测模型wk由用户所有,为了两方的隐私,十分有必要设计一个隐私保护的机器学习预测算法。在预测的过程中,用户和查询者的输入信息对彼此来说是隐私的。
3.2可验证的隐私保护单层感知机训练方法
本发明由三部分组成:初始化阶段、训练阶段和预测阶段。更详尽的训练过程和预测过程可以参见算法2和算法3。
初始化阶段:首先,为了保护用户端的敏感信息,需要在上传给云服务器前进行加密处理。因此,用户执行KenGen算法生成三个稀疏矩阵F1∈Rn×n,F2∈Rm×m,F3∈Rs×s用于盲化输入矩阵。其次,用户随机选择初始化权重向量W∈Rm×s。
训练阶段:本发明将详细地描述整个协议,可验证的隐私保护单层感知机训练方案由算法2。
第一步:基于小批处理的思想,用户在每一轮迭代中随机选取一小束样例代替一个样例。用户选择n个样例数据{x1,x2,...xn}及对应的输出值{o1,o2,...on},每一个样例有m个属性。因此,本发明把训练样例表示成X∈Rn×m。为了保护用户输入数据X和W的隐私,用户执行MMEnc算法后得到和并将密文组发送给云服务器。
第三步:用户端执行解密算法得到最终的计算结果。更进一步地,用户将检验云服务器返回的计算结果的正确性。首先,用户随机选择一组向量r={r1,r2,...rs},其中元素不全为零。其次,本地计算XWr和Yr是否相等,若相等,则计算结果将通过检查;否则,算法将终止。
第四步:为了简化表述,本发明选择矩阵Y的某一列,记为yk。以下本发明将详细描述第k个模型wk的训练过程,其它的模型采用类似的方法训练。对于向量中的每一个元素,用户执行如下符号函数:
ti,k=sign(yi,k)(for1≤i≤n);
用户将ti,k和oi,k进行逐一比较,若对于一些ti,k≠oi,k(for1≤i≤n),用户将对向量执行如下更新公式:
若wk满足两个终止条件之一,即迭代的轮数超过预设值或者训练模型对于新样例的分类结果完全正确,算法执行第五步。否则,用户将返回执行步骤一。
第五步:在本发明中,假设S个不同的模型同时达到收敛条件或者本发明预设了相同的迭代轮数。在经过执行上述训练算法后,用户将会对S个不同的模式产生S个不同的预测模型。
预测阶段:基于两方安全计算的思想,为了预测查询者输入新样例的分类结果,本发明的轻量级的隐私保护预测算法。拥有新样例x={x1,x2,...xn}的查询者与拥有预测模型的w={W1,W2,...wn}的用户共同执行该算法。算法结束时,只有查询者知道最终的分类结果。更进一步地,用户和查询者在算法执行的过程中双方的输入数据具有隐私保护性。预测算法由以下三个步骤组成:
X=x1α1+x2α2+…+xnαn:
W=w1β1+w2β2+…+wnβn:
M=aX+bZ;
N=cX+dZ:
查询者将上述密文组<M,N>发送给用户进行结果预测。
第二步:当接收到查询者发送来的密文组<M,N>,用户根据持有的预测模型计算:
WM=W(aX+bZ);
WN=W(cX+dZ);
同时,用户计算迹函数T(WM),T(WN),并发送给查询者。
第三步:当收到迹函数T(WM),T(WN)后,查询者计算以下公式:
o=(ad-bc)-1(dT(WM)-bT(WN));
接下来,查询者执行激活函数,即t=Sign(o)。因此,查询者在隐私保护数据的前提下得到最终的分类结果。预测算法的详细过程可参见算法3。
3.3正确性
本发明将分别给出VPSPT(可验证的隐私保护单层感知机训练方法)在训练和预测两个阶段的正确性分析。
选择随机向量r,用户检测等式Yr=XWr是否成立。如结果通过验证,用户得到了正确的计算结果。
预测阶段:下面本发明将给出预测阶段算法的正确性分析。查询者收到用户发来的两个迹函数T(WM),T(WN)后,计算:
o=(ad-bc)-1(dT(WM)-bT(WN))
=(ad-bc)-1(dT(W(aX+bZ))-bT(W(cX+dlZ)))
=(ad-bc)-1(T(adXW+bdWZ)-T(bcXW+bdWZ))
=(ad-bc)-1((ad-bc)T(XW))
=T(XW)modp
=x·w
查询者执行符号函数t=sign(o)得到最终的分类结果t。
下面结合效率分析对本发明的应用效果做详细的描述。
本发明将给出在每一轮训练迭代和预测阶段的计算和通信开销。在迭代终止前,训练过程一轮一轮进行迭代。在本发明中,只考虑s个不同的模型迭代终止条件一致的情况。换句话说,在执行VPSPT方案前本发明对s个不同的模型的迭代终止轮数预设相同的数值。
计算开销:表1中给出三个阶段的计算开销:初始化、训练阶段和预测阶段。接下来本发明将给出具体的效率分析。用G记为生成随机数的操作,M记为乘法操作,E记为指数操作,I记为有限域中的可逆操作。在初始化阶段,用户调用KenGen算法生成三个稀疏矩阵F1∈Rn×n,F2∈Rm×m,F3∈Rs×s,计算开销为(n+m+s)G。
表1:VPSPT方案中每一轮训练过程效率分析
在第一步中,为了保护训练样例X和s个训练模型W中的敏感信息,用户执行加密操作,计算开销为(nm+ms)M。在第二步中,云服务器接收到盲化后的输入后根据协议执行计算任务。云服务器执行操作计算开销是(nms)M。在第三步中,用户将执行解密操作得到正确的计算结果Y的计算开销是(2ns)M。由于云服务器通常为半可信的,对于用户来说具备验证机制十分关键。用户验证计算结果的计算开销为(3ns)M。在第四步中,用户执行符号函数得到第k个模型Wk的分类结果。对于一些不正确的分类结果,用户需要执行更新操作,分类结果错误个数为0-n,对应的更新需要的计算开销为0-nM。到目前为止,本发明已经详细地给出了训练阶段中每一轮的效率分析,在迭代条件终止前,每一轮的计算开销类似于上述描述过程。
接下来,本发明将介绍预测算法的效率分析。在将新的样例数据提交给用户前,查询者先进行加密处理得到密文组<M,N>,计算开销为(4n)M。接下来,用户将预测模型W和密文组(M,N>相乘,计算开销为(2n)M。为了辅助查询者得到最终的分类结果,用户需要的计算开销为(2n)E,得到迹函数T(WM),T(WN)。最后,查询者本地计算最终的分类结果,计算开销为(5M+1I)。
通信开销:三个阶段的通信开销如表1所示。从表中本发明可以看出,训练阶段和预测阶段分别包含一次交互。在训练阶段,用户通过上传盲化后的输入矩阵将繁重复杂的计算任务外包给云服务器,通信开销为(nm+ms)。云服务器执行计算任务后将盲化后的计算结果返回给用户,通信开销为(ns)。在预测阶段,查询者将新的样例提交给用户,通信开销为(2n)。接下来,用户将两个迹函数T(WM),T(WN)数值返回给用户,通信开销为2。
首先,相比较与其它现有技术,本发明在计算开销上具有很大的优势。在表2中,本发明给出了两个方案的计算开销的比较情况,并分析了本发明整个方案的计算开销。本发明将其它方案中的训练样例中的属性个数记为。其次,在VPSPT方案中,本发明考虑了验证过程,可以避免半可信的云服务器返回无效的计算结果使得最终的训练结果有误。最后,在预测阶段,两方参与者均可以实现敏感重要数据的隐私保护。
表2:两种方案的效率比较
下面性能评估对本发明的应用效果做详细的描述。
本发明给出Java语言实现所提出的VPSPT方案的实验评估。执行云服务器端程序的电脑的参数为:Intel(R)Xeon(R)CPU E5-1620处理器,3.50GHz主频,16GB RAM。运行客户端程序的电脑的参数为:Intel(R)Core(TM)i7-4770CPU处理器,3.40GHz主频,16GB RAM。本发明同时在两个真实的数据集上实现本发明的方案的实验仿真。本发明预设的训练轮数分别为100,200,300,400和500。这两组数据集均来自医院的医疗数据库。
第一个数据集A包括300条样例,其中每一条数据样例包括13个特征,分别是AST,ALT,v-GT,TG,TC,HDL,LDL,VLDL,FFA,FBG,BUN,UA,IL-6。在本实验中,本发明可以同时训练7种疾病预测模型,本发明令n=300,m=13,s=7。随着样例个数的变化,VPSPT方案的运行时间如图4所示。本发明可以看出训练次数为100轮时,随着样本条例的个数从25变化到300,VPSPT方案的运行时间从20ms增长到239ms。当训练次数为500轮时,随着样本条例的个数从25变化到300,VPSPT方案的运行时间从52ms增长到1055ms。更进一步地,本发明给出了样本属性从3增加到13的过程中,VPSPT方案的运行时间的变化情况。从表3中可知,对于300条样例的情况,在训练迭代轮数为200轮的情况时,VPSPT方案的运行时间随样例属性个数的变化从180ms增加到了435ms。在训练迭代轮数为200轮的情况时,VPSPT方案的运行时间随样例属性个数的变化从454ms增加到了1060ms。具体的实验结果见图5。
第二个数据集B包括300条样例,其中每一条数据样例包括64个特征,本发明可以同时训练26种疾病预测模型,本发明令n=300,m=64,s=26。VPSPT方案的具体运行时间如图6所示。本发明可以看出训练次数为100轮时,随着样本条例的个数的变化,VPSPT方案的运行时间从81ms增长到1880ms。当训练次数为500轮时,随着样本条例的个数从25变化到300,VPSPT方案的运行时间从205ms增长到9537ms。更进一步地,本发明给出了样本属性从4增加到64的过程中,VPSPT方案的运行时间的变化情况。从表3中可知,200条样例来说,在训练迭代轮数为200轮的情况时,VPSPT方案的运行时间随样例属性个数的变化从314ms增加到了2046ms。在训练迭代轮数为500轮的情况时,VPSPT方案的运行时间随样例属性个数的变化从804ms增加到了5190ms。具体的实验结果见图7。
表3:两种数据集上的训练过程时间开销
对于同一组训练样例来说,本发明可以同时得到s个对应于不同模式的训练模型。同时,在云服务器的辅助下,本发明可以将密集型的计算任务转移给云服务器。因此,训练过程中的计算开销大大降低。此外,云服务器通常为不可信的,本发明考虑到了验证机制,可以防止云服务器返回无效的结果,进而导致最终的训练模型有误。在预测阶段,两方参与者都可以保护隐私信息,只有查询者可以或者最终的预测结果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种可验证的隐私保护单层感知机训练方法,其特征在于,所述可验证的隐私保护单层感知机训练方法每一轮迭代中选择一小批样例代替一个样例进行迭代,利用随机梯度下降法,将样例向量扩张成矩阵样例来加快迭代的收敛速度;在训练阶段,用户将繁重计算任务外包给云服务器,用户需要在上传输入矩阵前进行加密操作;利用随机置换函数和稀疏矩阵盲化,实现用户数据的隐私保护;在解密云服务器返回的计算结果后,用户随机选择一个向量,计算验证等式是否成立;相等,则计算结果将通过验证;训练算法满足迭代终止条件,将输出多个不同模式的训练模型;否则,将继续进行下一轮迭代;
所述可验证的隐私保护单层感知机训练方法具体包括以下步骤:
步骤一,初始化阶段:在上传给云服务器前进行加密处理,用户执行KenGen算法生成三个稀疏矩阵F1∈Rn×n,F2∈Rm×m,F3∈Rs×s用于盲化输入矩阵,用户随机选择初始化权重向量W∈Rm×s;
步骤二,训练阶段:用户选择n个样例数据{x1,x2,...xn}及对应的输出值{o1,o2,...on},结合初始化权重向量W∈Rm×s,借助云服务器完成一次权重更新;
步骤三,拥有新样例x={x1,x2,...xn}的查询者与拥有预测模型的w={w1,w2,...wn}的用户共同执行,结束时,只有查询者知道最终的分类结果,用户和查询者在算法执行的过程中双方的输入数据可以实现隐私性;
所述步骤二具体包括:
第一步,用户在每一轮迭代中随机选取一小束样例代替一个样例,用户选择n个样例数据{x1,x2,...xn}及对应的输出值{o1,o2,...on},每一个样例有m个属性;把训练样例表示成X∈Rn×m,用户执行MMEnc算法后得到和并将密文组发送给云服务器;
第三步,用户端执行解密算法得到最终的计算结果,用户将检验云服务器返回的计算结果的正确性,用户随机选择一组向量r={r1,r2,...rs},其中元素不全为零,本地计算XWr和Yr是否相等,相等,则计算结果将通过检查;否则,算法将终止;
第四步,选择矩阵Y的某一列,记为yk,用户执行如下符号函数:
ti,k=sign(yi,k),1≤k≤n;
用户将ti,k和oi,k进行逐一比较,对于ti,k≠oi,k,1≤k≤n,用户将对向量wk执行如下更新公式:
第五步:用户对S个不同的模式产生S个不同的预测模型。
2.如权利要求1所述的可验证的隐私保护单层感知机训练方法,其特征在于,所述可验证的隐私保护单层感知机训练方法包括:
(1)同时训练s个模型,基于小批处理的思想在每一轮迭代中选择一小批样例代替一个样例进行迭代;利用随机梯度下降法,将样例向量x={x1,x2,...xn}扩张成矩阵样例X={xi,j}加快迭代的收敛速度,1≤i≤n,1≤j≤m;同时得到s个模型W={wj,k},1≤j≤m,1≤k≤s;
(2)在训练阶段,用户将繁重计算任务外包给云服务器,用户需要在上传输入矩阵X和W前进行加密操作;利用随机置换函数和稀疏矩阵盲化,实现用户数据的隐私保护;
(3)在解密云服务器返回的计算结果Y后,用户随机选择一个向量r={r1,r2,...rn},计算下列等式是否成立XWr=Yr;相等,则计算结果Y将通过验证;训练算法满足迭代终止条件,那么算法将输出针对于s个不同模式的s个模型;否则,算法将继续进行下一轮迭代。
3.如权利要求2所述的可验证的隐私保护单层感知机训练方法,其特征在于,所述步骤三具体包括:
X=x1α1+x2α2+…+xnαn;
W=w1β1+w2β2+…+wnβn;
M=aX+bZ;
N=cX+dZ;
查询者将密文组<M,N>发送给用户进行结果预测;
第二步:当接收到查询者发送来的密文组<M,N>,用户根据持有的预测模型计算:
WM=W(aX+bZ);
WN=W(cX+dZ);
同时,用户计算迹函数T(WM),T(WN),并发送给查询者;
第三步:当收到迹函数T(WM),T(WN)后,查询者计算以下公式:
o=(ad-bc)-1(dT(WM)-bT(WN));
查询者执行激活函数,t=sign(o)。
4.一种如权利要求1所述可验证的隐私保护单层感知机训练方法的可验证的隐私保护单层感知机训练系统,其特征在于,所述可验证的隐私保护单层感知机训练系统由用户、云服务器和查询者组成;
用户,将训练样例{xi,j},1≤i≤n,1≤j≤m,随机权重{wj,k},1≤j≤m,1≤k≤s,学习率η,批处理的大小n,迭代的预设值p;用户将最终的5个不同的预测模型W作为输出;
云服务器,在云服务器的协助下,用户将繁重的计算任务以按需付费的方式外包给云服务器以节省本地资源;
查询者,拥有一组新样例查询者想要获得对应的分类结果。
5.一种应用权利要求1~3任意一项所述可验证的隐私保护单层感知机训练方法的模式识别系统。
6.一种应用权利要求1~3任意一项所述可验证的隐私保护单层感知机训练方法的图像处理系统。
7.一种应用权利要求1~3任意一项所述可验证的隐私保护单层感知机训练方法的推荐服务系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810436942.2A CN108647525B (zh) | 2018-05-09 | 2018-05-09 | 可验证的隐私保护单层感知机批量训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810436942.2A CN108647525B (zh) | 2018-05-09 | 2018-05-09 | 可验证的隐私保护单层感知机批量训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108647525A CN108647525A (zh) | 2018-10-12 |
CN108647525B true CN108647525B (zh) | 2022-02-01 |
Family
ID=63753870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810436942.2A Active CN108647525B (zh) | 2018-05-09 | 2018-05-09 | 可验证的隐私保护单层感知机批量训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647525B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109409116B (zh) * | 2018-11-12 | 2022-01-28 | 青岛大学 | 求解无向带权图最小割的安全外包方法 |
CN109688107B (zh) * | 2018-11-20 | 2021-11-09 | 西安电子科技大学 | 基于完整性审计与通信时延的云数据安全定位方法 |
CN111460453B (zh) * | 2019-01-22 | 2023-12-12 | 百度在线网络技术(北京)有限公司 | 机器学习训练方法、控制器、装置、服务器、终端和介质 |
CN110837657B (zh) * | 2019-11-06 | 2023-03-14 | 腾讯云计算(北京)有限责任公司 | 数据处理方法、客户端、服务器及存储介质 |
US11475365B2 (en) | 2020-04-09 | 2022-10-18 | International Business Machines Corporation | Verification of stochastic gradient descent |
CN111598139A (zh) * | 2020-04-24 | 2020-08-28 | 北京奇艺世纪科技有限公司 | 数据处理方法及系统 |
CN112052875A (zh) * | 2020-07-30 | 2020-12-08 | 华控清交信息科技(北京)有限公司 | 一种训练树模型的方法、装置和用于训练树模型的装置 |
CN112152806B (zh) * | 2020-09-25 | 2023-07-18 | 青岛大学 | 一种云辅助且支持隐私保护的图像识别方法、装置及设备 |
CN113032791B (zh) * | 2021-04-01 | 2024-05-31 | 深圳市纽创信安科技开发有限公司 | 一种ip核、ip核的管理方法和芯片 |
CN114003961B (zh) * | 2021-12-03 | 2024-04-26 | 青岛大学 | 一种具有隐私性保护的深度神经网络推理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376057A (zh) * | 2015-11-13 | 2016-03-02 | 电子科技大学 | 一种云外包解大规模线性方程组的方法 |
CN106202756A (zh) * | 2016-07-15 | 2016-12-07 | 西安电子科技大学 | 基于单层感知机的欠定盲源分离源信号恢复方法 |
CN107368752A (zh) * | 2017-07-25 | 2017-11-21 | 北京工商大学 | 一种基于生成式对抗网络的深度差分隐私保护方法 |
WO2018045568A1 (zh) * | 2016-09-09 | 2018-03-15 | 深圳大学 | 一种面向云存储服务平台的访问控制方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599032B (zh) * | 2016-10-27 | 2020-01-14 | 浙江大学 | 一种结合稀疏编码和结构感知机的文本事件抽取方法 |
-
2018
- 2018-05-09 CN CN201810436942.2A patent/CN108647525B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376057A (zh) * | 2015-11-13 | 2016-03-02 | 电子科技大学 | 一种云外包解大规模线性方程组的方法 |
CN106202756A (zh) * | 2016-07-15 | 2016-12-07 | 西安电子科技大学 | 基于单层感知机的欠定盲源分离源信号恢复方法 |
WO2018045568A1 (zh) * | 2016-09-09 | 2018-03-15 | 深圳大学 | 一种面向云存储服务平台的访问控制方法及其系统 |
CN107368752A (zh) * | 2017-07-25 | 2017-11-21 | 北京工商大学 | 一种基于生成式对抗网络的深度差分隐私保护方法 |
Non-Patent Citations (5)
Title |
---|
"Security analysis of" pslp: Privacy-preserving single-layer perceptron learning for e-healthcare"";Jingjing Wang等;《IACR Cryptology ePrint Archive》;20171231;第1-6页,正文第1-4节 * |
"两类科学计算问题的安全外包方案研究";李宾;《中国优秀硕士学位论文全文数据库信息科技辑》;20170315;第I138-20页,正文第2-4章 * |
"云计算环境下矩阵求逆外包方案的研";付建玮;《中国优秀硕士学位论文全文数据库信息科技辑》;20171115;第I138-192页,正文第3章 * |
"可验证的安全矩阵行列式计算云外包协议";申银杰等;《计算机与现代化》;20150531;第103-106页,正文第1-3节 * |
"基于深度卷积神经网络的跨年龄人脸识别";李亚等;《北京邮电大学学报》;20170215(第1期);第84-88页,正文第1-3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN108647525A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647525B (zh) | 可验证的隐私保护单层感知机批量训练方法 | |
Feng et al. | Privacy-preserving tensor decomposition over encrypted data in a federated cloud environment | |
US20210279342A1 (en) | Neural-network training using secure data processing | |
Gao et al. | Privacy-preserving Naive Bayes classifiers secure against the substitution-then-comparison attack | |
Yuan et al. | Practical privacy-preserving mapreduce based k-means clustering over large-scale dataset | |
Zhang et al. | Privacy preserving deep computation model on cloud for big data feature learning | |
Feng et al. | Privacy preserving high-order bi-lanczos in cloud–fog computing for industrial applications | |
Samet et al. | Privacy-preserving back-propagation and extreme learning machine algorithms | |
CN111242290B (zh) | 一种轻量级隐私保护生成对抗网络系统 | |
CN111984960B (zh) | 一种基于同态加密的隐私保护设备识别模型设计及使用方法 | |
Salinas et al. | Efficient secure outsourcing of large-scale quadratic programs | |
Qian et al. | Profile matching for IoMT: A verifiable private set intersection scheme | |
Chen et al. | Securenets: Secure inference of deep neural networks on an untrusted cloud | |
Weng et al. | pvcnn: Privacy-preserving and verifiable convolutional neural network testing | |
Pan et al. | Privacy-Preserving Multi-Granular Federated Neural Architecture Search–A General Framework | |
Duan et al. | Secure and verifiable outsourcing of nonnegative matrix factorization (NMF) | |
Ma et al. | Verifiable data mining against malicious adversaries in industrial Internet of Things | |
Gao et al. | Secure cloud-aided object recognition on hyperspectral remote sensing images | |
Vedaraj et al. | HERDE-MSNB: a predictive security architecture for IoT health cloud system | |
Riazi et al. | Sub-linear privacy-preserving near-neighbor search | |
Blanton et al. | Secure and oblivious maximum bipartite matching size algorithm with applications to secure fingerprint identification | |
Farooqi et al. | Differential Privacy Based Federated Learning Techniques in IoMT: A Review | |
Almutairi et al. | PPNNBP: A Third Party Privacy-Preserving Neural Network With Back-Propagation Learning | |
Wang et al. | EPSLP: Efficient and privacy-preserving single-layer perceptron learning in cloud computing | |
Gribanova et al. | Parallel guess-and-determine preimage attack with realistic complexity estimation for MD4-40 cryptographic hash function |
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 |