保护隐私数据的最大池化处理方法和装置与流程
未命名
09-15
阅读:107
评论:0
1.本说明书一个或多个实施例涉及计算机领域,尤其涉及保护隐私数据的最大池化处理方法和装置。
背景技术:
2.当前,不同的数据持有方所持有的数据可能包含用户的隐私信息,数据持有方之间的数据共享可能会侵犯用户的隐私。为了能够打通多方之间的数据流通,利用安全多方计算支持多方之间的联合计算,挖掘出数据的价值,同时确保多方交互时不会泄露出各方隐私数据的明文信息。
3.安全多方计算能够使得多个互不信任的参与方安全地计算一个给定的函数,并且不会泄露除结果以外的输入、中间计算结果。秘密共享,是将一个秘密分散到不同参与方的方法,每方得到秘密的一部分,称为分片。只有当持有足够多的分片时,才能还原出秘密;单个分片无法还原出秘密。秘密共享由于其对于算术计算以及线性代数运算具有较高的效率,被广泛用于各个场景的安全计算,例如,机器学习模型的安全训练与安全预测。
4.现有技术中,基于秘密共享的安全计算虽然提供严格的安全保障,但是需要大量的通信开销,导致联合计算的效率较低。其中,基于秘密共享的安全计算难以高效地实现最大池化计算,这是机器学习中神经网络模型常用到的一种池化方法,涉及到大量的非线性比较运算,效率较低。因此,需要提供一种保护隐私数据的最大池化处理方法,能够减小通信开销,提高整体计算效率。
技术实现要素:
5.本说明书一个或多个实施例描述了一种保护隐私数据的最大池化处理方法和装置,能够减小通信开销,提高整体计算效率。
6.第一方面,提供了一种保护隐私数据的最大池化处理方法,输入矩阵以秘密共享的形式分布于多方,该方法由所述多方中的任一方执行,包括:
7.基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果;
8.基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中水平方向相邻元素中的较大值;
9.基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果;
10.基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中垂直方向相邻元
素中的较大值。
11.在一种可能的实施方式中,所述输入矩阵的维度为w行h列,所述确定第一比较矩阵的本方分片,包括:
12.针对所述输入矩阵的本方分片,将其前h-1列作为左切片矩阵的本方分片,将其后h-1列作为右切片矩阵的本方分片;
13.利用多方联合进行的第一比较运算,对所述左切片矩阵和所述右切片矩阵进行按位两两比较,得到第一比较矩阵的本方分片。
14.进一步地,所述第一选择运算,用于根据所述第一比较矩阵中元素的值是否为预定值,选择所述左切片矩阵或所述右切片矩阵中相应位置的元素作为中间结果矩阵相应位置的元素。
15.在一种可能的实施方式中,所述中间结果矩阵具有w行;所述确定第二比较矩阵的本方分片,包括:
16.针对所述中间结果矩阵的本方分片,将其前w-1行作为上切片矩阵的本方分片,将其后w-1行作为下切片矩阵的本方分片;
17.利用多方联合进行的第二比较运算,对所述上切片矩阵和所述下切片矩阵进行按位两两比较,得到第二比较矩阵的本方分片。
18.进一步地,所述第二选择运算,用于根据所述第二比较矩阵中元素的值是否为预定值,选择所述上切片矩阵或所述下切片矩阵中相应位置的元素作为池化结果矩阵相应位置的元素。
19.在一种可能的实施方式中,所述方法还包括:
20.基于所述第一比较矩阵的本方分片,利用多方联合进行的第三选择运算,确定中间索引矩阵的本方分片,所述中间索引矩阵的元素为所述中间结果矩阵中对应位置元素的二维索引。
21.进一步地,所述第三选择运算,用于根据所述第一比较矩阵中元素的值是否为预定值,选择预先构造的两个备选二维索引中的一个备选二维索引作为中间索引矩阵相应位置的元素。
22.进一步地,所述中间索引矩阵具有w行;所述方法还包括:
23.针对所述中间索引矩阵的本方分片,将其前w-1行作为上索引矩阵的本方分片,将其后w-1行作为下索引矩阵的本方分片;
24.基于所述第二比较矩阵的本方分片,利用多方联合进行的第四选择运算,根据所述第二比较矩阵中元素的值是否为预定值,选择上索引矩阵或者下索引矩阵中的元素作为池化索引矩阵中相应位置的元素,从而得到池化索引矩阵的本方分片。
25.进一步地,所述利用多方联合进行的第四选择运算之前,所述方法还包括:
26.针对上索引矩阵中的元素在末尾补两个0得到四维的元素,针对下索引矩阵中的元素在开头补两个0得到四维的元素。
27.第二方面,提供了一种保护隐私数据的最大池化处理方法,输入矩阵以秘密共享的形式分布于多方,该方法由所述多方中的任一方执行,包括:
28.基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中垂直方向相邻元素
进行比较的结果;
29.基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中垂直方向相邻元素中的较大值;
30.基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中水平方向相邻元素进行比较的结果;
31.基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中水平方向相邻元素中的较大值。
32.第三方面,提供了一种保护隐私数据的最大池化处理装置,输入矩阵以秘密共享的形式分布于多方,该装置设置于所述多方中的任一方,包括:
33.水平比较单元,用于基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果;
34.水平选择单元,用于基于所述水平比较单元得到的第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中水平方向相邻元素中的较大值;
35.垂直比较单元,用于基于所述水平选择单元得到的中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果;
36.垂直选择单元,用于基于所述垂直比较单元得到的第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中垂直方向相邻元素中的较大值。
37.第四方面,提供了一种保护隐私数据的最大池化处理装置,输入矩阵以秘密共享的形式分布于多方,该装置设置于所述多方中的任一方,包括:
38.垂直比较单元,用于基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中垂直方向相邻元素进行比较的结果;
39.垂直选择单元,用于基于所述垂直比较单元得到的第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中垂直方向相邻元素中的较大值;
40.水平比较单元,用于基于所述垂直选择单元得到的中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中水平方向相邻元素进行比较的结果;
41.水平选择单元,用于基于所述水平比较单元得到的第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中水平方向相邻元素中的较大值。
42.第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算
机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
43.第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
44.通过本说明书实施例提供的一种方法和装置,输入矩阵以秘密共享的形式分布于多方,多方中的任一方首先基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果;然后基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中水平方向相邻元素中的较大值;接着基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果;最后基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中垂直方向相邻元素中的较大值。由上可见,本说明书实施例,将整体的计算逻辑拆分为两部分,先进行按行的比较以及根据比较结果选择最大值,再进行按列的比较以及根据比较结果选择最大值,不存在重叠的冗余计算,从而能够减小通信开销,提高整体计算效率。
45.通过本说明书实施例提供的另一种方法和装置,输入矩阵以秘密共享的形式分布于多方,多方中的任一方首先基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中垂直方向相邻元素进行比较的结果;然后基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中垂直方向相邻元素中的较大值;接着基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中水平方向相邻元素进行比较的结果;最后基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中水平方向相邻元素中的较大值。由上可见,本说明书实施例,将整体的计算逻辑拆分为两部分,先进行按列的比较以及根据比较结果选择最大值,再进行按行的比较以及根据比较结果选择最大值,不存在重叠的冗余计算,从而能够减小通信开销,提高整体计算效率。
附图说明
46.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
47.图1为本说明书披露的一个实施例的实施场景示意图;
48.图2为本说明书披露的另一个实施例的实施场景示意图;
49.图3为本说明书披露的另一个实施例的实施场景示意图;
50.图4示出根据一个实施例的保护隐私数据的最大池化处理方法流程图;
51.图5示出根据另一个实施例的保护隐私数据的最大池化处理方法流程图;
52.图6示出根据一个实施例的保护隐私数据的最大池化处理装置的示意性框图;
53.图7示出根据另一个实施例的保护隐私数据的最大池化处理装置的示意性框图。
具体实施方式
54.下面结合附图,对本说明书提供的方案进行描述。
55.图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及保护隐私数据的最大池化处理。可以理解的是,最大池化:是指取局部接受域中值最大的点,是卷积神经网络里面常用的一种池化方式。保护隐私数据的最大池化处理,即输入一个秘密共享形式的输入矩阵,在不泄露该输入矩阵的前提下得到该输入矩阵针对预设池化窗口以及预设步长的池化结果矩阵的密文。本说明书实施例,可以针对池化窗口大小为2x2,步长为1x1的最大池化计算进行优化设计,输入矩阵和池化结果矩阵均属于隐私数据。输入矩阵以秘密共享的形式分布于多方,可以理解的是,多方可以为两方、三方或者四方等,图中仅示出三方作为示例。如图1所示,保护隐私数据的最大池化处理的场景涉及参与方a、参与方b、参与方c,或称为第一方、第二方、第三方,或称为a方、b方、c方。各个参与方可以实现为任何具有计算、处理能力的设备、平台、服务器或设备集群。各方要在保护数据隐私的情况下,联合实现最大池化处理。
56.实际的应用场景,如机器学习通常基于浮点数运算,然而使用秘密共享实现安全浮点数运算会导致较高的开销,效率难以满足实际的计算需求,因此通常的做法是使用定点数来近似浮点数,在一定精度损失的前提下,取得较大的效率优化。秘密共享协议通常定义在环或者域上,各有优劣。环上的计算由于其取模操作能够隐式地由硬件负责,相较于域上计算需要手动取模,计算效率更高。
57.本说明书实施例中,定点数可以被映射到环中进行运算。映射构造过程如下:假设为一个有理数,需要将映射到整数域,令其中f为精度位数,即小数部分的位数,int(
·
)为四舍五入取整。接着对x进行模运算,使得其中k表示x的比特位数,将输入映射到的环上。
58.本说明书实施例中,定点数的算术分享在的环上。还结合了布尔分享,其计算在的环上。其中,算术分享的分片可以表示为的形式,布尔分享的分片可以表示为的形式。
59.以三方联合实现安全最大池化处理为例。三个计算方分别为p0、p1、p2,秘密输入x拆分为三个分片(x0,x1,x2),满足pi持有(xi,x
i+1
),以及x=(x0+x1+x2)mod 2k。
60.需要说明的是,多方可以是任意的多个计算方。数据持有方可以作为计算方,数据持有方和计算方是可以有交集的,也可以完全没有交集,多方在安全最大池化处理过程中的地位是对等的,因此本说明书实施例的后续处理流程的介绍中,仅以多方中的任意一方的处理流程进行说明。
61.此外,输入矩阵以秘密共享的形式分布在多方,即输入矩阵包括的每个元素的算术分享的分片分布于多方,池化结果矩阵以秘密共享的形式分布在多方,即池化结果矩阵包括的每个元素的算术分享的分片分布于多方,也就是说,输入矩阵和池化结果矩阵都是
密文的形式,也就是分片的形式。参照图1,输入矩阵为input,其大小为wi×hi
,最大池化的计算参数为,2
×
2的池化窗口,1
×
1的步长,期望得到的计算结果包括池化结果矩阵max,进一步地,可以得到的计算结果还包括池化索引矩阵max_idx,池化索引矩阵中的元素为相应位置池化结果矩阵中元素在对应池化窗口中的索引。b方为多方中的任意一方,其具有上述输入矩阵的分片通过与a方和c方联合进行的安全多方计算,b方能够获得池化结果矩阵的分片进一步地,还可以获得池化索引矩阵的分片从而实现保护隐私数据的最大池化处理。可以理解的是,在安全最大池化处理过程中,也可以存在一些明文数据为各方所知晓,例如,池化窗口和步长可以是明文的。
62.下面对本说明书实施例中使用到的常规计算原语进行简单说明,包括:
63.加法运算和常数乘法运算,可以直接根据原始的加法秘密共享协议完成。每一个参与方只需要在本地进行计算即可;
64.乘法运算,一个定点数乘法操作包含两个关键计算;首先,参与方使用标准的乘法协议完成整数乘法运算;在乘法计算完成后,由于定点数数据的精度有限,还需要对计算结果进行截断操作;使用截断运算对精度翻倍后的数据进行截断:截去数据的末f位数据,即除以2f;
65.比较运算,使用less协议将两个算术分享的输入进行大小比较,如果左边的输入小于右边的输入,则返回1的布尔分享;反之则返回0的布尔分享;
66.选择分片运算,输入两个算术分享以及一个布尔分享,使用select协议根据布尔分享的0或1情况选择两个算术分享中的一个。
67.本说明书实施例,针对在实现安全最大池化处理的前提下减小通信开销,提高整体计算效率,提出相应的解决方案。
68.图2为本说明书披露的另一个实施例的实施场景示意图,该实施场景中采用先纵向的比较,再横向的比较。参照图2,输入矩阵的大小为2
×
3,也就是2行3列,可以表示为在通常的池化处理中,先将输入矩阵按照2
×
2的池化窗口,1
×
1的步长,构造出两个池化窗口和然后再在每个池化窗口内进行独立的四个元素的两两比较,由于两个池化窗口存在一列的交集虽然采用二分的方式,但是滑窗时两窗口重叠的两个元素的比较是重复计算的,因此导致额外的开销。本说明书实施例,通过优化处理,可以减少一次冗余的2和5的比较,将整体的计算逻辑拆分为两部分,先进行按行的比较以及根据比较结果选择最大值,也就是说,相邻两行的元素的比较,1和4比,较大的为4,2和5比,较大的为5,3和6比较大的为6,得到的中间结果矩阵为(4 5 6),再对中间结果矩阵进行按列的比较以及根据比较结果选择最大值,也就是说,相邻两列的元素的比较,4和5比,较大的为5,5和6比,较大的为6,得到的池化结果矩阵为(5 6),不存在重叠的冗余计算,从而能够减小通信开销,提高整体计算效率。其中,池化结果矩阵中的元素5在池化窗口中的索引
为0001,池化结果矩阵中的元素6在池化窗口中的索引为0001,可以理解的是,池化窗口中包括4个元素,因此索引为4维的。
69.图3为本说明书披露的另一个实施例的实施场景示意图,该实施场景中采用先横向的比较,再纵向的比较。参照图3,本说明书实施例,通过优化处理,可以减少一次冗余的2和5的比较,将整体的计算逻辑拆分为两部分,先进行按列的比较以及根据比较结果选择最大值,也就是说,相邻两列的元素的比较,1和2比,较大的为2,4和5比,较大的为5,2和3比较大的为3,5和6比,较大的为6,得到的中间结果矩阵为再对中间结果矩阵进行按行的比较以及根据比较结果选择最大值,也就是说,相邻两行的元素的比较,2和5比,较大的为5,3和6比,较大的为6,得到的池化结果矩阵为(5 6),不存在重叠的冗余计算,从而能够减小通信开销,提高整体计算效率。
70.图4示出根据一个实施例的保护隐私数据的最大池化处理方法流程图,输入矩阵以秘密共享的形式分布于多方,该方法可以基于图1和图3所示的实施场景,所述方法由多方中的任一方执行。如图4所示,该实施例中保护隐私数据的最大池化处理方法包括以下步骤:步骤41,基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果;步骤42,基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中水平方向相邻元素中的较大值;步骤43,基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果;步骤44,基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中垂直方向相邻元素中的较大值。下面描述以上各个步骤的具体执行方式。
71.首先在步骤41,基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果。可以理解的是,输入矩阵可以用input表示,相应地,输入矩阵的分片可以用表示。
72.本说明书实施例,针对2
×
2的池化窗口,1
×
1的步长,可以通过第一比较运算对所述输入矩阵中水平方向相邻的两个元素作为一组进行比较,得到该两个元素的大小比较结果,这个比较结果可以通过0或1来表示。
73.在一个示例中,所述输入矩阵的维度为w行h列,所述确定第一比较矩阵的本方分片,包括:
74.针对所述输入矩阵的本方分片,将其前h-1列作为左切片矩阵的本方分片,将其后h-1列作为右切片矩阵的本方分片;
75.利用多方联合进行的第一比较运算,对所述左切片矩阵和所述右切片矩阵进行按位两两比较,得到第一比较矩阵的本方分片。
76.本说明书实施例,输入矩阵的维度可以表示为(wi,hi),也就是说,前述w=wi,前述h=hi。池化结果矩阵的维度可以表示为(wo,ho)。
77.该示例中,对输入矩阵的各元素进行水平方向的比较。首先对输入矩阵input进行切片,按照列进行切片,左切片矩阵lhs定义为前h
i-1列,右切片矩阵rhs定义为后h
i-1列。其次调用less协议将这两个大小为wi×
(h
i-1)的矩阵进行按位两两比较,得到大小为wi×
(h
i-1)的第一比较矩阵h_cmp。可以理解的是,第一比较运算是多方联合进行的,各方获得的是第一比较矩阵的分片。
78.上述过程可以通过如下代码实现:
[0079][0080][0081][0082]
举例来说,若输入矩阵为则lhs为rhs为h_cmp为
[0083]
然后在步骤42,基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中水平方向相邻元素中的较大值。可以理解的是,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果,因此根据第一比较矩阵就可以选择出所述输入矩阵中水平方向相邻元素中的较大值。
[0084]
在一个示例中,所述第一选择运算,用于根据所述第一比较矩阵中元素的值是否为预定值,选择所述左切片矩阵或所述右切片矩阵中相应位置的元素作为中间结果矩阵相应位置的元素。
[0085]
该示例中,根据对输入矩阵的各元素进行水平方向比较的结果,选择水平方向的最大值构成中间结果矩阵h_max。调用select协议,根据h_cmp选择最大值构成h_max。如果h_cmp的元素的值为1,则选择lhs中的元素,反之选择rhs中的元素。
[0086]
上述过程可以通过如下代码实现:
[0087][0088]
举例来说,若lhs为rhs为h_cmp为则h_max为
[0089]
接着在步骤43,基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果。可以理解的是,中间结果矩阵可以用h_max表示,相应地,中间结果矩阵的分片可以用表示。
[0090]
本说明书实施例,针对2
×
2的池化窗口,1
×
1的步长,可以通过第二比较运算对所述中间结果矩阵中垂直方向相邻的两个元素作为一组进行比较,得到该两个元素的大小比较结果,这个比较结果可以通过0或1来表示。
[0091]
在一个示例中,所述中间结果矩阵具有w行;所述确定第二比较矩阵的本方分片,包括:
[0092]
针对所述中间结果矩阵的本方分片,将其前w-1行作为上切片矩阵的本方分片,将其后w-1行作为下切片矩阵的本方分片;
[0093]
利用多方联合进行的第二比较运算,对所述上切片矩阵和所述下切片矩阵进行按位两两比较,得到第二比较矩阵的本方分片。
[0094]
本说明书实施例,输入矩阵的维度可以表示为(wi,hi),也就是说,前述w=wi,前述h=hi。中间结果矩阵的维度可以表示为wi×
(h
i-1)。
[0095]
该示例中,对中间结果矩阵的各元素进行垂直方向的比较。首先对中间结果矩阵h_max进行切片,按照行进行切片,上切片矩阵upper定义为前w
i-1行,下切片矩阵bottom定义为后w
i-1行。其次调用less协议将这两个大小为(w
i-1)
×
(h
i-1)的矩阵进行按位两两比较,得到大小为(w
i-1)
×
(h
i-1)的第二比较矩阵v_cmp。可以理解的是,第二比较运算是多方联合进行的,各方获得的是第二比较矩阵的分片。
[0096]
上述过程可以通过如下代码实现:
[0097][0098][0099][0100]
举例来说,若中间结果矩阵为则upper为(2 3),bottom为(5 6),v_cmp为(0 0)。
[0101]
最后在步骤44,基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中垂直方向相邻元素中的较大值。可以理解的是,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果,因此根据第二比较矩阵就可以选择出所述中间结果矩阵中垂直方向相邻元素中的较大值。
[0102]
在一个示例中,所述第二选择运算,用于根据所述第二比较矩阵中元素的值是否为预定值,选择所述上切片矩阵或所述下切片矩阵中相应位置的元素作为池化结果矩阵相应位置的元素。
[0103]
该示例中,根据对中间结果矩阵的各元素进行垂直方向比较的结果,选择垂直方向的最大值构成池化结果矩阵max_ret。调用select协议,根据v_cmp选择最大值构成max_ret。如果v_cmp的元素的值为1,则选择upper中的元素,反之选择bottom中的元素。
[0104]
上述过程可以通过如下代码实现:
[0105][0106]
举例来说,若upper为(2 3),bottom为(5 6),v_cmp为(0 0),则max_ret为(5 6)。
[0107]
可以理解的是,输入矩阵包括的池化窗口的数目与池化结果矩阵中的元素数目相同,池化结果矩阵中的每个元素为相应池化窗口中的最大值,其在该池化窗口中具有索引,索引标识了其位置,对于2
×
2的池化窗口,索引为4维的。本说明书实施例,不仅可以确定池化结果矩阵,还可以确定池化结果矩阵中各元素在相应池化窗口中的索引。
[0108]
在一个示例中,所述方法还包括:
[0109]
基于所述第一比较矩阵的本方分片,利用多方联合进行的第三选择运算,确定中间索引矩阵的本方分片,所述中间索引矩阵的元素为所述中间结果矩阵中对应位置元素的二维索引。
[0110]
进一步地,所述第三选择运算,用于根据所述第一比较矩阵中元素的值是否为预定值,选择预先构造的两个备选二维索引中的一个备选二维索引作为中间索引矩阵相应位置的元素。
[0111]
该示例中,根据对输入矩阵的各元素进行水平方向比较的结果,选择水平方向的最大值对应的索引构成中间索引矩阵h_idx_max。对于索引,因为是两个元素进行比较,因此独热编码的索引的维度为2,构造两个备选二维索引,即{0,1}和{1,0}。调用select协议,根据h_cmp选择备选二维索引构成h_idx_max。如果h_cmp的元素的值为1,则选择{1,0},反之选择{0,1}。
[0112]
上述过程可以通过如下代码实现:
[0113]
mask0={1,0}
[0114]
mask1={0,1}
[0115][0116]
举例来说,若h_cmp为则h_idx_max为
[0117]
进一步地,所述中间索引矩阵具有w行;所述方法还包括:
[0118]
针对所述中间索引矩阵的本方分片,将其前w-1行作为上索引矩阵的本方分片,将其后w-1行作为下索引矩阵的本方分片;
[0119]
基于所述第二比较矩阵的本方分片,利用多方联合进行的第四选择运算,根据所述第二比较矩阵中元素的值是否为预定值,选择上索引矩阵或者下索引矩阵中的元素作为池化索引矩阵中相应位置的元素,从而得到池化索引矩阵的本方分片。
[0120]
进一步地,所述利用多方联合进行的第四选择运算之前,所述方法还包括:
[0121]
针对上索引矩阵中的元素在末尾补两个0得到四维的元素,针对下索引矩阵中的元素在开头补两个0得到四维的元素。
[0122]
该示例中,根据对中间结果矩阵的各元素进行垂直方向比较的结果,选择垂直方向的最大值对应的索引构成池化索引矩阵max_idx_ret。对于索引,因为是4个元素进行比较,因此独热编码的索引的维度为4。首先对中间索引矩阵进行切片,前w
i-1行得到upper_idx,后w
i-1行得到bottom_idx。这两者都是二维的索引,因此还需要进行补零操作,针对upper_idx的每个元素在末尾补两个0得到padded_upper_idx;针对bottom_idx的每个元素在开头补两个0得到padded_bottom_idx。接着调用less协议,根据v_cmp选择,如果v_cmp的元素的值为1,则选择padded_upper_idx中的元素,反之选择padded_bottom_idx中的元素,得到max_idx_ret。
[0123]
上述过程可以通过如下代码实现:
[0124][0125]
[0126][0127][0128][0129]
举例来说,按照2x2的窗口自上而下,自左到右的顺序进行索引编码,则池化结果矩阵中的元素5在池化窗口中的索引为0001。先确定5的二维索引01,因为5为下一行的最大值,在二维索引前面补两个0,得到4维索引0001。
[0130]
通过本说明书实施例提供的一种方法,输入矩阵以秘密共享的形式分布于多方,多方中的任一方首先基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果;然后基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中水平方向相邻元素中的较大值;接着基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果;最后基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中垂直方向相邻元素中的较大值。由上可见,本说明书实施例,将整体的计算逻辑拆分为两部分,先进行按行的比较以及根据比较结果选择最大值,再进行按列的比较以及根据比较结果选择最大值,不存在重叠的冗余计算,从而能够减小通信开销,提高整体计算效率。
[0131]
图5示出根据另一个实施例的保护隐私数据的最大池化处理方法流程图,输入矩阵以秘密共享的形式分布于多方,该方法可以基于图1和图2所示的实施场景,所述方法由多方中的任一方执行。如图5所示,该实施例中保护隐私数据的最大池化处理方法包括以下步骤:步骤51,基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中垂直方向相邻元素进行比较的结果;步骤52,基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中垂直方向相邻元素中的较大值;步骤53,基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中水平方向相邻元素进行比较的结果;步骤54,基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中水平方向相邻元素中的较大值。
[0132]
可以理解的是,与图4所示实施例相比,图4所示的实施例先进行了水平方向的比较,然后进行了垂直方向的比较;图5所示的实施例先进行了垂直方向的比较,然后进行了水平方向的比较。这两个实施例均能够减少冗余比较,从而提升效率。
[0133]
通过本说明书实施例提供的另一种方法,输入矩阵以秘密共享的形式分布于多方,多方中的任一方首先基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运
算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中垂直方向相邻元素进行比较的结果;然后基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中垂直方向相邻元素中的较大值;接着基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中水平方向相邻元素进行比较的结果;最后基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中水平方向相邻元素中的较大值。由上可见,本说明书实施例,将整体的计算逻辑拆分为两部分,先进行按列的比较以及根据比较结果选择最大值,再进行按行的比较以及根据比较结果选择最大值,不存在重叠的冗余计算,从而能够减小通信开销,提高整体计算效率。
[0134]
根据另一方面的实施例,还提供一种保护隐私数据的最大池化处理装置,输入矩阵以秘密共享的形式分布于多方,所述装置设置于所述多方中的任一方,该装置用于执行本说明书实施例提供的图4所示的方法。图6示出根据一个实施例的保护隐私数据的最大池化处理装置的示意性框图。如图6所示,该装置600包括:
[0135]
水平比较单元61,用于基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果;
[0136]
水平选择单元62,用于基于所述水平比较单元61得到的第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中水平方向相邻元素中的较大值;
[0137]
垂直比较单元63,用于基于所述水平选择单元62得到的中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果;
[0138]
垂直选择单元64,用于基于所述垂直比较单元63得到的第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中垂直方向相邻元素中的较大值。
[0139]
可选地,作为一个实施例,所述输入矩阵的维度为w行h列,所述水平比较单元61包括:
[0140]
第一切分子单元,用于针对所述输入矩阵的本方分片,将其前h-1列作为左切片矩阵的本方分片,将其后h-1列作为右切片矩阵的本方分片;
[0141]
第一比较子单元,用于利用多方联合进行的第一比较运算,对第一切分子单元得到的所述左切片矩阵和所述右切片矩阵进行按位两两比较,得到第一比较矩阵的本方分片。
[0142]
进一步地,所述第一选择运算,用于根据所述第一比较矩阵中元素的值是否为预定值,选择所述左切片矩阵或所述右切片矩阵中相应位置的元素作为中间结果矩阵相应位置的元素。
[0143]
可选地,作为一个实施例,所述中间结果矩阵具有w行;所述垂直比较单元63包括:
[0144]
第二切分子单元,用于针对所述中间结果矩阵的本方分片,将其前w-1行作为上切
片矩阵的本方分片,将其后w-1行作为下切片矩阵的本方分片;
[0145]
第二比较子单元,用于利用多方联合进行的第二比较运算,对第二切分子单元得到的所述上切片矩阵和所述下切片矩阵进行按位两两比较,得到第二比较矩阵的本方分片。
[0146]
进一步地,所述第二选择运算,用于根据所述第二比较矩阵中元素的值是否为预定值,选择所述上切片矩阵或所述下切片矩阵中相应位置的元素作为池化结果矩阵相应位置的元素。
[0147]
可选地,作为一个实施例,所述装置还包括:
[0148]
第一索引确定单元,用于基于所述第一比较矩阵的本方分片,利用多方联合进行的第三选择运算,确定中间索引矩阵的本方分片,所述中间索引矩阵的元素为所述中间结果矩阵中对应位置元素的二维索引。
[0149]
进一步地,所述第三选择运算,用于根据所述第一比较矩阵中元素的值是否为预定值,选择预先构造的两个备选二维索引中的一个备选二维索引作为中间索引矩阵相应位置的元素。
[0150]
进一步地,所述中间索引矩阵具有w行;所述装置还包括:
[0151]
索引切分单元,用于针对所述第一索引确定单元得到的中间索引矩阵的本方分片,将其前w-1行作为上索引矩阵的本方分片,将其后w-1行作为下索引矩阵的本方分片;
[0152]
索引选择单元,用于基于所述第二比较矩阵的本方分片,利用多方联合进行的第四选择运算,根据所述第二比较矩阵中元素的值是否为预定值,选择索引切分单元得到的上索引矩阵或者下索引矩阵中的元素作为池化索引矩阵中相应位置的元素,从而得到池化索引矩阵的本方分片。
[0153]
进一步地,所述装置还包括:
[0154]
扩充单元,用于在所述索引选择单元利用多方联合进行的第四选择运算之前,针对上索引矩阵中的元素在末尾补两个0得到四维的元素,针对下索引矩阵中的元素在开头补两个0得到四维的元素。
[0155]
通过本说明书实施例提供的一种装置,输入矩阵以秘密共享的形式分布于多方,多方中的任一方首先利用水平比较单元61基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果;然后利用水平选择单元62基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中水平方向相邻元素中的较大值;接着利用垂直比较单元63基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果;最后利用垂直选择单元64基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中垂直方向相邻元素中的较大值。由上可见,本说明书实施例,将整体的计算逻辑拆分为两部分,先进行按行的比较以及根据比较结果选择最大值,再进行按列的比较以及根据比较结果选择最大值,不存在重叠的冗余计算,从而能够减小通信开销,提高整体计算效率。
[0156]
根据另一方面的实施例,还提供另一种保护隐私数据的最大池化处理装置,输入矩阵以秘密共享的形式分布于多方,所述装置设置于所述多方中的任一方,该装置用于执行本说明书实施例提供的图5所示的方法。图7示出根据另一个实施例的保护隐私数据的最大池化处理装置的示意性框图。如图7所示,该装置700包括:
[0157]
垂直比较单元71,用于基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中垂直方向相邻元素进行比较的结果;
[0158]
垂直选择单元72,用于基于所述垂直比较单元71得到的第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中垂直方向相邻元素中的较大值;
[0159]
水平比较单元73,用于基于所述垂直选择单元72得到的中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中水平方向相邻元素进行比较的结果;
[0160]
水平选择单元74,用于基于所述水平比较单元73得到的第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中水平方向相邻元素中的较大值。
[0161]
通过本说明书实施例提供的另一种装置,输入矩阵以秘密共享的形式分布于多方,多方中的任一方首先利用垂直比较单元71基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中垂直方向相邻元素进行比较的结果;然后利用垂直选择单元72基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中垂直方向相邻元素中的较大值;接着利用水平比较单元73基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中水平方向相邻元素进行比较的结果;最后利用水平选择单元74基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中水平方向相邻元素中的较大值。由上可见,本说明书实施例,将整体的计算逻辑拆分为两部分,先进行按列的比较以及根据比较结果选择最大值,再进行按行的比较以及根据比较结果选择最大值,不存在重叠的冗余计算,从而能够减小通信开销,提高整体计算效率。
[0162]
本说明书实施例提供的方案可以作为底层协议应用到使用广泛的卷积神经网络训练和预测中,提高整体上层算法的效率。
[0163]
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图4或图5所描述的方法。
[0164]
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图4或图5所描述的方法。
[0165]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能
存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0166]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
技术特征:
1.一种保护隐私数据的最大池化处理方法,输入矩阵以秘密共享的形式分布于多方,所述方法由所述多方中的任一方执行,包括:基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果;基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中水平方向相邻元素中的较大值;基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果;基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中垂直方向相邻元素中的较大值。2.如权利要求1所述的方法,其中,所述输入矩阵的维度为w行h列,所述确定第一比较矩阵的本方分片,包括:针对所述输入矩阵的本方分片,将其前h-1列作为左切片矩阵的本方分片,将其后h-1列作为右切片矩阵的本方分片;利用多方联合进行的第一比较运算,对所述左切片矩阵和所述右切片矩阵进行按位两两比较,得到第一比较矩阵的本方分片。3.如权利要求2所述的方法,其中,所述第一选择运算,用于根据所述第一比较矩阵中元素的值是否为预定值,选择所述左切片矩阵或所述右切片矩阵中相应位置的元素作为中间结果矩阵相应位置的元素。4.如权利要求1所述的方法,其中,所述中间结果矩阵具有w行;所述确定第二比较矩阵的本方分片,包括:针对所述中间结果矩阵的本方分片,将其前w-1行作为上切片矩阵的本方分片,将其后w-1行作为下切片矩阵的本方分片;利用多方联合进行的第二比较运算,对所述上切片矩阵和所述下切片矩阵进行按位两两比较,得到第二比较矩阵的本方分片。5.如权利要求4所述的方法,其中,所述第二选择运算,用于根据所述第二比较矩阵中元素的值是否为预定值,选择所述上切片矩阵或所述下切片矩阵中相应位置的元素作为池化结果矩阵相应位置的元素。6.如权利要求1所述的方法,其中,所述方法还包括:基于所述第一比较矩阵的本方分片,利用多方联合进行的第三选择运算,确定中间索引矩阵的本方分片,所述中间索引矩阵的元素为所述中间结果矩阵中对应位置元素的二维索引。7.如权利要求6所述的方法,其中,所述第三选择运算,用于根据所述第一比较矩阵中元素的值是否为预定值,选择预先构造的两个备选二维索引中的一个备选二维索引作为中间索引矩阵相应位置的元素。
8.如权利要求6所述的方法,其中,所述中间索引矩阵具有w行;所述方法还包括:针对所述中间索引矩阵的本方分片,将其前w-1行作为上索引矩阵的本方分片,将其后w-1行作为下索引矩阵的本方分片;基于所述第二比较矩阵的本方分片,利用多方联合进行的第四选择运算,根据所述第二比较矩阵中元素的值是否为预定值,选择上索引矩阵或者下索引矩阵中的元素作为池化索引矩阵中相应位置的元素,从而得到池化索引矩阵的本方分片。9.如权利要求8所述的方法,其中,所述利用多方联合进行的第四选择运算之前,所述方法还包括:针对上索引矩阵中的元素在末尾补两个0得到四维的元素,针对下索引矩阵中的元素在开头补两个0得到四维的元素。10.一种保护隐私数据的最大池化处理方法,输入矩阵以秘密共享的形式分布于多方,所述方法由所述多方中的任一方执行,包括:基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中垂直方向相邻元素进行比较的结果;基于所述第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中垂直方向相邻元素中的较大值;基于所述中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中水平方向相邻元素进行比较的结果;基于所述第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中水平方向相邻元素中的较大值。11.一种保护隐私数据的最大池化处理装置,输入矩阵以秘密共享的形式分布于多方,所述装置设置于所述多方中的任一方,包括:水平比较单元,用于基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中水平方向相邻元素进行比较的结果;水平选择单元,用于基于所述水平比较单元得到的第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中水平方向相邻元素中的较大值;垂直比较单元,用于基于所述水平选择单元得到的中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中垂直方向相邻元素进行比较的结果;垂直选择单元,用于基于所述垂直比较单元得到的第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中垂直方向相邻元素中的较大值。12.一种保护隐私数据的最大池化处理装置,输入矩阵以秘密共享的形式分布于多方,
所述装置设置于所述多方中的任一方,包括:垂直比较单元,用于基于所述输入矩阵的本方分片,利用多方联合进行的第一比较运算,确定第一比较矩阵的本方分片,所述第一比较矩阵的元素用于指示所述输入矩阵中垂直方向相邻元素进行比较的结果;垂直选择单元,用于基于所述垂直比较单元得到的第一比较矩阵的本方分片,利用多方联合进行的第一选择运算,确定中间结果矩阵的本方分片,所述中间结果矩阵的元素为所述输入矩阵中垂直方向相邻元素中的较大值;水平比较单元,用于基于所述垂直选择单元得到的中间结果矩阵的本方分片,利用多方联合进行的第二比较运算,确定第二比较矩阵的本方分片,所述第二比较矩阵的元素用于指示所述中间结果矩阵中水平方向相邻元素进行比较的结果;水平选择单元,用于基于所述水平比较单元得到的第二比较矩阵的本方分片,利用多方联合进行的第二选择运算,确定池化结果矩阵的本方分片,所述池化结果矩阵的元素为所述中间结果矩阵中水平方向相邻元素中的较大值。13.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-10中任一项的所述的方法。14.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项的所述的方法。
技术总结
本说明书实施例提供一种保护隐私数据的最大池化处理方法和装置,方法包括:基于输入矩阵的本方分片,多方联合确定第一比较矩阵的本方分片,其指示输入矩阵水平方向相邻元素比较的结果;基于第一比较矩阵的本方分片,多方联合确定中间结果矩阵的本方分片,中间结果矩阵的元素为输入矩阵中水平方向相邻元素中的较大值;基于中间结果矩阵的本方分片,多方联合确定第二比较矩阵的本方分片,用于指示中间结果矩阵中垂直方向相邻元素比较的结果;基于第二比较矩阵的本方分片,多方联合确定池化结果矩阵的本方分片,池化结果矩阵的元素为中间结果矩阵中垂直方向相邻元素中的较大值。能够减小通信开销,提高整体计算效率。提高整体计算效率。提高整体计算效率。
技术研发人员:吴豪奇
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2023.06.26
技术公布日:2023/9/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:列车自动联挂方法及装置与流程 下一篇:一种定子结构及其装配方法与流程
