当前位置: 首页 > 专利查询>浙江大学专利>正文

一种高效的不经意神经网络转化方法技术

技术编号:31716290 阅读:17 留言:0更新日期:2022-01-01 11:22
本发明专利技术公开了一种高效的不经意神经网络转化方法,客户端和服务端预先运行预处理过程获得一组用于加密的矩阵,客户端将生成的矩阵作为密钥使用一次性加密技术加密原本用于预测的输入数据,将加密后的数据发给服务端进行线性层的计算,服务端将线性层计算完成后将结果添加拉普拉斯噪声后发送回给客户端,随后在客户端完成非线性函数计算,并将结果通过加噪模型Purifier,最终将加噪完成的结果以明文形式返回给服务端,服务端拿到明文后完成resnet101网络的后续计算,最终完成预测工作。本发明专利技术方法能够应用于Resnet101等复杂神经网络模型,实现隐私保护目的,其相比以往的解决方案能够极大程度减少预测所需时间,降低加密方案引入的额外通信量与额外计算量。方案引入的额外通信量与额外计算量。方案引入的额外通信量与额外计算量。

【技术实现步骤摘要】
一种高效的不经意神经网络转化方法


[0001]本专利技术涉及机器学习隐私保护领域,尤其涉及一种更高效的不经意神经网络转化方法。

技术介绍

[0002]目前,针对隐私保护机器学习问题已有多项研究提出解决方案。2016年Gilad

Bachrach等人提出CryptoNets,首次将全同态加密技术应用至CNN神经网络进行隐私保护转化,保护数据安全。但是它需要CNN模型使用特殊的激活函数(“square”)与特殊的池化操作(“平均值池化”),无法解决如ReLU、Sigmoid等函数计算,因此这一方案无法直接使用在现有的模型之上,而特殊的激活函数与池化操作会对模型的预测效果产生限制。此外,全同态加密将引入大量的计算与通信开销:CryptoNets需要5分钟的时间并占用372MB的带宽来处理一个简单的三层CNN网络请求,在实际应用中这一开销是无法接受的。
[0003]之后的研究中,Faster CryptosNets使用稀疏多项式乘法来加速线性计算。Mohassel和Zhang在SecureML中提出一种新的激活函数,并证明它可以通过密码学技术进行有效的计算,在相应模型的训练阶段使用这一激活函数进行实现,然而上述方案都对于模型的训练过程有特殊的要求,其具有较大的局限性,无法在现有的模型上进行应用。
[0004]MiniONN(不经意神经网路)利用同态加密、安全多方运算、多项式近似等方法解决常用函数的加密计算问题,通过引入预处理操作获得了更好的性能。由于MiniONN可以完成如ReLU、Sigmoid、Max pooling等函数的转化,其可以应用于许多已训练完成的模型中,不需要承担巨大的重新训练的成本,且对模型精度几乎没有影响。但是,其转化方式只可以处理层数较少且构造相对简单的神经网络中,面对更为复杂多层的网络,其性能表现无法适应相应的需求。
[0005]Chiraag Juvekar等人在MiniONN的基础上提出Gazelle框架,它以线性计算为重点,提出对于矩阵乘法更为友好的同态加密方式,并通过打包、旋转等操作提升同态加密线性计算部分的性能,进一步提升效率。目前为止,这一方式拥有最优的性能表现,其中的部分理论为本项目加速算法的重要参考。但是这一框架舍弃了MiniONN中的预处理部分,而预处理过程对于在预测过程中提高性能是非常重要的。

技术实现思路

[0006]针对现有技术无法处理Resnet101的隐私保护转化工作,现有隐私保护机器学习方案都无法支持Resnet101这类复杂多层网络模型,无法适用于真实使用场景,本专利技术提供了一种高效的不经意神经网络转化方法。以解决多层复杂网路模型Resnet101在大型图片(3*363*363)预测时的隐私保护问题。其能在不改变现有模型的前提下,使得服务端无法获得用户输入、用户无法获得云端网络模型参数,同时用户输入仍然可以通过模型计算得到合理的预测结果。其相较于以往隐私保护转化方案,计算效率明显提升,通信量大幅减少,预测过程延时降低。
[0007]为实现上述目的,本专利技术的技术方案为:一种高效的不经意神经网络转化方法,其特征在于,包括以下步骤:
[0008](1)对多层神经网络进行分段处理,得到前后两部分神经网络;
[0009](2)定义预处理交互协议,利用基于加密矩阵的加速计算方法,客户端和服务端生成加密的随机数矩阵;
[0010](3)客户端将步骤(2)生成的加密的随机数矩阵作为密钥使用一次性加密技术对输入数据进行加密,得到加密后的数据,将加密后的数据发给服务端进行线性层的计算;
[0011](4)服务端对步骤(3)得到的线性层的计算结果添加拉普拉斯噪声后发送回给客户端,客户端合并数据后拥有添加噪声后的线性层运算结果;
[0012](5)利用生成式对抗网络训练加噪模型Purifier;
[0013](6)客户端对步骤(4)得到的添加噪声后的线性层运算结果进行非线性函数计算,并将非线性函数计算结果通过步骤(5)训练好的加噪模型Purifier,最终将加噪完成的结果以明文形式返回给服务端,对前半部分神经网络完成不经意神经网络转化;
[0014](7)服务端得到步骤(6)输出的明文后,完成多层神经网络后半部分的计算,即完成预测。
[0015]进一步地,所述步骤(2)具体包括以下子步骤:
[0016](2.1)定义预处理交互协议:客户端首先产生一个与输入x相同大小的随机数矩阵r,并生成用于加密的公私钥对pk
s
与sk
s
,利用公钥pk
s
对随机数矩阵r进行加密后得到加密后的随机数矩阵客户端将加密后的随机数矩阵发送给服务端;服务端具有参数w和随机数矩阵r,服务端会生成一个大小为m*n的随机数矩阵u,所述随机数矩阵u的大小与w
·
r结果相同;
[0017](2.2)基于步骤(2.1)中定义的预处理交互协议,运用基于加密矩阵的加速计算方法,得到加密矩阵;
[0018]进一步地,所述步骤(2)中基于加密矩阵的加速计算方法具体为:
[0019](2.2.1)将随机数矩阵r以特殊方法排列后用同态加密技术加密发送,所述将随机数矩阵r以特殊方法排列具体为:将随机数矩阵r按照im2col方法展开排列为便于卷积计算的矩阵,并将排列完成的矩阵中以对角线的方式,将不同列的数据利用同态加密方法中的SIMD技术依次排列轮流加密至同一个密文中;
[0020](2.2.2)通过将模型线性参数w排列成对应的特殊形式得到明文矩阵w

,在接收到的加密后的随机数矩阵上直接完成与明文矩阵w

相乘,随后在相乘的计算结果上减去生成的随机数矩阵u,将结果发送回客户端,客户端进行解密后,直接能够得到矩阵v,所述矩阵v满足:
[0021]u+v(mod N)=w
·
r
[0022]所述将模型参数w排列成对应的特殊形式得到明文矩阵w

的步骤具体为:将模型参数w根据矩阵r的特殊排列方式,排列填充为能够与加密后随机矩阵完成对应位置相乘的明文矩阵w

,其排列目的为保持原本w
·
r运算过程中的对应位置相乘关系。
[0023]进一步地,所述步骤(3)具体包括以下子步骤:
[0024](3.1)客户端将步骤(1)生成的加密的随机数矩阵r、u、v使用一次性加密方法加密得到加密后的数据;
[0025](3.2)将步骤(3.1)生成的加密后的数据进行线性层的计算,公式如下:
[0026]y=w
·
x+b
[0027]其中:
[0028]客户端随机生成一个与输入x大小相等的随机矩阵:
[0029][0030]服务端随机生成一个与输出y大小相等的随机矩阵:
[0031][0032]客户端通过随机数矩阵r、u、W计算得到矩阵:
[0033][003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高效的不经意神经网络转化方法,其特征在于,包括以下步骤:(1)对多层神经网络进行分段处理,得到前后两部分神经网络;(2)定义预处理交互协议,利用基于加密矩阵的加速计算方法,客户端和服务端生成加密的随机数矩阵;(3)客户端将步骤(2)生成的加密的随机数矩阵作为密钥使用一次性加密技术对输入数据进行加密,得到加密后的数据,将加密后的数据发给服务端进行线性层的计算;(4)服务端对步骤(3)得到的线性层的计算结果添加拉普拉斯噪声后发送回给客户端,客户端合并数据后拥有添加噪声后的线性层运算结果;(5)利用生成式对抗网络训练加噪模型Purifier;(6)客户端对步骤(4)得到的添加噪声后的线性层运算结果进行非线性函数计算,并将非线性函数计算结果通过步骤(5)训练好的加噪模型Purifier,最终将加噪完成的结果以明文形式返回给服务端,对前半部分神经网络完成不经意神经网络转化;(7)服务端得到步骤(6)输出的明文后,完成多层神经网络后半部分的计算,即完成预测。2.根据权利要求1所述的不经意神经网络转化方法,其特征在于,所述步骤(2)具体包括以下子步骤:(2.1)定义预处理交互协议:客户端首先产生一个与输入x相同大小的随机数矩阵r,并生成用于加密的公私钥对pk
s
与sk
s
,利用公钥pk
s
对随机数矩阵r进行加密后得到加密后的随机数矩阵客户端将加密后的随机数矩阵发送给服务端;服务端具有参数w和随机数矩阵r,服务端会生成一个大小为m*n的随机数矩阵u,所述随机数矩阵u的大小与w
·
r结果相同;(2.2)基于步骤(2.1)中定义的预处理交互协议,运用基于加密矩阵的加速计算方法,得到加密矩阵。3.根据权利要求1所述的不经意神经网络转化方法,其特征在于,所述步骤(2)中基于加密矩阵的加速计算方法具体为:(2.2.1)将随机数矩阵r以特殊方法排列后用同态加密技术加密发送,所述将随机数矩阵r以特殊方法排列具体为:将随机数矩阵r按照im2col方法展开排列为便于卷积计算的矩阵,并将排列完成的矩阵中以对角线的方式,将不同列的数据利用同态加密方法中的SIMD 技术依次排列轮流加密至同一个密文中;(2.2.2)通过将模型线性参数w排列成对应的特殊形式得到明文矩阵w

,在接收到的加密后的随机数矩阵上直接完成与明文矩阵w

相乘,随后在相乘的计算结果上减去生成的随机数矩阵u,将结果发送回客户端,客户端进行解密后,直接能够得到矩阵v,所述矩阵v满足...

【专利技术属性】
技术研发人员:刘健李婧瑜田志华任奎赵考华佳烽张广超黄雷
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1