CN114207694B - 秘密梯度下降法计算方法及系统、秘密深度学习方法及系统、秘密计算装置、记录介质 - Google Patents
秘密梯度下降法计算方法及系统、秘密深度学习方法及系统、秘密计算装置、记录介质 Download PDFInfo
- Publication number
- CN114207694B CN114207694B CN201980099184.2A CN201980099184A CN114207694B CN 114207694 B CN114207694 B CN 114207694B CN 201980099184 A CN201980099184 A CN 201980099184A CN 114207694 B CN114207694 B CN 114207694B
- Authority
- CN
- China
- Prior art keywords
- secret
- gradient
- calculation
- calculates
- hidden
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 142
- 238000011478 gradient descent method Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims description 43
- 238000013135 deep learning Methods 0.000 title claims description 33
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims abstract description 48
- 239000011159 matrix material Substances 0.000 claims abstract description 41
- 230000006870 function Effects 0.000 claims description 51
- 230000004913 activation Effects 0.000 claims description 47
- 238000013507 mapping Methods 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 230000003213 activating effect Effects 0.000 claims 12
- 150000001875 compounds Chemical class 0.000 claims 1
- 239000010410 layer Substances 0.000 description 52
- 238000012545 processing Methods 0.000 description 47
- 238000012986 modification Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 238000007796 conventional method Methods 0.000 description 4
- 238000007477 logistic regression Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 241000723353 Chrysanthemum Species 0.000 description 2
- 235000007516 Chrysanthemum Nutrition 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
-
- 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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
在保持精度的状态下高速地进行秘密计算上的梯度下降法的计算。秘密梯度下降法计算方法在将梯度和参数隐匿的状态下对梯度下降法进行计算。初始化部将矩阵M、V的隐匿值[M]、[V]初始化(S11)。梯度计算部求出梯度g的矩阵G的隐匿值[G](S12)。参数更新部计算[M]←β1[M]+(1‑β1)[G](S13‑1),计算[V]←β2[V]+(1‑β2)[G]○[G](S13‑2),计算[M^]←β^1,t[M](S13‑3),计算[V^]←β^2,t[V](S13‑4),计算[G^]←Adam([V^])(S13‑5),计算[G^]←[G^]○[M^](S13‑6),并计算[W]←[W]‑[G^](S13‑7)。
Description
技术领域
本发明涉及在秘密计算中对梯度下降法进行计算的技术。
背景技术
梯度下降法是在深度学习或逻辑回归这样的机器学习中经常使用的学习算法。作为用于在秘密计算上进行使用梯度下降方法的机器学习的现有技术,有SecureML(非专利文献1)和SecureNN(非专利文献2)。
最基本的梯度下降法虽然实现比较容易,但已知有容易陷入局部解、收敛慢等问题。为了解决这些问题,提出了针对梯度下降法的各种优化方法,特别是已知被称为Adam的方法的收敛快。
现有技术文献
非专利文献
非专利文献1:Payman Mohassel and Yupeng Zhang,“SecureML:A System forScalable Privacy-Preserving Machine Learning,”In IEEE Symposium on Securityand Privacy,SP2017,pp.19-38,2017.
非专利文献2:Sameer Wagh,Divya Gupta,and Nishanth Chandran,“SecureNN:3-Party Secure Computation for Neural Network Training,”Proceedings onPrivacy Enhancing Technologies,Vol.1,p.24,2019.
发明内容
发明要解决的课题
但是,由于在Adam的处理中包含平方根的计算和除法运算,所以秘密计算中的处理成本变得非常大。另一方面,在通过单纯的梯度下降法来实现的现有技术中,由于在收敛之前所需的学习次数多,所以还存在整体的处理时间变长这样的问题。
鉴于如上所述的技术课题,本发明的目的在于提供一种能够在保持精度的状态下高速地进行秘密计算上的梯度下降法的计算的技术。
用于解决课题的手段
为了解决上述课题,本发明的第一方式的秘密梯度下降法计算方法是由包括多个秘密计算装置的秘密梯度下降法计算系统执行的、至少在将梯度G和参数W隐匿的状态下对梯度下降法进行计算的秘密梯度下降法计算方法,其中,设β1、β2、η、ε为预先确定的超参数(hyperparameter),○为每个元素的积,t为学习次数,[G]为梯度G的隐匿值,[W]为参数W的隐匿值,[M]、[M^]、[V]、[V^]、[G^]为元素数量与梯度G相等的矩阵M、M^、V、V^、G^的隐匿值,并设β^1,t、β^2,t、g^为下式,
[公式7]
设Adam为对将值v^的矩阵V^的隐匿值[V^]作为输入而输出值g^的矩阵G^的隐匿值[G^]的秘密批量映射(写像)进行计算的函数,各秘密计算装置的参数更新部计算[M]←β1[M]+(1-β1)[G],参数更新部计算[V]←β2[V]+(1-β2)[G]○[G],参数更新部计算[M^]←β^1,t[M],参数更新部计算[V^]←β^2,t[V],参数更新部计算[G^]←Adam([V^]),参数更新部计算[G^]←[G^]○[M^],参数更新部计算[W]←[W]-[G^]。
为了解决上述课题,本发明的第二方式的秘密深度学习方法是由包括多个秘密计算装置的秘密深度学习系统执行的、至少在将学习数据的特征量X、学习数据的正确答案数据T和参数W隐匿的状态下对深度神经网络进行学习的秘密深度学习方法,其中,设β1、β2、η、ε为预先确定的超参数,·为矩阵的积,○为每个元素的积,t为学习次数,[G]为梯度G的隐匿值,[W]为参数W的隐匿值,[X]为学习数据的特征量X的隐匿值,[T]为学习数据的正确答案标签T的隐匿值,[M]、[M^]、[V]、[V^]、[G^]、[U]、[Y]、[Z]为元素数量与梯度G相等的矩阵M、M^、V、V^、G^、U、Y、Z的隐匿值,并设β^1,t、β^2,t、g^为下式,
[公式8]
设Adam为对将值v^的矩阵V^的隐匿值[V^]作为输入而输出值g^的矩阵G^的隐匿值[G^]的秘密批量映射进行计算的函数,rshift为算术右移位,m为在一次学习中使用的学习数据的数量,H’为下式,
[公式9]
设n为深度神经网络的隐藏层的数量,Activation为隐藏层的激活函数,Activation2为深度神经网络的输出层的激活函数,Activation2’为与激活函数Activation2对应的损失函数,Activation’为激活函数Activation的微分,各秘密计算装置的正向传播计算部计算[U1]←[W0]·[X],正向传播计算部计算[Y1]←Activation([U1]),正向传播计算部针对1以上且n-1以下的各i计算[Ui+1]←[Wi]·[Yi],正向传播计算部针对1以上且n-1以下的各i计算[Yi+1]←Activation([Ui+1]),正向传播计算部计算[Un+1]←[Wn]·[Yn],正向传播计算部计算[Yn+1]←Activation2([Un+1]),各秘密计算装置的反向传播计算部计算[Zn+1]←Activation2’([Yn+1],[T]),反向传播计算部计算[Zn]←Activation’([Un])○([Zn+1]·[Wn]),反向传播计算部针对1以上且n-1以下的各i计算[Zn -i]←Activation’([Un-i])○([Zn-i+1]·[Wn-i]),各秘密计算装置的梯度计算部计算[G0]←[Z1]·[X],梯度计算部针对1以上且n-1以下的各i计算[Gi]←[Zi+1]·[Yi],梯度计算部计算[Gn]←[Zn+1]·[Yn],各秘密计算装置的参数更新部计算[G0]←rshift([G0],H’),参数更新部针对1以上且n-1以下的各i计算[Gi]←rshift([Gi],H’),参数更新部计算[Gn]←rshift([Gn],H’),参数更新部针对0以上且n以下的各i,通过第一方式的秘密梯度下降法计算方法,使用i层与i+1层之间的梯度[Gi]来学习i层与i+1层之间的参数[Wi]。
发明效果
根据本发明,能够在保持精度的状态下高速地进行秘密计算上的梯度下降法的计算。
附图说明
图1是例示秘密梯度下降法计算系统的功能结构的图。
图2是例示秘密计算装置的功能结构的图。
图3是例示秘密梯度下降法计算方法的处理步骤的图。
图4是例示秘密梯度下降法计算方法的处理步骤的图。
图5是例示秘密深度学习系统的功能结构的图。
图6是例示秘密计算装置的功能结构的图。
图7是例示秘密深度学习方法的处理步骤的图。
图8是例示计算机的功能结构的图。
具体实施方式
首先,对本说明书中的表述方法和术语的定义进行说明。
<表述方法>
文中使用的记号“→”、“^”原本应该记载于紧前面的文字的正上方,但由于文本记法的限制而记载于该文字的紧后面。在公式中,这些记号记述于原本的位置、即文字的正上方。例如,“a→”“a^”在公式中用下式表示。
[公式10]
脚标中的“_(下划线)”表示下标。例如,xy_z表示yz是针对x的上标,xy_z表示yz是针对x的下标。
将向量书写为a→:=(a0,…,an-1)。将a用b定义的情况书写为a:=b。将相同的元素数量的两个向量a→与b→的内积书写为a→·b→。另外,将两个矩阵的积书写为(·),将两个矩阵或向量的每个元素的积书写为(○)。没有书写运算符的是标量倍数。
[a]表示通过秘密分散等加密后的a,称为“份额(share)”。
<秘密批量映射>
秘密批量映射是计算查找表的功能,是可以任意决定定义域和值域的技术。在秘密批量映射中以向量为单位进行处理,因此具有针对多个输入进行相同的处理时的效率高这样的性质。以下,示出秘密批量映射的具体的处理。
将份额的列[a→]:=([a0],…,[am-1])、定义域(x0,…,xl-1)及值域(y0,…,yl-1)作为输入,输出使各输入值映射后的份额、即对于0≤i<m为xj≤ai<xj+1且bi=yj那样的份额的列([b0],…,[bm-1])。秘密批量映射的详细情况参照参考文献1。
〔参考文献1〕濱田浩気,五十嵐大,千田浩司,“秘匿計算上の一括写像アルゴリズム”,電子情報通信学会論文誌(滨田浩气,五十岚大,千田浩司,“隐匿计算上的批量映射算法”,电子信息通信学会论文志)A,Vol.96,No.4,pp.157-165,2013.)
<算术右移位>
将份额的列[a→]:=([a0],...,[am-1])和公开值t作为输入,输出将[a→]的各元素算术右移位t位(bit)的[b→]:=([b0],...,[bm-1])。以下,将右移位表示为rshift。算术右移位是用符号位而不是0来填充左侧的移位,使用逻辑右移位rlshift,如式(1)~(3)那样构成rshift([A×2n],n-m)=[A×2m]。另外,逻辑右移位rlshift的详细情况参照参考文献2。
[公式11]
[A′×2n=[A×2n]+a×2n(a≥|A|)…(1)
[A′×2m]=rlshift([A′×2n],n-m)…(2)
[A×2m]=[A′×2m]-a×2m…(3)
〔参考文献2〕三品気吹,五十嵐大,濱田浩気,菊池亮,“高精度かつ高効率な秘密ロジスティック回帰の設計と実装”(三品气吹,五十岚大,滨田浩气,菊池亮,“高精度且高效率的秘密逻辑回归的设计与实现”),InCSS,2018.
<优化方法Adam>
在单纯的梯度下降法中,对计算出的梯度g进行w=w-ηg(η为学习率)这样的处理来更新参数w。另一方面,在Adam中对梯度进行式(4)~(8)的处理来更新参数。到计算梯度g为止的处理无论是在单纯的梯度下降法的情况下还是应用了Adam的情况下都是相同的处理。另外,t是表示第几次学习的变量,gt表示第t次的梯度。另外,m、v、m^、v^是与g相同大小的矩阵,全部被初始化为0。·t(上标t)表示t次幂。
[公式12]
mt+1=β1mt+(1-β1)gt…(4)
这里,β1、β2是接近1的常数,η是学习率,ε是用于防止在√v^t+1=0的情况下无法计算式(8)的情况的值。在Adam的提议论文(参考文献3)中,β1=0.9,β2=0.999,η=0.001,ε=10-8。
〔参考文献3〕Diederik P Kingma and Jimmy Ba,“Adam:A Method forStochastic Optimization,”arXiv preprint arXiv:1412.6980,2014.
在Adam中,与单纯的梯度下降法相比处理增加,因此一次学习所需的处理时间增加。另一方面,到收敛为止所需的学习次数大幅减少,因此学习所需的整体的处理时间变短。
以下,对本发明的实施方式进行详细说明。另外,对附图中具有相同功能的结构部标注相同的标号,并省略重复说明。
[第一实施方式]
在第一实施方式中,使用秘密批量映射,在将梯度、参数、计算过程中的值隐匿的状态下,实现梯度下降法的优化方法Adam。
在以下的说明中,用下式定义β^1,t、β^2,t、g^。
[公式13]
预先针对各t计算β^1,t和β^2,t。g^的计算使用将v^作为输入并输出η/(√v^+ε)的秘密批量映射来实现。将该秘密批量映射表述为Adam(v^)。设常数β1、β2、η、ε为明文。由于在g^的计算中包含平方根或除法运算,所以秘密计算中的处理成本较大。但是,通过使用秘密批量映射,一次处理即可,所以效率高。
参照图1,说明第一实施方式的秘密梯度下降法计算系统的结构例。如图1所示,秘密梯度下降法计算系统100例如包括N(≥2)台秘密计算装置11、…、1N。在本实施方式中,秘密计算装置11、…、1N分别与通信网络9连接。通信网络9是构成为使相连接的各装置能够相互进行通信的电路交换方式或分组交换方式的通信网络,例如可以使用因特网或LAN(Local Area Network:局域网)、WAN(Wide Area Network:广域网)等。另外,各装置不一定需要能够经由通信网络9在线通信。例如,也可以构成为将向秘密计算装置11、…、1N输入的信息存储于磁带或USB存储器等便携式记录介质,并从该便携式记录介质向秘密计算装置11、…、1N离线输入。
参照图2,说明第一实施方式的秘密梯度下降法计算系统100所包含的秘密计算装置1i(i=1,…,N)的结构例。如图2所示,秘密计算装置1i例如具备参数存储部10、初始化部11、梯度计算部12和参数更新部13。该秘密计算装置1i(i=1,…,N)通过一边与其他秘密计算装置1i’(i’=1,…,N,其中i≠i’)协调一边进行后述的各步骤的处理,由此实现本实施方式的秘密梯度下降法计算方法。
秘密计算装置1i例如是向具有中央运算处理装置(CPU:Central ProcessingUnit,中央处理单元)、主存储装置(RAM:Random Access Memory,随机存取存储器)等的公知或专用的计算机读入特别的程序而构成的特别的装置。秘密计算装置1i例如在中央运算处理装置的控制下执行各处理。输入到秘密计算装置1i的数据和在各处理中得到的数据例如被存放于主存储装置,存放在主存储装置中的数据根据需要被读出到中央运算处理装置而用于其他处理。秘密计算装置1i的各处理部的至少一部分也可以由集成电路等硬件构成。秘密计算装置1i所具备的各存储部例如可以包括:RAM(Random Access Memory:随机存取存储器)等主存储装置;由硬盘、光盘或闪存(Flash Memory)那样的半导体存储器元件构成的辅助存储装置;或者关系型数据库、键值存储等中间件。
参照图3,说明第一实施方式的秘密梯度下降法计算系统100执行的秘密梯度下降法计算方法的处理过程。
在参数存储部10存储有预先确定的超参数β1、β2、η、ε。这些超参数只要设定为例如参考文献3所记载的值即可。另外,在参数存储部10存储有预先计算出的超参数β^1,t、β^2,t。而且,在参数存储部10还存储有预先设定了定义域和值域的秘密批量映射Adam。
在步骤S11中,各秘密计算装置1i的初始化部11将矩阵M、V的隐匿值[M]、[V]初始化为0。矩阵M、V是与梯度G相同大小的矩阵。初始化部11将矩阵M、V的隐匿值[M]、[V]输出到参数更新部13。
在步骤S12中,各秘密计算装置1i的梯度计算部12计算梯度G的隐匿值[G]。梯度G只要通过在应用梯度下降法的对象的处理(例如,逻辑回归或神经网络的学习等)中通常进行的方法求出即可。梯度计算部12将梯度G的隐匿值[G]输出到参数更新部13。
在步骤S13-1中,各秘密计算装置1i的参数更新部13使用存储在参数存储部10中的超参数β1来计算[M]←β1[M]+(1-β1)[G],更新矩阵M的秘密值[M]。
在步骤S13-2中,各秘密计算装置1i的参数更新部13使用存储在参数存储部10中的超参数β2来计算[V]←β2[V]+(1-β2)[G]○[G],更新矩阵V的隐匿值[V]。
在步骤S13-3中,各秘密计算装置1i的参数更新部13使用存储在参数存储部10中的超参数β^1,t来计算[M^]←β^1,t[M],生成矩阵M^的隐匿值[M^]。矩阵M^成为元素数量与矩阵M相同(即,元素数量也与梯度G相同)的矩阵。
在步骤S13-4中,各秘密计算装置1i的参数更新部13使用存储在参数存储部10中的超参数β^2,t来计算[V^]←β^2,t[V],生成矩阵V^的隐匿值[V^]。矩阵V^成为元素数量与矩阵V相同(即,元素数量也与梯度G相同)的矩阵。
在步骤S13-5中,各秘密计算装置1i的参数更新部13使用秘密批量映射Adam来计算[G^]←Adam([V^]),生成矩阵G^的隐匿值[G^]。矩阵G^成为元素数量与矩阵V^相同(即,元素数量也与梯度G相同)的矩阵。
在步骤S13-6中,各秘密计算装置1i的参数更新部13计算[G^]←[G^]○[M^],更新梯度G^的隐匿值[G^]。
在步骤S13-7中,各秘密计算装置1i的参数更新部13计算[W]←[W]-[G^],更新参数W的隐匿值[W]。
将本实施方式的参数更新部13在步骤S13-1至步骤S13-7中执行的参数更新的算法表示为Algorithm1。
Algorithm1:使用秘密批量映射的秘密计算Adam算法
输入1:梯度[G]
输入2:参数[W]
输入3:用0初始化后的[M]、[V]
输入4:超参数β1、β2、β^1,t、β^2,t
输入5:学习次数t
输出1:更新后的参数[W]
输出2:更新后的[M]、[V]
1:[M]←β1[M]+(1-β1)[G]
2:[V]←β2[V]+(1-β2)[G]○[G]
3:[M^]←β^1,t[M]
4:[V^]←β^2,t[V]
5:[G^]←Adam([V^])
6:[G^]←[G^]○[M^]
7:[W]←[W]-[G^]
[第一实施方式的变形例1]
在变形例1中,在构成在第一实施方式中所使用的秘密批量映射Adam时,研究由定义域和值域构成的表的创建方法。
输入到秘密批量映射Adam的V^一定为正。另外,秘密批量映射Adam是单调减少的函数,具有在V^接近0的部分斜率非常大、若V^变大则Adam(V^)缓慢地接近0的特征。在秘密计算中,从处理成本的观点出发,以定点数进行处理,所以不能处理以浮点数处理那样的非常小的小数。即,由于不会输入非常小的V^,因此不需要将Adam(V^)的输出的值域设定得那么大。例如,只要如参考文献3那样设定各超参数,使V^的小数点以下的精度为20比特的情况下的Adam(V^)的最大值为1左右即可。另外,Adam(V^)的最小值只要根据所需的Adam(V^)的精度来决定即可,因此通过决定输入V^和输出Adam(V^)的精度,能够决定映射表的大小。
[第一实施方式的变形例2]
在变形例2中,在第一实施方式中,进一步如表1那样设定各变量的精度。
[表1]
变量 | 精度(比特) |
w | bw |
β1,β2 | bβ |
β^1,t | bβ·_1 |
β^2,t | bβ·_2 |
g^ | bg^ |
如图4所示,本变形例的参数更新部13在步骤S13-1之后执行步骤S13-11,在步骤S13-2之后执行步骤S13-12,在步骤S13-6之后执行步骤S13-13。
在步骤S13-11中,各秘密计算装置1i的参数更新部13将矩阵M的隐匿值[M]算术右移位bβ位。即,计算[M]←rshift([M],bβ),更新矩阵M的隐匿值[M]。
在步骤S13-12中,各秘密计算装置1i的参数更新部13将矩阵V的隐匿值[V]算术右移位bβ位。即,计算[V]←rshift([V],bβ),更新矩阵V的隐匿值[V]。
在步骤S13-13中,各秘密计算装置1i的参数更新部13将矩阵G^的隐匿值[G^]算术右移位bg^+bβ^_1位。即,计算[G^]←rshift([G^],bg^+bβ^_1),更新矩阵G^的隐匿值[G^]。
将本变形例的参数更新部13在步骤S13-1~S13-7和S13-11~S13-13中执行的参数更新的算法表示为Algorithm2。
Algorithm2:使用秘密批量映射的秘密计算Adam算法
输入1:梯度[G]
输入2:参数[W]
输入3:用0初始化后的[M]、[V]
输入4:超参数β1、β2、β^1,t、β^2,t
输入5:学习次数t
输出1:更新后的参数[W]
输出2:更新后的[M]、[V]
1:[M]←β1[M]+(1-β1)[G] (精度:bw+bβ)
2:[M]←rshift([M],bβ) (精度:bw)
3:[V]←β2[V]+(1-β2)[G]○[G] (精度:2bw+bβ)
4:[V]←rshift([V],bβ) (精度:2bw)
5:[M^]←β^1,t[M] (精度:bw+bβ^_1)
6:[V^]←β^2,t[V] (精度:2bw+bβ^_2)
7:[G^]←Adam([V^]) (精度:bg^)
8:[G^]←[G^]○[M^] (精度:bg^+bw+bβ^_1)
9:[G^]←rshift([G^],bg^+bβ^_1) (精度:bw)
10:[W]←[W]-[G^] (精度:bw)
在本变形例中,以如下方式对精度的设定进行研究。这里的精度表示小数点部分的比特数,例如在将变量w设定为精度bw比特(bit)的情况下,实际的值为w×2b_w。另外,由于每个变量的值域不同,所以可以根据各个值域来决定精度。例如,w容易成为小的值,并且在机器学习中参数是非常重要的值,所以增大小数点部分的精度更为优选。另一方面,超参数β1、β2等在参考文献3中被设定为0.9或0.999左右,因此增大小数点部分的精度的必要性低。通过这样的研究,能够尽量抑制整体的比特数,即使在处理成本大的秘密计算中也能够高效地进行计算。
在本变形例中,对右移位进行了如下的研究。在秘密计算中,从处理成本的观点出发,不是以浮点数而是以定点数进行处理的情况更为高速,但在定点数中,小数点位置在每次乘法运算时发生变化,因此需要通过右移位来进行调节。但是,在秘密计算中右移位是成本较高的处理,因此尽量减少进行右移位的次数更优。另外,秘密批量映射具有能够任意地设定值域和定义域的性质,因此也能够如右移位那样调节位数。根据这样的秘密计算和秘密批量映射的特征,如本变形例那样进行处理时效率更高。
[第二实施方式]
在第二实施方式中,通过使用秘密批量映射而实现的优化方法Adam进行深度学习。在该例中,在将学习数据、学习标签和参数隐匿的状态下进行深度学习。在隐藏层和输出层中使用的激活函数可以使用任何函数,神经网络的模型的形式也是任意的。在此,对隐藏层的数量为n层的深度神经网络进行学习。即,将L设为层的编号,输入层为L=0,输出层为L=n+1。根据第二实施方式,与使用单纯的梯度下降法的现有技术相比,即使学习次数少也能够得到良好的学习结果。
参照图5,说明第二实施方式的秘密深度学习系统的结构例。如图5所示,秘密深度学习系统200例如包括N(≥2)台秘密计算装置21、…、2N。在本实施方式中,秘密计算装置21、…、2N分别与通信网络9连接。通信网络9是构成为使相连接的各装置能够相互进行通信的电路交换方式或分组交换方式的通信网络,例如可以使用因特网或LAN(Local AreaNetwork:局域网)、WAN(Wide Area Network:广域网)等。另外,各装置不一定需要能够经由通信网络9在线通信。例如,也可以构成为将向秘密计算装置21、…、2N输入的信息存储于磁带或USB存储器等便携式记录介质,并从该便携式记录介质向秘密计算装置21、…、2N离线输入。
参照图6,说明第二实施方式的秘密深度学习系统200所包含的秘密计算装置2i(i=1,…,N)的结构例。如图6所示,秘密计算装置2i例如与第一实施方式同样地具备参数存储部10、初始化部11、梯度计算部12及参数更新部13,还具备学习数据存储部20、正向传播计算部21及反向传播计算部22。该秘密计算装置2i(i=2,…,N)通过一边与其他秘密计算装置2i’(i’=1,…,N,其中i≠i’)协调一边进行后述的各步骤的处理,由此实现本实施方式的秘密深度学习方法。
参照图7,说明第二实施方式的秘密深度学习系统200执行的秘密深度学习方法的处理过程。
在学习数据存储部20存储有学习数据的特征量X的隐匿值[X]及学习数据的正确答案标签T的隐匿值[T]。
在步骤S11中,各秘密计算装置2i的初始化部11将参数W的隐匿值[W]:=([W0],…,[Wn])初始化。参数的初始化方法按照激活函数等来选择。例如,已知在中间层的激活函数使用ReLU函数的情况下,如果使用参考文献4所记载的初始化方法,则容易得到良好的学习结果。
〔参考文献4〕Kaiming He,Xiangyu Zhang,Shaoqing Ren,and Jian Sun,“Delving Deep into Rectifiers:Surpassing Human-Level Performance on ImageNetClassification,”In Proceedings of the IEEE international conference oncomputer vision,pp.1026-1034,2015.
在步骤S21中,各秘密计算装置2i的正向传播计算部21使用学习数据的特征量的隐匿值[X]来计算正向传播,求出各层的输出的隐匿值[Y]:=([Y1],…,[Yn+1])。具体而言,计算[U1]←[W0]·[X]、[Y1]←Activation([U1]),针对1以上且n-1以下的各整数i计算[Ui +1]←[Wi]·[Yi]、[Yi+1]←Activation([Ui+1]),并计算[Un+1]←[Wn]·[Yn]、[Yn+1]←Activation2([Un+1])。其中,Activation表示任意隐藏层的激活函数,Activation2表示任意输出层的激活函数。
在步骤S22中,各秘密计算装置2i的反向传播计算部22使用学习数据的正确答案标签的隐匿值[T]来计算反向传播,求出各层的误差的隐匿值[Z]:=([Z1],…,[Zn+1])。具体而言,计算[Zn+1]←Activation2’([Yn+1],[T])、[Zn]←Activation’([Un])○([Zn+1]·[Wn]),并针对1以上且n-1以下的各整数i计算[Zn-i]←Activation’([Un-i])○([Zn-i+1]·[Wn-i])。这里,Activation’表示激活函数Activation的微分,Activation2’表示与激活函数Activation2对应的损失函数。
在步骤S12中,各秘密计算装置2i的梯度计算部12使用学习数据的特征量的隐匿值[X]、各层的误差的隐匿值[Z]和各层的输出的隐匿值[Y]来计算各层的梯度的隐匿值[G]:=([G0],…,[Gn])。具体而言,计算[G0]←[Z1]·[X],针对1以上且n-1以下的各整数i计算[Gi]←[Zi+1]·[Yi],并计算[Gn]←[Zn+1]·[Yn]。
在步骤S13中,各秘密计算装置2i的参数更新部13在将各层的梯度的隐匿值[G]以移位量H’右移位之后,按照第一实施方式的秘密梯度下降法计算方法,更新各层的参数的隐匿值[W]:=([W0],…,[Wn])。具体而言,首先,计算[G0]←rshift([G0],H’),针对1以上且n-1以下的各整数i计算[Gi]←rshift([Gi],H’),并计算[Gn]←rshift([Gn],H’)。接着,针对0以上且n以下的各整数i计算[Mi]←β1[Mi]+(1-β1)[Gi]、[Vi]←β2[Vi]+(1-β2)[Gi]○[Gi]、[M^i]←β^1,t[Mi]、[V^i]←β^2,t[Vi]、[G^i]←Adam([V^i])、[G^i]←[G^i]○[M^i]、[Wi]←[Wi]-[G^i]。
将本实施方式的秘密深度学习系统200执行的基于使用秘密批量映射的Adam的深度学习的算法表示为Algorithm3。
Algorithm3:基于使用秘密批量映射的Adam的深度学习算法
输入1:学习数据的特征量[X]
输入2:学习数据的正确答案标签[T]
输入3:l层与l+1层之间的参数[Wl]
输出:更新后的参数[Wl]
1:将所有的[W]初始化
2:(1)正向传播的计算
3:[U1]←[W0]·[X]
4:[Y1]←Activation([U1])
5:for i=1to n-1do
6:[Ui+1]←[Wi]·[Yi]
7:[Yi+1]←Activation([Ui+1])
8:end for
9:[Un+1]←[Wn]·[Yn]
10:[Yn+1]←Activation2([Un+1])
11:(2)反向传播的计算
12:[Zn+1]←Activation2’([Yn+1],[T])
13:[Zn]←Activation’([Un])○([Zn+1]·[Wn])
14:for i=1to n-1do
15:[Zn-i]←Activation’([Un-i])○([Zn-i+1]·[Wn-i])
16:end for
17:(3)梯度的计算
18:[G0]←[Z1]·[X]
19:for i=1to n-1do
20:[Gi]←[Zi+1]·[Yi]
21:end for
22:[Gn]←[Zn+1]·[Yn]
23:(4)参数的更新
24:[G0]←rshift([G0],H’)
25:for i=1to n-1do
26:[Gi]←rshift([Gi],H’)
27:end for
28:[Gn]←rshift([Gn],H’)
29:for i=0to n do
30:[Mi]←β1[Mi]+(1-β1)[Gi]
31:[Vi]←β2[Vi]+(1-β2)[Gi]○[Gi]
32:[M^i]←β^1,t[Mi]
33:[V^i]←β^2,t[Vi]
34:[G^i]←Adam([V^i])
35:[G^i]←[G^i]○[M^i]
36:[Wi]←[Wi]-[G^i]
37:end for
在实际的深度学习中,执行Algorithm3的步骤1的参数的初始化以外的处理,直到预先设定的学习次数或参数的变化量充分变小等收敛为止。
在(1)正向传播的计算中按输入层、隐藏层、输出层的顺序进行计算,在(2)反向传播的计算中按输出层、隐藏层、输入层的顺序进行计算,但由于(3)梯度计算和(4)参数更新可以按各层并行地处理,所以通过汇总处理能够提高处理的效率。
在本实施方式中,输出层和隐藏层的激活函数只要以如下方式设定即可。输出层中使用的激活函数根据想要进行的分析来选择。如果是数值预测(回归分析)则使用恒等函数f(x)=x,如果是疾病的诊断或垃圾邮件判定这样的2值的分类则使用S型函数1/(1+exp(-x)),如果是图像分类等3值以上的分类问题则使用归一化指数函数softmax(ui)=exp(ui)/∑j=1 kexp(uj)等。隐藏层中使用的激活函数选择非线性函数,近年来频繁使用ReLU函数ReLU(u)=max(0,u)。已知ReLu函数即使在深度网络中也能够获得良好的学习结果,从而被频繁地用于深度学习领域。
在本实施方式中,只要以如下方式设定批量大小即可。在计算梯度时,如果用rshift来处理批量大小为m的除法运算,则效率高。因此,批量大小m可以为2的幂数的值,此时的偏移量H’由式(9)求出。所谓批量大小,是在一次学习中使用的学习数据的件数。
[公式14]
[第二实施方式的变形例1]
在第二实施方式的深度学习中,如表2那样设定学习所使用的各值的精度。w是各层之间的参数,x是学习数据,t是与各学习数据对应的正确答案数据(教师数据)。隐藏层的激活函数的输出以与正确答案数据的精度相同的方式进行处理。另外,g^是通过秘密批量映射Adam的计算而得到的值。
[表2]
变量 | 精度(比特) |
w | bw |
X | bx |
t | by |
β1,β2 | bβ |
β^1,t | bβ·_1 |
β^2,t | bβ·_2 |
g^ | bg^ |
本变形例的正向传播计算部21在针对1以上且n-1以下的各整数i计算i+1层的输出的隐匿值[Yi+1]之后,将[Yi+1]右移位bw位。即,计算[Yi+1]←rshift([Yi+1],bw)。
本变形例的反向传播计算部22在计算出n层的误差的隐匿值[Zn]之后,将[Zn]算术右移位by位。即,计算[Zn]←rshift([Zn],by)。另外,在针对1以上且n-1以下的各整数i计算出n-i层的误差的隐匿值[Zn-i]之后,将[Zn-i]算术右移位bw位。即,计算[Zn-i]←rshift([Zn -i],bw)。
本变形例的参数更新部13使输入层与1层隐藏层之间的梯度的隐匿值[G0]以移位量bx+H’算术右移位,使从1层到n层的隐藏层之间的梯度的隐匿值[G1]、…、[Gn-1]以移位量bw+bx+H’算术右移位,并使n层隐藏层与输出层之间的梯度的隐匿值[Gn]以移位量bx+by+H’算术右移位。另外,各层的参数的隐匿值[W]:=([W0],…,[Wn])按照第一实施方式的变形例2的秘密梯度下降法计算方法进行更新。
将本变形例的秘密深度学习系统200执行的基于使用秘密批量映射的Adam的深度学习的算法表示为Algorithm4。
Algorithm4:基于使用秘密批量映射的Adam的深度学习算法
输入1:学习数据的特征量[X]
输入2:学习数据的正确答案标签[T]
输入3:l层与l+1层之间的参数[Wl]
输出:更新后的参数[Wl]
1:将所有的[W]初始化(精度:bw)
2:(1)正向传播的计算
3:[U1]←[W0]·[X] (精度:bw+bx)
4:[Y1]←ReLU([U1]) (精度:bw+bx)
5:for i=1to n-1do
6:[Ui+1]←[Wi]·[Yi] (精度:2bw+bx)
7:[Yi+1]←ReLU([Ui+1]) (精度:2bw+bx)
8:[Yi+1]←rshift([Yi+1],bw) (精度:bw+bx)
9:end for
10:[Un+1]←[Wn]·[Yn] (精度:2bw+bx)
11:[Yn+1]←softmax([Un+1]) (精度:by)
12:(2)反向传播的计算
13:[Zn+1]←[Yn+1]-[T](精度:by)
14:[Zn]←ReLU’([Un])○([Zn+1]·[Wn]) (精度:bw+by)
15:[Zn]←rshift([Zn],by) (精度:bw)
16:for i=1to n-1do
17:[Zn-i]←ReLU’([Un-i])○([Zn-i+1]·[Wn-i]) (精度:2bw)
18:[Zn-i]←rshift([Zn-i],bw) (精度:bw)
19:end for
20:(3)梯度的计算
21:[G0]←[Z1]·[X] (精度:bw+bx)
22:for i=1to n-1do
23:[Gi]←[Zi+1]·[Yi] (精度:2bw+bx)
24:end for
25:[Gn]←[Zn+1]·[Yn] (精度:bw+bx+by)
26:(4)参数的更新
27:[G0]←rshift([G0],bx+H’) (精度:bw)
28:for i=1to n-1do
29:[Gi]←rshift([Gi],bw+bx+H’) (精度:bw)
30:end for
31:[Gn]←rshift([Gn],bx+by+H’) (精度:bw)
32:for i=0to n do
33:[Mi]←β1[Mi]+(1-β1)[Gi] (精度:bw+bβ)
34:[Mi]←rshift([Mi],bβ) (精度:bw)
35:[Vi]←β2[Vi]+(1-β2)[Gi]○[Gi] (精度:2bw+bβ)
36:[Vi]←rshift([Vi],bβ) (精度:2bw)
37:[M^i]←β^1,t[Mi] (精度:bw+bβ^_1)
38:[V^i]←β^2,t[Vi] (精度:2bw+bβ^_2)
39:[G^i]←Adam([V^i]) (精度:bg^)
40:[G^i]←[G^i]○[M^i] (精度:bg^+bw+bβ^_1)
41:[G^i]←rshift([G^i],bg^+bβ^_1) (精度:bw)
42:[Wi]←[Wi]-[G^i] (精度:bw)
43:end for
与第二实施方式同样地,通过将Algorithm4中的步骤1的参数初始化以外的处理重复到收敛为止、或者重复所设定的学习次数,能够进行深度学习。针对进行精度的设定或右移位的部位,采用与第一实施方式的变形例2相同的办法。
在(1)正向传播的计算中,在特征量X的精度bx不太大的情况下(例如若是图像数据的像素值则8比特就足够),bw+bx在比特数上有余量,所以省略了右移位。另外,在(4)参数更新的计算中,用H’位的算术右移位来近似学习率和批量大小的除法运算,而且与用于精度调节的算术右移位同时地进行该除法运算,从而实现了效率化。
<发明的要点>
在本发明中,通过将梯度下降法的优化方法Adam所包含的平方根或除法运算这样的秘密计算不擅长的计算汇总而视为一个函数,能够通过一次秘密批量映射来高效地进行优化方法Adam的处理。由此,能够以比在秘密计算上进行机器学习的现有技术少的次数进行学习,能够将整体的处理时间抑制得较短。该优化方法与机器学习模型的形式无关,只要是使用梯度下降法进行学习的情况,则可以应用于任何模型。例如,可以在神经网络(深度学习)、逻辑回归、线性回归之类的各种机器学习中使用。
这样,根据本发明,通过在秘密计算上实现梯度下降法的优化方法Adam,即使在秘密计算中也能够以较少的学习次数进行具有较高预测性能的机器学习模型的学习。
以上,对本发明的实施方式进行了说明,但具体的结构并不限于这些实施方式,即使在不脱离本发明的主旨的范围内有适当的设计的变更等,也包含在本发明中,这是理所当然的。另外,实施方式中所说明的各种处理不仅可以按照记载的顺序以时间序列被执行,还可以根据执行处理的装置的处理能力或根据需要而并行地或单独地被执行。
[程序、记录介质]
在通过计算机来实现上述实施方式中所说明的各装置中的各种处理功能的情况下,各装置应具有的功能的处理内容通过程序来记述。并且,通过将该程序读入到图8所示的计算机的存储部1020中,使控制部1010、输入部1030、输出部1040等进行动作,由此在计算机上实现上述各装置中的各种处理功能。
记述了该处理内容的程序可以记录于计算机可读取的记录介质。作为计算机可读取的记录介质,例如是磁记录装置、光盘、光磁记录介质、半导体存储器等任意介质。
另外,该程序的流通例如通过对记录有该程序的DVD、CD-ROM等便携式记录介质进行销售、转让、出借等来进行。而且,也可以形成为如下结构:将该程序存放于服务器计算机的存储装置,并经由网络,将该程序从服务器计算机转发到其他计算机,由此使该程序流通。
执行这样的程序的计算机例如首先将记录在便携式记录介质中的程序或从服务器计算机转发的程序暂时存放于自己的存储装置。然后,在执行处理时,该计算机读取存放在自己的记录装置中的程序,并执行按照所读取的程序的处理。另外,作为该程序的其他执行方式,计算机也可以从便携式记录介质直接读取程序,并执行按照该程序的处理,而且,也可以在每次从服务器计算机向该计算机转发程序时,逐次执行按照所接受的程序的处理。另外,也可以形成为如下结构:利用不进行从服务器计算机向该计算机的程序的转发而仅通过该执行指示和结果取得来实现处理功能的、所谓ASP(Application ServiceProvider:应用服务提供商)型的服务,来执行上述的处理。此外,本方式中的程序包含供电子计算机的处理用且基于程序的信息(虽然不是对计算机的直接的指令,但是具有规定计算机的处理的性质的数据等)。
另外,在本方式中,通过在计算机上执行规定的程序来构成本装置,但是也可以硬件性地实现这些处理内容的至少一部分。
Claims (8)
1.一种秘密梯度下降法计算方法,是由包括多个秘密计算装置的秘密梯度下降法计算系统执行的、在至少将梯度G和参数W隐匿的状态下对梯度下降法进行计算的秘密梯度下降法计算方法,其中,
设β1、β2、η、ε为预先确定的超参数,○为每个元素的积,t为学习次数,[G]为所述梯度G的隐匿值,[W]为所述参数W的隐匿值,[M]、[M^]、[V]、[V^]、[G^]为元素数量与所述梯度G相等的矩阵M、M^、V、V^、G^的隐匿值,并设β^1,t、β^2,t、g^为下式,
设Adam为对将值v^的矩阵V^的隐匿值[V^]作为输入而输出值g^的矩阵G^的隐匿值[G^]的秘密批量映射进行计算的函数,
各秘密计算装置的参数更新部计算[M]←β1[M]+(1-β1)[G],
所述参数更新部计算[V]←β2[V]+(1-β2)[G]○[G],
所述参数更新部计算[M^]←β^1,t[M],
所述参数更新部计算[V^]←β^2,t[V],
所述参数更新部计算[G^]←Adam([V^]),
所述参数更新部计算[G^]←[G^]○[M^],
所述参数更新部计算[W]←[W]-[G^]。
2.根据权利要求1所述的秘密梯度下降法计算方法,其中,
设rshift为算术右移位,bβ为β1和β2的精度,bβ^_1为β^1,t的精度,bg^为g^的精度,
所述参数更新部在计算[M]←β1[M]+(1-β1)[G]后,计算[M]←rshift([M],bβ),
所述参数更新部在计算[V]←β2[V]+(1-β2)[G]○[G]后,计算[V]←rshift([V],bβ),
所述参数更新部在计算[G^]←[G^]○[M^]后,计算[G^]←rshift([G^],bg^+bβ^_1)。
3.一种秘密深度学习方法,是由包括多个秘密计算装置的秘密深度学习系统执行的、在至少将学习数据的特征量X、学习数据的正确答案数据T和参数W隐匿的状态下对深度神经网络进行学习的秘密深度学习方法,其中,
设β1、β2、η、ε为预先确定的超参数,·为矩阵的积,○为每个元素的积,t为学习次数,[G]为梯度G的隐匿值,[W]为所述参数W的隐匿值,[X]为所述学习数据的特征量X的隐匿值,[T]为所述学习数据的正确答案标签T的隐匿值,[M]、[M^]、[V]、[V^]、[G^]、[U]、[Y]、[Z]为元素数量与所述梯度G相等的矩阵M、M^、V、V^、G^、U、Y、Z的隐匿值,并设β^1,t、β^2,t、g^为下式,
设Adam为对将值v^的矩阵V^的隐匿值[V^]作为输入而输出值g^的矩阵G^的隐匿值[G^]的秘密批量映射进行计算的函数,rshift为算术右移位,m为在一次学习中使用的学习数据的数量,H’为下式,
设n为所述深度神经网络的隐藏层的数量,Activation为所述隐藏层的激活函数,Activation2为所述深度神经网络的输出层的激活函数,Activation2’为与所述激活函数Activation2对应的损失函数,Activation’为所述激活函数Activation的微分,
各秘密计算装置的正向传播计算部计算[U1]←[W0]·[X],
所述正向传播计算部计算[Y1]←Activation([U1]),
所述正向传播计算部针对1以上且n-1以下的各i计算[Ui+1]←[Wi]·[Yi],
所述正向传播计算部针对1以上且n-1以下的各i计算[Yi+1]←Activation([Ui+1]),
所述正向传播计算部计算[Un+1]←[Wn]·[Yn],
所述正向传播计算部计算[Yn+1]←Activation2([Un+1]),
各秘密计算装置的反向传播计算部计算[Zn+1]←Activation2’([Yn+1],[T]),
所述反向传播计算部计算[Zn]←Activation’([Un])○([Zn+1]·[Wn]),
所述反向传播计算部针对1以上且n-1以下的各i计算[Zn-i]←Activation’([Un-i])○([Zn-i+1]·[Wn-i]),
各秘密计算装置的梯度计算部计算[G0]←[Z1]·[X],
所述梯度计算部针对1以上且n-1以下的各i计算[Gi]←[Zi+1]·[Yi],
所述梯度计算部计算[Gn]←[Zn+1]·[Yn],
各秘密计算装置的参数更新部计算[G0]←rshift([G0],H’),
所述参数更新部针对1以上且n-1以下的各i计算[Gi]←rshift([Gi],H’),
所述参数更新部计算[Gn]←rshift([Gn],H’),
所述参数更新部针对0以上且n以下的各i,通过权利要求1所述的秘密梯度下降法计算方法,使用i层与i+1层之间的梯度[Gi]来学习i层与i+1层之间的参数[Wi]。
4.根据权利要求3所述的秘密深度学习方法,其中,
设bw为w的精度,by为Y的元素的精度,bβ为β1和β2的精度,bβ^_1为β^ 1,t的精度,bg^为g^的精度,
所述正向传播计算部在计算[Yi+1]←Activation([Ui+1])后,计算[Yi+1]←rshift([Yi +1],bw),
所述反向传播计算部在计算[Zn]←Activation’([Un])○([Zn+1]·[Wn])后,计算[Zn]←rshift([Zn],by),
各所述反向传播计算部在计算[Zn-i]←Activation’([Un-i])○([Zn-i+1]·[Wn-i])后,计算[Zn-i]←rshift([Zn-i],bw),
所述参数更新部针对0以上且n以下的各i,通过权利要求2所述的秘密梯度下降法计算方法,使用i层与i+1层之间的梯度[Gi]来学习i层与i+1层之间的参数[Wi]。
5.一种秘密梯度下降法计算系统,包括多个秘密计算装置,在至少将梯度G和参数W隐匿的状态下对梯度下降法进行计算,其中,
设β1、β2、η、ε为预先确定的超参数,○为每个元素的积,t为学习次数,[G]为所述梯度G的隐匿值,[W]为所述参数W的隐匿值,[M]、[M^]、[V]、[V^]、[G^]为元素数量与所述梯度G相等的矩阵M、M^、V、V^、G^的隐匿值,并设β^ 1,t、β^ 2,t、g^为下式,
设Adam为对将值v^的矩阵V^的隐匿值[V^]作为输入而输出值g^的矩阵G^的隐匿值[G^]的秘密批量映射进行计算的函数,
各秘密计算装置包括参数更新部,该参数更新部计算[M]←β1[M]+(1-β1)[G]、[V]←β2[V]+(1-β2)[G]○[G]、[M^]←β^ 1,t[M]、[V^]←β^ 2,t[V]、[G^]←Adam([V^])、[G^]←[G^]○[M^]、[W]←[W]-[G^]。
6.一种秘密深度学习系统,包括多个秘密计算装置,在至少将学习数据的特征量X、学习数据的正确答案数据T和参数W隐匿的状态下对深度神经网络进行学习,其中,
设β1、β2、η、ε为预先确定的超参数,·为矩阵的积,○为每个元素的积,t为学习次数,[G]为梯度G的隐匿值,[W]为所述参数W的隐匿值,[X]为所述学习数据的特征量X的隐匿值,[T]为所述学习数据的正确答案标签T的隐匿值,[M]、[M^]、[V]、[V^]、[G^]、[U]、[Y]、[Z]为元素数量与所述梯度G相等的矩阵M、M^、V、V^、G^、U、Y、Z的隐匿值,并设β^1,t、β^2,t、g^为下式,
设Adam为对将值v^的矩阵V^的隐匿值[V^]作为输入而输出值g^的矩阵G^的隐匿值[G^]的秘密批量映射进行计算的函数,rshift为算术右移位,m为在一次学习中使用的学习数据的数量,H’为下式,
设n为所述深度神经网络的隐藏层的数量,Activation为所述隐藏层的激活函数,Activation2为所述深度神经网络的输出层的激活函数,Activation2’为与所述激活函数Activation2对应的损失函数,Activation’为所述激活函数Activation的微分,
各秘密计算装置包括:
正向传播计算部,计算[U1]←[W0]·[X]、[Y1]←Activation([U1])、针对1以上且n-1以下的各i的[Ui+1]←[Wi]·[Yi]、[Yi+1]←Activation([Ui+1])、[Un+1]←[Wn]·[Yn]、[Yn+1]←Activation2([Un+1]);
反向传播计算部,计算[Zn+1]←Activation2’([Yn+1],[T])、[Zn]←Activation’([Un])○([Zn+1]·[Wn])、针对1以上且n-1以下的各i的[Zn-i]←Activation’([Un-i])○([Zn-i+1]·[Wn-i]);
梯度计算部,计算[G0]←[Z1]·[X]、针对1以上且n-1以下的各i的[Gi]←[Zi+1]·[Yi]、[Gn]←[Zn+1]·[Yn];及
参数更新部,计算[G0]←rshift([G0],H’)、针对1以上且n-1以下的各i的[Gi]←rshift([Gi],H’)、[Gn]←rshift([Gn],H’),并针对0以上且n以下的各i,通过权利要求5所述的秘密梯度下降法计算系统,使用i层与i+1层之间的梯度[Gi]来学习i层与i+1层之间的参数[Wi]。
7.一种秘密计算装置,在权利要求5所述的秘密梯度下降法计算系统或权利要求6所述的秘密深度学习系统中使用。
8.一种计算机可读取的记录介质,存储了用于使计算机作为权利要求7所述的秘密计算装置发挥功能的程序。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/031941 WO2021029034A1 (ja) | 2019-08-14 | 2019-08-14 | 秘密勾配降下法計算方法、秘密深層学習方法、秘密勾配降下法計算システム、秘密深層学習システム、秘密計算装置、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114207694A CN114207694A (zh) | 2022-03-18 |
CN114207694B true CN114207694B (zh) | 2024-03-08 |
Family
ID=74570940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980099184.2A Active CN114207694B (zh) | 2019-08-14 | 2019-08-14 | 秘密梯度下降法计算方法及系统、秘密深度学习方法及系统、秘密计算装置、记录介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220329408A1 (zh) |
EP (1) | EP4016507A4 (zh) |
JP (1) | JP7279796B2 (zh) |
CN (1) | CN114207694B (zh) |
AU (1) | AU2019461061B2 (zh) |
WO (1) | WO2021029034A1 (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09106390A (ja) * | 1995-10-12 | 1997-04-22 | Sumitomo Metal Ind Ltd | ニューラルネットワーク |
JP2001092807A (ja) * | 1999-07-16 | 2001-04-06 | Matsushita Electric Ind Co Ltd | 有限体上の連立方程式求解装置及び逆元演算装置 |
CN1717665A (zh) * | 2003-09-26 | 2006-01-04 | 日本电信电话株式会社 | 标签隐私保护方法、标签装置、后端装置、更新装置、更新委托装置、其程序以及存储其程序的记录媒体 |
JP2016095330A (ja) * | 2014-11-12 | 2016-05-26 | 日本電信電話株式会社 | 秘密計算システム及び方法並びに管理サーバ及びプログラム |
WO2017183587A1 (ja) * | 2016-04-18 | 2017-10-26 | 日本電信電話株式会社 | 学習装置、学習方法および学習プログラム |
CN109328377A (zh) * | 2016-07-06 | 2019-02-12 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法、以及程序 |
CN109416894A (zh) * | 2016-07-06 | 2019-03-01 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法以及程序 |
WO2019046651A2 (en) * | 2017-08-30 | 2019-03-07 | Inpher, Inc. | EVALUATION OF REAL-VALUE FUNCTION PRESERVING HIGH PRECISION CONFIDENTIALITY |
CN110084063A (zh) * | 2019-04-23 | 2019-08-02 | 中国科学技术大学 | 一种保护隐私数据的梯度下降计算方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016509268A (ja) | 2013-03-04 | 2016-03-24 | トムソン ライセンシングThomson Licensing | プライバシーを保護する計数の方法およびシステム |
KR101852116B1 (ko) * | 2016-11-15 | 2018-04-25 | 재단법인대구경북과학기술원 | 디노이징 장치 및 노이즈 제거 방법 |
JP7045150B2 (ja) | 2017-03-16 | 2022-03-31 | 株式会社デンソー | 連続最適化問題の大域的探索装置及びプログラム |
EP3602422B1 (en) * | 2017-03-22 | 2022-03-16 | Visa International Service Association | Privacy-preserving machine learning |
JP7146372B2 (ja) | 2017-06-21 | 2022-10-04 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、プログラム、および、記憶媒体 |
JP6730740B2 (ja) | 2017-12-25 | 2020-07-29 | 株式会社アクセル | 処理装置、処理方法、処理プログラム、及び暗号処理システム |
JP6730741B2 (ja) | 2017-12-26 | 2020-07-29 | 株式会社アクセル | 処理装置、処理方法、処理プログラム、及び暗号処理システム |
US11816575B2 (en) * | 2018-09-07 | 2023-11-14 | International Business Machines Corporation | Verifiable deep learning training service |
CN117480545A (zh) * | 2021-06-14 | 2024-01-30 | 日本电信电话株式会社 | 累积计算装置、累积计算方法和程序 |
-
2019
- 2019-08-14 AU AU2019461061A patent/AU2019461061B2/en active Active
- 2019-08-14 EP EP19941104.2A patent/EP4016507A4/en active Pending
- 2019-08-14 WO PCT/JP2019/031941 patent/WO2021029034A1/ja unknown
- 2019-08-14 CN CN201980099184.2A patent/CN114207694B/zh active Active
- 2019-08-14 US US17/634,237 patent/US20220329408A1/en active Pending
- 2019-08-14 JP JP2021539762A patent/JP7279796B2/ja active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09106390A (ja) * | 1995-10-12 | 1997-04-22 | Sumitomo Metal Ind Ltd | ニューラルネットワーク |
JP2001092807A (ja) * | 1999-07-16 | 2001-04-06 | Matsushita Electric Ind Co Ltd | 有限体上の連立方程式求解装置及び逆元演算装置 |
CN1717665A (zh) * | 2003-09-26 | 2006-01-04 | 日本电信电话株式会社 | 标签隐私保护方法、标签装置、后端装置、更新装置、更新委托装置、其程序以及存储其程序的记录媒体 |
JP2016095330A (ja) * | 2014-11-12 | 2016-05-26 | 日本電信電話株式会社 | 秘密計算システム及び方法並びに管理サーバ及びプログラム |
WO2017183587A1 (ja) * | 2016-04-18 | 2017-10-26 | 日本電信電話株式会社 | 学習装置、学習方法および学習プログラム |
CN109328377A (zh) * | 2016-07-06 | 2019-02-12 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法、以及程序 |
CN109416894A (zh) * | 2016-07-06 | 2019-03-01 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法以及程序 |
WO2019046651A2 (en) * | 2017-08-30 | 2019-03-07 | Inpher, Inc. | EVALUATION OF REAL-VALUE FUNCTION PRESERVING HIGH PRECISION CONFIDENTIALITY |
CN110084063A (zh) * | 2019-04-23 | 2019-08-02 | 中国科学技术大学 | 一种保护隐私数据的梯度下降计算方法 |
Non-Patent Citations (3)
Title |
---|
Diederik P. Kingma,Jimmy Lei Ba.ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION.International Conference on Learning Representations,2015,第3卷1-15. * |
Melissa Chase, Ran Gilad-Bachrach, Kim Laine, Kristin Lauter, Peter Rindal.Private Collaborative Neural Network Learning.International Association For Cryptologic Research,2017,1-17. * |
Nitin Agrawal,Ali Shahin Shamsabadi,Matt J. Kusner,Adrià Gascón.QUOTIENT: Two-Party Secure Neural Network Training and Prediction.Cornell University Library,2019,1231-1247. * |
Also Published As
Publication number | Publication date |
---|---|
AU2019461061A1 (en) | 2022-03-03 |
EP4016507A1 (en) | 2022-06-22 |
US20220329408A1 (en) | 2022-10-13 |
CN114207694A (zh) | 2022-03-18 |
EP4016507A4 (en) | 2023-05-10 |
JPWO2021029034A1 (zh) | 2021-02-18 |
AU2019461061B2 (en) | 2023-03-30 |
WO2021029034A1 (ja) | 2021-02-18 |
JP7279796B2 (ja) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nandakumar et al. | Towards deep neural network training on encrypted data | |
US11087223B2 (en) | Learning and inferring insights from encrypted data | |
US11354539B2 (en) | Encrypted data model verification | |
US11343068B2 (en) | Secure multi-party learning and inferring insights based on encrypted data | |
Qian et al. | Periodic solutions for ordinary differential equations with sublinear impulsive effects | |
Chen | Fast distributed first-order methods | |
WO2018075655A1 (en) | Exact quantum circuits and circuit syntheses for qudit and multiple qubit circuits | |
CN112805768B (zh) | 秘密s型函数计算系统及其方法、秘密逻辑回归计算系统及其方法、秘密s型函数计算装置、秘密逻辑回归计算装置、程序 | |
CN114245917B (zh) | 秘密归一化指数函数计算系统、装置、方法以及记录介质 | |
US11681939B2 (en) | Quantum data loader | |
Hitzer | Algebraic foundations of split hypercomplex nonlinear adaptive filtering | |
Chambolle et al. | Accelerated alternating descent methods for Dykstra-like problems | |
Smith et al. | L1-regularized distributed optimization: A communication-efficient primal-dual framework | |
CN114207694B (zh) | 秘密梯度下降法计算方法及系统、秘密深度学习方法及系统、秘密计算装置、记录介质 | |
US11943277B2 (en) | Conversion system, method and program | |
Abramson et al. | A subclass of generating set search with convergence to second-order stationary points | |
Mandal et al. | Hybrid phase-based representation of quantum images | |
Wang et al. | A note on augmented Lagrangian-based parallel splitting method | |
Sanchez et al. | Correlation property of multipartite quantum image | |
Huang et al. | Efficient algorithms for ‘universally’constrained matrix and tensor factorization | |
Serganova | Representations of a central extension of the simple Lie superalgebra\mathfrak p (3) p (3) | |
Carnicer et al. | Observations on interpolation by total degree polynomials in two variables | |
JP7568084B2 (ja) | 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム | |
Gutman | Enhanced basic procedures for the projection and rescaling algorithm | |
WO2018190064A1 (ja) | 量子アニーリング計算のための処理方法 |
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 |