一种隐私保护的PCA方法及系统与流程


一种隐私保护的pca方法及系统
技术领域
1.本发明涉及信息技术领域,尤其涉及一种隐私保护的pca方法、系统、终端及存储介质。


背景技术:



2.随着人工智能的发展,机器学习被广泛地应用于众多领域,例如推荐系统、垃圾邮件过滤、人脸识别等。近年来,由于人们对个人隐私日益关注,而传统的机器学习模式容易造成个人隐私信息的泄露。另外,基于商业秘密的原因,企业往往也只允许数据掌握在自己手中,这就不可避免地产生数据孤岛问题,联邦学习作为一种基于云计算的机器学习技术,能够在保护用户隐私信息的前提下进行多方联合学习,从而广泛地应用于政务系统、医疗分析、金融风险管控、数字广告、物流管理等领域。
3.在联邦学习中,数据可能来源于各种各样的终端设备,它们的计算能力、网络带宽、设备可参与计算的时间等都可能存在很大差异,即设备异质性问题,它会严重影响联邦学习的效率。为了处理设备异质性问题,学者们提出了许多解决方法,例如控制节点(客户端)的选取、数据降维、梯度压缩、模型分割、非同步和半同步联邦学习等方法。如果网络中大多客户端的计算能力比较弱,数据降维是一种较为合适的处理方法。
4.主成分分析(principal component analysis简称pca)是使用最为广泛的一种数据降维技术之一,它借助正交变换将具有一定相关性的向量重新组合成一组新的互相无关的向量,然后导出少数几个主成分,达到降维处理的目的。当然,在联邦学习中使用pca技术同样要注意对用户的隐私信息进行保护。使用同态加密计算协方差阵和并使用混淆电路进行协方差阵的特征分解,运行效率较低。结合同态加密技术和差分隐私实现pca的安全计算,由于要使用同态加密进行矩阵运算,运行效率也比较低。通过噪声均分方案,将均分噪声加在本地协方差矩阵上,对用户的隐私信息进行了保护。为了降低主成分的失真度,需要将总的噪声控制在一定范围内,但是当客户端个数较大时,分摊在每个客户端上的噪声会特别小,存在用户隐私泄露的风险。并且对数据的预处理,所采用的归一化方法,并不是标准的归一化方法,它会造成不同数据点的缩放比例不一致,导致pca的结果可能会发生失真。


技术实现要素:



5.为了解决上述现有技术中存在的技术问题,本发明提供了一种隐私保护的pca方法、终端及存储介质,将本地的协方差矩阵信息通过秘密共享的方式发送至两个相互之间不会串通的服务器,然后在其中一方的计算结果上添加噪声发送给另一方。另一方就可以计算得到添加噪声后总体的协方差矩阵,这样就能在添加较小噪声的同时保护了用户的隐私。另外对于数据的归一化,结合差分隐私和ot协议,保密地求出数据点的均值和极差,然后使用它们进行数据的归一化。
6.为实现上述目的,本发明实施例提供了如下的技术方案:
第一方面,在本发明提供的一个实施例中,提供了隐私保护的pca方法,该方法包括以下步骤:每个客户端将本地数据点的和、数据点的最大、最小值以及数据点个数信息进行拆分,并分别发送给服务器;服务器根据获取的本地数据点的和、数据点的最大、最小值以及数据点个数信息,获得总体数据点的个数、均值;综合服务器得到总体数据点的个数、均值,以及结合不经意传输(oblivious transfer简称ot)技术求出总体数据点的极差,客户端利用均值和极差对数据点进行归一化;客户端使用归一化后的数据求出本地的协方差矩阵,并结合加性秘密共享将其拆分为两份,分别发送给服务器;服务器计算得到总体协方差矩阵的秘密共享值,并由其中服务器在计算结果上添加噪声,服务器将添加噪声后的结果发送给服务器,服务器上得到添加噪声后的总体协方差矩阵;服务器在含有噪声的协方差矩阵上进行奇异值分解,获取绝对值最大的个特征值对应的特征向量;将特征向量发送给客户端,由客户端对本地数据进行降维。
7.作为本发明的进一步方案,所述服务器之间相互不串通。
8.作为本发明的进一步方案,每个客户端的数据个数分别为。记。设第个客户端的数据为,其中也就是所有数据的维数都是。
9.作为本发明的进一步方案,每个客户端将本地数据点的和、数据点的最大、最小值以及数据点个数信息进行拆分,并分别发送给服务器;之前还包括:通过dh协议,服务器分别与每个客户端进行密钥交换,建立数据传递所使用的密钥;设服务器与第个客户端之间的密钥为,服务器与第个客户端之间的密钥为。
10.作为本发明的进一步方案,所述服务器根据获取的本地数据点的和、数据点的最大、最小值以及数据点个数信息,获得总体数据点的个数、均值;综合服务器得到总体数据点的个数、均值,以及结合ot技术求出总体数据点的极差,客户端利用均值和极差对数据点进行归一化,包括以下步骤:
每个客户端求出本地数据点的和、数据点的最大、最小值以及数据个数,根据加性秘密共享将其都拆分为两部分,将两部分分别使用密钥加密,然后分别发送给服务器;服务器均对客户端发送的加密数据进行解密,然后对解密后数据点和、数据点个数的秘密值求和,得到所有数据点和、数据点个数的秘密共享值;服务器将计算得到的所有数据点和、数据点个数的秘密共享值发送给服务器,然后由服务器计算得到所有数据点和、数据点个数,接着根据它们求出数据点的均值,最后将数据点的均值和个数发送给每个客户端;服务器结合1-out-of-n ot求出所有数据点的极差,然后将极差发送给每个客户端;每个客户端收到的所有数据点的均值、个数和极差后,对数据进行归一化,再将数据点的坐标统一除以。
11.作为本发明的进一步方案,服务器结合1-out-of-n ot求出所有数据点的极差,包括如下步骤:a、服务器计算的值,服务器计算的值,然后服务器将发送给服务器;b、服务器初步判断与的大小;c、服务器采用方法比较与的大小,进而得到与的大小;d、使用当前的最大值索引对应的最大值的秘密共享值和按照a—c的步骤计算,得到中的最大值索引,如此一直往后,直到,得到中的最大值的索引,设其为;e、按照类似a—d步骤的方法可以求出中的最小值的索引,设其为;f、服务器计算,服务器计算,然后服务器将发送给服务器;g、服务器计算得到数据点的第一个坐标的极差,也就是;i、按照a-g的步骤,分别求出数据点每个坐标的极差。
12.作为本发明的进一步方案,所述服务器初步判断与的大小,分以下几种情况:和都大于等于0,可以得到,转入步骤d,和都小于等于0,可以得到,转入步骤d,其他情况转入步骤c。
13.作为本发明的进一步方案,所述服务器采用方法比较与的大小,进而得到与的大小,分以下几种情况:如果可以得到转入步骤d,如果可以得到转入步骤d。
14.作为本发明的进一步方案,所述客户端使用归一化后的数据求出本地的协方差矩阵,并结合加性秘密共享将其拆分为两份,分别发送给服务器,具体为:每个客户端计算本地的协方差矩阵,并利用加性秘密共享将协方差矩阵分解为两个矩阵的和,分别使用对应密钥对矩阵加密后发送给服务器。
15.作为本发明的进一步方案,本地协方差矩阵按照求解,其中k表示每个客户端的第几个数据量;然后将矩阵分解为,使用密钥对加密后发送给客户端,使用密钥对加密后发送给客户端。
16.作为本发明的进一步方案,所述服务器分别对客户端发送的本地协方差矩阵的秘密共享值解密,然后对它们求和,得到总体协方差矩阵的秘密共享值。
17.作为本发明的进一步方案,所述服务器给其秘密共享的总体协方差矩阵上加上满足高斯机制的对称的噪声矩阵,将结果发送给服务器。
18.作为本发明的进一步方案,所述服务器对自己的协方差矩阵的秘密共享值和服务器添加噪声的协方差矩阵的秘密共享值求和,得到添加噪声后总体的协方差矩阵;对其进行svd,得到一组降序排列的特征值,其中,表示对角矩阵,表示具体特征值;取最大的个特征值对应的特征向量,其中为对应的特征向量;将发送给每个客户端。
19.作为本发明的进一步方案,数据降维使用公式。
20.第二方面,在本发明提供的又一个实施例中,提供了一种隐私保护的pca系统,应
用于上述的隐私保护的pca方法。
21.第三方面,在本发明提供的又一个实施例中,提供了一种终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现隐私保护的pca方法的步骤。
22.第四方面,在本发明提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述隐私保护的pca方法的步骤。
23.本发明提供的技术方案,具有如下有益效果:本发明提供的隐私保护的pca方法、系统、终端及存储介质,对于数据的预处理,使用的是平均归一化方法,能够有效地消除量纲不同造成的影响,在此过程中,结合了秘密共享和ot技术,保密地计算了数据点的均值和极差,有效地保护了用户的隐私数据。使用了秘密共享和差分隐私技术,将本地协方差矩阵进行拆分,并在总体协方差矩阵的秘密共享值上添加噪声,对本地协方差矩阵和总体协方差矩阵进行了隐私保护。并且本发明中客户端和服务器之间的秘密共享值的传递,都使用了加密算法,可以防止窃听者获取这些信息。本发明在联邦学习中对数据进行降维,能够有效地提升联邦学习的训练速度。
24.本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
25.本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
27.图1为本发明一个实施例的隐私保护的pca方法的流程图;图2为本发明一个实施例的隐私保护的pca方法中步骤s20的具体流程图;图3为本发明一个实施例的一种终端的结构示意图。
28.图中:处理器-701、通信接口-702、存储器-703、通信总线-704。
具体实施方式
29.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
31.应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下
文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
32.具体地,下面结合附图,对本发明实施例作进一步阐述。
33.符号表示:表示集合,读作模,表示除以的余数,表示除以的余数相同。表示实数空间,表示维欧式空间。我们一般使用小写字母(例如)表示标量,用的形式表示向量,用大写字母(例如)表示矩阵。表示向量的二范数,如果,那么。表示矩阵的谱范数,也就是,其中表示的最大特征值。表示与做按位异或运算。表示符号函数,它的取值为。
34.请参阅图1,图1是本发明实施例提供的一种隐私保护的pca方法的流程图,如图1所示,该隐私保护的pca方法包括步骤s10至步骤s60。所述方法应用与具有多个客户端和服务器的系统。
35.s10、每个客户端将本地数据点的和、数据点的最大、最小值以及数据点个数信息进行拆分,并分别发送给服务器;其中,所述服务器之间相互不串通。
36.其中,每个客户端的数据个数分别为。记。设第个客户端的数据为,其中也就是所有数据的维数都是。
37.在本发明实施例中,所述s10、每个客户端将本地数据点的和、数据点的最大、最小值以及数据点个数信息进行拆分,并分别发送给服务器;之前还包括:通过dh协议,服务器分别与每个客户端进行密钥交换,建立数据传递所使用的密钥。
38.设服务器与第个客户端之间的密钥为,服务器与第个客户端之间的密钥为。
39.s20、服务器根据获取的本地数据点的和、数据点的最大、最小值以及数据点个数信息,获得总体数据点的个数、均值;综合服务器得到总体数据点的个数、均值,以及结合ot技术求出总体数据点的极差,客户端利用均值和极差对数据点进行归一化。
40.在本发明实施例中,请参阅图2,所述s20、服务器根据获取的本地数据点的和、数据点的最大、最小值以及数据点个数信息,获得总体数据点的个数、均值;综合服务器得到总体数据点的个数、均值,以及结合ot技术求出总体数据点的极差,客户端利用均值和极差对数据点进行归一化,包括以下步骤:s201、每个客户端求出本地数据点的和、数据点的最大、最小值以及数据个数,根据加性秘密共享将其都拆分为两部分,将两部分分别使用密钥加密,然后分别发送给服务器;以第个客户端为例,首先求出它的本地数据点的和、数据点的最大值、最小值,也就是就是就是其中t表示转置矩阵;然后根据秘密共享将都拆分为两个向量的和,也就是都拆分为两个向量的和,也就是都拆分为两个向量的和,也就是,并且将数据个数也进行拆分得到最后使用密钥对加密后发送给服务器,使用密钥对加密后发送给服务器。
41.s202、服务器a、b均对客户端发送的加密数据进行解密,然后对解密后数据点和、数据点个数的秘密值求和,得到所有数据点和、数据点个数的秘密共享值。
42.服务器接收到第个客户端发送的数据后,使用密钥对其进行解密得到,然后对所有客户端的数据求和得到所有数据点和、数据点个数的秘密共享值同理,服务器求出所有数据点和、数据点个数的另一部分秘密共享值。
43.s203、服务器将计算得到的所有数据点和、数据点个数的秘密共享值发送给服
务器,然后由服务器计算得到所有数据点和、数据点个数,接着根据它们求出数据点的均值,最后将数据点的均值和个数发送给每个客户端。
44.服务器将信息发送给服务器后,服务器可以计算得到所有数据点和、数据点个数然后求出数据均值。
45.s204、服务器结合1-out-of-n ot求出所有数据点的极差,然后将极差发送给每个客户端。
46.其中,服务器结合1-out-of-n ot求出所有数据点的极差,包括如下步骤:a、服务器计算的值,服务器计算的值,然后服务器将发送给服务器。
47.b、服务器初步判断与的大小。分以下几种情况i、和都大于等于0,可以得到,转入步骤d,ii、和都小于等于0,可以得到,转入步骤d,iii、其他情况转入步骤c。
48.c、服务器采用方法比较与的大小,进而得到与的大小。分以下几种情况i、如果可以得到转入步骤d,ii、如果可以得到转入步骤d,d、使用当前的最大值索引(也就是第几个值最大)对应的最大值的秘密共享值和按照a—c的步骤计算,得到中的最大值索引,如此一直往后,直到,可以得到中的最大值的索引,设其为。
49.e、按照类似a—d步骤的方法可以求出中的最小值的索引,设其为。
50.f、服务器计算,服务器计算
,然后服务器将发送给服务器。
51.g、服务器计算得到数据点的第一个坐标的极差,也就是。
52.i、按照a-e的步骤,分别求出数据点每个坐标的极差。
53.s205、每个客户端收到的所有数据点的均值、个数和极差后,对数据进行归一化,也就是进行过程。然后再将数据点的坐标统一除以,获得每个客户端的归一化数据。
54.由于高斯机制中要求数据每一行的二范数小于1,所以这里将数据点的坐标统一除以。设经过处理后第个客户端的数据为,其中。
55.s30、客户端使用归一化后的数据求出本地的协方差矩阵,并结合加性秘密共享将其拆分为两份,分别发送给服务器;具体的,所述s30、客户端使用归一化后的数据求出本地的协方差矩阵,并结合加性秘密共享将其拆分为两份,分别发送给服务器,具体为:每个客户端计算本地的协方差矩阵,并利用加性秘密共享将协方差矩阵分解为两个矩阵的和,分别使用对应密钥对矩阵加密后发送给服务器。
56.本地协方差矩阵按照求解,其中k表示每个客户端的第几个数据量,k=j。然后将矩阵分解为,使用密钥对加密后发送给客户端,使用密钥对加密后发送给客户端。
57.s40、服务器计算得到总体协方差矩阵的秘密共享值,并由其中服务器在计算结果上添加噪声,服务器将添加噪声后的结果发送给服务器,服务器上得到添加噪声后的总体协方差矩阵。
58.在本发明的实施例中,服务器分别对客户端发送的本地协方差矩阵的秘密共享值解密,然后对它们求和,得到总体协方差矩阵的秘密共享值。
59.服务器使用密钥对解密,求出,服务器使用密钥对解密,然后求出。
60.在本发明的实施例中,服务器给其秘密共享的总体协方差矩阵上加上满足高斯机制的对称的噪声矩阵,然后将结果发送给服务器。
61.给定差分隐私的要求后,得到,从分布中抽取
噪声,生成矩阵的上三角元素,然后生成对称的噪声分布矩阵,设其为,接着服务器计算得到,并将其发送给服务器。
62.s50、服务器在含有噪声的协方差矩阵上进行奇异值分解(singular value decomposition简称svd),获取绝对值最大的个特征值对应的特征向量。
63.在本发明的实施例中,所述服务器对自己的协方差矩阵的秘密共享值和服务器添加噪声的协方差矩阵的秘密共享值求和,可以得到添加噪声后总体的协方差矩阵。对其进行svd,得到一组降序排列的特征值,其中,表示对角矩阵,表示具体特征值;取最大的个特征值对应的特征向量,其中为对应的特征向量;将发送给每个客户端。
64.服务器可以得到,由于协方差矩阵是对称矩阵,也是对称矩阵,所以也是对称矩阵。
65.s60、将特征向量发送给客户端,由客户端对本地数据进行降维。
66.数据降维使用公式。
67.其中,秘密共享是多方安全计算中的一项重要的技术,由于它使用起来比较简单,因而被广泛地使用于隐私保护领域。本发明中只使用到两方加性秘密共享,下面对其进行简单介绍。
68.在加性秘密共享中,数据被随机分割为两个数据的和,也就是,然后分别保存在参与方。必须结合参与方的数据才能进行恢复数据。
69.不妨设参与方拥有数据,另一参与方拥有数据。按照如下流程,可以实现加性秘密共享。
70.1、生成随机数,并计算得到,然后将发送至。
71.2、生成随机数,并计算得到,然后将发送至。
72.3、计算得到,计算得到。
73.此时要计算得到与的和,只需要将和汇总到需求方,所得结果为。可以看出在此过程中,并没有泄露数据与,很好地保护了数据隐私。
74.另外,如果在数据传输过程中,数据信息被窃听,数据隐私依然存在泄露的风险,可以在发送方发送数据前对数据加密,为了计算的简便,我们可以使用传统的对称加密算法。而关于密钥的传输,我们采用diffie

hellman (以下简称dh)密钥交换方法。接下来简单介绍dh密钥交换协议。
75.alice和bob 想共有一个密钥,用于对称加密。但是他们之间的通信渠道是不安全的。所有经过此渠道的信息均会被敌对方:eve看到。他们要如何交换信息,才能不让eve知道这个密钥呢
dh算法的安全性依赖于计算离散对数的困难程度。下面的方案中需要用到本原根的概念,我们先给出其定义。
76.定义1:如果使得成立的最小正幂满足,则称是的本原根。其中为欧拉函数。
77.因此,对任何整数和素数的本原根,有唯一的幂使得。离散对数困难问题是给定,要计算出是很困难的。
78.以下是dh协议的方案:1.alice和bob先对和达成一致,其中是一个大素数,是的原根,而且将和公开出来。eve也就知道它们的值了。
79.2.alice取一个私密的整数,不让任何人知道,发给bob计算结果:。eve 也看到了的值。
80.3.类似,bob取一个私密的整数,发给alice计算结果。同样eve也会看见传递的是什么。
81.4.alice计算出。
82.5.bob也能计算出。
83.alice和bob现在就拥有了一个共用的密钥。虽然eve看见了,但是鉴于计算离散对数的困难性,她无法知道和的具体值。所以eve就无从知晓密钥是什么了。
84.差分隐私是防范差分攻击的有效手段,它通过在统计结果中加入了适量的噪音,保证修改(包括增加和删除)数据集中的一条记录后,统计结果不会发生显著的变化。
85.定义2:差分隐私。数据集与最相差一条记录(邻居数据集),给定一个算法,对于所有的,都有则称算法满足差分隐私,参数为隐私预算,越小,隐私保护水平越高。当参数时,称满足差分隐私。
86.如果算法。对任意的所有邻居数据集对,称是的敏感度。
87.我们用表示矩阵的第行,设,也就是每一行的二范数最多是1,我们把所有满足这个条件的矩阵的集合记为。
88.高斯机制是差分隐私中常用到的一种隐私保护机制。关于高斯机制,给出如下定理。
89.定理1:设是一个向量值函数,令,高斯机制从随机分布中抽取噪声并加到的每个输出上,可以确保差分隐私。
90.我们感兴趣的函数是,它可以被看作是维的向量。由于,可以得到矩阵的敏感度最多为1,所以我们可以直接选取。
91.ot是多方安全计算的最基础的协议之一,利用ot可以构造混淆电路、零知识证明协议等方案。我们直接介绍1-out-of-n ot协议。它用于解决如下问题:alice拥有个数值,bob想知道其中的一个,通过执行ot协议,bob可以获取的值,但是不能获取的值。而alice不知道bob获取的是哪个值,也就是alice不知道的值。
92.1-out-of-n ot可以按照如下方式进行实现:1、准备阶段。协议在阶数为大素数的上运算(也就是本协议中的运算结果都是在模意义下的结果),选择的一个本原根。选择随机预言函数(例如sha-1)。参数由alice和bob共享。
93.2、初始化阶段:alice选择个随机数。然后选择一个随机数,并计算,然后将发送给bob。alice预先计算。(由于离散对数困难性,bob不能获取的离散对数以及的值)。
94.3、在线计算阶段:a、bob选择一个随机数,设置然后将发送alice。(alice不能获取的值)。
95.b、alice计算,然后计算。然后选择一个随机字符串(这里的的选择要足够长,确保两个不同数据对应的hash值不同)对每个进行加密,然后将加密结果和发送给bob。
96.c、bob可以计算得到,然后使用解密得到。
97.然后利用此协议可以安全地进行两个数的大小比较。
98.假设alice拥有数据,bob拥有数据。并且。我们可以用如
下步骤比较的大小。
99.1、alice构造条明文消息2、bob通过1-out-of-n ot获取的值,可以得到结果然后bob将两者的大小结果发送给alice。
100.如果是一般的实数,可以将表示为进制的形式,比如,也就是,整数有位,小数有位。同样可以表示为进制的形式。然后从最高位开始比较两者的大小,1、若,则。
101.2、若存在,当时有,当时有,则。
102.3、若存在,当时有,当时有,则。
103.我们用表示以上比较两者大小的过程。
104.我们对pca的过程进行描述。设数据集为,其中为样本总数,为属性个数,每个是一条数据。
105.如果数据的量纲不一致,需要对数据进行归一化,我们使用平均归一化的方式进行处理,其中。分母正是数据的极差。我们记此过程为。
106.设中心化后数据集为。数据集的协方差矩阵为对进行svd后得到一组降序排列的特征值,取最大的个特征值对应的特征向量,降维后的数据为。
107.本发明借助秘密共享和ot技术,保密地对客户端数据进行了平均归一化、这个过
程中本发明对用户的隐私数据包括数据的最大值和最小值进行了有效的保护。本发明还使用了秘密共享和差分隐私,对本地协方差矩阵以及总体的协方差矩阵进行了隐私保护,并最终实现pca,达到数据降维的目标。另外我们使用了密钥交换算法,使用交换后的密钥对客户端和服务器之间传递的秘密共享值进行加密,防止他人的窃听攻击。我们的pca算法可以对联邦学习的训练速度进行提升。
108.应该理解的是,上述虽然是按照某一顺序描述的,但是这些步骤并不是必然按照上述顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本实施例的一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
109.在一个实施例中,在本发明的实施例中还提供了一种隐私保护的pca系统,应用上述隐私保护的pca方法。
110.在一个实施例中,参见图3所示,在本发明的实施例中还提供了一种终端,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。
111.存储器703,用于存放计算机程序;处理器701,用于执行存储器703上所存放的计算机程序时,执行所述的隐私保护的pca方法,该处理器执行指令时实现上述方法实施例中的步骤。
112.上述终端提到的通信总线可以是外设部件互连标准(peripheral componentinterconnect,简称pci)总线或扩展工业标准结构(extended industry standardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
113.通信接口用于上述终端与其他设备之间的通信。
114.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
115.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specificintegrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
116.所述终端包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、pda等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloud computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述终端可单独运行来实现本发明,也可接入网络并通过与网络中的其他终端的交互操作来实
现本发明。其中,所述终端所处的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络等。
117.所述终端包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、pda等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloud computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述终端可单独运行来实现本发明,也可接入网络并通过与网络中的其他终端的交互操作来实现本发明。其中,所述终端所处的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络等。
118.还应当进理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
119.在本发明的一个实施例中还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤。
120.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。
121.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
122.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

技术特征:


1.一种隐私保护的pca方法,其特征在于,该方法包括:每个客户端将本地数据点的和、数据点的最大、最小值以及数据点个数信息进行拆分,并分别发送给服务器;服务器根据获取的本地数据点的和、数据点的最大、最小值以及数据点个数信息,获得总体数据点的个数、均值;综合服务器得到总体数据点的个数、均值,以及结合ot技术求出总体数据点的极差,客户端利用均值和极差对数据点进行归一化;客户端使用归一化后的数据求出本地的协方差矩阵,并结合加性秘密共享将其拆分为两份,分别发送给服务器;服务器计算得到总体协方差矩阵的秘密共享值,并由其中服务器在计算结果上添加噪声,服务器将添加噪声后的结果发送给服务器,服务器上得到添加噪声后的总体协方差矩阵;服务器在含有噪声的总体协方差矩阵上进行奇异值分解,获取绝对值最大的个特征值对应的特征向量;服务器将特征向量发送给客户端,由客户端对本地数据进行降维。2.如权利要求1所述的隐私保护的pca方法,其特征在于,所述服务器之间相互不串通。3.如权利要求2所述的隐私保护的pca方法,其特征在于,每个客户端的数据个数分别为;记;设第个客户端的数据为,其中t表示转置矩阵,所有数据的维数都是。4.如权利要求1所述的隐私保护的pca方法,其特征在于,每个客户端将本地数据点的和、数据点的最大、最小值以及数据点个数信息进行拆分,并分别发送给服务器;之前还包括:通过dh协议,服务器分别与每个客户端进行密钥交换,建立数据传递所使用的密钥;设服务器与第个客户端之间的密钥为,服务器与第个客户端之间的密钥为。5.如权利要求3所述的隐私保护的pca方法,其特征在于,所述服务器根据获取的本地数据点的和、数据点的最大、最小值以及数据点个数信息,获得总体数据点的个数、均值;综合服务器得到总体数据点的个数、均值,以及结合ot技术求出总体数据点的极差,客户端利用均值和极差对数据点进行归一化,包括以下步骤:
每个客户端求出本地数据点的和、数据点的最大、最小值以及数据个数,根据加性秘密共享将其都拆分为两部分,将两部分分别使用密钥加密,然后分别发送给服务器;服务器均对客户端发送的加密数据进行解密,然后对解密后数据点和、数据点个数的秘密值求和,得到所有数据点和、数据点个数的秘密共享值;服务器将计算得到的所有数据点和、数据点个数的秘密共享值发送给服务器,然后由服务器计算得到所有数据点和、数据点个数,接着根据它们求出数据点的均值,最后将数据点的均值和个数发送给每个客户端;服务器结合1-out-of-n ot求出所有数据点的极差,然后将极差发送给每个客户端;每个客户端收到的所有数据点的均值、个数和极差后,对数据进行归一化,再将数据点的坐标统一除以,得到每个客户端的归一化后的数据,即设经过处理后第个客户端的数据为,其中。6.如权利要求5所述的隐私保护的pca方法,其特征在于,所述服务器结合1-out-of-n ot求出所有数据点的极差,包括如下步骤:a、服务器计算的值,服务器计算的值,然后服务器将发送给服务器;b、服务器初步判断与的大小;c、服务器采用方法比较与的大小,进而得到与的大小;d、使用当前的最大值索引对应的最大值的秘密共享值和按照a—c的步骤计算,得到中的最大值索引,如此一直往后,直到,得到中的最大值的索引,设其为;e、按照类似a—d步骤的方法可以求出中的最小值的索引,设其为;f、服务器计算,服务器计算,然后服务器将发送给服务器;g、服务器计算得到数据点的第一个坐标的极差,也就是;i、按照a-g的步骤,分别求出数据点每个坐标的极差。
7.如权利要求6所述的隐私保护的pca方法,其特征在于,所述服务器初步判断与的大小,分以下几种情况:和都大于等于0,得到,转入步骤d,和都小于等于0,得到,转入步骤d,其他情况转入步骤c。8.如权利要求6所述的隐私保护的pca方法,其特征在于,所述服务器采用方法比较与的大小,进而得到与的大小,分以下几种情况:如果,则得到转入步骤d,如果,则得到转入步骤d。9.如权利要求1所述的隐私保护的pca方法,其特征在于,所述客户端使用归一化后的数据求出本地的协方差矩阵,并结合加性秘密共享将其拆分为两份,分别发送给服务器,具体为:每个客户端计算本地的协方差矩阵,并利用加性秘密共享将协方差矩阵分解为两个矩阵的和,分别使用对应密钥对矩阵加密后发送给服务器。10.如权利要求5所述的隐私保护的pca方法,其特征在于,所述本地的协方差矩阵按照求解,其中k表示每个客户端的第几个数据量;然后将矩阵分解为,使用密钥对加密后发送给客户端,使用密钥对加密后发送给客户端。11.如权利要求10所述的隐私保护的pca方法,其特征在于,所述服务器分别对客户端发送的本地协方差矩阵的秘密共享值解密,然后对它们求和,得到总体协方差矩阵的秘密共享值。12.如权利要求11所述的隐私保护的pca方法,其特征在于,所述服务器给其秘密共享的总体协方差矩阵上加上满足高斯机制的对称的噪声矩阵,将结果发送给服务器。13.如权利要求12所述的隐私保护的pca方法,其特征在于,所述服务器对自己的协方差矩阵的秘密共享值和服务器添加噪声的协方差矩阵的秘密共享值求和,得到添加噪声后总体的协方差矩阵;对其进行svd,得到一组降序排列的特征值,其中,表示对角矩阵,表示具体特征值;取最大的个特征值对应的特征向量
,其中为对应的特征向量;将发送给每个客户端。14.如权利要求13所述的隐私保护的pca方法,其特征在于,数据降维使用公式。15.一种隐私保护的pca系统,其特征在于,应用权利要求1-14任一所述的隐私保护的pca方法。

技术总结


本发明涉及信息技术领域,具体涉及一种隐私保护的PCA方法及系统。该方法包括:每个客户端将本地数据点的和、数据点的最大、最小值以及数据点个数信息进行拆分,并分别发送给服务器;服务器计算得到总体协方差矩阵的秘密共享值,并由其中服务器在计算结果上添加噪声,服务器将添加噪声后的结果发送给服务器,服务器上得到添加噪声后的总体协方差矩阵;服务器在含有噪声的协方差矩阵上进行奇异值分解,获取绝对值最大的个特征值对应的特征向量;将特征向量发送给客户端,由客户端对本地数据进行降维。本发明在联邦学习中对数据进行降维,能够有效地提升联邦学习的训练速度。训练速度。训练速度。


技术研发人员:

王小伟 张旭 吴睿振 孙华锦 王凛

受保护的技术使用者:

苏州浪潮智能科技有限公司

技术研发日:

2022.11.23

技术公布日:

2022/12/23

本文发布于:2024-09-22 13:41:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/48217.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:据点   服务器   协方差   矩阵
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议