可验证的隐私保护单层感知机批量训练方法技术

技术编号:19141207 阅读:32 留言:0更新日期:2018-10-13 08:49
本发明专利技术属于应用电子设备进行识别的方法或装置技术领域,公开了一种可验证的隐私保护单层感知机训练方法、模式识别系统,借助于同一组训练样本,可以针对不同的模式同时训练得到多个不同的训练模型。在每一轮迭代中选择一小批样例代替一个样例进行迭代,利用随机梯度下降法,将样例向量扩张成矩阵样例来加快迭代的收敛速度;在训练阶段,用户将繁重计算任务外包给云服务器,用户需要在上传输入矩阵前进行加密操作;利用随机置换函数和稀疏矩阵盲化,实现用户数据的隐私保护;本发明专利技术首次在单层感知机训练方案中考虑了验证机制,云服务器返回一个错误的计算结果,用户可以以100%的概率检验出。

Verifiable privacy preserving single layer perceptron batch training method

The invention belongs to the technical field of identification methods or devices using electronic devices, and discloses a verifiable privacy protection single-layer perceptron training method and pattern recognition system. With the help of the same set of training samples, multiple different training models can be trained simultaneously for different modes. In each iteration, a small number of samples are selected to replace a sample for iteration, and the sample vectors are expanded into matrix samples by using the stochastic gradient descent method to accelerate the convergence speed of iteration. The method uses random permutation function and sparse matrix blindness to realize user data privacy protection. For the first time, the verification mechanism is considered in the single-layer perceptron training scheme, and the cloud server returns an error calculation result, which can be checked out by 100% probability.

【技术实现步骤摘要】
可验证的隐私保护单层感知机批量训练方法
本专利技术属于应用电子设备进行识别的方法或装置
,尤其涉及一种可验证的隐私保护单层感知机批量训练方法。
技术介绍
目前,业内常用的现有技术是这样的:同比于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个模型;否则,算法将继续进行下一轮迭代。进一步,所述可验证的隐私保护单层感知机训练方法具体包括以下步骤:步骤一,初始化阶段:在上传给云服务器前进行加密处理,用户执行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,用户执行MMEn本文档来自技高网
...

【技术保护点】
1.一种可验证的隐私保护单层感知机训练方法,其特征在于,所述可验证的隐私保护单层感知机训练方法每一轮迭代中选择一小批样例代替一个样例进行迭代,利用随机梯度下降法,将样例向量扩张成矩阵样例来加快迭代的收敛速度;在训练阶段,用户将繁重计算任务外包给云服务器,用户需要在上传输入矩阵前进行加密操作;利用随机置换函数和稀疏矩阵盲化,实现用户数据的隐私保护;在解密云服务器返回的计算结果后,用户随机选择一个向量,计算验证等式是否成立;相等,则计算结果将通过验证;训练算法满足迭代终止条件,将输出多个不同模式的训练模型;否则,将继续进行下一轮迭代。

【技术特征摘要】
1.一种可验证的隐私保护单层感知机训练方法,其特征在于,所述可验证的隐私保护单层感知机训练方法每一轮迭代中选择一小批样例代替一个样例进行迭代,利用随机梯度下降法,将样例向量扩张成矩阵样例来加快迭代的收敛速度;在训练阶段,用户将繁重计算任务外包给云服务器,用户需要在上传输入矩阵前进行加密操作;利用随机置换函数和稀疏矩阵盲化,实现用户数据的隐私保护;在解密云服务器返回的计算结果后,用户随机选择一个向量,计算验证等式是否成立;相等,则计算结果将通过验证;训练算法满足迭代终止条件,将输出多个不同模式的训练模型;否则,将继续进行下一轮迭代。2.如权利要求1所述的可验证的隐私保护单层感知机训练方法,其特征在于,所述可验证的隐私保护单层感知机训练方法包括:(1)同时训练s个模型,基于小批处理的思想在每一轮迭代中选择一小批样例代替一个样例进行迭代;利用随机梯度下降法,将样例向量x={x1,x2,...xn}扩张成矩阵样例X={xi,i}(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.如权利要求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}的用户共同执行,结束时,只有查询者知道最终的分类结果,用户和查询者在算法执行的过程中双方的输入数据可以实现隐私性。4.如权利要求3所述的可验证的隐私保护单层感知机训练方法,其特征在于,所述步骤二具体包括:第一步,用户在每一轮迭代中随机选取一小束样例代替一个样例,用户选择n个样例数据{x1,x2,...xn}及对应的输出值{O1,O2,...on},每一个样例有m个属性;把训练样例表示...

【专利技术属性】
技术研发人员:陈晓峰张肖瑜王剑锋袁浩然
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1