CN114880693B - 生成激活函数方法、装置、电子设备和可读介质 - Google Patents
生成激活函数方法、装置、电子设备和可读介质 Download PDFInfo
- Publication number
- CN114880693B CN114880693B CN202210796858.8A CN202210796858A CN114880693B CN 114880693 B CN114880693 B CN 114880693B CN 202210796858 A CN202210796858 A CN 202210796858A CN 114880693 B CN114880693 B CN 114880693B
- Authority
- CN
- China
- Prior art keywords
- sharing information
- arithmetic
- activation function
- sharing
- value
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioethics (AREA)
- Evolutionary Biology (AREA)
- Operations Research (AREA)
- Life Sciences & Earth Sciences (AREA)
- Algebra (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供一种生成激活函数的方法、装置、电子设备和可读介质,所述方法包括基于预先构建的分段函数,将明文输入所述分段函数进行第一算数分享,得到第一算数分享信息,并将所述第一算数分享信息转为布尔分享信息;根据预先构建的比较器,通过分片的符号位确定所述布尔分享信息与所述比较器中预设值的比较结果;根据所述比较结果,对所述布尔分享信息进行加密处理,并将加密结果转换为第二算数分享信息;将多个参与方对应的第二算数分享信息相加后输入预先构建的激活函数,所述激活函数输出对应的秘密分享值。本公开实施例能够解决多方安全计算中激活函数效率低且计算精度较低的问题。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体涉及生成激活函数方法、装置、电子设备和可读介质。
背景技术
目前使用秘密共享方式实现联合训练时,激活函数往往会以泰勒展开的形式进行实现,这样相对于秘密分享会是一个比较好的实现方法,但是泰勒展开会有许多问题,首先是整体值域不能完美的控制在0到1之间,导致使用不当时值域会高于1或者低于1,对建模产生不少影响。
其次,现有秘密分享式实现纵向联邦逻辑回归的算法过程中,为了提升运算效率,对于秘密分享式的激活函数,泰勒展开往往会选择MiniMax展开方式,然而密文形式下的激活函数,在实践中暂无先例,正如前文所述,MiniMax方式实现激活函数并不是所有情况下都是最优的,根据数据集的不同,仍需要使用分段函数的形式来使得值域保持在0到1之间。
公开于本申请背景技术部分的信息仅仅旨在加深对本申请的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的实施例提供一种用于生成激活函数的方法、装置、电子设备和可读介质,来解决以上背景技术部分提到的技术问题。
本公开实施例的第一方面,
提供一种生成激活函数的方法,所述方法应用于多个参与方,所述方法包括:
基于预先构建的分段函数,将明文输入所述分段函数进行第一算数分享,得到第一算数分享信息,并将所述第一算数分享信息转为布尔分享信息;
根据预先构建的比较器,通过分片的符号位确定所述布尔分享信息与所述比较器中预设值的比较结果;
根据所述比较结果,对所述布尔分享信息进行加密处理,并将加密结果转换为第二算数分享信息;
将多个参与方对应的第二算数分享信息相加后输入预先构建的激活函数,所述激活函数输出对应的秘密分享值。
在一种可选的实施方式中,
对所述布尔分享信息进行加密处理,并将加密结果转换为第二算数分享信息的方法包括:
将多个参与方对应的布尔分享信息和己方对应的布尔分享信息转换为参与方算数电路值和己方算数电路值;
将所述参与方算数电路值和所述己方算数电路值进行异或,得到秘密真值;
对所述秘密真值进行秘密平方并取反,得到简易分享值;
将所述简易分享值转换为算数值并进行算数运算,将加密结果转换为第二算数分享信息。
在一种可选的实施方式中,
所述方法还包括生成激活函数,生成所述激活函数的方法包括:
设置拉格朗日差值系数:
根据所述拉格朗日差值系数和预设的分段函数生成目标激活函数:
在一种可选的实施方式中,
对所述布尔分享信息进行加密处理的方法包括:
将所述布尔分享信息中字符串以3个为一组进行分组,得到第一中间加密值;
从所述第一中间加密值的第一个值开始,拆分为两个一组,并在分组结果中各个值的预设位置补充预设补充值,得到第二中间加密值;
将所述第二中间加密值转换为十进制值,并通过预设的加密信息表,将所述十进制值与所述十进制值对应的加密值进行连接,得到加密结果。
本公开实施例的第二方面,
提供一种生成激活函数的装置,所述装置应用于多个参与方,所述装置包括:
第一单元,用于基于预先构建的分段函数,将明文输入所述分段函数进行第一算数分享,得到第一算数分享信息,并将所述第一算数分享信息转为布尔分享信息;
第二单元,用于根据预先构建的比较器,通过分片的符号位确定所述布尔分享信息与所述比较器中预设值的比较结果;
第三单元,用于根据所述比较结果,对所述布尔分享信息进行加密处理,并将加密结果转换为第二算数分享信息;
第四单元,用于将多个参与方对应的第二算数分享信息相加后输入预先构建的激活函数,所述激活函数输出对应的秘密分享值。
在一种可选的实施方式中,
所述第三单元还用于:
将多个参与方对应的布尔分享信息和己方对应的布尔分享信息转换为参与方算数电路值和己方算数电路值;
将所述参与方算数电路值和所述己方算数电路值进行异或,得到秘密真值;
对所述秘密真值进行秘密平方并取反,得到简易分享值;
将所述简易分享值转换为算数值并进行算数运算,将加密结果转换为第二算数分享信息。
在一种可选的实施方式中,
所述装置还包括第五单元,所述第五单元用于生成激活函数,生成所述激活函数的方法包括:
设置拉格朗日差值系数:
根据所述拉格朗日差值系数和预设的分段函数生成目标激活函数:
在一种可选的实施方式中,
所述第三单元还用于:
将所述布尔分享信息中字符串以3个为一组进行分组,得到第一中间加密值;
从所述第一中间加密值的第一个值开始,拆分为两个一组,并在分组结果中各个值的预设位置补充预设补充值,得到第二中间加密值;
将所述第二中间加密值转换为十进制值,并通过预设的加密信息表,将所述十进制值与所述十进制值对应的加密值进行连接,得到加密结果。
本公开实施例的第三方面,
提供一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如前述中任一所述的方法。
本公开实施例的第四方面,
提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如前述中任一所述的方法。
本公开提供一种生成激活函数的方法,所述方法应用于多个参与方,所述方法包括:
基于预先构建的分段函数,将明文输入所述分段函数进行第一算数分享,得到第一算数分享信息,并将所述第一算数分享信息转为布尔分享信息;
根据预先构建的比较器,通过分片的符号位确定所述布尔分享信息与所述比较器中预设值的比较结果;
根据所述比较结果,对所述布尔分享信息进行加密处理,并将加密结果转换为第二算数分享信息;
将多个参与方对应的第二算数分享信息相加后输入预先构建的激活函数,所述激活函数输出对应的秘密分享值。
本公开实施例的方法能够在多方安全计算逻辑回归过程中加入分段函数形式的激活函数,并且该激活函数是以多方安全计算的形式进行计算的,能够有效解决多方安全计算中激活函数计算效率低且计算精度较低的问题。
附图说明
图1示例性地示出本公开实施例生成激活函数的方法的流程示意图;
图2示例性地示出本公开实施例生成激活函数的方法的逻辑示意图;
图3示例性地示出本公开实施例生成激活函数的装置的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本公开的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
应当理解,在本公开中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本公开中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本公开中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1示例性地示出本公开实施例生成激活函数的方法的流程示意图,如图1所示,所述方法包括:
S101、基于预先构建的分段函数,将明文输入所述分段函数进行第一算数分享,得到第一算数分享信息,并将所述第一算数分享信息转为布尔分享信息;
S102、根据预先构建的比较器,通过分片的符号位确定所述布尔分享信息与所述比较器中预设值的比较结果;
S103、根据所述比较结果,对所述布尔分享信息进行加密处理,并将加密结果转换为第二算数分享信息;
S104、将多个参与方对应的第二算数分享信息相加后输入预先构建的激活函数,所述激活函数输出对应的秘密分享值。
在一种可选的实施方式中,
对所述布尔分享信息进行加密处理,并将加密结果转换为第二算数分享信息的方法包括:
将多个参与方对应的布尔分享信息和己方对应的布尔分享信息转换为参与方算数电路值和己方算数电路值;
将所述参与方算数电路值和所述己方算数电路值进行异或,得到秘密真值;
对所述秘密真值进行秘密平方并取反,得到简易分享值;
将所述简易分享值转换为算数值并进行算数运算,将加密结果转换为第二算数分享信息。
在一种可选的实施方式中,
所述方法还包括生成激活函数,生成所述激活函数的方法包括:
设置拉格朗日差值系数:
根据所述拉格朗日差值系数和预设的分段函数生成目标激活函数:
在一种可选的实施方式中,
对所述布尔分享信息进行加密处理的方法包括:
将所述布尔分享信息中字符串以3个为一组进行分组,得到第一中间加密值;
从所述第一中间加密值的第一个值开始,拆分为两个一组,并在分组结果中各个值的预设位置补充预设补充值,得到第二中间加密值;
将所述第二中间加密值转换为十进制值,并通过预设的加密信息表,将所述十进制值与所述十进制值对应的加密值进行连接,得到加密结果。
本公开实施例的方法能够在多方安全计算逻辑回归过程中加入分段函数形式的激活函数,并且该激活函数是以多方安全计算的形式进行计算的,能够有效解决多方安全计算中激活函数计算效率低且计算精度较低的问题。
图2示例性地示出本公开实施例生成激活函数的方法的逻辑示意图。
示例性地,逻辑回归算法中,会将特征x和标签y的关系通过如下公式表示:
P(Y=yx)=f(wTx+b)
其中w是系数,会在迭代学习过程进行更新。f(x)是激活函数,因为线性函数wTx+b的输出是线性的,但是概率函数不会是线性的,一般而言,可以将wTx+b的输出拟合到一个概率分布上去,这也是激活函数的作用。
通常情况下,在两方安全计算当中,f(wTx+b)因为特征x分布在不同的参与方,所以需要两方通过秘密分享的方式进行计算,分享的方式为秘密持有方通过计算x=x0十x1,将x1分发给另一秘密持有方,自己保留x0,另一秘密持有方也通过相同的方式将自己的秘密分享;
双方共同计算wTx+b,其中,系数w可以是双方各自给定的一个随机初始值。
示例性地,现有的多方安全计算方案中,会通过明文方式计算f(wTx+b),绕过密文计算激活函数,但是通过明文方式计算虽然不会立即暴露x相关信息,但是也提供了与x相关联的信息,容易被破解;
此外,还可以基于MiniMax的方式通过计算sigmoid的泰勒展开而实现激活函数,但是泰勒展开方式的实现往往效率低,而且值域不是0到1,所以导致并不适用于全部的数据集。
本公开通过预先构建的分段函数,将明文输入所述分段函数进行第一算数分享,得到第一算数分享信息,并将所述第一算数分享信息转为布尔分享信息,通过在密文状态下计算激活函数,能够有效保护隐私数据的隐私安全,适用于多种应用场景。
算数电路下每个参与方需要将自己的秘密进行分享,在bool电路中,可以通过的方式进行分享;
进位的更新规则为:
x1[i] ⊕x2[i] = (x1,1[i] ⊕x2,1[i]) ⊕ (x1,2[i] ⊕x2,2[i])
x1[i] ∧x2[i]:与计算,同理适用于其他的与逻辑,需要每方各自使用一组预先生成的三元组a=a1⊕a2,b=b1⊕b2,c=c1⊕c2辅助计算,三元组关系为((a1⊕a2)∧(b1⊕b2)=(c1⊕c2)),首先两方需要共同计算e=(x1[i]⊕a),f=(x2[i]⊕b),计算方法为各方将自己的对应分片异或后发送给对方。
双方同步e=(x1[i]⊕a),f=(x2[i]⊕b)之后,
P0方计算:
z1=(f∧a1)⊕(e∧b1)⊕c1,
P1方计算:
z2=(e∧f)⊕(f∧a2)⊕(e∧b2)⊕c2
用于验证:
z1⊕z2=x1[i]∧x2[i]
x1[i] ∨x2[i]:或运算,或运算可以转化为x1[i] ⊕x2[i] ⊕ (x1[i] ∧x2[i]),通过前述与门和异或门进行构造。
基于前述的与计算、异或计算以及或运算,可以将其进行汇总成:
x1[i] ⊕x2[i] ⊕c[i]
并且构造进位
c[i+ 1] = (x1[i] ∧x2[i]) ∨ ((x1[i] ⊕x2[i]) ∧c[i])
即可得到加法器,串联多个加法器就可以计算多位的加法。
在bool电路下可以取分片的符号位(正为0,负为1)作为判断分片是否小于0的新分片。
bool比较分享值为0或1,秘密以xor方式分享,故双方根据己方的秘密无法对被分享的秘密有任何的优位性。
定义简易bool_to_arith算法:
首先将双方的bool分享值提取成算数值,即从二进制的0,1直接转换为十进制0,1。
p0方需要将分享值-1,此时的真值表为
p0和p1方共同计算秘密平方,此处秘密分享的平方需要使用秘密共享下算数电路乘法:计算方式如下:
a=a1+a2,b=b1+b2,c=c1+c2
三元组关系为:
(a1+a2)⋅(b1+b2)=(c1⋅c2)
首先,双方共同计算e= (x1−a),f= (x2−b),计算方法为各方将自己的对应分片相减后发送给对方,便可以在本地合并出e和f。双方同步e和f之后,之后P0方计算:
z1=(f⋅a1)+(e⋅b1)+c1
P1方计算
z2= (e⋅f) + (f⋅a2) + (e⋅b2) +c2
用于验证:
z1+z2=x1⋅x2
通过本申请的方法,相较于以往的算法,一般是从bool电路到算数电路需要使用OT算法,有更高的通信和计算开销,而本申请是使用分段函数,根据分段情况可以拆分为多种判断。
在一种可选的实施方式中,
所述方法还包括生成激活函数,生成所述激活函数的方法包括:
设置拉格朗日差值系数:
根据所述拉格朗日差值系数和预设的分段函数生成目标激活函数:
本公开实施例的分段函数为:
F(x,B) =Σki(B)fi(x) =B(2 −B)(x+ 0.5) +B(B− 1)/2
其中,
以下对x进行分享和转换为bool电路的过程进行举例描述:
x=x1+x2,x1= 1,x2= 2
将两个分享值进行bool电路下的秘密分享,分享值为:
x1=x1,1⊕x1,2,x1,1=10,x1,2=11
x2=x2,1⊕x2,2,x2,1= 01,x22= 11
其中,P0方持有x1,1,x2,1,P1方持有x1,2,x2,2,二进制的加法从低位到高位依次进行,假设三元组为(a1=0⊕a2=0)∧(b1=1⊕b2=0)=(c1=1⊕c2=1),c[0]=0
P0方计算:
z1[0] =x1,1[0]⊕x2,1[0] ⊕c[0] = 1
P1方计算:
z2[0] =x2,1[0] ⊕x2,2[0] ⊕c[0] = 0
c1[1] = (x1,1[0] ∧x1,2[0]) ∨ ((x1,1[0] ⊕x1,2[0]) ∧c[0]) = 0
c2[1] = (x2,1[0] ∧x2,2[0]) ∨ ((x2,1[0] ⊕x2,2[0]) ∧c[0]) = 0
同理计算:
x1,1[1] ⊕x2,1[1] ⊕c1[1] = 0,x2,1[1] ⊕x2,2[1] ⊕c[1] = 1
P0方拥有分片z1=01,P1方拥有分片z2=10,用于验证z1⊕z2=11=3,
对z1,z2进行小于0判断,P0方得到的结果为z1′= 0,P1方得到的结果为z2′= 0,作为新的分片。
另外,计算x′′的两个判断小于0分片为w1=0,w2=0,目前分片都是bool电路下的分片,可以将其转换为算数秘密。
具体地,可以使得各个分片都是0,在实际情况中,可以只知道己方分片无法推测出对方分片情况。将bool分享的比较分享值结果转换为算数值,然后相加得到:
B B=B1+B2=0+0=0
将x和B代入公式联合计算:
F(x,B) =Σki(B)fi(x) =B(2 −B)(x+ 0.5) +B(B− 1)/2
图3示例性地示出本公开实施例生成激活函数的装置的结构示意图,如图3所示:
第一单元,用于基于预先构建的分段函数,将明文输入所述分段函数进行第一算数分享,得到第一算数分享信息,并将所述第一算数分享信息转为布尔分享信息;
第二单元,用于根据预先构建的比较器,通过分片的符号位确定所述布尔分享信息与所述比较器中预设值的比较结果;
第三单元,用于根据所述比较结果,对所述布尔分享信息进行加密处理,并将加密结果转换为第二算数分享信息;
第四单元,用于将多个参与方对应的第二算数分享信息相加后输入预先构建的激活函数,所述激活函数输出对应的秘密分享值。
在一种可选的实施方式中,
所述第三单元还用于:
将多个参与方对应的布尔分享信息和己方对应的布尔分享信息转换为参与方算数电路值和己方算数电路值;
将所述参与方算数电路值和所述己方算数电路值进行异或,得到秘密真值;
对所述秘密真值进行秘密平方并取反,得到简易分享值;
将所述简易分享值转换为算数值并进行算数运算,将加密结果转换为第二算数分享信息。
在一种可选的实施方式中,
所述装置还包括第五单元,所述第五单元用于生成激活函数,生成所述激活函数的方法包括:
设置拉格朗日差值系数:
根据所述拉格朗日差值系数和预设的分段函数生成目标激活函数:
在一种可选的实施方式中,
所述第三单元还用于:
将所述布尔分享信息中字符串以3个为一组进行分组,将进行分组后的布尔分享信息转换为二进制值,得到第一中间加密值;
从所述第一中间加密值的第一个值开始,六个为一组进行分组,并在分组结果中各个值的预设位置补充预设补充值,得到第二中间加密值;
将所述第二中间加密值转换为十进制值,并通过预设的加密信息表,将所述十进制值与所述十进制值对应的加密值进行连接,得到加密结果。
本公开实施例的第三方面,
提供一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如前述中任一所述的方法。
本公开实施例的第四方面,
提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如前述中任一所述的方法。
本发明可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
注意,除非另有直接说明,否则本说明书(包含任何所附权利要求、摘要和附图)中所揭示的所有特征皆可由用于达到相同、等效或类似目的的可替代特征来替换。因此,除非另有明确说明,否则所公开的每一个特征仅是一组等效或类似特征的一个示例。在使用到的情况下,进一步地、较优地、更进一步地和更优地是在前述实施例基础上进行另一实施例阐述的简单起头,该进一步地、较优地、更进一步地或更优地后带的内容与前述实施例的结合作为另一实施例的完整构成。在同一实施例后带的若干个进一步地、较优地、更进一步地或更优地设置之间可任意组合的组成又一实施例。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整并有效地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
Claims (4)
1.一种多方安全计算的方法,其特征在于,所述多方安全计算中通过秘密共享方式实现联合训练,所述方法包括:
在所述多方安全计算的逻辑回归过程中加入预设分段函数形式的激活函数,其中所述激活函数是以多方安全计算的形式进行计算的;
将多个参与方对应的第二算数分享信息相加后,输入预设分段函数形式的激活函数;
通过所述激活函数输出对应的秘密分享值,作为所述多方安全计算的结果;
其中所述多个参与方对应的第二算数分享信息按照如下方式获得:
基于预先构建的分段函数,将明文输入所述分段函数进行第一算数分享,得到第一算数分享信息,并将所述第一算数分享信息转为布尔分享信息;
根据预先构建的比较器,通过分片的符号位确定所述布尔分享信息与所述比较器中预设值的比较结果;
根据所述比较结果,对所述布尔分享信息进行加密处理,并将加密结果转换为第二算数分享信息。
2.一种多方安全计算的装置,其特征在于,所述多方安全计算中通过秘密共享方式实现联合训练,所述装置包括:
在所述多方安全计算的逻辑回归过程中加入预设分段函数形式的激活函数,其中所述激活函数是以多方安全计算的形式进行计算的;
第四单元,用于将多个参与方对应的第二算数分享信息相加后,输入预设分段函数形式的激活函数;
通过所述激活函数输出对应的秘密分享值,作为所述多方安全计算的结果;
其中所述多个参与方对应的第二算数分享信息按照如下方式获得:
第一单元,用于基于预先构建的分段函数,将明文输入所述分段函数进行第一算数分享,得到第一算数分享信息,并将所述第一算数分享信息转为布尔分享信息;
第二单元,用于根据预先构建的比较器,通过分片的符号位确定所述布尔分享信息与所述比较器中预设值的比较结果;
第三单元,用于根据所述比较结果,对所述布尔分享信息进行加密处理,并将加密结果转换为第二算数分享信息。
3.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1所述的方法。
4.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210796858.8A CN114880693B (zh) | 2022-07-08 | 2022-07-08 | 生成激活函数方法、装置、电子设备和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210796858.8A CN114880693B (zh) | 2022-07-08 | 2022-07-08 | 生成激活函数方法、装置、电子设备和可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114880693A CN114880693A (zh) | 2022-08-09 |
CN114880693B true CN114880693B (zh) | 2022-11-18 |
Family
ID=82683429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210796858.8A Active CN114880693B (zh) | 2022-07-08 | 2022-07-08 | 生成激活函数方法、装置、电子设备和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114880693B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116303308B (zh) * | 2022-12-30 | 2023-12-08 | 北京海泰方圆科技股份有限公司 | 秘密数据分享方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065643A (zh) * | 2021-04-12 | 2021-07-02 | 天津中科虹星科技有限公司 | 一种用于执行多任务卷积神经网络预测的装置和方法 |
WO2021204271A1 (zh) * | 2020-04-10 | 2021-10-14 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型 |
CN114386566A (zh) * | 2021-12-06 | 2022-04-22 | 鹏城实验室 | 一种激活函数安全计算方法和Tanh函数安全计算方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102667837B1 (ko) * | 2017-08-30 | 2024-05-21 | 인퍼, 인코포레이티드 | 고정밀 프라이버시 보호 실가 함수 평가 |
KR102032146B1 (ko) * | 2018-04-11 | 2019-10-15 | 경희대학교 산학협력단 | 소자 결점을 보완하기 위한 구간 선형 정류 유닛을 사용하는 인공신경망 시스템 |
CN108710944A (zh) * | 2018-04-30 | 2018-10-26 | 南京大学 | 一种可训练分段式线性激活函数生成方法 |
US20200177364A1 (en) * | 2019-08-09 | 2020-06-04 | Alibaba Group Holding Limited | Determining data processing model parameters through multiparty cooperation |
US20210295134A1 (en) * | 2020-03-18 | 2021-09-23 | Infineon Technologies Ag | Artificial neural network activation function |
-
2022
- 2022-07-08 CN CN202210796858.8A patent/CN114880693B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021204271A1 (zh) * | 2020-04-10 | 2021-10-14 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型 |
CN113065643A (zh) * | 2021-04-12 | 2021-07-02 | 天津中科虹星科技有限公司 | 一种用于执行多任务卷积神经网络预测的装置和方法 |
CN114386566A (zh) * | 2021-12-06 | 2022-04-22 | 鹏城实验室 | 一种激活函数安全计算方法和Tanh函数安全计算方法 |
Non-Patent Citations (2)
Title |
---|
On the importance of normalisation layers in deep learning with piecewise linear activation units;Zhibin Liao 等;《2016 IEEE Winter Conference on Applications of Computer Vision (WACV)》;20160526;第1-8页 * |
安全两方的神经网络计算和学习;庞淑婷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110515(第5期);第I140-81页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114880693A (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112906044B (zh) | 多方安全计算方法、装置、设备及存储介质 | |
US11176469B2 (en) | Model training methods, apparatuses, and systems | |
CN110032893B (zh) | 基于秘密分享的安全模型预测方法和装置 | |
CN111475854A (zh) | 保护两方数据隐私的协同计算方法及系统 | |
CN114595835B (zh) | 基于联邦学习的模型训练方法及装置、设备、存储介质 | |
CN111523556A (zh) | 模型训练方法、装置及系统 | |
CN114880693B (zh) | 生成激活函数方法、装置、电子设备和可读介质 | |
CN114282256B (zh) | 一种基于秘密分享的排序打乱方法和恢复方法 | |
CN112464155B (zh) | 一种数据处理方法、多方安全计算系统和电子设备 | |
CN114925786A (zh) | 基于秘密分享的纵向联邦线性支持向量分类方法 | |
CN116561787A (zh) | 视觉图像分类模型的训练方法、装置及电子设备 | |
CN116187433B (zh) | 基于秘密分享的联邦拟牛顿训练方法、装置及存储介质 | |
CN111046431B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN112183759B (zh) | 模型训练方法、装置及系统 | |
JP7297131B2 (ja) | 分散型機械学習モデルのトレーニング方法、装置、機器および媒体 | |
CN112668038A (zh) | 一种模型训练方法、装置和电子设备 | |
CN115859365A (zh) | 保护隐私数据的安全分片转换方法和装置 | |
CN112183757A (zh) | 模型训练方法、装置及系统 | |
CN113824672B (zh) | 数据处理方法、装置、电子设备及安全多方计算系统 | |
CN115134078A (zh) | 一种基于秘密分享的统计方法、装置及存储介质 | |
CN114358323A (zh) | 联邦学习环境中基于第三方高效皮尔森系数计算方法 | |
CN115277031A (zh) | 一种数据处理的方法和装置 | |
CN117009723B (zh) | 一种多方计算方法、装置、设备及存储介质 | |
CN112183566B (zh) | 模型训练方法、装置及系统 | |
CN112183564A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |