一种用于全同态CNN推理的批量编码方法

文档序号:37140828发布日期:2024-02-26 16:53阅读:20来源:国知局
一种用于全同态CNN推理的批量编码方法

本发明属于隐私计算领域,涉及到全同态cnn推理技术,具体涉及一种用于全同态cnn推理的批量编码方法。


背景技术:

1、互联网技术是基于信息和数据的技术,从公共交通状况到个人的消费医疗记录,全世界每天都在不断产生海量的数据。数据的传输及存储都伴随着被攻击和窃取的风险,根据赛迪智库数据,累计超过48亿人次的个人信息被泄露,这进一步引起了公众对于数据安全和隐私保护的重视。因此数据的隐私保护问题逐渐成为业界关注的焦点,其中神经网络推理涉及大量敏感数据,如交通图片、医疗记录、个人信息等。全同态密码算法是基于格的公钥密码算法中的一类,该方案具有加密计算的特点,即能够在不进行解密的时候对数据进行计算,并且其计算结果经过解密后与原数据直接进行计算的结果一致。使用全同态加密技术可以保护这些数据的隐私,确保在神经网络计算过程中,数据始终处于加密状态,从而防止泄漏。

2、fv-rns体系的加密算法由于具有simd的技术优势,对神经网络的推理计算十分友好,是目前主流的全同态加密算法。采用何种方式将数据映射到密文多项式上成为降低神经网络计算延时的重要研究方向。一个密文承载一个推理任务的编码方案拥有较低的推理延时,但完成多任务时需要花费过多时间。全并行的编码方式可以使多任务的推理延时降到最低,但由于其单次推理时间过长、所需内存高达百gb而难以被终端接受。因此提供一种能够在终端设备完成低延时的全同态cnn隐私推理的低内存需求的多任务并行批量编码方法是很有必要的。


技术实现思路

1、本发明提出了一种用于多任务并行推理的全同态cnn推理编码方案,通过将输入特征图像素点以及网络参数以特定方式编码到密文、明文上,从而高效的实现cnn中的卷积、全连接、池化、激活函数等操作,实现多任务低延时的cnn隐私推理。

2、一种用于全同态cnn推理的批量编码方法,包括以下步骤

3、1)根据cnn网络第一层卷积核的尺寸将输入特征图切割为若干与卷积核尺寸等大的基本窗口;所述卷积核的尺寸为k×k,基本窗口的像素点共有k2个;

4、2)从所有切割好的基本窗口上抓取同一位置的像素点,将抓取的同一位置的所有像素点映射到多项式上加密为输入特征图的一条原始密文;遍历所有像素点,得到k2条原始密文;

5、3)将cnn网络的所有卷积层权重和全连接层权重分别映射为卷积层权重明文和全连接层权重明文,获得适用于全同态隐私推理的cnn模型;全同态隐私推理的cnn模型包括卷积层、激活函数以及全连接层;所述卷积层用于对原始密文进行循环位移操作得到r(x)密文,将原始密文或r(x)密文与卷积核权重明文进行点乘后再进行累加,得到卷积层的输出,其中x为循环位移的位数;所述激活函数用于对卷积层的输出进行密文乘法操作,从而得到激活结果密文,所述全连接层用于将输入全连接层的激活结果密文与全连接层权重明文进行点乘操作后输出全连接层的结果密文;

6、4)将步骤2)得到的原始密文输入到步骤3)得到的适用于全同态隐私推理的cnn模型中,进行卷积、全连接、激活函数操作,得到cnn模型运算结果,完成全同态隐私推理的批量编码。

7、作为本发明的优选方案,在进行批量编码前,确认cnn网络第一层卷积的步长s是否为1,若s为1则直接进行;若s不为1则将卷积核和输入特征图分解成s2组,每组均按照步长为1的映射进行编码,然后对每一组分别进行步长为1的卷积操作,再将s2个分割的部分相加,即可完成卷积。

8、作为本发明的优选方案,所述步骤3)中,卷积层明文多项式和全连接层明文多项式均具有n个多项式系数,将卷积层权重的每一个权重复制n份,映射到卷积层明文多项式系数上,将全连接层权重的每一个权重复制n份,映射到全连接层明文多项式系数上,获得卷积层明文多项式和全连接层明文多项式。

9、作为本发明的优选方案,所述步骤4)中,通过适用于全同态隐私推理的cnn模型中的卷积层进行全同态的卷积操作。

10、作为本发明的优选方案,所述步骤4)中,全同态的卷积操作具体为:

11、a1)将原始密文与卷积层的卷积核权重明文做多项式的点乘操作得到结果密文;

12、a2)将步骤1)得到的结果密文进行累加,得到卷积层第一个窗口的输出;

13、a3)将k2条原始密文按获得顺序分为k组,每组k条原始密文,将每组的前k-1条原始密文循环左移一位,得到r1密文,其中k为当前卷积层卷积核的尺寸;

14、a4)将得到的r1密文以及剩余未进行步骤a3)操作的原始密文与卷积核权重明文进行点乘操作得到结果密文,然后将得到的结果密文进行累加,得到卷积层最右边窗口的输出;

15、a5)从原始密文和步骤a3)得到的r1密文中选取向右滑窗所需的密文,并将选取的密文与相应的卷积核权重明文进行点乘操作得到结果密文,然后将得到的结果密文进行累加,得到卷积层第一行所有窗口的输出;

16、a6)将k2条原始密文分为k组,每组k条原始密文,将前k-1组中的所有原始密文通过循环左移k位,得到rk密文;其中k为当前卷积层卷积核的尺寸;

17、a7)将得到的rk密文以及剩余未进行向左循环移位操作的原始密文与对应的权重明文进行点乘操作得到结果密文,将得到的结果密文进行累加,得到卷积层左下角窗口的输出;

18、a8)从原始密文和步骤a6)得到的rk密文选取对应的窗口所需的密文,与相应的权重明文进行点乘操作得到卷积层第一列所有窗口的结果密文,将得到的结果密文进行累加,得到卷积层第一列所有窗口的输出;

19、a9)将步骤a6)得到的rk密文循环左移一位,得到r(k+1)密文与相应的权重明文进行点乘操作得到结果密文,将得到的结果密文进行累加,得到卷积层右下角窗口的输出;

20、a10)对原始密文、r1密文、rk密文、r(k+1)密文进行遍历,得到本层卷积层所有窗口的密文,并与权重明文分别进行点乘操作,得到本层卷积层所有窗口的结果密文,将每个窗口各自的结果密文进行累加,得到卷积层的输出。

21、作为本发明的优选方案,所述全同态隐私推理的cnn模型中,卷积层可以为多层,每两层卷积层之间设置有一层池化层;所述池化层)将上一层卷积层的输出作为池化层的输入,经池化层池化后输入到下一层卷积层中进行卷积。

22、作为本发明的优选方案,所述全同态隐私推理的cnn模型中,全连接层至少为一层;更为优选的,全连接层为二层。

23、作为本发明的优选方案,所述全同态隐私推理的cnn模型中的全连接层进行全连接的操作具体为:

24、所述全同态隐私推理的cnn模型中的全连接层进行全连接的操作具体为:

25、b1)将输入到全连接层的激活结果密文与第一层全连接层的全连接层权重明文进行点乘操作得到第一层全连接层的中间结果密文;

26、b2)若得到中间结果密文的全连接层不是最后一层,则将得到的中间结果密文输入到下一层全连接层中,与下一层全连接层的全连接层权重明文进行点乘操作得到下一层全连接层的中间结果密文;

27、b3)若得到中间结果密文的全连接层为最后一层,则将所有的中间结果密文分别进行移位累加操作,得到最终的结果密文,完成全连接操作。

28、本发明还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述的批量编码方法。

29、本发明进一步提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,完成上述的批量编码方法。

30、与现有技术相比,本发明所具有的有益效果有:

31、1)因为本发明采用的编码方案支持本地全同态cnn隐私推理,使推理任务在加密之后无需与客户端进行频繁交互,因此克服了现有技术中的客户端与云端频繁交互加解密带来的通信开销、延时开销以及泄密风险,从而取得了高安全性、低延时、低通讯开销的本地全同态隐私推理的效果;

32、2)因为本发明采用的编码方案使全连接层的一条明文可同时承载多个权值,降低了明文的内存占用空间,因此克服了现有技术中并行编码造成的内存开销巨大的问题,从而取得了全同态隐私推理可在终端设备进行运行的效果;

33、3)因为本发明采用的编码方案支持并行推理多个任务,使任务的平均推理时长大大降低,因此克服了现有技术中批量任务推理时长过大的问题。从而取得了快速多任务并行推理的效果。

34、4)因为本发明采用的编码方案支持任意深度的全同态卷积操作,因此克服了现有技术中全同态隐私推理只能应用于单层卷积神经网络的弊端。从而取得了使全同态隐私推理适用于多层卷积的神经网络的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1