CN115906129A - 基于同态加密的机器学习中非线性运算逼近方法及装置 - Google Patents

基于同态加密的机器学习中非线性运算逼近方法及装置 Download PDF

Info

Publication number
CN115906129A
CN115906129A CN202211645588.7A CN202211645588A CN115906129A CN 115906129 A CN115906129 A CN 115906129A CN 202211645588 A CN202211645588 A CN 202211645588A CN 115906129 A CN115906129 A CN 115906129A
Authority
CN
China
Prior art keywords
result
determining
initial value
function
iteration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211645588.7A
Other languages
English (en)
Inventor
王煜坤
冯新宇
王湾湾
何浩
姚明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dongjian Intelligent Technology Co ltd
Original Assignee
Shenzhen Dongjian Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Dongjian Intelligent Technology Co ltd filed Critical Shenzhen Dongjian Intelligent Technology Co ltd
Priority to CN202211645588.7A priority Critical patent/CN115906129A/zh
Publication of CN115906129A publication Critical patent/CN115906129A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Calculators And Similar Devices (AREA)

Abstract

本申请实施例公开了一种基于同态加密的机器学习中非线性运算逼近方法及装置,所述方法包括:获取初值,所述初值根据预设明文进行同态加密得到;将所述初值采用牛顿迭代公式进行k轮运算,得到迭代结果,所述牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数;根据所述迭代结果确定指定函数的运算结果,所述指定函数包括激活函数或者倒数函数,所述运算结果用于机器学习,所述机器学习包括联邦学习。采用本申请实施例可以在隐私保护中,实现ReLU函数或者倒数函数在同态密文状态下运算。

Description

基于同态加密的机器学习中非线性运算逼近方法及装置
技术领域
本申请涉及隐私计算技术领域以及计算机技术领域,具体涉及一种基于同态加密的机器学习中非线性运算逼近方法及相关装置。
背景技术
随着隐私保护方面法律、法规的日趋严格,越来越多的公司采用隐私计算在“数据不出本地”的前提下释放自身数据的价值。隐私计算是一类技术方案的合集,包括了联邦学习(federated learning,FL),多方安全计算(secure multi-party computation,MPC),可信计算(trusted execution environment,TEE)等,在处理和分析计算数据的过程中能保持数据不透明、不泄露、无法被计算方法以及其他非授权方获取。
机器学习也在隐私保护中得到广泛应用,机器学习中有非常多的非线性运算函数,在这些函数中ReLU函数或者倒数函数是机器学习中常用的非线性运算,但是,ReLU函数或者倒数函数在同态密文状态下无法进行运算,因此,如何在隐私保护中,实现ReLU函数或者倒数函数在同态密文状态下运算的问题亟待解决。
发明内容
本申请实施例提供了一种基于同态加密的机器学习中非线性运算逼近方法及装置,可以在隐私保护中,实现ReLU函数或者倒数函数在同态密文状态下运算。
第一方面,本申请实施例提供一种基于同态加密的机器学习中非线性运算逼近方法,所述方法包括:
获取初值,所述初值根据预设明文进行同态加密得到;
将所述初值采用牛顿迭代公式进行k轮运算,得到迭代结果,所述牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数;
根据所述迭代结果确定指定函数的运算结果,所述指定函数包括激活函数或者倒数函数,所述运算结果用于机器学习,所述机器学习包括联邦学习。
第二方面,本申请实施例提供了一种基于同态加密的机器学习中非线性运算逼近装置,所述装置包括:获取单元、运算单元和确定单元,其中,
所述获取单元,用于获取初值,所述初值根据预设明文进行同态加密得到;
所述运算单元,用于将所述初值采用牛顿迭代公式进行k轮运算,得到迭代结果,所述牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数;
所述确定单元,用于根据所述迭代结果确定指定函数的运算结果,所述指定函数包括激活函数或者倒数函数,所述运算结果用于机器学习,所述机器学习包括联邦学习。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请实施例,具备如下有益效果:
可以看出,本申请实施例中所描述的基于同态加密的机器学习中非线性运算逼近方法及装置,获取初值,初值根据预设明文进行同态加密得到,将初值采用牛顿迭代公式进行k轮运算,得到迭代结果,牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数,根据迭代结果确定指定函数的运算结果,指定函数包括激活函数或者倒数函数,运算结果用于机器学习,机器学习包括联邦学习,不仅能够在隐私保护中,实现ReLU函数或者倒数函数在同态密文状态下运算,还能够通过同态加密,可以保证机器学习的全流程安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于同态加密的机器学习中非线性运算逼近方法的流程示意图;
图2是本申请实施例提供的一种用于实现基于同态加密的机器学习中非线性运算逼近方法的多方计算系统的架构示意图;
图3是本申请实施例提供的一种电子设备的结构示意图;
图4是本申请实施例提供的一种基于同态加密的机器学习中非线性运算逼近装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所描述计算节点,即参与方,则计算节点可以为电子设备,电子设备可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、行车记录仪、服务器、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备(如智能手表、蓝牙耳机)等,上述仅是举例,而非穷举,包含但不限于上述电子设备,该电子设备也可以为云服务器,或者,该电子设备也可以为计算机集群。本申请实施例中,结果方、发送方均可以为上述电子设备。
下面对本申请实施例进行详细介绍。
实际应用中,ReLU函数是一种广泛应用在神经网络中的激活函数,倒数函数广泛应用在机器学习的各个阶段。目前,在机器学习算法中,常用的隐私保护手段为同态加密,同态加密首先会将输入进行加密,之后所有的运算都在密文状态下进行,因此需要将所有运算转化为多项式表达,但对于ReLU函数和倒数函数这两种非线性运算目前没有一种好的多项式逼近方式来完成这个任务。因此目前的解决方式为避免在密文状态下应用这两种函数。相关技术中,仅是避免这两种函数密文状态下输入,限制了机器学习的使用场景。函数运算中会暴露部分信息,不完全符合隐私保护的安全性需求。
为了解决相关技术中的缺陷,请参阅图1,图1是本申请实施例提供的一种基于同态加密的机器学习中非线性运算逼近方法的流程示意图;如图所示,本基于同态加密的机器学习中非线性运算逼近方法包括:
101、获取初值,所述初值根据预设明文进行同态加密得到。
本申请实施例中,预设明文可以预先设置或者系统默认。例如,a[0]表示初值。
具体实现中,本申请实施例中的所有加法以及乘法均为同态加法、乘法,输入为[x],这里[x]为同态加密的密文,x表示明文。
102、将所述初值采用牛顿迭代公式进行k轮运算,得到迭代结果,所述牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数。
本申请实施例中,k为迭代轮数,迭代轮数与初值相关,不同的初值可以对应不同的迭代轮数,即不同的初值,k取值不同。
本申请实施例中,迭代结果可以包括由预设明文的平方根算子构成的一个表达式。
实际应用中,原始牛顿迭代公式如下:
Figure BDA0004004423570000031
本申请实施例中,牛顿迭代公式中的每个算子以及每个运算均为同态运算,即牛顿迭代公式如下:
Figure BDA0004004423570000032
实际应用中,针对ReLU函数而言,按照如下公式迭代8轮,即n=8,迭代公式为:
Figure BDA0004004423570000033
其中,这里的乘法以及减法均为同态运算,其中除以2可以用乘1/2来代替。迭代最终结果记为a,此时
Figure BDA0004004423570000041
实际应用中,针对倒数函数而言,按照如下公式迭代8轮,即n=8,迭代公式为:
Figure BDA0004004423570000042
其中,这里的乘法以及减法均为同态运算,其中,除以2可以用乘1/2来代替。迭代结果记为a,此时
Figure BDA0004004423570000043
103、根据所述迭代结果确定指定函数的运算结果,所述指定函数包括激活函数或者倒数函数,所述运算结果用于机器学习,所述机器学习包括联邦学习。
本申请实施例中,指定函数可以包括激活函数或者倒数函数,激活函数可以包括ReLU函数。
其中,运算结果可以包括多项式,该多项式可以仅包括同态加法,和/或,同态乘法运算。
举例说明下,实际应用中,例如,第三方开发一种深度学习模型的预测函数对患者的医学数据进行某种疾病的检测,该预测函数中包括线性运算,如加减乘等(目前,同态加密已经支持),也包括一些非线性运算,例如ReLU函数等。但是,由于隐私保护的要求,医疗结构不可以直接将患者数据明文暴露,因此,需要将患者数据加密,并且该深度学习模型中的所有运算替换成同态运算,第三方运算完成后将密文结果返回给医疗机构,医疗结构解密获得患者的模型预测值。
举例说明下,实际应用中,例如,第三方开发一种深度学习模型的预测函数对患者的医学数据进行某种疾病的检测,该预测函数中包括线性运算,如加减乘等(目前同态加密已经支持),也包括一些非线性运算,例如,ReLU函数等,但是,由于隐私保护的要求,医疗结构不可以直接将患者数据明文暴露,因此,需要将患者数据加密,并且深度学习模型中的所有运算替换成同态运算,采用本申请实施例,则可以在不直接将患者数据明文暴露的情况下,将深度学习模型中的所有运算替换成同态运算,则第三方运算完成后将密文结果返回给医疗机构,医疗结构解密获得患者的模型预测值,从而保证机器学习的全流程安全性。
可选的,在所述指定函数包括激活函数时,上述步骤101,获取初值,可以包括如下步骤:
A11、确定所述预设明文的平方结果,并确定所述平方结果的第一比特长度值;
A12、根据所述第一比特长度值进行同态加密,得到所述初值;
或者,
A13、确定所述预设明文中的每一个明文的平方结果,并对该平方结果进行同态加密,得到至少一个同态加密平方结果,确定所述至少一个同态加密平方结果中的最大值,根据该最大值确定所述初值。
本申请实施例中,可以确定预设明文的平方结果,并确定平方结果的第一比特长度值,例如,x表示明文,L是x2的比特长度值,即第一比特长度值,初值可以选为
Figure BDA0004004423570000044
其中,a[0]表示初值。
或者,本申请实施例中,预设明文可以包括至少一个明文,x表示明文,xi表示第i个明文,具体的,确定预设明文中的每一个明文的平方结果,并对该平方结果进行同态加密,得到至少一个同态加密平方结果,确定至少一个同态加密平方结果中的最大值,根据该最大值确定初值,即
Figure BDA0004004423570000051
其中,a[0]表示初值。
举例说明下,针对ReLU函数,初值可以选为
Figure BDA0004004423570000052
其中,L是x2的比特长度值,也可以选为
Figure BDA0004004423570000053
进一步的,上述步骤103,根据所述迭代结果确定指定函数的运算结果,可以包括如下步骤:
A31、根据所述迭代结果确定平方根算子;
A32、根据所述平方根算子逼近所述激活函数,得到所述运算结果。
本申请实施例中,假设迭代结果表示为
Figure BDA0004004423570000054
则可以下一步计算平方根算子:
Figure BDA0004004423570000055
接着,可以根据该平方根算子逼近激活函数,得到运算结果,具体如下:
Figure BDA0004004423570000056
本申请实施例中,为了实现适用于同态加密的ReLU函数的多项式逼近算法,解决了ReLU函数在同态密文状态下无法进行运算的问题,设计了一种能够精确近似ReLU函数的多项式逼近算法,多项式中仅用同态加法以及同态乘法运算,另外,本申请实施例中,通过同态加密,可以保证机器学习的全流程安全性。
举例说明下,本申请实施例中的所有加法以及乘法均为同态加法、乘法,其中,输入为[x],这里[x]为同态加密的密文,x表示明文,针对ReLU函数,具体步骤如下:
1、初值选为
Figure BDA0004004423570000057
其中,L是x2的比特长度值,也可以选为
Figure BDA0004004423570000058
2、按照如下公式迭代8轮,迭代公式为:
Figure BDA0004004423570000059
这里的乘法以及减法均为同态运算,其中除以2可以用乘1/2来代替。迭代最终结果记为a,此时
Figure BDA00040044235700000510
3、下一步计算
Figure BDA00040044235700000511
4、最后
Figure BDA00040044235700000512
本申请实施例中,使用多项式
Figure BDA00040044235700000513
精确逼近ReLU函数,使得能够使用同态加密完成计算任务。所有步骤不使用同态除法运算,同态除法运算精度低,耗时高,对初值十分敏感。本申请实施例中,通过构造合适的多项式以及牛顿迭代方式,避免了除法的使用,实际应用中,迭代轮数少,收敛速度快,通常在8轮以内结果即可比较精确,精度一般在0.001以上。
可选的,在所述指定函数包括倒数函数时,上述步骤101,获取初值,可以包括如下步骤:
B11、确定所述预设明文的第二比特长度值;
B12、根据所述第二比特长度值确定所述初值;
或者,
B13、将所述预设明文中每一明文进行同态加密,得到至少一个密文;
B14、确定所述至少一个密文中的最大值,根据该最大值确定所述初值。
本申请实施例中,可以确定预设明文的第二比特长度值,根据第二比特长度值确定初值,例如,x表示明文,其中,L是x的比特长度值,即第二比特长度值,则初值选为
Figure BDA0004004423570000061
其中,a[0]表示初值。
或者,本申请实施例中,可以将预设明文中每一明文进行同态加密,得到至少一个密文,再确定至少一个密文中的最大值,根据该最大值确定初值,
Figure BDA0004004423570000062
其中,a[0]表示初值。
举例说明下,针对倒数函数,初值选为
Figure BDA0004004423570000063
其中L是x的比特长度值,也可以选为
Figure BDA0004004423570000064
可选的,上述步骤103,根据所述迭代结果确定指定函数的运算结果,可以按照如下方式实施:
将所述迭代结果进行平方运算,得到所述倒数函数的运算结果。
本申请实施例中,迭代结果可以为平方根算子,具体可以为基于预设明文的平方根算子,进而,将迭代结果进行平方运算,得到倒数函数的运算结果。
具体实现中,倒数函数的运算结果可以如下:
Figure BDA0004004423570000065
本申请实施例中,为了实现适用于同态加密的倒数函数的多项式逼近算法,解决了倒数函数在同态密文状态下无法进行运算的问题,设计了一种能够快速收敛的倒数函数多项式逼近算法,该多项式中仅用同态加法以及同态乘法运算,本申请实施例中,通过同态加密,可以保证机器学习的全流程安全性。
举例说明下,本申请实施例中的所有加法以及乘法均为同态加法、乘法,输入为[x],这里[x]为同态加密的密文,x表示明文,针对倒数函数而言,具体步骤如下:
1、初值选为
Figure BDA0004004423570000066
其中L是x的比特长度值,也可以选为
Figure BDA0004004423570000067
2、按照如下公式迭代8轮,迭代公式为;
Figure BDA0004004423570000071
这里的乘法以及减法均为同态运算,其中除以2可以用乘1/2来代替。迭代结果记为a,此时
Figure BDA0004004423570000072
3、下一步计算
Figure BDA0004004423570000073
本申请实施例中,采用精确的多项式逼近方式实现ReLU函数,通过对多项式合理分配,仅需要开发1/sqrt算子(平方根算子)即可完成计算任务。在计算sqrt算子时通过牛顿迭代计算1/sqrt,随后通过多项式乘法组合得到最终结果,可以避免除法的使用,降低运算复杂度,提升运算效率。
可以看出,本申请实施例中所描述的基于同态加密的机器学习中非线性运算逼近方法,获取初值,初值根据预设明文进行同态加密得到,将初值采用牛顿迭代公式进行k轮运算,得到迭代结果,牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数,根据迭代结果确定指定函数的运算结果,指定函数包括激活函数或者倒数函数,运算结果用于机器学习,机器学习包括联邦学习,不仅能够在隐私保护中,实现ReLU函数或者倒数函数在同态密文状态下运算,还能够通过同态加密,可以保证机器学习的全流程安全性。
总之,本申请实施例中,主要为了实现适用于同态加密的ReLU函数和倒数函数的多项式逼近算法。本申请实施例,主要解决了ReLU函数和倒数函数在同态密文状态下无法进行运算的问题,不仅设计了一种能够精确近似ReLU函数的多项式逼近算法。多项式中仅用同态加法以及同态乘法运算,还设计了一种能够快速收敛的倒数函数多项式逼近算法。多项式中仅用同态加法以及同态乘法运算,实际应用中,迭代轮数和初值相关,给出了初值选择方案,而且通过同态加密,可以保证机器学习的全流程安全性。
实际应用中,上述本申请实施例中所描述的方法,可以应用于多方计算系统,如图2所示,该多方计算系统可以包括多个参与方,则上述本申请实施例中所描述的方法可以应用于任一参与方,进而,在多方计算中,函数运算中不会暴露信息,完全符合隐私保护的安全性需求,通过同态加密,可以保证机器学习的全流程安全性。
与上述实施例一致地,请参阅图3,图3是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,本申请实施例中,上述程序包括用于执行以下步骤的指令:
获取初值,所述初值根据预设明文进行同态加密得到;
将所述初值采用牛顿迭代公式进行k轮运算,得到迭代结果,所述牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数;
根据所述迭代结果确定指定函数的运算结果,所述指定函数包括激活函数或者倒数函数,所述运算结果用于机器学习,所述机器学习包括联邦学习。
可选的,在所述指定函数包括激活函数时,在所述获取初值方面,上述程序包括用于执行以下步骤的指令:
确定所述预设明文的平方结果,并确定所述平方结果的第一比特长度值;
根据所述第一比特长度值进行同态加密,得到所述初值;
或者,
确定所述预设明文中的每一个明文的平方结果,并对该平方结果进行同态加密,得到至少一个同态加密平方结果,确定所述至少一个同态加密平方结果中的最大值,根据该最大值确定所述初值。
进一步的,可选的,在所述根据所述迭代结果确定指定函数的运算结果方面,上述程序包括用于执行以下步骤的指令:
根据所述迭代结果确定平方根算子;
根据所述平方根算子逼近所述激活函数,得到所述运算结果。
可选的,在所述指定函数包括倒数函数时,在所述获取初值方面,上述程序包括用于执行以下步骤的指令:
确定所述预设明文的第二比特长度值;
根据所述第二比特长度值确定所述初值;
或者,
将所述预设明文中每一明文进行同态加密,得到至少一个密文;
确定所述至少一个密文中的最大值,根据该最大值确定所述初值。
进一步的,可选的,在所述根据所述迭代结果确定指定函数的运算结果方面,上述程序包括用于执行以下步骤的指令:
将所述迭代结果进行平方运算,得到所述倒数函数的运算结果。
可以看出,本申请实施例中所描述的电子设备,获取初值,初值根据预设明文进行同态加密得到,将初值采用牛顿迭代公式进行k轮运算,得到迭代结果,牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数,根据迭代结果确定指定函数的运算结果,指定函数包括激活函数或者倒数函数,运算结果用于机器学习,机器学习包括联邦学习,不仅能够在隐私保护中,实现ReLU函数或者倒数函数在同态密文状态下运算,还能够通过同态加密,可以保证机器学习的全流程安全性。
另外,本申请实施例中的电子设备可以应用于多方计算系统,所述多方计算系统包括多个参与方,该电子设备可以包括多方计算系统中的至少一个参与方。
图4是本申请实施例中所涉及的一种基于同态加密的机器学习中非线性运算逼近装置400的功能单元组成框图,该基于同态加密的机器学习中非线性运算逼近装置400可以包括:获取单元401、运算单元402和确定单元403,其中,
所述获取单元401,用于获取初值,所述初值根据预设明文进行同态加密得到;
所述运算单元402,用于将所述初值采用牛顿迭代公式进行k轮运算,得到迭代结果,所述牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数;
所述确定单元403,用于根据所述迭代结果确定指定函数的运算结果,所述指定函数包括激活函数或者倒数函数,所述运算结果用于机器学习,所述机器学习包括联邦学习。
可选的,在所述指定函数包括激活函数时,在所述获取初值方面,所述获取单元401具体用于:
确定所述预设明文的平方结果,并确定所述平方结果的第一比特长度值;
根据所述第一比特长度值进行同态加密,得到所述初值;
或者,
确定所述预设明文中的每一个明文的平方结果,并对该平方结果进行同态加密,得到至少一个同态加密平方结果,确定所述至少一个同态加密平方结果中的最大值,根据该最大值确定所述初值。
进一步的,可选的,在所述根据所述迭代结果确定指定函数的运算结果方面,所述确定单元403具体用于:
根据所述迭代结果确定平方根算子;
根据所述平方根算子逼近所述激活函数,得到所述运算结果。
可选的,在所述指定函数包括倒数函数时,在所述获取初值方面,所述获取单元401具体用于:
确定所述预设明文的第二比特长度值;
根据所述第二比特长度值确定所述初值;
或者,
将所述预设明文中每一明文进行同态加密,得到至少一个密文;
确定所述至少一个密文中的最大值,根据该最大值确定所述初值。
进一步的,可选的,在所述根据所述迭代结果确定指定函数的运算结果方面,所述确定单元403具体用于:
将所述迭代结果进行平方运算,得到所述倒数函数的运算结果。
可以看出,本申请实施例中所描述的基于同态加密的机器学习中非线性运算逼近装置,获取初值,初值根据预设明文进行同态加密得到,将初值采用牛顿迭代公式进行k轮运算,得到迭代结果,牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数,根据迭代结果确定指定函数的运算结果,指定函数包括激活函数或者倒数函数,运算结果用于机器学习,机器学习包括联邦学习,不仅能够在隐私保护中,实现ReLU函数或者倒数函数在同态密文状态下运算,还能够通过同态加密,可以保证机器学习的全流程安全性。
可以理解的是,本实施例的基于同态加密的机器学习中非线性运算逼近装置的各程序模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
另外,本申请实施例中的基于同态加密的机器学习中非线性运算逼近装置可以应用于多方计算系统,所述多方计算系统包括多个参与方,该参与方可以包括多方计算系统中的任一参与方。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种基于同态加密的机器学习中非线性运算逼近方法,其特征在于,所述方法包括:
获取初值,所述初值根据预设明文进行同态加密得到;
将所述初值采用牛顿迭代公式进行k轮运算,得到迭代结果,所述牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数;
根据所述迭代结果确定指定函数的运算结果,所述指定函数包括激活函数或者倒数函数,所述运算结果用于机器学习,所述机器学习包括联邦学习。
2.根据权利要求1所述的方法,其特征在于,在所述指定函数包括激活函数时,所述获取初值,包括:
确定所述预设明文的平方结果,并确定所述平方结果的第一比特长度值;
根据所述第一比特长度值进行同态加密,得到所述初值;
或者,
确定所述预设明文中的每一个明文的平方结果,并对该平方结果进行同态加密,得到至少一个同态加密平方结果,确定所述至少一个同态加密平方结果中的最大值,根据该最大值确定所述初值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述迭代结果确定指定函数的运算结果,包括:
根据所述迭代结果确定平方根算子;
根据所述平方根算子逼近所述激活函数,得到所述运算结果。
4.根据权利要求1所述的方法,其特征在于,在所述指定函数包括倒数函数时,所述获取初值,包括:
确定所述预设明文的第二比特长度值;
根据所述第二比特长度值确定所述初值;
或者,
将所述预设明文中每一明文进行同态加密,得到至少一个密文;
确定所述至少一个密文中的最大值,根据该最大值确定所述初值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述迭代结果确定指定函数的运算结果,包括:
将所述迭代结果进行平方运算,得到所述倒数函数的运算结果。
6.一种基于同态加密的机器学习中非线性运算逼近装置,其特征在于,所述装置包括:获取单元、运算单元和确定单元,其中,
所述获取单元,用于获取初值,所述初值根据预设明文进行同态加密得到;
所述运算单元,用于将所述初值采用牛顿迭代公式进行k轮运算,得到迭代结果,所述牛顿迭代公式中的每个算子以及每个运算均为同态运算,k为大于或等于8的整数;
所述确定单元,用于根据所述迭代结果确定指定函数的运算结果,所述指定函数包括激活函数或者倒数函数,所述运算结果用于机器学习,所述机器学习包括联邦学习。
7.根据权利要求6所述的装置,其特征在于,在所述指定函数包括激活函数时,在所述获取初值方面,所述获取单元具体用于:
确定所述预设明文的平方结果,并确定所述平方结果的第一比特长度值;
根据所述第一比特长度值进行同态加密,得到所述初值;
或者,
确定所述预设明文中的每一个明文的平方结果,并对该平方结果进行同态加密,得到至少一个同态加密平方结果,确定所述至少一个同态加密平方结果中的最大值,根据该最大值确定所述初值。
8.根据权利要求7所述的装置,其特征在于,在所述根据所述迭代结果确定指定函数的运算结果方面,所述确定单元具体用于:
根据所述迭代结果确定平方根算子;
根据所述平方根算子逼近所述激活函数,得到所述运算结果。
9.一种电子设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-5任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-5任一项所述的方法。
CN202211645588.7A 2022-12-16 2022-12-16 基于同态加密的机器学习中非线性运算逼近方法及装置 Pending CN115906129A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211645588.7A CN115906129A (zh) 2022-12-16 2022-12-16 基于同态加密的机器学习中非线性运算逼近方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211645588.7A CN115906129A (zh) 2022-12-16 2022-12-16 基于同态加密的机器学习中非线性运算逼近方法及装置

Publications (1)

Publication Number Publication Date
CN115906129A true CN115906129A (zh) 2023-04-04

Family

ID=86481781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211645588.7A Pending CN115906129A (zh) 2022-12-16 2022-12-16 基于同态加密的机器学习中非线性运算逼近方法及装置

Country Status (1)

Country Link
CN (1) CN115906129A (zh)

Similar Documents

Publication Publication Date Title
CN109214201B (zh) 一种数据共享方法、终端设备及计算机可读存储介质
CN112149706B (zh) 模型训练方法、装置、设备和介质
CN114696990A (zh) 基于全同态加密的多方计算方法、系统及相关设备
CN111813544B (zh) 计算任务的处理方法、装置、调度及管理系统和介质
CN112395630A (zh) 基于信息安全的数据加密方法、装置、终端设备及介质
CN114338090B (zh) 数据安全性检测方法、装置及电子设备
CN112149141B (zh) 模型训练方法、装置、设备和介质
US20210182288A1 (en) Providing oblivious data transfer between computing devices
CN117349671A (zh) 一种模型训练的方法、装置、存储介质及电子设备
CN112149834B (zh) 模型训练方法、装置、设备和介质
Kapalova et al. A block encryption algorithm based on exponentiation transform
CN112507323A (zh) 基于单向网络的模型训练方法、装置和计算设备
CN111949655A (zh) 表单显示方法、装置、电子设备和介质
CN114584284B (zh) 同态加密操作方法、装置和电子设备
CN114584285B (zh) 安全多方处理方法及相关设备
CN115906129A (zh) 基于同态加密的机器学习中非线性运算逼近方法及装置
CN111049988A (zh) 移动设备的亲密度预测方法、系统、设备及存储介质
CN114726580B (zh) 数据处理方法和装置
CN113965314B (zh) 同态加密处理方法及相关设备
JP2023081816A (ja) 機械学習装置、機械学習システム、機械学習方法、および機械学習プログラム
CN114189331A (zh) 一种密钥存储和读取方法、装置、设备及存储介质
CN114817970B (zh) 基于数据来源保护的数据分析方法、系统及相关设备
CN114943073B (zh) 加密流量的通用对称加密协议脱壳方法
KR102337865B1 (ko) 동형 암호에 기초한 산술 연산 시스템 및 이를 이용한 동형 암호 산술 연산 방법
CN113537361B (zh) 联邦学习系统中的跨样本特征选择方法及联邦学习系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination