CN112805768A - 秘密s型函数计算系统、秘密逻辑回归计算系统、秘密s型函数计算装置、秘密逻辑回归计算装置、秘密s型函数计算方法、秘密逻辑回归计算方法、程序 - Google Patents

秘密s型函数计算系统、秘密逻辑回归计算系统、秘密s型函数计算装置、秘密逻辑回归计算装置、秘密s型函数计算方法、秘密逻辑回归计算方法、程序 Download PDF

Info

Publication number
CN112805768A
CN112805768A CN201980064791.5A CN201980064791A CN112805768A CN 112805768 A CN112805768 A CN 112805768A CN 201980064791 A CN201980064791 A CN 201980064791A CN 112805768 A CN112805768 A CN 112805768A
Authority
CN
China
Prior art keywords
ltoreq
secret
fraction
grad
eta
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.)
Granted
Application number
CN201980064791.5A
Other languages
English (en)
Other versions
CN112805768B (zh
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN112805768A publication Critical patent/CN112805768A/zh
Application granted granted Critical
Publication of CN112805768B publication Critical patent/CN112805768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

一种秘密S型函数计算系统,将mapσ设为由表示S型函数σ(x)的定义域的参数(a0,…,ak‑1)和表示值域的参数(σ(a0),…,σ(ak‑1))(a0,…,ak‑1为满足a0<…<ak‑1的实数)定义的秘密批量映射,所述秘密S型函数计算系统由3个以上的秘密S型函数计算装置构成,从输入向量x的份额[[x]],计算对于输入向量x的S型函数的值y的份额[[y]],所述秘密S型函数计算系统包含通过[[y]]=mapσ([[x]])=([[σ(af(0))]],…,[[σ(af(m‑1))]])计算份额[[y]]的秘密批量映射计算单元,其中,f(i)是成为aj≤xi<aj+1的j,0≤i≤m‑1。

Description

秘密S型函数计算系统、秘密逻辑回归计算系统、秘密S型函数 计算装置、秘密逻辑回归计算装置、秘密S型函数计算方法、秘 密逻辑回归计算方法、程序
技术领域
本发明涉及秘密计算技术。特别是,本发明涉及秘密计算S型函数(sigmoidfunction)的技术、或者秘密计算逻辑回归模型的模型参数的技术。
背景技术
作为用于秘密计算S型函数的以往的方法,有在基于完全准同态加密的秘密计算中进行3次多项式近似的方法(非专利文献1)、以及在基于加法准同态加密的秘密计算中进行多项式近似的方法(非专利文献2、非专利文献3)。
在这里,秘密计算是,不将被加密的数值复原而得到指定的运算的运算结果的方法(例如,参照参考非专利文献1)。在参考非专利文献1的方法中,能够进行所谓将可复原数值的多个信息分散到三个秘密计算装置的加密,并不将数值复原,而将加减计算、常数和、乘法、常数倍、逻辑运算(“非”、“与”、“或”、“异或”)、数据形式变换(整数,二进数)的结果在被分散在三个秘密计算装置的状态、即仍被加密的情况下进行保持。一般来说,分散数不限于3而可设为W(W是3以上的规定的常数),通过基于W个秘密计算装置的协调计算实现秘密计算的协议称为多方协议。
(参考非专利文献1:千田浩司,濱田浩気,五十嵐大,高橋克巳,“軽量検証可能3パーティ秘匿関数計算の再考”(千田浩司,滨田浩气,五十岚大,高桥克己,“浅析可验证3方隐匿函数计算的再探讨(A Three-Party Secure Function Evaluation with LightweightVerifiability Revisited)),In CSS,2010.)
现有技术文献
非专利文献
非专利文献1:Kyoohyung Han,Seungwan Hong,Jung Hee Cheon,and DaejunPark,“Efficient logistic regression on large encrypted data”,https://eprint.iacr.org/2018/662.pdf,2018.
非专利文献2:呉双,照屋唯紀,川本淳平,佐久間淳,菊池浩明,“Privacy-preservation for stochastic gradient descent”,2013年度人工知能学会全国大会(第27回)論文集,https://www.jstage.jst.go.jp/article/pjsai/JSAI2013/0/JSAI2013_3L1OS06a3/_pdf/-char/ja,一般社団法人人工知能学会,2013.
非专利文献3:青野良範,林卓也,レチュウフォン,王立華,“大規模かつプライバシー保護を可能とするロジスティック解析手法の提案”,In SCIS2016,2016.
发明内容
发明要解决的课题
可是,S型函数是以下式表示的非线性函数(参照图1),不容易兼顾精度和处理速度两者而秘密计算S型函数。
[数1]
σ(x)=1/(l+exp(-x))…(1)
在非专利文献1~3中记载的方法,不仅任一个都近似精度不好,还需要通过x的定义域每次重新作成近似式,所以缺少实用性。另外,输入近似多项式越增加次数则其近似精度越提高,但是由于增加相应部分的乘法运算的次数,所以存在处理变慢的问题。
因此,本发明的目的是提供高速并且高精度地秘密计算S型函数的技术。或者,本发明的目的是提供使用秘密计算S型函数的技术,高速并且高精度地秘密计算逻辑回归模型的模型参数的技术。
用于解决课题的方案
本发明的一个方式的秘密S型函数计算系统是,将mapσ设为由表示S型函数σ(x)的定义域的参数(a0,…,ak-1)和表示值域的参数(σ(a0),…,σ(ak-1))(其中,k为1以上的整数,a0,…,ak-1是满足a0<…<ak-1的实数)定义的秘密批量映射,所述秘密S型函数计算系统由3个以上的秘密S型函数计算装置构成,并从输入向量x=(x0,…,xm-1)的份额[[x]]=([[x0]],…,[[xm-1]]),计算对于输入向量x的S型函数的值y=(y0,…,ym-1)的份额[[y]]=([[y0]],…,[[ym-1]]),该秘密S型函数计算系统包含从所述份额[[x]]计算mapσ([[x]])=([[σ(af(0))]],…,[[σ(af(m-1))]])(其中,f(i)(0≤i≤m-1)是成为aj≤xi<aj+1的j),通过([[y0]],…,[[ym-1]])=([[σ(af(0))]],…,[[σ(af(m-1))]])计算所述份额[[y]]的秘密批量映射计算单元。
本发明的一个方式的秘密逻辑回归计算系统是,将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用技术方案1中记载的秘密S型函数计算系统,从输入向量x的份额[[x]]计算对于输入向量x的S型函数的值y的份额[[y]],所述秘密逻辑回归计算系统由3个以上的秘密逻辑回归计算装置构成,并从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、目的变量的数据yi的份额[[yi]](0≤i≤m-1)计算逻辑回归模型的模型参数w的份额[[w]],该秘密逻辑回归计算系统包括:初始化单元,设定模型参数w的初始值w0 的份额[[w0 ]];误差计算单元,对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]])计算[[bi]],从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]]))计算([[c0]],…,[[cm-1]]),对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]]计算误差[[di]];以及模型参数更新单元,对于j=0,…,n,从所述误差[[di]](0≤i≤m-1)和所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]],从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[e]],通过[[wj,t+1]]=[[wj,t]]-η(1/m)[[e]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
本发明的一个方式的秘密逻辑回归计算系统是,将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用技术方案1中记载的秘密S型函数计算系统,从输入向量x的份额[[x]]计算对于输入向量x的S型函数的值y的份额[[y]],在将成为秘密计算的对象的任意的值设为p,将p的精度记述为b_p[bit]的情况下,p的份额[[p]]实际上表示是[[p×2b _ p]]这样的固定小数点数的份额,在将成为秘密计算的对象的任意的向量设为q,将q的元素设为qi,将q的精度记述b_q[bit]的情况下,q的份额[[q]]实际上表示由[[qi×2b _ q]]这样的固定小数点数的份额构成,将w,w0 ,wt ,wt+1 ,eta_grad_ave_shift的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1),ci(0≤i≤m-1),di(0≤i≤m-1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],学习数据数的倒数1/m的精度记述为b_m+H[bit],将bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit],将eta_grad的精度记述为b_y+b_x+b_η[bit],将eta_grad_shift的精度记述为b_tmp[bit],将eta_grad_ave的精度记述为b_tmp+b_m+H[bit],将b_w,b_x,b_y,b_η,b_m,H,b_tmp设为预先决定的正整数,设rshift(a,b)表示将a这样的值仅算术右移位b[bit],所述秘密逻辑回归计算系统由3个以上的秘密逻辑回归计算装置构成,并从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、目的变量的数据yi的份额[[yi]](0≤i≤m-1)计算逻辑回归模型的模型参数w的份额[[w]],该秘密逻辑回归计算系统包括:初始化单元,设定模型参数w的初始值w0 的份额[[w0 ]];误差计算单元,对于i=0,…,m-1,进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]])计算[[bi]],从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]]))计算([[c0]],…,[[cm-1]]),对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]]计算误差[[di]];以及模型参数更新单元,对于j=0,…,n,从所述误差[[di]](0≤i≤m-1)和所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]]计算[[e]],从所述η以及所述[[e]],通过[[eta_grad]]=η[[e]]计算[[eta_grad]],从所述[[eta_grad]],通过[[eta_grad_shift]]=rshift([[eta_grad]],b_y+b_x+b_η-b_tmp)计算[[eta_grad_shift]],从所述[[eta_grad_shift]],通过[[eta_grad_ave]]=(1/m)[[eta_grad_shift]]计算[[eta_grad_ave]],从所述[[eta_grad_ave]],通过[[eta_grad_ave_shift]]=rshift([[eta_grad_ave]],b_tmp+b_m+H-b_w)计算[[eta_grad_ave_shift]],从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[eta_grad_ave_shift]],通过[[wj,t+1]]=[[wj,t]]-[[eta_grad_ave_shift]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
本发明的一个方式的秘密逻辑回归计算系统是,将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用技术方案1中记载的秘密S型函数计算系统,从输入向量x的份额[[x]],计算对于输入向量x的S型函数的值y的份额[[y]],在将成为秘密计算的对象的任意的值设为p,将p的精度记述为b_p[bit]的情况下,p的份额[[p]]实际上表示是[[p×2b _ p]]这样的固定小数点数的份额,在将成为秘密计算的对象的任意的向量设为q,将q的元素设为qi,将q的精度记述为b_q[bit]的情况下,q的份额[[q]]实际上表示由[[qi×2b _ q]]这样的固定小数点数的份额构成,将w、w0 、wt 、wt+1 、eta_grad_ave的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1)、ci(0≤i≤m-1)、di(0≤i≤m-1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit],将b_w,b_x,b_y,b_η设为预先决定的正整数,rshift(a,b)设为表示将a这样的值仅算术右移位b[bit],floor设为表示向下舍入的函数,作为X=-(floor(log2(η/m))),所述秘密逻辑回归计算系统由3个以上的秘密逻辑回归计算装置构成,并从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、目的变量的数据yi的份额[[yi]](0≤i≤m-1),计算逻辑回归模型的模型参数w的份额[[w]],该秘密逻辑回归计算系统包括:初始化单元,设定模型参数w的初始值w0 的份额[[w0 ]];误差计算单元,对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]])计算[[bi]],从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]]))计算([[c0]],…,[[cm-1]]),对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]]计算误差[[di]];以及模型参数更新单元,对于j=0,…,n,从所述误差[[di]](0≤i≤m-1)和所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]]计算[[e]],从所述[[e]],通过[[eta_grad_ave]]=rshift([[e]],X+b_y+b_x-b_w)计算[[eta_grad_ave]],从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[eta_grad_ave]],通过[[wj,t+1]]=[[wj,t]]-[[eta_grad_ave]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
发明的效果
按照本发明,能够高速并且高精度地秘密计算S型函数。或者,按照本发明,能够高速并且高精度地秘密计算逻辑回归模型的模型参数。
附图说明
图1是表示S型函数σ(x)的图。
图2是表示秘密逻辑回归计算算法的图。
图3是表示秘密S型函数计算系统10的结构的方框图。
图4是表示秘密S型函数计算装置100i的结构的方框图。
图5是表示秘密S型函数计算系统10的动作的流程图。
图6是表示秘密逻辑回归计算系统20的结构的方框图。
图7是表示秘密逻辑回归计算装置200i的结构的方框图。
图8是表示秘密逻辑回归计算系统20的动作的流程图。
具体实施方式
以下,对于本发明的实施方式详细地进行说明。另外,对于具有相同的功能的结构部附加相同的标号,省略重复说明。
在后叙述的秘密S型函数计算算法、秘密逻辑回归计算算法通过已有的秘密计算上的运算的组合来构筑。这些算法所需要的运算是隐匿化、加法、乘法、hpsum。另外,hpsum是积和。以下,对于各运算进行说明。
<运算>
[隐匿化]
将[[x]]设为将x以秘密分散进行了隐匿后的值(以下,称为x的份额)。在秘密分散方法中可以使用任意的方法。例如,可以使用GF(261-1)上的Shamir秘密分散,Z2上的复制秘密分散。
也可以在某一个算法中将多个秘密分散方法组合使用。在该情况下,设为适当相互地变换的方法。
另外,对于n维向量x=(x0,…,xn-1),设为[[x]]=([[x0]],…,[[xn-1]])。n是模型参数的数,并且是规定的正整数。
另外,将x称为[[x]]的明文。
作为从x求出[[x]]的方法(隐匿化)、从[[x]]求出x的方法(复原),具体地说有参考非专利文献1、参考非专利文献2中记载的方法。
(参考非专利文献2:Shamir,A.,“How to share a secret”,Communications oftheACM,Vol.22,No.11,pp.612-613,1979.)
[加法、乘法]
基于秘密计算的加法[[x]]+[[y]]是,将[[x]]、[[y]]设为输入,并输出[[x+y]]。基于秘密计算的乘法[[x]]×[[y]](mul([[x]],[[y]]))是,将[[x]]、[[y]]设为输入,并输出[[x×y]]。
另外,也可以是[[x]]、[[y]]的任一个未被隐匿的值(以下,称为公开值)。例如,也可以将β、γ设为公开值,将[[x]]、β设为输入,并输出[[x+β]],或者将γ、[[y]]设为输入,并输出[[γ×y]]。
作为加法、乘法的具体的方法,有参考非专利文献3、参考非专利文献4中记载的方法。
(参考非专利文献3:Ben-Or,M.,Goldwasser,S.and Wigderson,A.,“Completenesstheorems for non-cryptographic fault-tolerant distributedcomputation”,Proceedings of the twentieth annual ACM symposium on Theory ofcomputing,ACM,pp.1-10,1988.)
(参考非专利文献4:Gennaro,R.,Rabin,M.O.and Rabin,T.,“Simplied VSS andfast-track multiparty computations with applications to thresholdcryptography”,Proceedings of the seventeenth annual ACM symposium onPrinciples of distributed computing,ACM,pp.101-111,1998.)
[hpsum]
秘密计算hpsum([[x]],[[y]])是,将[[x]]、[[y]](其中,x=(x0,…,xn-1),y=(y0,…,yn-1))设为输入,并输出[[Σj=0 n-1xjyj]]。即,输出两个向量的第j元素之积的和。
<技术的背景>
(秘密批量映射)
为了秘密计算图1所示的单调增加函数即S型函数σ(x),在本发明的实施方式中使用秘密批量映射。以下,对秘密批量映射进行说明。
秘密批量映射是计算查找表的功能,是可以任意决定定义域和值域的技术。作为例子,考虑以秘密批量映射计算将输入乘以10倍的函数的情况。假设已准备了某个定义域X={1,3,5}、和作为其10倍的值的集合的值域Y={10,30,50}。在秘密批量映射中,对于不属于定义域的输入x,输出属于定义域的、x以下的最大的值。因此,若输入4则输出30。可是,通过将定义域设为X={1,2,3,4,5},将值域设为Y={10,20,30,40,50}那样更细致地进行设定,则在输入了4时变为输出40,能够进行高精度下的计算。通过使用该性质,即使是固定小数点数也不超过数据型的上限,并且计算误差也小,可以设定适当的精度。另外,秘密批量映射的处理时间依赖于定义域或值域的大小。因此,计算精度的高度和处理速度变为权衡的关系。
[算法]
这里,对使用秘密批量映射来秘密计算S型函数的算法(秘密S型函数计算算法)进行说明。例如,可以使用参考非专利文献5中记载的秘密批量映射的算法。
(参考非专利文献5:濱田浩気,五十嵐大,千田浩司,“秘匿計算上の批量映射アルゴリズム”,電子情報通信学会論文誌A,Vol.J96-A,No.4,pp.157-165,2013)
秘密批量映射是如下的映射:将向量x=(x0,…,xm-1)的份额[[x]]=([[x0]],…,[[xm-1]])设为输入,使用表示函数的定义域的参数(a0,…,ak-1)和表示函数的值域的参数(b0,…,bk-1)(其中,a0,…,ak-1,b0,…,bk-1为实数,满足a0<…<ak-1。),输出使向量的各元素的份额映射了的份额,即,对于0≤i≤m-1,输出aj≤xi<aj+1并且yi=bj那样的([[y0]],…,[[ym-1]])。
秘密S型函数计算算法是选择了使表示秘密批量映射中的函数的定义域的参数(a0,…,ak-1)和表示函数的值域的参数(b0,…,bk-1)以满足bj=σ(aj)(0≤j≤k-1)的算法(以下,将该秘密批量映射表示为mapσ)。
即,秘密S型函数计算算法将向量x=(x0,…,xm-1)的份额[[x]]=([[x0]],…,[[xm-1]])设为输入,使用通过表示S型函数σ(x)的定义域的参数(a0,…,ak-1)和表示值域的参数(σ(a0),…,σ(ak-1))(其中,k为1以上的整数,a0,…,ak-1为满足a0<…<ak-1的实数)定义的秘密批量映射mapσ,对0≤i≤m-1,将aj≤xi<aj+1的j设为f(i),输出([[σ(af(0))]],…,[[σ(af(m-1))]])。
如上述那样,用于秘密批量映射中的定义域和值域是可以任意设定的值,所以可以根据需要的精度或处理速度来决定。因此,与使用多项式进行近似的情况不同,可以设定任意的精度的值。因此,例如也可以实现与原文毫不逊色的精度。
另外,在使用秘密批量映射秘密计算S型函数时,还有其它的优点。以下进行说明。从处理成本的观点看(不是浮动小数点),在使用固定小数点进行计算的情况下,每次进行乘法时数值精度增大,有时超出数据型的上限,所以有时产生在中途有意识地进行位数降低的需要。可是,若使用秘密批量映射,则可以独立地设定定义域和值域,所以在进行S型函数的计算的同时还可以进行数值精度的调节,是高效率的。
另外,以下,将秘密S型函数计算算法表示为Sigmoid。因此,变为Sigmoid([[x]])=([[σ(af(0))]],…,[[σ(af(m-1))]])。
(逻辑回归分析)
逻辑回归分析的模型f(x)(其中,x=(x1,…,xn))将n+1维向量w=(w0,…,wn)设为模型参数,通过下式表示。
[数2]
Figure BDA0003001253730000091
其中,(1,x)表示n+1维向量(1,x1,…,xn)。
作为学习模型参数w的方法,有作为探索函数的最小值的学习法的最速下降法。在最速下降法中,使用以下的输入、参数进行学习。
(输入)说明变量的数据xi 、目的变量的数据yi(其中,0≤i≤m-1,m是1以上的整数,表示学习数据的数)
(参数)学习率η(0<η<1)、学习次数T
另外,对于学习率η以及学习次数T,设为被设定适当的值。
作为将wt =(w0,t,…,wn,t)进行了t次(0≤t≤T-1)更新的模型参数,通过以下的式子进行学习。
[数3]
Figure BDA0003001253730000092
即,使用学习数据xi 、yi,对于模型参数w的每个第j元素wj进行更新。另外,对于模型参数w的初始值w0 设为被设定适当的值。
[算法]
这里,对秘密计算逻辑回归模型的模型参数的算法(秘密逻辑回归计算算法)进行说明。秘密逻辑回归计算算法将说明变量的数据xi 的份额[[xi ]]、目的变量的数据yi的份额[[yi]]设为输入,使用作为公开值的参数η、T,计算并输出模型参数w的份额[[w]]。图2表示具体的步骤。若观察图2,则可知在步骤4~步骤23中按照式(3)计算[[w]]。另外,还可知在步骤10中,使用秘密S型函数计算算法Sigmoid求出S型函数的值。
若使用秘密S型函数计算算法Sigmoid,则S型函数的计算的精度变好,所以与以往的方法(非专利文献1~3中记载的方法)相比,逻辑回归的计算的精度也变好。另外,在非专利文献2以及3中记载的方法中,在计算过程中值的一部分无法隐匿化而在安全性上存在问题,但是若观察秘密逻辑回归计算算法的各步骤则可知,由于在计算过程中秘密被保持,所以完全不将信息泄漏到外部,可以安全地进行计算。
另外,在使用秘密批量映射计算S型函数的情况下,通过同时利用可进行近似精度的调节的性质,即使是需要反复乘法运算的逻辑回归分析的计算,也能够不超出数据型的上限而进行计算。
(适用例)
如上述那样,在秘密批量映射中可以任意地设定精度,但是由于附加与值域或定义域的大小成正比的开销,所以为了更高效地秘密计算S型函数,需要考虑精度和开销的平衡。例如,若将精度设定为10-4左右,则即使与明文相比,也可以将定义域或值域的大小抑制得小,并且高精度地进行计算。
另外,在逻辑回归分析中,最终作为进行2值分类时的阈值,使用x=0附近的值的情况较多,所以优选x=0附近的S型函数的近似精度变高。由图1可知,S型函数在x=0附近值变化大,但是在除此以外的范围中变为大致固定的值。因此,利用S型函数的该性质,通过对值变化大的部分细致地设定定义域或值域,另外对除此以外的范围,粗略地进行设定,可以作为整体不增大定义域或值域的大小,高效地提高精度。
<第1实施方式>
以下,参照图3~图5,对秘密S型函数计算系统10进行说明。图3是表示秘密S型函数计算系统10的结构的方框图。秘密S型函数计算系统10包含W个(W是3以上的规定的整数)秘密S型函数计算装置1001,…,100W。秘密S型函数计算装置1001,…,100W连接到网络800,能够相互通信。网络800例如可以是因特网等通信网或者广播通信路径等。图4是表示秘密S型函数计算装置100i(1≤i≤W)的结构的方框图。图5是表示秘密S型函数计算系统10的动作的流程图。
如图4所示,秘密S型函数计算装置100i包含秘密批量映射计算部110i和记录部190i。除了记录部190i的秘密S型函数计算装置100i的各结构部被构成为可执行秘密S型函数计算算法中需要的运算,即,至少隐匿化、加法、乘法、hpsum、秘密批量映射中,在实现各结构部的功能上所需要的运算。本发明中用于实现各个运算的具体的功能结构例如通过可执行参考非专利文献1~5的每一个中被公开的算法那样的结构就足够,这些是以往的结构,所以省略详细的说明。另外,记录部190i是记录秘密S型函数计算装置100i的处理所需要的信息的结构部。例如,记录部190i预先记录表示秘密批量映射mapσ的定义所需要的S型函数σ(x)的定义域的参数(a0,…,ak-1)、和表示值域的参数(σ(a0),…,σ(ak-1))(其中,k为1以上的整数,a0,…,ak-1是满足a0<…<ak-1的实数)。这里,如先前叙述的那样,若选择参数(a0,…,ak-1),使得在x=0附近(即,-ε<x<ε,ε(>0)是规定的实数)中,与其它的范围(即,x≤-ε或者x≧ε)相比,相邻的点的间隔相对地变窄(或者,点相对地变多),则x=0附近的S型函数的近似精度可以提高。
通过W个秘密S型函数计算装置100i进行的协调计算,秘密S型函数计算系统10实现多方协议即秘密S型函数计算算法。由此,秘密S型函数计算系统10的秘密批量映射计算单元110(未图示)由秘密批量映射计算部1101、…、110W构成。
秘密S型函数计算系统10从输入向量x=(x0,…,xm-1)的份额[[x]]=([[x0]],…,[[xm-1]]),计算对于输入向量x的S型函数的值y=(y0,…,ym-1)的份额[[y]]=([[y0]],…,[[ym-1]])。这里,一般来说,所谓计算对于输入向量的S型函数,意味着计算对于输入向量的各元素的S型函数的值。以下,按照图5说明秘密S型函数计算系统10的动作。
秘密批量映射计算单元110从输入向量x=(x0,…,xm-1)的份额[[x]]=([[x0]],…,[[xm-1]]),计算mapσ([[x]])=([[σ(af(0))]],…,[[σ(af(m-1))]])(其中,f(i)(0≤i≤m-1)是成为aj≤xi<aj+1的j),通过([[y0]],…,[[ym-1]])=([[σ(af(0))]],…,[[σ(af(m-1))]]),计算份额[[y]](S110)。
按照本实施方式的发明,能够高速并且高精度地秘密计算S型函数。特别是,能够以与明文相比毫不逊色的精度,秘密计算S型函数。
本实施方式的发明通过使用秘密批量映射,实现不容易进行秘密计算的非线性函数即S型函数的计算。因此,若利用秘密批量映射的定义域被任意决定的特征,则可以根据需要在处理速度上优先,实现更高精度下的S型函数的秘密计算。
在第1实施方式中,也可以在设定定义域、值域时使用S型函数的反函数σ-1
即,在设定表示函数的定义域的参数(a0,…,ak-1)和表示函数的值域的参数(b0,…,bk-1)时,也可以使用反S型函数σ-1。例如,在决定了期望的参数(b0,…,bk-1)后,使用反S型函数σ-1来计算与各bi(0≤i≤k-1)对应的ai的值。这样,也可以将计算出的(a0,…,ak-1)设为表示函数的定义域的参数,将期望的参数(b0,…,bk-1)设为表示函数的值域的参数。
反S型函数σ-1例如变为以下那样。
σ-1(x)=-ln((1/x)-1)
通过使用反函数,可以容易地计算S型函数那样的斜率急剧地变化的函数的定义域或值域。
<第2实施方式>
以下,参照图6~图8,对秘密逻辑回归计算系统20进行说明。图6是表示秘密逻辑回归计算系统20的结构的方框图。秘密逻辑回归计算系统20包含W'个(W'是3以上的规定的整数)的秘密逻辑回归计算装置2001、…、200W'。秘密逻辑回归计算装置2001、…、200W'连接到网络800,能够相互通信。网络800例如也可以是因特网等通信网或者广播通信路径等。图7是表示秘密逻辑回归计算装置200i(1≤i≤W')的结构的方框图。图8是表示秘密逻辑回归计算系统20的动作的流程图。
如图7所示,秘密逻辑回归计算装置200i包含初始化部210i、误差计算部220i、模型参数更新部230i、条件判定部240i、记录部290i。除了记录部290i以外的秘密逻辑回归计算装置200i的各结构部被构成为,可执行在秘密逻辑回归计算算法中所需要的运算,即,至少隐匿化、加法、乘法,hpsum、秘密批量映射中,在实现各结构部的功能上所需要的运算。在本发明中用于实现各个运算的具体的功能结构,例如通过可执行参考非专利文献1~5的每一个中被公开的算法的结构就足够,这些是以往的结构,所以省略详细的说明。另外,记录部290i是记录秘密逻辑回归计算装置200i的处理所需要的信息的结构部。例如,记录部290i记录参数η、T(其中,将η设为满足0<η<1的实数,T是1以上的整数)。另外,记录部290i还记录秘密S型函数计算算法Sigmoid(S型)的计算所需要的参数。例如,记录部290i预先记录参数(a0,…,ak-1),(σ(a0),…,σ(ak-1))。
通过W'个秘密逻辑回归计算装置200i的协调计算,秘密逻辑回归计算系统20实现多方协议即秘密逻辑回归计算算法。由此,秘密逻辑回归计算系统20的初始化单元210(未图示)由初始化部2101、…、210W'构成,误差计算单元220(未图示)由误差计算部2201、…、220W'构成,模型参数更新单元230(未图示)由模型参数更新部2301、…、230W'构成,收敛条件判定单元240(未图示)由条件判定部2401、…、240W'构成。
秘密逻辑回归计算系统20从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1,其中,m为1以上的整数)、目的变量的数据yi的份额[[yi]](0≤i≤m-1),来计算逻辑回归模型的模型参数w的份额[[w]](参照图2)。以下,按照图8说明秘密逻辑回归计算系统20的动作。
初始化单元210设定模型参数w的初始值w0 的份额[[w0 ]](S210)。具体地说,设定预先在记录部290i中记录的、适当的初始值w0 的份额[[w0 ]]就可以。与图2的秘密逻辑回归计算算法的步骤1对应。
误差计算单元220是,对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]]),来计算[[bi]],并从[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]])),来计算([[c0]],…,[[cm-1]]),对于i=0,…,m-1,从份额[[yi]]和([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]],来计算误差[[di]](S220)。与图2的秘密逻辑回归计算算法的步骤5~15对应。另外,Sigmoid只要使用秘密S型函数计算系统10进行计算即可。
模型参数更新单元230是,对于j=0,…,n,从S220中计算出的误差[[di]](0≤i≤m-1)和份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],来计算[[e]],并从份额[[wt ]]的第j元素[[wj,t]]和[[e]],通过[[wj,t+1]]=[[wj,t]]-η(1/m)[[e]],来计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]](S230)。与图2的秘密逻辑回归计算算法的步骤16~21对应。
条件判定部240判定事先设定的模型参数更新的反复条件,即,t<T,在条件被满足的情况下反复进行S220~S230的处理,反复条件未被满足的情况下(达到了规定的学习次数T的情况下),将份额[[wT-1 ]]作为模型参数w的份额[[w]]输出,并结束处理(S240)。
按照本实施方式的发明,能够高速并且高精度地秘密计算逻辑回归模型的模型参数。
<<第2实施方式的变形例1>>
也可以使用秘密批量映射和右移位进行逻辑回归分析。在秘密批量映射中有可以调节数值精度的性质。可是,在期望以更高的精度进行计算的情况下,和/或在使用大的学习数据的情况下,也可以进一步使用右移位进行精度的调节。另外,在仅写为了右移位的情况下,表示算术右移位。
另外,在第2实施方式的变形例1中,为了降低处理成本,对固定小数点数进行秘密计算。即,在作为秘密计算的对象的w等的值包含小数的情况下,秘密计算设为对将该值乘以了2b后的值进行。在该情况下,通过计算对该秘密计算的结果除以了2b后的值,得到与原本成为秘密计算的对象的值对应的秘密计算的结果。将这时的b称为精度。
即,在第2实施方式的变形例1中,将成为秘密计算的对象的任意的值设为p,将p的精度记述为b_p[bit]的情况下,p的份额[[p]]实际上表示是[[p×2b _ p]]这样的固定小数点数的份额。
另外,在将成为秘密计算的对象的任意的向量设为q,将q的元素设为qi,将q的精度记述为b_q[bit]的情况下,q的份额[[q]]实际上表示由[[qi×2b _ q]]这样的固定小数点数的份额构成。
另外,2b的乘法例如通过秘密逻辑回归计算装置200在适当的时候进行。适当的时候的例子是,在成为秘密计算的对象的数据被登记在秘密逻辑回归计算装置200中时、将秘密计算的对象从明文变换为份额时、或者在秘密计算之前。
另外,2b的除法例如通过秘密逻辑回归计算装置200在适当的时候进行。适当的时候的例子是,将秘密计算的结果返回委托了秘密计算的客户时、将份额变换为明文时、或者秘密计算之后。
因此,以下,有时不提及2b的乘法以及2b的除法。
将w、w0 、wt 、wt+1 、eta_grad_ave_shift的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1)、ci(0≤i≤m-1)、di(0≤i≤m-1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将学习数据数的倒数1/m的精度记述为b_m+H[bit],将bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit],将eta_grad的精度记述为b_y+b_x+b_η[bit],将eta_grad_shift的精度记述为b_tmp[bit],将eta_grad_ave的精度记述为b_tmp+b_m+H[bit]。b_w、b_x、b_y、b_η、b_m、H,b_tmp是根据进行秘密计算的计算机的性能预先决定的正整数。另外,H设为满足H≧log2(m)。
另外,因为在秘密计算中不容易进行除法,所以利用数据数m在明文中被得到而事先在明文中进行1/m的计算。由此,在秘密计算中可以作为与1/m的乘法进行计算。此时为了保证1/m的精度b_m[bit],需要对1/m乘以2b _ m+H
以下,以与第2实施方式的秘密逻辑回归计算装置200不同的部分为中心进行说明。
由初始化单元210进行的S210的处理以及由误差计算单元220进行的S220的处理与上述相同。在第2实施方式的变形例1中,模型参数更新单元230进行下记的处理。
模型参数更新单元230是,对j=0,…,n,从S220中计算出的误差[[di]](0≤i≤m-1)和份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]]。
接着,模型参数更新单元230从η以及[[e]],计算[[eta_grad]]=η[[e]]。在i的最大值为m的情况下(即数据数为m件的情况下),eta_grad所需要的存储器量变为b_y+b_x+b_η+ceil(log2(m))[bit]。该值变大会溢出,在以下的处理中进行rshift。另外,ceil意味着向上舍入。
接着,模型参数更新单元230是,从[[eta_grad]]计算[[eta_grad_shift]]=rshift([[eta_grad]],b_y+b_x+b_η-b_tmp)。这里,rshift(a,b)表示将a这样的值算术右移位相当于b[bit]的比特位。eta_grad由于需要b_y+b_x+b_η+ceil(log2(m))[bit]的存储器(例:在b_y=14、b_x=17、b_η=7、m=10万的情况下55bit),所以这里若不右移位而计算eta_grad_ave,则进一步增加b_m+H(例:b_m=17,H=17)[bit],所以有溢出的可能性。虽然也取决于设备的性能,但是一般来说若超过64bit则溢出。另外,在秘密计算中,还有能够处理的存储器量更少的情况。
接着,模型参数更新单元230从[[eta_grad_shift]]计算[[eta_grad_ave]]=(1/m)[[eta_grad_shift]]。
接着,模型参数更新单元230从[[eta_grad_ave]]计算[[eta_grad_ave_shift]]=rshift([[eta_grad_ave]],b_tmp+b_m+H-b_w)。
最后,模型参数更新部230从份额[[wt ]]的第j元素[[wj,t]]和[[eta_grad_ave_shift]],通过[[wj,t+1]]=[[wj,t]]-[[eta_grad_ave_shift]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
条件判定部240的处理与上述相同。
另外,从逻辑右移位向算术右移位的变换例如进行以下的处理即可。另外,在以下的说明中,rlshift(a,b)表示将a逻辑右移位b[bit]。在以下的说明中,明确地表示对乘以了2b后的值进行秘密计算。因此,例如,[[B×2n]]如字面那样,表示B×2n的值被分享。
在将精度n[bit]的值a右移位m[bit]的情况下,加上|a|≤A的精度n[bit]的值A。这里,设为n>m。
B×2n=a×2n+A×2n
将B×2n逻辑右移位相当于n-m[bit]的比特位。
B×2m=rlshift(B×2n,n-m)
减去在移位前加上的A。
a×2m=B×2m-A×2m
即,因为eta_grad的精度为b_y+b_x+b_η,所以模型参数更新部230首先决定|eta_grad|≤A的精度b_y+b_x+b_η的值A。然后,模型参数更新部230计算满足B×2n=eta_grad×2n+A×2n的B×2n的份额[[B×2n]]。然后,模型参数更新部230根据计算出的份额[[B×2n]],计算满足B×2m=rlshift([[B×2n]],b_y+b_x+b_η-(b_y+b_x+b_η-b_tmp))的B×2n的份额[[B×2n]]。然后,模型参数更新部230根据计算出的份额[[B×2n]],计算满足a×2m=B×2m-A×2m的a×2m的份额[[a×2m]]。计算出的[[a×2m]]变为上述的说明中的[[eta_grad_shift]]。
另外,eta_grad_ave的精度为b_tmp+b_m+H,所以模型参数更新部230首先决定|eta_grad_ave|≤A的精度b_tmp+b_m+H的值A。然后,模型参数更新部230计算满足B×2n=eta_grad_ave×2n+A×2n的B×2n的份额[[B×2n]]。然后,模型参数更新部230根据计算出的份额[[B×2n]],计算满足B×2m=rlshift([[B×2n]],b_tmp+b_m+H-(b_tmp+b_m+H-b_w))的B×2n的份额[[B×2n]]。然后,模型参数更新部230根据计算出的份额[[B×2n]],计算满足a×2m=B×2m-A×2m的a×2m的份额[[a×2m]]。计算出的[[a×2m]]成为上述说明中的[[eta_grad_ave_shift]]。
这样,通过采用右移位,能够进行更高精度的计算和大规模的学习数据的处理。
另外,即使在变形例1中,也以明文的架构使用并非普通的批量映射,所以可以说,变形例1的具体的处理成为与将明文的处理原样设为秘密计算不同的处理是不言而喻的。
另外,在由使用的计算机的性能决定的受限的比特数中,没有构成还包含精度的调整的、固定小数点中的具体的逻辑回归。
批量映射具有精度调整的效果,所以该精度调整不与明文的情况下相同而具有秘密计算特有的性质。
这些情况也适合于以下说明的变形例2以后。
<<第2实施方式的变形例2>>
右移位(rshift)也可以由η/m乘以2的幂来代替。在第2实施方式的变形例1中,通过将学习率η设为高精度,能够进行细致的设定。可是,在第2实施方式的变形例1中,右移位运算需要2次,b_y+b、x+b_η、b_tmp+b_m+H容易变为大的值,所以存在计算的效率降低的可能性。因此,在第2实施方式的变形例2中,将与η的乘法和与1/m的乘法汇总作为η/m进行处理,由此减少处理次数,使计算效率提高。
第2实施方式的变形例2若与第2实施方式的变形例1相比,虽然处理效率好,但是无法进行学习率η的细致设定。可是,学习率差异对最终得到的参数的好坏没有太大影响,所以认为基本上没有问题。
另外,在第2实施方式的变形例1中,为了降低处理成本,对固定小数点数进行秘密计算。即,在作为秘密计算的对象的w等的值包含小数的情况下,设为对将该值乘以了2b的值进行秘密计算。在该情况下,通过对秘密计算的结果计算除以了2b的值,得到与原本成为秘密计算的对象的值对应的秘密计算的结果。将这时的b称为精度。
即,在第2实施方式的变形例1中,在将成为秘密计算的对象的任意的值设为p,将p的精度记述为b_p[bit]的情况下,p的份额[[p]]表示实际为[[p×2b _ p]]这样的固定小数点数的份额。
另外,在将成为秘密计算的对象的任意的向量设为q,将q的元素设为qi,将q的精度记述为b_q[bit]的情况下,q的份额[[q]]实际上表示由[[qi×2b _ q]]这样的固定小数点数的份额构成。
另外,2b的乘法是例如由秘密逻辑回归计算装置200在适当的时候进行的。适当的时候的例子是在成为秘密计算的对象的数据被登记在秘密逻辑回归计算装置200时、将秘密计算的对象从明文变换为份额时,或者在秘密计算之前。
另外,2b的除法是例如由秘密逻辑回归计算装置200在适当的时候进行的。适当的时候的例子是将秘密计算的结果返回委托了秘密计算的客户时、将份额变换为明文时、或者在秘密计算之后。
因此,在以下有时不提及2b的乘法以及2b的除法。
将w、w0 、wt 、wt+1 、eta_grad_ave的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1)、ci(0≤i≤m-1),di(0≤i≤m-1)的精度记述为b_y[bit],将η的精度记述为b_η[bit]将,bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit]。b_w、b_x、b_y、b_η是根据进行秘密计算的计算机的性能而预先决定的正整数。
以下,以与第2实施方式的秘密逻辑回归计算装置200不同的部分为中心进行说明。
初始化单元210进行的S210的处理以及误差计算单元220进行的S220的处理与上述相同。在第2实施方式的变形例2中,模型参数更新单元230进行下述的处理。
模型参数更新单元230是,对j=0,…,n,从在S220中计算出的误差[[di]](0≤i≤m-1)和份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]]。在b_y=14、b_x=17、m=10万的情况下,e需要的存储器为b_y_b_x+ceil(log_2(m))=48[bit],所以与变形例1相比在存储器中有宽裕。即,即使进一步增加数据数m也不会溢出,所以能够输入更大的学习数据。
接着,模型参数更新单元230从[[e]]计算[[eta_grad_ave]]=rshift([[e]],X+b_y+b_x-b_w)。这里,X是以2X下的除法近似η/m的值,例如如以下那样计算。Floor是表示向下舍入的函数。X在秘密计算之前,通过秘密逻辑回归计算装置200进行计算。
X=-(floor(log2(η/m)))
最后,模型参数更新部230是,从份额[[wt ]]的第j元素[[wj,t]]和[[eta_grad_ave]],通过[[wj,t+1]]=[[wj,t]]-[[eta_grad_ave]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
条件判定部240的处理与上述相同。
与第2实施方式的变形例1同样地,从逻辑右移位向算术右移位的变换例如进行以下的处理即可。另外,在第2实施方式的变形例2中,对于X需要进行考虑。在以下的说明中,明确表示了对乘以了2b后的值进行秘密计算。因此,例如,[[B×2n]]如字面那样,表示B×2n的值被共享。
在将精度n[bit]的值a右移位m[bit]的同时以2X进行除法的情况下,加上成为|a|≤A的精度n[bit]的值A。
B×2n=a×2n+A×2n
将B×2n逻辑右移位相当于n-m+X[bit]的比特位。
B×2m/(2X)=rlshift(B×2n,n-m+X)
减去在移位前加上的A。
a×2m/2X=B×2m/2X-A×2m/2X
e的精度为b_y+b_x,所以模型参数更新部230首先决定成为|e|≤A的精度b_y+b_x的值A。然后,模型参数更新部230计算满足B×2n=e×2n+A×2n的B×2n的份额[[B×2n]]。然后,模型参数更新部230基于被计算的份额[[B×2n]],来计算满足B×2m/(2X)=rlshift([[B×2n]]、b_y+b_x-(X+b_y+b_x-b_w)+X)的B×2m/(2X)的份额[[B×2m/(2X)]]。然后,模型参数更新部230基于所计算出的份额[[B×2m/(2X)]],计算满足a×2m/2X=B×2m/2X-A×2m/2X的a×2m/2X的份额[[a×2m/2X]]。计算出的[[a×2m/2X]]成为上述说明中的[[eta_grad_ave]]。
这样,通过采用右移位,能够进行更高精度的计算和大规模的学习数据的处理。
<<第2实施方式的变形例3>>
在进行第2实施方式的逻辑回归时,也可以使用右移位,在隐匿了数据的情况下进行归一化。例如将身高和年龄等的值域不同的数据全部收敛在0至1等确定的范围那样进行的前处理即归一化在整个机械学习中经常被使用。因此,为了使得秘密计算上的机械学习能够实际运用,需要在秘密计算上可以进行归一化。
在将数据列x=x0,x1,…,xm归一化,以便成为0≤^xi≤1(^xi^x的任意的元素)的情况下,使用x的最大值maxx→和最小值minx→来计算具有以下那样的性质的移位量S。
2S≧max(|maxx→|,|minx→|)…(A)
max(a,b)表示a和b的较大一方的值。若使用在上述的计算中得到的移位S量进行以下的计算,则可以进行归一化以成为0≤^xi≤1。
^x=rshift(x,S)
将通过使用^x学习得到的模型参数^w^w0,^w1,…,^wn返回到未归一化而计算出的情况下的参数w的情况下,进行以下的计算即可。
w^w×2-S…(B)
以下,以与第2实施方式的秘密逻辑回归计算装置200不同的部分为中心进行说明。
第2实施方式的变形例3的秘密逻辑回归计算装置200是,首先对于各说明变量xj 计算满足上述式(A)的移位量Sj(j=0,1,…,n)。然后,秘密逻辑回归计算装置200使用计算出的移位量S以及[[xj ]],计算[[^xj ]]=rshift([[xj ]],Sj)。秘密逻辑回归计算装置200取代[[xi ]]而使用[[^xi ]],通过进行上述的初始化单元210、误差计算单元220以及模型参数更新单元230的处理,计算模型参数的份额[[^w]]。最后,秘密逻辑回归计算装置200使用[[^w]],计算[[w]]=[[^w]]×2-S
这样,通过进行归一化,能够实际运用秘密计算上的机械学习。
<<第2实施方式的变形例4>>
在进行第2实施方式的逻辑回归时,也可以适用Nesterov Accelerated Gradient(NAG,涅斯捷罗夫梯度加速)法。若使用单纯的梯度下降法进行参数学习则学习效率不好,所以实际上为了提高学习效率而采用最佳方法的情况较多。可是,大多数最佳方法包含除法等难以进行秘密计算的计算,所以在秘密计算中进行参数学习时不容易采用最佳方法。在这样的状况中,NAG法是仅通过加减乘法就可以实现的最佳方法,可以以低成本在秘密计算中被采用。
梯度下降法中的参数学习式如下。
wj,t+1=wj,t-η(1/m)Σi=0 m(f(xi )t-yi)xi,j
f(xi )=σ(w·(1,xi ))
相对于此,适用了NAG法的情况下的参数学习式如以下那样。
vj,t+1=αvj,t-η(1/m)Σi=0 m(f(xi )t-yi)xi,j
wj,t+1=wj,t-vj,t+1
f(xi )=σ(θ·(1,xi ))
θ=w-αv
v是在第2实施方式的变形例4中新追加的权重的向量。α可以通过成为0≤α≤1的参数(衰减率)任意决定。在第2实施方式的变形例2中适用了NAG法的情况下的变形例即第2实施方式的变形例4成为以下那样。
以下,以与第2实施方式的变形例2的秘密逻辑回归计算装置200不同的部分为中心进行说明。对于与第2实施方式的变形例2相同的部分,省略重复说明。
将w、w0 、wt 、wt+1 、eta_grad_ave的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1)、ci(0≤i≤m-1)、di(0≤i≤m-1)的精度记述为b_y[bit],将bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit],将衰减率α的精度记述为b_α,将v、v0 、vt 、vt+1 的精度记述为b_v,将alpha_v的精度记述为b_v+b_α。b_w、b_x、b_y、b_α是根据进行秘密计算的计算机的性能预先决定的正整数。另外,也可以设定b_v+b_α,以成为b_v+b_α=b_w。由此,处理变得容易。
初始化单元210除了设定模型参数w的初始值w0 的份额[[w0 ]]以外,还设定权重向量v的初始值的v0 的份额[[v0 ]](S210)。具体地说,预先设定在记录部290i中记录的、适当的初始值w0 的份额[[w0 ]]以及适当的初始值v0 的份额[[v0 ]]即可。
误差计算单元220首先计算θ=w-αv。然后,误差计算单元220取代w而使用θ进行与上述同样的误差的计算。
在第2实施方式的变形例4中,模型参数更新单元230进行下记的处理。
模型参数更新单元230是,对于j=0,…,n,从在S220中计算出的误差[[di]](0≤i≤m-1)和份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]]。
与第2实施方式的变形例2同样地,模型参数更新单元230从[[e]]计算[[eta_grad_ave]]=rshift([[e]],X+b_y+b_x-b_w)。
模型参数更新单元230从α以及份额[[vt ]]的第j元素[[vj,t]](0≤i≤m-1),来计算[[alpha_v]]=α[[vj,t]]。
模型参数更新单元230通过[[vj,t+1]]=[[alpha_v]]-[[eta_grad_ave]],计算进行了t+1次更新后的权重向量v的值vt+1 的份额[[vt+1 ]]的第j元素[[vj,t+1]]。
模型参数更新部230从份额[[wt ]]的第j元素[[wj,t]]和[[vj,t+1]],通过[[wj,t+1]]=[[wj,t]]-[[vj,t+1]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
模型参数更新单元230从[[vj,t+1]]来计算[[vj,t+1]]=rshift([[vj,t+1]],b_α)。即,模型参数更新单元230将把vj,t+1右移位b_α后的值的份额[[vj,t+1]]设为新的份额[[vj,t+1]]。
条件判定部240的处理与上述相同。
这样,通过使用基于NAG法的最佳方法,可以提高学习效率。
<补充>
本发明的装置例如作为单一的硬件实体,具有键盘等可连接的输入部;液晶显示器等可连接的输出部;可对硬件实体的外部通信的通信装置(例如通信电缆)可连接的通信部;CPU(Central Processing Unit,也可以具有缓存存储器或寄存器等);作为存储器的RAM或ROM;作为硬盘的外部存储装置;以及以可存取这些输入部、输出部、通信部、CPU、RAM、ROM、外部存储装置之间的数据的方式连接的总线。此外,也可以根据需要,在硬件实体上设置可读写CD-ROM等记录介质的装置(驱动器)等。作为具有这样的硬件资源的物理的实体,有通用计算机等。
在硬件实体的外部存储装置中,存储有为了实现上述的功能所需要的程序以及该程序的处理中所需要的数据等(也可以不限于外部存储装置,例如将程序读出并存储在作为专用存储装置的ROM中)。另外,通过这些程序的处理得到的数据等适当地被存储在RAM或外部存储装置等中。
在硬件实体中,外部存储装置(或者ROM等)中存储的各程序和该各程序的处理所需要的数据根据需要读入存储器中,适当地在CPU中解释执行、处理。其结果,CPU实现规定的功能(表现为上述、…部、…单元等的各结构要件)。
本发明不限于上述的实施方式,在不脱离本发明的宗旨的范围内能够适当变更。另外,上述实施方式中说明的处理不仅按照记载的顺序时间序列地被执行,也可以根据执行处理的装置的处理能力或者需要并行地或者单独地被执行。
如已说明的那样,在通过计算机实现上述实施方式中说明的硬件实体(本发明的装置)中的处理功能的情况下,通过程序记述硬件实体应具有的功能的处理内容。然后,通过在计算机中执行该程序,在计算机上实现上述硬件实体中的处理功能。
记述了该处理内容的程序,可以记录在计算机可读取的记录介质中。作为计算机可读取的记录介质,例如是磁记录装置、光盘、光磁记录介质、半导体存储器等任意介质。具体地说,例如,作为磁记录装置,可以使用硬盘装置、软盘、磁带等,作为光盘,可以使用DVD(Digital Versatile Disc,数字通用光盘),DVD-RAM(Random Access Memory,随机存取存储器),CD-ROM(Compact Disc Read Only Memory,光盘只读存储器),CD-R(Recordable(可记录))/RW(ReWritable(可重写))等,作为光磁记录介质,可以使用MO(Magneto-Optical disc,磁光盘)等,作为半导体存储器可以使用EEP-ROM(Electronically Erasable and Programmable-Read Only Memory,电可擦除可编程只读存储器)等。
而且,该程序的流通例如通过销售、转让、租借等记录了该程序的DVD、CD-ROM等可拆装型记录介质来进行。进而,也可以设为将该程序存储在服务器计算机的存储装置中,经由网络,通过将该程序从服务器计算机转发到其它计算机,使该程序流通的结构。
执行这样的程序的计算机例如首先将可拆装型记录介质中记录的程序或者从服务器计算机转发的程序暂时存储在自己的存储装置中。然后,在执行处理时,该计算机读取自己的记录装置中存储的程序,执行按照读取的程序的处理。另外,作为该程序其它执行方式,计算机也可以从可拆装型记录介质直接读取程序,执行按照该程序的处理,进而,也可以在每次从服务器计算机对该计算机转发程序时,逐次执行按照接受的程序的处理。另外,也可以设为通过不进行从服务器计算机向该计算机的程序的转发,仅通过该执行指令和结果取得来实现处理功能的、所谓ASP(Application Service Provider,应用服务提供商)型的服务,执行上述的处理的结构。而且,本方式中的程序中,包含供电子计算机的处理用的信息即基于程序的信息(虽然不是对于计算机的直接的指令,但是具有规定计算机的处理的性质的数据等)。
另外,在本方式中,设为通过在计算机上执行规定的程序来构成本装置,但是也可以硬件性地实现这些处理内容的至少一部分。

Claims (13)

1.一种秘密S型函数计算系统,
将mapσ设为通过表示S型函数σ(x)的定义域的参数(a0,…,ak-1)和表示值域的参数(σ(a0),…,σ(ak-1))定义的秘密批量映射,其中,k为1以上的整数,a0,…,ak-1为满足a0<…<ak-1的实数,
所述秘密S型函数计算系统由3个以上的秘密S型函数计算装置构成,并从输入向量x=(x0,…,xm-1)的份额[[x]]=([[x0]],…,[[xm-1]]),来计算对于输入向量x的S型函数的值y=(y0,…,ym-1)的份额[[y]]=([[y0]],…,[[ym-1]]),
所述秘密S型函数计算系统,包括:
秘密批量映射计算单元,从所述份额[[x]],计算mapσ([[x]])=([[σ(af(0))]],…,[[σ(af(m-1))]]),通过([[y0]],…,[[ym-1]])=([[σ(af(0))]],…,[[σ(af(m-1))]]),来计算所述份额[[y]],其中,f(i)(0≤i≤m-1)是成为aj≤xi<aj+1的j。
2.一种秘密逻辑回归计算系统,
将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用权利要求1所述的秘密S型函数计算系统,从输入向量x的份额[[x]]计算对于输入向量x的S型函数的值y的份额[[y]],
所述秘密逻辑回归计算系统由3个以上的秘密逻辑回归计算装置构成,从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、目的变量的数据yi的份额[[yi]](0≤i≤m-1),计算逻辑回归模型的模型参数w的份额[[w]],
所述秘密逻辑回归计算系统包括:
初始化单元,设定模型参数w的初始值w0 的份额[[w0 ]];
误差计算单元,对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]]),计算[[bi]],
从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]])),计算([[c0]],…,[[cm-1]]),
对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]],计算误差[[di]];以及
模型参数更新单元,对于j=0,…,n,
从所述误差[[di]](0≤i≤m-1)、和所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]],
从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[e]],通过[[wj,t+1]]=[[wj,t]]-η(1/m)[[e]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
3.一种秘密逻辑回归计算系统,
将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用权利要求1所述的秘密S型函数计算系统,从输入向量x的份额[[x]]计算对于输入向量x的S型函数的值y的份额[[y]],
在将成为秘密计算的对象的任意的值设为p,将p的精度记述为b_p[bit]的情况下,p的份额[[p]]实际上表示是[[p×2b _ p]]这样的固定小数点数的份额,
在将成为秘密计算的对象的任意的向量设为q,将q的元素设为qi,将q的精度记述为b_q[bit]的情况下,q的份额[[q]]实际上表示由[[qi×2b _ q]]这样的固定小数点数的份额构成,
将w、w0 、wt 、wt+1 、eta_grad_ave_shift的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1)、ci(0≤i≤m-1)、di(0≤i≤m-1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将学习数据数的倒数1/m的精度记述为b_m+H[bit],将bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit],将eta_grad的精度记述为b_y+b_x+b_η[bit],将eta_grad_shift的精度记述为b_tmp[bit],将eta_grad_ave的精度记述为b_tmp+b_m+H[bit],
将b_w、b_x、b_y、b_η、b_m、H、b_tmp设为预先决定的正整数,
rshift(a,b)表示将a这样的值仅算术右移位b[bit],
所述秘密逻辑回归计算系统由3个以上的秘密逻辑回归计算装置构成,从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、和目的变量的数据yi的份额[[yi]](0≤i≤m-1),计算逻辑回归模型的模型参数w的份额[[w]],
所述秘密逻辑回归计算系统包括:
初始化单元,设定模型参数w的初始值w0 的份额[[w0 ]];
误差计算单元,对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]]),计算[[bi]],
从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]])),计算([[c0]],…,[[cm-1]]),
对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]],计算误差[[di]];以及
模型参数更新单元,对于j=0,…,n,
从所述误差[[di]](0≤i≤m-1)、和所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]],
从所述η以及所述[[e]],通过[[eta_grad]]=η[[e]],计算[[eta_grad]],
从所述[[eta_grad]],通过[[eta_grad_shift]]=rshift([[eta_grad]],b_y+b_x+b_η-b_tmp),计算[[eta_grad_shift]],
从所述[[eta_grad_shift]],通过[[eta_grad_ave]]=(1/m)[[eta_grad_shift]],计算[[eta_grad_ave]],
从所述[[eta_grad_ave]],通过[[eta_grad_ave_shift]]=rshift([[eta_grad_ave]],b_tmp+b_m+H-b_w),计算[[eta_grad_ave_shift]],
从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[eta_grad_ave_shift]],通过[[wj,t+1]]=[[wj,t]]-[[eta_grad_ave_shift]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
4.一种秘密逻辑回归计算系统,
将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用权利要求1所述的秘密S型函数计算系统,从输入向量x的份额[[x]],计算对于输入向量x的S型函数的值y的份额[[y]],
在将成为秘密计算的对象的任意的值设为p,将p的精度记述为b_p[bit]的情况下,p的份额[[p]]实际上表示是[[p×2b _ p]]这样的固定小数点数的份额,
在将成为秘密计算的对象的任意的向量设为q,将q的元素设为qi,将q的精度记述为b_q[bit]的情况下,q的份额[[q]]实际上表示由[[qi×2b _ q]]这样的固定小数点数的份额构成,
将w、w0 、wt 、wt+1 、eta_grad_ave的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1)、ci(0≤i≤m-1)、di(0≤i≤m-1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit],
将b_w、b_x、b_y、b_η设为预先决定的正整数,
rshift(a,b)表示将a这样的值仅算术右移位b[bit],
floor设为表示向下舍入的函数,设X=-(floor(log2(η/m))),
所述秘密逻辑回归计算系统由3个以上的秘密逻辑回归计算装置构成,从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、和目的变量的数据yi的份额[[yi]](0≤i≤m-1),计算逻辑回归模型的模型参数w的份额[[w]],
所述秘密逻辑回归计算系统包括:
初始化单元,设定模型参数w的初始值w0 的份额[[w0 ]];
误差计算单元,对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]]),计算[[bi]],
从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]])),计算([[c0]],…,[[cm-1]]),
对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]],计算误差[[di]];以及
模型参数更新单元,对于j=0,…,n,
从所述误差[[di]](0≤i≤m-1)、和所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]],
从所述[[e]],通过[[eta_grad_ave]]=rshift([[e]],X+b_y+b_x-b_w),计算[[eta_grad_ave]],
从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[eta_grad_ave]],通过[[wj,t+1]]=[[wj,t]]-[[eta_grad_ave]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
5.一种秘密S型函数计算装置,其是秘密S型函数计算系统中的秘密S型函数计算装置,
将mapσ设为通过表示S型函数σ(x)的定义域的参数(a0,…,ak-1)和表示值域的参数(σ(a0),…,σ(ak-1))定义的秘密批量映射,其中,k为1以上的整数,a0,…,ak-1是满足a0<…<ak-1的实数,
所述秘密S型函数计算系统由3个以上的所述秘密S型函数计算装置构成,所述秘密S型函数计算系统是从输入向量x=(x0,…,xm-1)的份额[[x]]=([[x0]],…,[[xm-1]]),计算对于输入向量x的S型函数的值y=(y0,…,ym-1)的份额[[y]]=([[y0]],…,[[ym-1]]),
所述秘密S型函数计算装置包括:
秘密批量映射计算部,从所述份额[[x]],计算mapσ([[x]])=([[σ(af(0))]],…,[[σ(af(m-1))]]),并通过([[y0]],…,[[ym-1]])=([[σ(af(0))]],…,[[σ(af(m-1))]]),计算所述份额[[y]],其中,f(i)(0≤i≤m-1)是成为aj≤xi<aj+1的j。
6.一种秘密逻辑回归计算装置,其是秘密逻辑回归计算系统中的秘密逻辑回归计算装置,
将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用由3个以上的、权利要求5所述的秘密S型函数计算装置构成的秘密S型函数计算系统,从输入向量x的份额[[x]]计算对于输入向量x的S型函数的值y的份额[[y]],
所述秘密逻辑回归计算系统由3个以上的秘密逻辑回归计算装置构成,所述秘密逻辑回归计算系统是从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、和目的变量的数据yi的份额[[yi]](0≤i≤m-1),计算逻辑回归模型的模型参数w的份额[[w]],
所述秘密逻辑回归计算装置包括:
初始化部,用于设定模型参数w的初始值w0 的份额[[w0 ]];
误差计算部,对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]])计算[[bi]],
从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]])),计算([[c0]],…,[[cm-1]]),
对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]]计算误差[[di]];以及
模型参数更新部,对于j=0,…,n,
从所述误差[[di]](0≤i≤m-1)、和所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]],
从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[e]],通过[[wj,t+1]]=[[wj,t]]-η(1/m)[[e]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
7.一种秘密逻辑回归计算装置,其是秘密逻辑回归计算系统中的秘密逻辑回归计算装置,
将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用权利要求5所述的秘密S型函数计算系统,从输入向量x的份额[[x]],计算对于输入向量x的S型函数的值y的份额[[y]],
在将成为秘密计算的对象的任意的值设为p,将p的精度记述为b_p[bit]的情况下,p的份额[[p]]实际上表示是[[p×2b _ p]]这样的固定小数点数的份额,
在将成为秘密计算的对象的任意的向量设为q,将q的元素设为qi,将q的精度记述为b_q[bit]的情况下,q的份额[[q]]实际上表示由[[qi×2b _ q]]这样的固定小数点数的份额构成,
将w、w0 、wt 、wt+1 、eta_grad_ave_shift的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1)、ci(0≤i≤m-1)、di(0≤i≤m-1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将学习数据数的倒数1/m的精度记述为b_m+H[bit],将bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit],将eta_grad的精度记述为b_y+b_x+b_η[bit],将eta_grad_shift的精度记述为b_tmp[bit],将eta_grad_ave的精度记述为b_tmp+b_m+H[bit],
将b_w、b_x、b_y、b_η、b_m、H、b_tmp设为预先决定的正整数,
rshift(a,b)表示将a这样的值仅算术右移位b[bit],
所述秘密S型函数计算系统由3个以上的秘密逻辑回归计算装置构成,所述秘密S型函数计算系统从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、和目的变量的数据yi的份额[[yi]](0≤i≤m-1),计算逻辑回归模型的模型参数w的份额[[w]],
所述秘密逻辑回归计算装置包括:
初始化单元,设定模型参数w的初始值w0 的份额[[w0 ]];
误差计算单元,对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]]),计算[[bi]],
从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]])),计算([[c0]],…,[[cm-1]]),
对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]],计算误差[[di]];以及
模型参数更新单元,对于j=0,…,n,
从所述误差[[di]](0≤i≤m-1)、和所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]],
从所述η以及所述[[e]],通过[[eta_grad]]=η[[e]],计算[[eta_grad]],
从所述[[eta_grad]],通过[[eta_grad_shift]]=rshift([[eta_grad]],b_y+b_x+b_η-b_tmp),计算[[eta_grad_shift]],
从所述[[eta_grad_shift]],通过[[eta_grad_ave]]=(1/m)[[eta_grad_shift]],计算[[eta_grad_ave]],
从所述[[eta_grad_ave]],通过[[eta_grad_ave_shift]]=rshift([[eta_grad_ave]],b_tmp+b_m+H-b_w),计算[[eta_grad_ave_shift]],
从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[eta_grad_ave_shift]],通过[[wj,t+1]]=[[wj,t]]-[[eta_grad_ave_shift]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
8.一种秘密逻辑回归计算装置,
将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用权利要求5所述的秘密S型函数计算系统,从输入向量x的份额[[x]],计算对于输入向量x的S型函数的值y的份额[[y]],
在将成为秘密计算的对象的任意的值设为p,将p的精度记述为b_p[bit]的情况下,p的份额[[p]]实际上表示是[[p×2b _ p]]这样的固定小数点数的份额,
在将成为秘密计算的对象的任意的向量设为q,将q的元素设为qi,将q的精度记述为b_q[bit]的情况下,q的份额[[q]]实际上表示由[[qi×2b _ q]]这样的固定小数点数的份额构成,
将w、w0 、wt 、wt+1 、eta_grad_ave的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1)、ci(0≤i≤m-1)、di(0≤i≤m-1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit],
将b_w、b_x、b_y、b_η设为预先决定的正整数,
rshift(a,b)表示将a这样的值仅算术右移位b[bit],
floor设为表示向下舍入的函数,设X=-(floor(log2(η/m))),
由3个以上的秘密逻辑回归计算装置构成秘密逻辑回归计算系统,所述秘密逻辑回归计算系统从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、和目的变量的数据yi的份额[[yi]](0≤i≤m-1),计算逻辑回归模型的模型参数w的份额[[w]],
所述秘密逻辑回归计算系统中秘密逻辑回归计算装置包括:
初始化单元,设定模型参数w的初始值w0 的份额[[w0 ]];
误差计算单元,对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]]),计算[[bi]],
从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]])),计算([[c0]],…,[[cm-1]]),
对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]],计算误差[[di]];以及
模型参数更新单元,对于j=0,…,n,
从所述误差[[di]](0≤i≤m-1)、和所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]],
从所述[[e]],通过[[eta_grad_ave]]=rshift([[e]],X+b_y+b_x-b_w),计算[[eta_grad_ave]],
从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[eta_grad_ave]],通过[[wj,t+1]]=[[wj,t]]-[[eta_grad_ave]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
9.一种秘密S型函数计算方法,
将mapσ设为通过表示S型函数σ(x)的定义域的参数(a0,…,ak-1)和表示值域的参数(σ(a0),…,σ(ak-1))定义的秘密批量映射,其中,k为1以上的整数,a0,…,ak-1是满足a0<…<ak-1的实数,
在所述秘密S型函数计算方法中,由3个以上的秘密S型函数计算装置构成的秘密S型函数计算系统从输入向量x=(x0,…,xm-1)的份额[[x]]=([[x0]],…,[[xm-1]]),计算对于输入向量x的S型函数的值y=(y0,…,ym-1)的份额[[y]]=([[y0]],…,[[ym-1]]),
所述秘密S型函数计算方法包括:
秘密批量映射计算步骤,所述秘密S型函数计算系统从所述份额[[x]],计算mapσ([[x]])=([[σ(af(0))]],…,[[σ(af(m-1))]]),并通过([[y0]],…,[[ym-1]])=([[σ(af(0))]],…,[[σ(af(m-1))]]),计算所述份额[[y]],其中,f(i)(0≤i≤m-1)是成为aj≤xi<aj+1的j。
10.一种秘密逻辑回归计算方法,
将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用权利要求9所述的秘密S型函数计算方法,从输入向量x的份额[[x]],计算对于输入向量x的S型函数的值y的份额[[y]],
在所述秘密逻辑回归计算方法中,由3个以上的秘密逻辑回归计算装置构成的秘密逻辑回归计算系统从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、以及目的变量的数据yi的份额[[yi]](0≤i≤m-1),计算逻辑回归模型的模型参数w的份额[[w]],
所述秘密逻辑回归计算方法包括:
初始化步骤,所述秘密逻辑回归计算系统设定模型参数w的初始值w0 的份额[[w0 ]];
误差计算步骤,所述秘密逻辑回归计算系统对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]]),计算[[bi]],
从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]])),计算([[c0]],…,[[cm-1]]),
对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]],计算误差[[di]];以及
模型参数更新步骤,所述秘密逻辑回归计算系统对于j=0,…,n,
从所述误差[[di]](0≤i≤m-1)、以及所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]],
从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[e]],通过[[wj,t+1]]=[[wj,t]]-η(1/m)[[e]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
11.一种秘密逻辑回归计算方法,
将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用权利要求9所述的秘密S型函数计算方法,从输入向量x的份额[[x]],计算对于输入向量x的S型函数的值y的份额[[y]],
在将成为秘密计算的对象的任意的值设为p,将p的精度记述为b_p[bit]的情况下,p的份额[[p]]实际上表示是[[p×2b _ p]]这样的固定小数点数的份额,
在将成为秘密计算的对象的任意的向量设为q,将q的元素设为qi,将q的精度记述为b_q[bit]的情况下,q的份额[[q]]实际上表示由[[qi×2b _ q]]这样的固定小数点数的份额构成,
将w、w0 、wt 、wt+1 、eta_grad_ave_shift的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1)、ci(0≤i≤m-1)、di(0≤i≤m-1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将学习数据数的倒数1/m的精度记述为b_m+H[bit],将bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit],将eta_grad的精度记述为b_y+b_x+b_η[bit],将eta_grad_shift的精度记述为b_tmp[bit],将eta_grad_ave的精度记述为b_tmp+b_m+H[bit],
将b_w、b_x、b_y、b_η、b_m、H、b_tmp设为预先决定的正整数,
rshift(a,b)表示将a这样的值仅算术右移位b[bit],
在所述秘密逻辑回归计算方法中,由3个以上的秘密逻辑回归计算装置构成的秘密逻辑回归计算系统从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、以及目的变量的数据yi的份额[[yi]](0≤i≤m-1),计算逻辑回归模型的模型参数w的份额[[w]],
所述秘密逻辑回归计算方法包括:
初始化步骤,所述秘密逻辑回归计算系统设定模型参数w的初始值w0 的份额[[w0 ]];
误差计算步骤,所述秘密逻辑回归计算系统对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]]),计算[[bi]],
从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]])),计算([[c0]],…,[[cm-1]]),
对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]],计算误差[[di]];以及
模型参数更新步骤,所述秘密逻辑回归计算系统对于j=0,…,n,
从所述误差[[di]](0≤i≤m-1)、和所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]],
从所述η以及所述[[e]],通过[[eta_grad]]=η[[e]],计算[[eta_grad]],
从所述[[eta_grad]],通过[[eta_grad_shift]]=rshift([[eta_grad]],b_y+b_x+b_η-b_tmp),计算[[eta_grad_shift]],
从所述[[eta_grad_shift]],通过[[eta_grad_ave]]=(1/m)[[eta_grad_shift]],计算[[eta_grad_ave]],
从所述[[eta_grad_ave]],通过[[eta_grad_ave_shift]]=rshift([[eta_grad_ave]],b_tmp+b_m+H-b_w),计算[[eta_grad_ave_shift]],
从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[eta_grad_ave_shift]],通过[[wj,t+1]]=[[wj,t]]-[[eta_grad_ave_shift]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
12.一种秘密逻辑回归计算方法,
将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用权利要求9所述的秘密S型函数计算方法,从输入向量x的份额[[x]],计算对于输入向量x的S型函数的值y的份额[[y]],
在将成为秘密计算的对象的任意的值设为p,将p的精度记述为b_p[bit]的情况下,p的份额[[p]]实际上表示是[[p×2b _ p]]这样的固定小数点数的份额,
在将成为秘密计算的对象的任意的向量设为q,将q的元素设为qi,将q的精度记述为b_q[bit]的情况下,q的份额[[q]]实际上表示由[[qi×2b _ q]]这样的固定小数点数的份额构成,
将w、w0 、wt 、wt+1 、eta_grad_ave的精度记述为b_w[bit],将xi (0≤i≤m-1)的精度记述为b_x[bit],将yi(0≤i≤m-1)、ci(0≤i≤m-1)、di(0≤i≤m-1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将bi(0≤i≤m-1)的精度记述为b_w+b_x[bit],将e的精度记述为b_y+b_x[bit],
将b_w、b_x、b_y、b_η设为预先决定的正整数,
rshift(a,b)表示将a这样的值仅算术右移位b[bit],
floor设为表示向下舍入的函数,设X=-(floor(log2(η/m))),
在所述秘密逻辑回归计算方法中,由3个以上的秘密逻辑回归计算装置构成的秘密逻辑回归计算系统,从说明变量的数据xi 的份额[[xi ]](0≤i≤m-1)、以及目的变量的数据yi的份额[[yi]](0≤i≤m-1),计算逻辑回归模型的模型参数w的份额[[w]],
所述秘密逻辑回归计算方法包括:
初始化步骤,所述秘密逻辑回归计算系统设定模型参数w的初始值w0 的份额[[w0 ]];
误差计算步骤,所述秘密逻辑回归计算系统对于i=0,…,m-1,从进行了t次更新后的模型参数w的值wt 的份额[[wt ]]和所述份额[[xi ]],通过[[bi]]=hpsum([[wt ]],[[(1,xi )]]),计算[[bi]],
从所述[[bi]](0≤i≤m-1),通过([[c0]],…,[[cm-1]])=Sigmoid(([[b0]],…,[[bm-1]])),计算([[c0]],…,[[cm-1]]),
对于i=0,…,m-1,从所述份额[[yi]]和所述([[c0]],…,[[cm-1]])的第i元素[[ci]],通过[[di]]=[[ci]]-[[yi]],计算误差[[di]];以及
模型参数更新步骤,所述秘密逻辑回归计算系统对于j=0,…,n,
从所述误差[[di]](0≤i≤m-1)、以及所述份额[[xi ]]的第j元素[[xi,j]](0≤i≤m-1),通过[[e]]=Σi=0 m-1[[di]][[xi,j]],计算[[e]],
从所述[[e]],通过[[eta_grad_ave]]=rshift([[e]],X+b_y+b_x-b_w),计算[[eta_grad_ave]],
从所述份额[[wt ]]的第j元素[[wj,t]]和所述[[eta_grad_ave]],通过[[wj,t+1]]=[[wj,t]]-[[eta_grad_ave]],计算进行了t+1次更新后的模型参数w的值wt+1 的份额[[wt+1 ]]的第j元素[[wj,t+1]]。
13.一种程序,使计算机作为权利要求5所述的秘密S型函数计算装置或者权利要求6至8的任意一项所述的秘密逻辑回归计算装置发挥功能。
CN201980064791.5A 2018-10-04 2019-10-02 秘密s型函数计算系统及其方法、秘密逻辑回归计算系统及其方法、秘密s型函数计算装置、秘密逻辑回归计算装置、程序 Active CN112805768B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2018-189297 2018-10-04
JP2018189297 2018-10-04
JP2019-003285 2019-01-11
JP2019003285 2019-01-11
PCT/JP2019/038966 WO2020071441A1 (ja) 2018-10-04 2019-10-02 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム

Publications (2)

Publication Number Publication Date
CN112805768A true CN112805768A (zh) 2021-05-14
CN112805768B CN112805768B (zh) 2023-08-04

Family

ID=70055631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980064791.5A Active CN112805768B (zh) 2018-10-04 2019-10-02 秘密s型函数计算系统及其方法、秘密逻辑回归计算系统及其方法、秘密s型函数计算装置、秘密逻辑回归计算装置、程序

Country Status (6)

Country Link
US (1) US20210358332A1 (zh)
EP (1) EP3863002B1 (zh)
JP (1) JP7092206B2 (zh)
CN (1) CN112805768B (zh)
AU (1) AU2019352310B2 (zh)
WO (1) WO2020071441A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6977882B2 (ja) * 2018-05-25 2021-12-08 日本電信電話株式会社 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
JP6795863B1 (ja) * 2020-01-24 2020-12-02 Eaglys株式会社 秘密計算用変換装置、秘密計算システム、秘密計算用変換方法、および秘密計算用変換プログラム
JP7451445B2 (ja) 2021-02-10 2024-03-18 株式会社東芝 秘匿演算方法、秘匿演算システム及び秘匿演算管理装置
JP2022150498A (ja) * 2021-03-26 2022-10-07 エヌ・ティ・ティ・コミュニケーションズ株式会社 学習プログラム、学習方法及び学習装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2155038A1 (en) * 1995-07-31 1997-02-01 Gordon B. Agnew Elliptic curve encryption systems
JP2012154968A (ja) * 2011-01-21 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム
JP2013157652A (ja) * 2012-01-26 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
CN103403781A (zh) * 2011-03-10 2013-11-20 日本电信电话株式会社 隐匿积和结合系统、计算装置、隐匿积和结合方法、以及其程序
WO2017119211A1 (ja) * 2016-01-07 2017-07-13 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
CN107851403A (zh) * 2015-07-22 2018-03-27 日本电信电话株式会社 秘密计算装置、其方法及程序
US20180218171A1 (en) * 2017-01-31 2018-08-02 Hewlett Packard Enterprise Development Lp Performing privacy-preserving multi-party analytics on horizontally partitioned local data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3102439A1 (en) * 2018-06-08 2019-12-12 Zestfinance, Inc. Systems and methods for decomposition of non-differentiable and differentiable models
WO2019072315A2 (en) * 2019-01-11 2019-04-18 Alibaba Group Holding Limited LOGISTIC REGRESSION MODELING SCHEME USING SECRET SHARING

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2155038A1 (en) * 1995-07-31 1997-02-01 Gordon B. Agnew Elliptic curve encryption systems
JP2012154968A (ja) * 2011-01-21 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム
CN103403781A (zh) * 2011-03-10 2013-11-20 日本电信电话株式会社 隐匿积和结合系统、计算装置、隐匿积和结合方法、以及其程序
JP2013157652A (ja) * 2012-01-26 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
CN107851403A (zh) * 2015-07-22 2018-03-27 日本电信电话株式会社 秘密计算装置、其方法及程序
WO2017119211A1 (ja) * 2016-01-07 2017-07-13 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
US20180218171A1 (en) * 2017-01-31 2018-08-02 Hewlett Packard Enterprise Development Lp Performing privacy-preserving multi-party analytics on horizontally partitioned local data

Also Published As

Publication number Publication date
JPWO2020071441A1 (ja) 2021-09-02
JP7092206B2 (ja) 2022-06-28
CN112805768B (zh) 2023-08-04
EP3863002A1 (en) 2021-08-11
AU2019352310B2 (en) 2022-07-28
AU2019352310A1 (en) 2021-05-13
EP3863002A4 (en) 2022-06-22
EP3863002B1 (en) 2023-02-15
US20210358332A1 (en) 2021-11-18
WO2020071441A1 (ja) 2020-04-09

Similar Documents

Publication Publication Date Title
Alabdulatif et al. Towards secure big data analytic for cloud-enabled applications with fully homomorphic encryption
Pulido-Gaytan et al. Privacy-preserving neural networks with homomorphic encryption: C hallenges and opportunities
CN112805768A (zh) 秘密s型函数计算系统、秘密逻辑回归计算系统、秘密s型函数计算装置、秘密逻辑回归计算装置、秘密s型函数计算方法、秘密逻辑回归计算方法、程序
CN112805769B (zh) 秘密s型函数计算系统、装置、方法及记录介质
US11164484B2 (en) Secure computation system, secure computation device, secure computation method, and program
CN110199339B (zh) 秘密计算系统、秘密计算装置、秘密计算方法、记录介质
EP4016506B1 (en) Softmax function secret calculation system, softmax function secret calculation device, softmax function secret calculation method, neural network secret calculation system, neural network secret learning system, and program
Stoian et al. Deep neural networks for encrypted inference with tfhe
WO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6977882B2 (ja) 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
JP6825119B2 (ja) 秘密読み込み装置、秘密書き込み装置、それらの方法、およびプログラム
WO2022254599A1 (ja) 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム
Hu et al. OURS: OVer-and under-approximating reachable sets for analytic time-invariant differential equations
US20240070520A1 (en) Federated automatic machine learning
Hong et al. Model Selection for Data Analysis in Encrypted Domain: Application to Simple Linear Regression
WO2021029034A1 (ja) 秘密勾配降下法計算方法、秘密深層学習方法、秘密勾配降下法計算システム、秘密深層学習システム、秘密計算装置、およびプログラム
Medina Exponential stability of slowly varying discrete systems with multiple state delays
Lee et al. Model Parameter Estimation and Inference on Encrypted Domain: Application to Noise Reduction in Encrypted Images
CN116368549A (zh) 秘密指数部统一系统、秘密指数部统一装置、秘密指数部统一方法、秘密和计算系统、秘密积和计算系统、程序
Medina Exponential stability criteria for nonautonomous difference systems

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