一种基于秘密共享和随机扰动的隐私保护线性回归方法技术

技术编号:29133614 阅读:20 留言:0更新日期:2021-07-02 22:29
本发明专利技术公开了一种基于秘密共享和随机扰动的隐私保护线性回归方法,包括如下步骤:S1:秘密共享值的乘法,S2:训练数据预处理,S3:参数初始化,S4:模型参数更新,S5:模型参数重构,S6:预测数据预处理,S7:计算预测共享值,S8:重构预测结果。数据提供者只需将两方参数值相加即可得到模型参数,模型参数隐私和原始数据隐私都可得到保护。本技术可以使企业或机构将数据通过秘密共享的形式分给两云服务器,利用云服务器来存储数据,且可以利用两个云服务器进行计算线性回归模型,此过程中,利用云服务器高效计算的同时并不会泄露原始数据。

【技术实现步骤摘要】
一种基于秘密共享和随机扰动的隐私保护线性回归方法
本专利技术涉及机器学习数据隐私保护领域,具体涉及一种基于两方的秘密共享和随机扰动技术的隐私保护线性回归方法。
技术介绍
在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(GradientDescent)是最常采用的方法之一。在最小化损失函数时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数,和模型参数值。但这过程中不可避免地要用到大量数据进行迭代,而原始数据的泄露,将会危及到用户敏感数据的安全或给服务提供商带来巨大的经济损失。这也是云计算发展面临的主要障碍。因此,基于云计算的机器学习服务系统应该更加重视隐私问题,不断提高隐私防护能力。安全多方计算(securemultipartycomputation,简称SMC)起源于姚期智的百万富翁问题,主要用于解决一组互不信任的参与方之间保持隐私的协同计算问题。数据方不希望将所有训练数据交给一台服务器来训练模型。他希望将数据集分布到多个服务器,共同训练模型。每个服务器不会了解其他服务器的训练数据。SecureML是一种保护隐私的双服务器模型协议。数据所有者将私有数据分配给2个非合谋服务器,并用安全的两方计算技术训练联合数据。采用了不经意传输和加密电路和面向多方计算友好的激活函数。使用安全多方计算来解决数据的隐私保护问题是目前研究的主流方向。当前安全多方计算的主要挑战是如何通过多方构建一个安全且效率较高的计算协议。Bose等人在基于Vaidya的思想和Clifton的研究提出一种代数解决方案,它通过随机数据扰动的方式,将真实值放置在用随机值掩盖的方程式中来隐藏真实值,提出标量积符号的单向和双向协议的计算协议。双方通过相同的并行动作得到标量积的符号,在并行计算场景下降低了其复杂度。没有第三方参与,直到最后一步,一个人必须依赖他人的产出。本方案采用基于安全两方梯度下降迭代的方法,结合秘密共享、随机数据扰动等密码学技术,其优点体现在:1)相比于使用同态加密方案,利用两方之间大量交互可以取代其昂贵的计算开销,同时还可以满足原始数据和模型参数的隐私保护要求。2)随机下降梯度每次迭代都必须用到所有训练样本,这使得算法收敛缓慢,因此本方案使用小批量梯度下降算法,每次随机选取固定数量的小部分样本进行迭代更新。3)采用随机化和代数方法,进一步减少了安全多方计算的加密开销。
技术实现思路
本专利技术提供了一种基于秘密共享和随机扰动的隐私保护线性回归方法,基于安全两方计算的基础上,采用小批量下降梯度迭代,在加法计算中使用秘密共享的加法运算,乘法方面使用随机数据扰动的方法,并将数据运算扩展至矩阵运算,在原有的使用不经意传输的两方计算协议基础上,大大减少了加密开销和通信复杂度,同时在训练阶段和预测阶段,保护了原始数据的隐私,又因为最终的模型参数由用户自己重构,所以模型参数隐私也可以得到很好地保护。方案在机器学隐私保护领域中,可以得到广泛应用。一种基于秘密共享和随机扰动的隐私保护线性回归方法,包括如下步骤:S1:秘密共享值的乘法该步骤主要是两方在不泄露自己的共享值的前提下,通过将自己的真值隐藏到带有随机值的方程中发送给对方,一方依赖于另一方进行计算,最终由其中一方得到共享值的乘积,对于给定的矩阵M∈Rs×t和向量v∈Rt,Mi和vi(i=0,1)是它们的秘密共享份额且分别为计算方Pi(i=0,1)所拥有,其中M=M0+M1,v=v0+v1,即计算方P0拥有私有矩阵M0和私有向量v0,另一计算方P1拥有私有矩阵M1和私有向量v1,通过随机数据扰动的方法解决该问题之后,Pi(i=0,1)可以获得乘积Mv的秘密共享份额pi=RPM(M0,M1,v0,v1);S2:训练数据预处理本专利技术采用将原始数据进行拆分成两份的形式发给两个服务器,两方服务器满足非共谋半诚实,即不会泄露自己的私有数据但需要通过与对方服务器的交流来完成各自的运算;数据预处理就是利用秘密共享的形式将秘密拆分给两个计算方,最终只要将两计算方计算结果相加即可重构数据。这里数据提供者将所需训练数据(X,y)分成同样维度大小的(X0,y0)和(X1,y1),满足X=X0+X1,y=y0+y1。并通过安全信道发给计算方S0和S1。其中X∈R表示维度大小为s×t的矩阵,s为样本的数量,t为每个样本的特征数量,y∈R表示一个s维列向量,称作样本的目标值。S3:参数初始化用线性回归训练模型可以采用两种方法,最小二乘法和梯度下降法,本专利技术采用的是梯度下降法,其中梯度下降法又分为批量梯度下降法、随机梯度下降法和小批量梯度下降法,为了使模型参数收敛更快,效率更高,以及秘密共享乘法运算的限制条件,本专利技术选择小批量梯度下降法来进行迭代。Si(i=0,1)共同预置学习率α、小批量样本数量|B|,最大迭代次数T以及损失阈值e,并分别初始化模型参数θi,将初始迭代次数置为1。其中θi∈R表示t维列向量。这里需注意的是由于需满足步骤S1a适用的条件,这里选择的样本数量|B|需大于样本的列向量数t。S4:模型参数更新对于训练数据集(X,y)的小批量梯度下降算法的参数更新方式:其中,m表示当前迭代次数,XB和yB分别表示小批量样本集的特征值和目标值,S5:模型参数重构用户在收到两服务器传输的参数值θi后,将参数θi相加即可重构出模型参数θ;S6:预测数据预处理经过以上步骤,已知目前云服务器S0和S1分别拥有模型参数的秘密共享值θ0和θ1,用户可以将预测数据分给云服务器进行预测,最后将两云服务器预测的值相加即可得到最终的预测结果,为了防止预测数据集信息泄露给云服务器,需要对预测数据集XP进行预处理;S7:计算预测共享值因为此时不能保证预测数据集XP满足样本数数小于特征数,所以Si(i=0,1)需使用S1步骤的情况二,调用步骤S1b分别计算得出秘密共享值即S8:重构预测结果Si(i=0,1)分别将秘密共享值发送给用户,由用户将秘密共享值相加后重构出真实的预测结果yP。作为本专利技术的一个优选实施例,所述步骤S1包括如下步骤:S1a:P0可得到M0v1,此情况需要一个限制条件是M0∈Rs×t必须满足s<t,即行数小于列数,S1a1:P0和P1共同协商一组随机矩阵其中矩阵C(k)中的向量满足线性不相关。P0选择一组随机向量和一组随机数其中P1选择一个随机向量ry=(ry1,ry2,…,ryt)和一组随机数其中P0选择的随机向量有一定的约束条件,即:保证随机向量中的t个随机值是由u个不同的随机值组成,令其中表示向上取整符号,则这些随机值(z1,z2,...,zu)与向量的关系为S1a2:P1计算其中b(k)=q(k)v+C(k)ry,并将B发送给P0,S1a3:P0接收到P1发送的之后,计算h=(h(1),h(2),...,h(s))并发送给P1,其中M0[k]表示矩阵M0的第k个行向量,S1a4:P0计算后,其中本文档来自技高网
...

【技术保护点】
1.一种基于秘密共享和随机扰动的隐私保护线性回归方法,其特征在于,包括如下步骤:/nS1:秘密共享值的乘法/n该步骤主要是两方在不泄露自己的共享值的前提下,通过将自己的真值隐藏到带有随机值的方程中发送给对方,一方依赖于另一方进行计算,最终由其中一方得到共享值的乘积,对于给定的矩阵M∈R

【技术特征摘要】
1.一种基于秘密共享和随机扰动的隐私保护线性回归方法,其特征在于,包括如下步骤:
S1:秘密共享值的乘法
该步骤主要是两方在不泄露自己的共享值的前提下,通过将自己的真值隐藏到带有随机值的方程中发送给对方,一方依赖于另一方进行计算,最终由其中一方得到共享值的乘积,对于给定的矩阵M∈Rs×t和向量v∈Rt,Mi和vi(i=0,1)是它们的秘密共享份额且分别为计算方Pi(i=0,1)所拥有,其中M=M0+M1,v=v0+v1,即计算方P0拥有私有矩阵M0和私有向量v0,另一计算方P1拥有私有矩阵M1和私有向量v1,通过随机数据扰动的方法解决该问题之后,Pi(i=0,1)可以获得乘积Mv的秘密共享份额pi=RPM(M0,M1,v0,v1);
S2:训练数据预处理
本发明采用将原始数据进行拆分成两份的形式发给两个服务器,两方服务器满足非共谋半诚实,即不会泄露自己的私有数据但需要通过与对方服务器的交流来完成各自的运算;数据预处理就是利用秘密共享的形式将秘密拆分给两个计算方,最终只要将两计算方计算结果相加即可重构数据。这里数据提供者将所需训练数据(X,y)分成同样维度大小的(X0,y0)和(X1,y1),满足X=X0+X1,y=y0+y1。并通过安全信道发给计算方S0和S1。其中X∈R表示维度大小为s×t的矩阵,s为样本的数量,t为每个样本的特征数量,y∈R表示一个s维列向量,称作样本的目标值。
S3:参数初始化
用线性回归训练模型可以采用两种方法,最小二乘法和梯度下降法,本发明采用的是梯度下降法,其中梯度下降法又分为批量梯度下降法、随机梯度下降法和小批量梯度下降法,为了使模型参数收敛更快,效率更高,以及秘密共享乘法运算的限制条件,本发明选择小批量梯度下降法来进行迭代。
Si(i=0,1)共同预置学习率α、小批量样本数量|B|,最大迭代次数T以及损失阈值e,并分别初始化模型参数θi,将初始迭代次数置为1。其中θi∈R表示t维列向量。这里需注意的是由于需满足步骤S1a适用的条件,这里选择的样本数量|B|需大于样本的列向量数t。
S4:模型参数更新
对于训练数据集(X,y)的小批量梯度下降算法的参数更新方式:



其中,m表示当前迭代次数,XB和yB分别表示小批量样本集的特征值和目标值,
S5:模型参数重构
用户在收到两服务器传输的参数值θi后,将参数θi相加即可重构出模型参数θ;
S6:预测数据预处理
经过以上步骤,已知目前云服务器S0和S1分别拥有模型参数的秘密共享值θ0和θ1,用户可以将预测数据分给云服务器进行预测,最后将两云服务器预测的值相加即可得到最终的预测结果,为了防止预测数据集信息泄露给云服务器,需要对预测数据集XP进行预处理;
S7:计算预测共享值
因为此时不能保证预测数据集XP满足样本数数小于特征数,所以Si(i=0,1)需使用S1步骤的情况二,调用步骤S1b分别计算得出秘密共享值即
S8:重构预测结果
Si(i=0,1)分别将秘密共享值发送给用户,由用户将秘密共享值相加后重构出真实的预测结果yP。


2.根据权利要求1所述的一种基于秘密共享和随机扰动的隐私保护线性回归方法,其特征在于,所述步骤S1包括如下步骤:
S1a:P0可得到M0v1,此情况需要一个限制条件是M0∈Rs×t必须满足s<t,即行数小于列数,
S1a1:P0和P1共同协商一组随机矩阵其中矩阵C(k)中的向量满足线性不相关。P0选择一组随机向量和一组随机数其中P1选择一个随机向量ry=(ry1,ry2,…,ryt)和一组随机数其中P0选择的随机向量有一定的约束条件,即:保证随机向量中的t个...

【专利技术属性】
技术研发人员:魏立斐丁悦李梦思张蕾
申请(专利权)人:上海海洋大学
类型:发明
国别省市:上海;31

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

1