将明文域神经网络应用于同态密文域的方法及系统与流程

文档序号:33767543发布日期:2023-04-18 20:09阅读:130来源:国知局
将明文域神经网络应用于同态密文域的方法及系统与流程

本发明涉及一种数据加密方法,具体涉及一种将明文域神经网络应用于同态密文域的方法。本发明还涉及一种将明文域神经网络应用于同态密文域的系统。


背景技术:

1、随着互联网业务带来的数据激增以及半导体技术发展带来的算力增长,人工智能技术及相关应用得到了蓬勃的发展。人工智能技术极大地促进了相关应用领域的自动化程度和生产效率的提高,使得居民的生活更加便捷。但是,人工智能技术也增加了数据滥用的风险,带来了隐私方面的担忧。《通用数据保护条例》(general data protectionregulation,简称gdpr)等法规一方面强化了数据使用者的限制和责任,另一方面也促进了隐私保护计算技术的发展。

2、在众多的隐私保护计算的技术路线中,同态加密(homomorphic encryption,he)技术是具有较高技术难度和广泛应用前景的一种,而同态密码学更是被誉为密码学的“圣杯”。同态加密隐私保护的基本思路是:对明文数据进行同态加密,使得加密后的密文数据具有与明文相同的某些计算性质。例如,对密文进行加法计算后,再将结果解密,等同于在明文上进行加法运算。2009年,craig gentry提出了第一种全同态加密方案,验证了全同态加密的技术可行性。在此之后,世界各国相关领域的学者对全同态加密进行了更深入地研究,先后提出了bfv方案、ckks方案等多种更具有实用性的同态加密方案。

3、尽管全同态加密可以支持加法和乘法,但在同态加密密文上进行机器学习建模时,依然会面临一些限制。以典型的多层感知器神经网络为例,这类神经网络中,通常具有至少一层隐藏层。在隐藏层中,前一层输入的净激活值通过激活函数转换后,传递给后续激活层或者输出层。激活函数具有非线性特性,因而不同层之间的激活函数的复合可以使得神经网络具备拟合任意连续函数的能力。但由于同态密文域仅支持加法和乘法,已经广泛使用的神经网络激活函数,如sigmoid、tanh等函数均不能直接适用于同态密文的计算,因此在同态加密神经网络中,需要根据同态加密的特点,使用同态密文域适用的激活函数来替代现有的激活函数来进行神经网络模型的训练和推断。

4、cryptonets是由微软公司于2016年提出的同态加密神经网络,该网络能针对采用同态加密方案加密的mnist图像数据集进行分类。cryptonets的激活函数采用的是平方激活函数。平方激活函数具有非线性和乘法次数低的特点,便于在同态密文域进行计算。但与其他经典激活函数如sigmoid、tanh、relu等相比,其图像较为陡峭,训练过程中容易出现不稳定的情况。为了使得训练收敛,往往还需要对输入数据及权重数据的尺度以及超参数进行相应调整。这不仅增加了建模的工作量,也不利于在研究中与经典激活函数进行比较研究。因为在实际使用中,为了能便于比较不同激活函数的效果,同时减少工作量,通常希望能尽可能多地复用明文域现有的网络结构、超参数以及数据预处理,而不希望针对同态密文域做太多的额外工作。

5、使用多项式逼近经典激活函数的方法也是被学术界广泛讨论过的解决方案。例如,可以使用泰勒级数展开的形式逼近sigmoid、tanh等激活函数,也可以通过切比雪夫多项式等正交多项式、以及数值拟合多项式来逼近。多项式逼近方法具有坚实的理论基础,在数值计算领域有着广泛的应用,并且已经在同态加密神经网络中取得了不俗的效果。但多项式逼近方法也有其局限性。例如,存在乘法次数过高的问题。尽管理论上同态密文域可以进行乘法计算,但乘法计算的成本要远远高于加法计算,因此,尽量降低乘法次数依然是非常重要的。另外,逼近邻域狭窄也是限制该方法使用的一个问题。尽管多项式逼近可以在给定区间上逼近经典的激活函数,但这个区间通常都比较窄,一旦计算的数值超出了这个逼近邻域,则会引入较大逼近误差,这就给模型的训练带来了很大的不确定性,同时也增加了数据预处理以及超参数设置的难度。如图1所示,尽管泰勒展开可以逼近sigmoid函数,但只能在邻域内逼近。离开逼近邻域后,逼近误差就迅速扩大。

6、此外,同态密文激活函数的性能指标或者说优度计算,和经典激活函数的评价指标也应有所不同。由于明文域进行神经网络计算时没有诸如计算深度上的限制,所以学术研究在评价激活函数的优度时,通常以针对特定数据集如mnist、fmnist、cifar-10等进行分类的准确度等为主要评价指标。但是在同态加密域进行神经网络计算时,还需要综合考虑激活函数进行密文乘法运算的计算深度限制。以ckks为例,随着乘法计算深度的增加,不得不牺牲一定的安全性和/或计算成本。因此在评价同态加密激活函数的优度时,不仅需要考虑如分类准确度等性能指标,还应综合考虑所需乘法次数因素的影响。但目前的研究文献中均缺少这方面的考量,而基本以分类准确性为主要性能指标。


技术实现思路

1、本发明所要解决的技术问题是提供一种将明文域神经网络应用于同态密文域的方法,它可以选择用于同态加密神经网络的最优激活函数,从而使具有该最优激活函数的明文域神经网络能够应用于同态密文域。

2、为解决上述技术问题,本发明将明文域神经网络应用于同态密文域的方法的技术解决方案为,包括以下步骤:

3、第一步,添加候选激活函数;所述候选激活函数采用幂函数;

4、第二步,统计经典激活函数的性能指标;

5、第三步,初始化所述候选激活函数的梯度修正系数k和幂指数n;

6、第四步,根据给定的网络结构n、优化算法a、超参数λ、损失函数l,训练数据集dtrain和验证数据集dvalid,采用经过初始化的候选激活函数训练神经网络模型,并在验证数据集dvalid上计算性能指标,得到所述候选激活函数在验证数据集dvalid上的性能指标fφ;

7、第五步,根据候选激活函数的优化公式,计算候选激活函数的优度;

8、第六步,确定最优激活函数。

9、在另一实施例中,所述候选激活函数采用以下形式的幂函数:

10、

11、其等价形式为:

12、

13、其中,k为梯度修正系数,k=1/m;m的取值范围为[1,mmax];mmax为不超过10000的正整数;

14、n为幂指数;n的取值范围为[1,nmax];nmax为不超过10的正整数。

15、在另一实施例中,所述候选激活函数的优化公式为:

16、

17、其中,ф为候选激活函数集,

18、w1为性能偏差惩罚项权重,w1值为大于0的实数;

19、fφ为候选激活函数在验证数据集dvalid上的性能指标,

20、为网络结构n中所有经典激活函数在验证数据集dvalid上的性能指标的均值,

21、σf为网络结构n中所有经典激活函数在验证数据集dvalid上的性能指标的标准差,

22、w2为乘法次数惩罚项权重,w2为大于0的实数;

23、dφ为候选激活函数在密文域执行乘法的最大次数,dφ=幂指数n;

24、j为对于超额次数的惩罚强化系数,j为自然数1、2、3中的任意一个。

25、在另一实施例中,所述第五步的具体方法为:将符合取值范围条件的梯度修正系数k和幂指数n分别代入优化公式中的候选激活函数中,计算性能偏差惩罚项与乘法次数惩罚项的惩罚项之和φ*;

26、其中,k=1/m;m的取值范围为[1,mmax];mmax为不超过10000的正整数;

27、n为幂指数;n的取值范围为[1,nmax];nmax为不超过10的正整数。

28、在另一实施例中,所述第五步的具体方法为:根据搜索规则,遍历搜索空间,将梯度修正系数k和幂指数n分别代入优化公式中的候选激活函数中,得到多个性能偏差惩罚项与乘法次数惩罚项的惩罚项之和φ*;

29、所述搜索规则为网格搜索、斐波拉契数列搜索、随机搜索中的任意一种;

30、所述搜索空间由m和n的取值范围决定,m和n为正整数;m的取值范围为[1,mmax],mmax为不超过10000的正整数;n的取值范围为[1,nmax],nmax为不超过10的正整数。

31、在另一实施例中,所述第六步的具体方法为:将所述第五步得到的所有梯度修正系数k和幂指数n的组合所对应的惩罚项之和φ*的大小进行比较,选择惩罚项之和φ*的最小值所对应的梯度修正系数k和幂指数n,作为最优激活函数的参数,则具有该最优激活函数的网络结构n能够应用于同态密文域。

32、本发明还提供一种将明文域神经网络应用于同态密文域的系统,其技术解决方案为:

33、以给定的明文域神经网络结构n、优化算法a、超参数λ、损失函数l,训练数据集dtrain和验证数据集dvalid为基础,包括以下模块:

34、候选激活函数添加模块,被配置为采用幂函数作为待优化的候选激活函数添加到给定的所述网络结构n的框架中;

35、激活函数性能指标统计模块,被配置为对给定的所述网络结构n中经典激活函数的性能指标进行统计,并根据统计结果进行计算,得到所述网络结构n中所有经典激活函数的性能指标的均值和标准差σf;

36、候选激活函数的参数初始化模块,被配置为初始化所述候选激活函数添加模块所添加的候选激活函数的梯度修正系数k和幂指数n;

37、神经网络模型训练模块,被配置为根据所述给定的网络结构n、优化算法a、超参数λ、损失函数l,训练数据集dtrain和验证数据集dvalid,利用经过初始化的候选激活函数训练神经网络模型,并在验证数据集dvalid上计算性能指标,得到候选激活函数在验证数据集dvalid上的性能指标fφ;

38、搜索模块,被配置为根据候选激活函数的优化公式,计算候选激活函数的优度;以及

39、最优激活函数选择模块,被配置为将所述搜索模块所得到的所有梯度修正系数k和幂指数n的组合所对应的惩罚项之和φ*的大小进行比较,选择惩罚项之和φ*的最小值所对应的梯度修正系数k和幂指数n,作为最优激活函数的参数,则具有该最优激活函数的网络结构n能够应用于同态密文域。

40、在另一实施例中,所述候选激活函数的优化公式为:

41、

42、其中,ф为候选激活函数集,

43、w1为性能偏差惩罚项权重,w1值为大于0的实数;

44、fφ为候选激活函数在验证数据集dvalid上的性能指标,

45、为网络结构n中所有经典激活函数在验证数据集dvalid上的性能指标的均值,

46、σf为网络结构n中所有经典激活函数在验证数据集dvalid上的性能指标的标准差,

47、w2为乘法次数惩罚项权重,w2为大于0的实数;

48、dφ为候选激活函数在密文域执行乘法的最大次数,dφ=幂指数n;

49、j为对于超额次数的惩罚强化系数,j为自然数1、2、3中的任意一个。

50、在另一实施例中,所述搜索模块的搜索方法为:根据搜索规则,遍历搜索空间,将梯度修正系数k和幂指数n分别代入优化公式中的候选激活函数中,得到多个性能偏差惩罚项与乘法次数惩罚项的惩罚项之和φ*;

51、所述搜索规则为网格搜索、斐波拉契数列搜索、随机搜索中的任意一种;

52、所述搜索空间由m和n的取值范围决定,m和n为正整数。

53、本发明还提供一种能够应用于同态密文域的神经网络模型,其技术解决方案为:

54、以给定的明文域神经网络结构n、优化算法a、超参数λ、损失函数l,训练数据集dtrain和验证数据集dvalid为基础,包含经典激活函数,以及最优激活函数。

55、本发明可以达到的技术效果是:

56、本发明采用与现有的机器学习框架中的经典激活函数完全不同的幂函数作为激活函数,并以机器学习框架中的经典激活函数的性能指标作为优化目标,对幂函数进行优化,得到最优激活函数;采用该最优激活函数的明文域神经网络能够应用于同态密文域,从而提高了神经网络在数据处理过程中的隐私保护能力。

57、本发明在对幂函数进行优化的过程中,包含了性能偏差惩罚项和乘法次数惩罚项;由于性能偏差惩罚项中以网络结构n中已有的经典激活函数的性能指标作为候选激活函数在性能指标上需要逼近的目标,因此所得到的最优激活函数与经典激活函数的综合表现最为接近,因此能够替代机器学习框架中的经典激活函数;同时,该最优激活函数所需的乘法次数最少,因此其计算成本较小。

58、本发明所得到最优激活函数能够用于全同态加密的神经网络的计算,从而提高了数据使用过程中隐私安全性,且该最优激活函数仅需要进行乘法和加法计算,计算成本较小。

59、本发明在优化激活函数的过程中,以接近明文域经典激活函数的性能指标为主要优化目标之一,因此所得到的最优激活函数与神经网络模型中已有的经典激活函数的性能指标最接近。

60、本发明在优化激活函数的过程中,所采用的优化公式具有乘法次数惩罚项,所得到的最优激活函数的乘法次数最低,能够降低同态密文域的运算成本。

61、本发明解决了现有的主流机器学习框架中内置的经典激活函数不能用于同态加密的密文计算,因此数据使用过程中隐私安全性较差的技术问题。

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