一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种匿名化分片数据下逆矩阵近似计算方法与流程

2023-03-18 14:10:18 来源:中国专利 TAG:


1.本发明涉及联邦学习技术领域,具体而言,涉及一种匿名化分片数据下逆矩阵近似计算方法。


背景技术:

2.当前,隐私数据的保护受到越来越多的关注,传统的中心化机器学习建模受到各种法律法规的限制。为了解决数据分享带来的隐私问题,联邦学习技术应运而生。所谓的联邦学习,本质上是一种隐私保护的分布式机器学习,各个数据拥有方协作训练机器学习模型而不泄露各自的隐私信息。在联邦学习领域存在多种隐私保护的技术,例如同态加密、秘密分享等。通常多节点进行纵向联邦学习建模之前需要所有节点在保护数据隐私的前提下进行id对齐操作,也就是隐私求交集(private set intersection,psi)。psi 联邦学习是整个建模过程不可或缺的步骤,在传统的联邦学习建模的前置psi中,参与方节点不会暴露除交集id以外的任何信息,然而在某些场景下,交集信息仍被看作是某些参与节点的隐私信息。鉴于此,一种隐匿psi技术得到快速发展。所有参与方经过隐匿psi流程后,最终保存在各个参与方节点的数据是各个参与方的交集的分片数据,参与方无法获得交集id。基于这些分片数据我们可以基于秘密分享技术完成联邦学习建模及其他统计计算。
3.求矩阵逆是统计中常用的矩阵变换方法。求逆矩阵的方法有很多,当所有数据集中在一个节点时,常用的是初等变换、待定系数法等,但是在联邦学习里,这些方法太过复杂,所以需要一种近似求解减少复杂度。秘密分享(secret sharing,ss)作为一种基础的安全多方计算协议,是构建很多隐私计算协议的底层模块之一。基本思想是将秘密以某种方式拆分,拆分后的每一个“份额”由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个或全部参与者一同协作才能重构秘密消息。在联邦学习中,秘密分享技术经常被用来保护隐私数据。在秘密分享的分片结果上我们可以进行加法和乘法运算。
4.在现有的纵向逻辑回归、线性回归等联邦学习模型中存在多种模型参数的更新方法,其中一个重要的方法是牛顿迭代法(newton-raphson),这是一种求解无约束最优化问题的常用方法。在使用该方法更新线性模型参数时,需要首先计算hessian矩阵的逆矩阵作为后续迭代使用,所以需要一种安全有效的方法求逆矩阵。在传统的机器学习领域,可以不考虑数据隐私将所有数据集中到一起快速计算,但是这无疑会泄露参与方隐私数据。在联邦学习领域,当节点数据以秘密分片形式存储时已有的方法无法给出有效的解决方法,所以需要一种安全高效的方法计算逆矩阵。在联邦学习里,效率和准确性是互相矛盾的存在,对逆矩阵精确求解必然会影响计算效率,所以需要一种高效的算法在不牺牲过多准确性下近似求解逆矩阵。


技术实现要素:

5.为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种匿名化分片数据下逆矩阵近似计算方法,在参与方数据基于秘密分享分片存储的基础上,基于秘
密分享技术迭代计算参与方数据的近似逆矩阵,整个计算过程,所有参与节点只交互分片数据,保证了数据隐私安全。
6.本发明的实施例是这样实现的:
7.第一方面,本发明实施例提供一种匿名化分片数据下逆矩阵近似计算方法,包括以下步骤:
8.输入数据方a持有的秘密分享状态下的数据特征分片xa,数据方b持有的秘密分享状态下的数据特征分片xb,双方特征分片维度m;
9.a、b协商生成乘法三元组并保存在本地,a得到aa,ba,ca,b得到ab,bb,cb,其中,a=aa ab,b=ba bb,c=ca cb,c=a*b;其中aa,ba,ca是经过协商生成的只有数据方a知道的乘法三元组随机数,ab,bb,cb是经过协商生成的只有数据方b知道的乘法三元组随机数;
10.基于秘密分享乘法计算a、b双方所持有的特征数据的乘积,a得到ha,b得到hb,其中ha和hb是经过交互计算后的分片结果,分别保存在a、b;
11.a初始化生成与ha维度相同的单位矩阵i,常量c,并计算h0=c*i,然后随机生成一个与h0维度相同的矩阵并发给b,a自己保留并发给b,a自己保留和分别为保存在b和a的随机矩阵,并且维度和ha一样;
12.通过牛顿迭代法近似计算xa和xb乘积的逆矩阵h-1
,重复进行计算,直至达到最大迭代次数t,a返回b返回和是最终逆矩阵在a和b的分片,最终
13.为了解决现有技术中的问题,本发明在参与方数据基于秘密分享分片存储的基础上,基于秘密分享技术迭代计算参与方数据的近似逆矩阵,整个计算过程,所有参与节点只交互分片数据,保证了数据隐私安全。在不引入第三方的情况下,创新使用秘密分享的方法近似计算逆矩阵,保护数据隐私安全。本发明解决了参与方数据在秘密分片状态下,矩阵乘积的逆矩阵近似计算问题,解决了纵向联邦学习线性模型参数更新问题。
14.基于第一方面,在本发明的一些实施例中,上述xa和xb是经过隐匿psi后的秘密分片数据。
15.基于第一方面,在本发明的一些实施例中,上述ha和hb维度均为m
×
m。
16.基于第一方面,在本发明的一些实施例中,上述通过牛顿迭代法近似计算xa和xb乘积的逆矩阵h-1
的方法包括以下步骤:
17.设置最大迭代次数t;
18.在第一轮迭代中,a本地计算h
a-ba并发给b;b本地计算h
b-bb并发给a;
19.a、b分别在本地计算:
[0020][0021]
d和e是经过乘法三元组计算后的share结果;
[0022]
a基于以上结果计算得到:za=ca d*ba aa*e d*e,返回ra=2*i-za;其中za是a计算的乘法秘密分享的分片结果矩阵,ra是牛顿迭代计算的第一个share分片;
[0023]
b基于以上结果计算得到:zb=cb d*bb ab*e,返回rb=-zb;其中zb是b计算的乘法秘密分享的分片结果矩阵,rb是牛顿迭代计算的第二个share分片;
[0024]
接着a本地计算r
a-ba并发给b;b本地计算r
b-bb并发给a,再次按照以上秘密分享乘法计算过程,a得到并令b得到并令其中和分别是第一轮迭代结束后所得的逆矩阵分片结果。
[0025]
第二方面,本技术实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。
[0026]
第三方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。
[0027]
本发明实施例至少具有如下优点或有益效果:
[0028]
本发明实施例提供一种匿名化分片数据下逆矩阵近似计算方法,在参与方数据基于秘密分享分片存储的基础上,基于秘密分享技术迭代计算参与方数据的近似逆矩阵,整个计算过程,所有参与节点只交互分片数据,保证了数据隐私安全。
附图说明
[0029]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0030]
图1为本发明实施例一种匿名化分片数据下逆矩阵近似计算方法的流程图;
[0031]
图2为本发明实施例一种匿名化分片数据下逆矩阵近似计算方法的示意图;
[0032]
图3为本发明实施例中基于牛顿法迭代计算近似矩阵逆的计算流程示意图;
[0033]
图4为本发明实施例整体应用框架示意图;
[0034]
图5为本发明实施例提供的一种电子设备的结构框图。
[0035]
附图标记说明:101、存储器;102、处理器;103、通信接口。
具体实施方式
[0036]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0037]
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0039]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他
性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0040]
实施例:
[0041]
如图1所示,第一方面,本发明实施例提供一种匿名化分片数据下逆矩阵近似计算方法,包括以下步骤:
[0042]
s1、输入数据方a持有的秘密分享状态下的数据特征分片xa,数据方b持有的秘密分享状态下的数据特征分片xb,双方特征分片维度m;上述xa和xb是经过隐匿psi后的秘密分片数据,也就是a和b双方特征矩阵经过随机分片后的数据。
[0043]
s2、a、b协商生成乘法三元组并保存在本地,a得到aa,ba,ca,b得到ab,bb,cb;,其中,a=aa ab,b=ba bb,c=ca cb,c=a*b;其中aa,ba,ca是经过协商生成的只有数据方a知道的乘法三元组随机数,ab,bb,cb是经过协商生成的只有数据方b知道的乘法三元组随机数。
[0044]
s3、基于秘密分享乘法计算a、b双方所持有的特征数据的乘积,a得到ha,b得到hb;上述ha和hb维度均为m
×
m。
[0045]
s4、a初始化生成与ha维度相同的单位矩阵i,常量c,并计算h0=c*i,然后随机生成一个与h0维度相同的矩阵并发给b,a自己保留和分别为保存在b和a的随机矩阵,并且维度和ha一样;
[0046]
s5、通过牛顿迭代法近似计算xa和xb乘积的逆矩阵h-1
,重复进行计算,直至达到最大迭代次数t,a返回b返回和是最终逆矩阵在a和b的分片,最终
[0047]
为了解决现有技术中的问题,本发明在参与方数据基于秘密分享分片存储的基础上,基于秘密分享技术迭代计算参与方数据的近似逆矩阵,整个计算过程,所有参与节点只交互分片数据,保证了数据隐私安全。在不引入第三方的情况下,创新使用秘密分享的方法近似计算逆矩阵,保护数据隐私安全。本发明解决了参与方数据在秘密分片状态下,矩阵乘积的逆矩阵近似计算问题,解决了纵向联邦学习线性模型参数更新问题。
[0048]
基于第一方面,在本发明的一些实施例中,上述通过牛顿迭代法近似计算xa和xb乘积的逆矩阵h-1
的方法包括以下步骤:
[0049]
设置最大迭代次数t;
[0050]
在第一轮迭代中,a本地计算h
a-ba并发给b;b本地计算h
b-bb并发给a;
[0051]
a、b分别在本地计算:
[0052]
e=(h
a-ba) (h
b-bb);d和e是经过乘法三元组计算后的share结果;
[0053]
a基于以上结果计算得到:za=ca d*ba aa*e d*e,返回ra=2*i-za;其中za是a计算的乘法秘密分享的分片结果矩阵,ra是牛顿迭代计算的第一个share分片;
[0054]
b基于以上结果计算得到:zb=cb d*bb ab*e,返回rb=-zb;其中zb是b计算的乘法秘密分享的分片结果矩阵,rb是牛顿迭代计算的第二个share分片;
[0055]
接着a本地计算r
a-ba并发给b;b本地计算r
b-bb并发给a,再次按照以上秘密分享乘法计算过程,a得到并令b得到并令其中和分别是第一轮迭代结束后所得的逆矩阵分片结果。
[0056]
本实施例是使用本发明所提出的基于匿名化秘密分片数据的纵向联邦逻辑回归模型参数更新,主要应用于电信集团与金融机构完成通信反诈黑名单用户识别。在该场景中,电信运营商提供黑名单标签和通信特征数据,商业银行提供相关的用户在该行的流水特征数据,运营商和金融机构首先使用隐匿psi算法对双方的用户进行求交,并返回各自保存的秘密分片数据。为了使用基于牛顿法更新逻辑回归模型参数进行建模,首先需要计算双方所持有特征数据的hessian矩阵的逆矩阵。电信运营商和金融机构首先使用秘密分享乘法计算各自持有秘密分片数据的矩阵乘积,假设电信集团a得到xa=[[1,4,0],[1,3,4],[1,0,1]],金融机构得到xb=[[39,-1,8],[1,2,6],[2,2,5]],实施过程如下:
[0057]
电信集团a和互联网企业b协商生成乘法三元组,a得到aa,bb=[[3,4,0],[1,3,0],[0,1,4]],ca=[[3,4,1],[1,2,0],[3,0,0]];ab=[[0,0,-3],[-1,-3,0],[-1,-1,-2]],bb=[[-2,-3,0],[0,-2,0],[1,0,-4]],cb=[[-3,-4,-1],[0,-1,0],[-1,2,0]];
[0058]
初始化单位阵i=[[1,1,1],[1,1,1],[1,1,1]],常数c=0.00002,h0=c*i,然后随机生成一个与h0维度相同的矩阵[-2,-2.99998,-3],[-4,0,-0.99998]]并发给b,自己保留
[0059]
设置最大迭代次数t=10,在第一轮迭代中,a本地计算h
a-ba并发给b。b本地计算h
b-bb并发给a。a基于收到b发过来的h
b-bb在本地计算:
[0060][0061]
e=(h
a-ba) (h
b-bb)
[0062]
za=ca d*ba aa*e d*e
[0063]
返回ra=2*i-za=[[-7.00084,-7.00012,-19.00016],[-40.00004,10.00014,-38.0002],[-44.00004,-3.00004,-24.0002]]。
[0064]
b本地计算:
[0065][0066]
e=(h
a-ba) (h
b-bb)
[0067]
zb=cb d*bb ab*e
[0068]
返回rb=-zb=[[9.00004,7.00006,19],[40,12.00004,38],[43.99998,3,26.00008]].接着a本地计算r
a-ba并发给b,再次按照以上秘密分享乘法计算过程,a得到并令b本地计算r
b-bb并发给a,再次按照以上秘密分享乘法计算过程,b得到并令
[0069]
重复步骤3,直到达到最大迭代次数t=10,得到重复步骤3,直到达到最大迭代次数t=10,得到[-3.80314244,-1.08194303,-5.24581956],[-3.62020933,-8.672111,0.65020383]],8.672111,0.65020383]],[3.85236571,
1.67211116,4.19665026],[3.5901374,8.47812024,-0.12015362]],hessian矩阵的近似逆矩阵逆矩阵[0.04922327,0.59016813,-1.0491693],[-0.03007193,-0.19399076,0.53005021]];
[0070]
开始基于分片的采用牛顿法更新逻辑回归模型参数直到模型收敛。
[0071]
如图5所示,第二方面,本技术实施例提供一种电子设备,其包括存储器101,用于存储一个或多个程序;处理器102。当一个或多个程序被处理器102执行时,实现如上述第一方面中任一项的方法。
[0072]
还包括通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。
[0073]
其中,存储器101可以是但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
[0074]
处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0075]
在本技术所提供的实施例中,应该理解到,所揭露的方法及系统和方法,也可以通过其它的方式实现。以上所描述的方法及系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的方法及系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0076]
另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0077]
第三方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器102执行时实现如上述第一方面中任一项的方法。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个
存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0078]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0079]
对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其它的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献