【技术实现步骤摘要】
【国外来华专利技术】秘密S型函数计算系统、秘密逻辑回归计算系统、秘密S型函数计算装置、秘密逻辑回归计算装置、秘密S型函数计算方法、秘密逻辑回归计算方法、程序
本专利技术涉及秘密计算技术。特别是,本专利技术涉及秘密计算S型函数(sigmoid function)的技术、或者秘密计算逻辑回归模型的模型参数的技术。
技术介绍
作为用于秘密计算S型函数的以往的方法,有在基于完全准同态加密的秘密计算中进行3次多项式近似的方法(非专利文献1)、以及在基于加法准同态加密的秘密计算中进行多项式近似的方法(非专利文献2、非专利文献3)。在这里,秘密计算是,不将被加密的数值复原而得到指定的运算的运算结果的方法(例如,参照参考非专利文献1)。在参考非专利文献1的方法中,能够进行所谓将可复原数值的多个信息分散到三个秘密计算装置的加密,并不将数值复原,而将加减计算、常数和、乘法、常数倍、逻辑运算(“非”、“与”、“或”、“异或”)、数据形式变换(整数,二进数)的结果在被分散在三个秘密计算装置的状态、即仍被加密的情况下进行保持。一般来说,分散数不限于3而可设为W(W是3以 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
【国外来华专利技术】1.一种秘密S型函数计算系统,将map
σ
设为通过表示S型函数σ(x)的定义域的参数(a0,
…
,a
k
‑1)和表示值域的参数(σ(a0),
…
,σ(a
k
‑1))定义的秘密批量映射,其中,k为1以上的整数,a0,
…
,a
k
‑1为满足a0<
…
<a
k
‑1的实数,所述秘密S型函数计算系统由3个以上的秘密S型函数计算装置构成,并从输入向量x
→
=(x0,
…
,x
m
‑1)的份额[[x
→
]]=([[x0]],
…
,[[x
m
‑1]]),来计算对于输入向量x
→
的S型函数的值y
→
=(y0,
…
,y
m
‑1)的份额[[y
→
]]=([[y0]],
…
,[[y
m
‑1]]),所述秘密S型函数计算系统,包括:秘密批量映射计算单元,从所述份额[[x
→
]],计算map
σ
([[x
→
]])=([[σ(a
f(0)
)]],
…
,[[σ(a
f(m
‑
1)
)]]),通过([[y0]],
…
,[[y
m
‑1]])=([[σ(a
f(0)
)]],
…
,[[σ(a
f(m
‑
1)
)]]),来计算所述份额[[y
→
]],其中,f(i)(0≤i≤m
‑
1)是成为a
j
≤x
i
<a
j+1
的j。2.一种秘密逻辑回归计算系统,将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用权利要求1所述的秘密S型函数计算系统,从输入向量x
→
的份额[[x
→
]]计算对于输入向量x
→
的S型函数的值y
→
的份额[[y
→
]],所述秘密逻辑回归计算系统由3个以上的秘密逻辑回归计算装置构成,从说明变量的数据x
i
→
的份额[[x
i
→
]](0≤i≤m
‑
1)、目的变量的数据y
i
的份额[[y
i
]](0≤i≤m
‑
1),计算逻辑回归模型的模型参数w
→
的份额[[w
→
]],所述秘密逻辑回归计算系统包括:初始化单元,设定模型参数w
→
的初始值w0→
的份额[[w0→
]];误差计算单元,对于i=0,
…
,m
‑
1,从进行了t次更新后的模型参数w
→
的值w
t
→
的份额[[w
t
→
]]和所述份额[[x
i
→
]],通过[[b
i
]]=hpsum([[w
t
→
]],[[(1,x
i
→
)]]),计算[[b
i
]],从所述[[b
i
]](0≤i≤m
‑
1),通过([[c0]],
…
,[[c
m
‑1]])=Sigmoid(([[b0]],
…
,[[b
m
‑1]])),计算([[c0]],
…
,[[c
m
‑1]]),对于i=0,
…
,m
‑
1,从所述份额[[y
i
]]和所述([[c0]],
…
,[[c
m
‑1]])的第i元素[[c
i
]],通过[[d
i
]]=[[c
i
]]
‑
[[y
i
]],计算误差[[d
i
]];以及模型参数更新单元,对于j=0,
…
,n,从所述误差[[d
i
]](0≤i≤m
‑
1)、和所述份额[[x
i
→
]]的第j元素[[x
i,j
]](0≤i≤m
‑
1),通过[[e]]=Σ
i=0m
‑1[[d
i
]][[x
i,j
]],计算[[e]],从所述份额[[w
t
→
]]的第j元素[[w
j,t
]]和所述[[e]],通过[[w
j,t+1
]]=[[w
j,t
]]
‑
η(1/m)[[e]],计算进行了t+1次更新后的模型参数w
→
的值w
t+1
→
的份额[[w
t+1
→
]]的第j元素[[w
j,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
→
的元素设为q
i
,将q
→
的精度记述为
b_q[bit]的情况下,q
→
的份额[[q
→
]]实际上表示由[[q
i
×2b_q
]]这样的固定小数点数的份额构成,将w
→
、w0→
、w
t
→
、w
t+1
→
、eta_grad_ave_shift的精度记述为b_w[bit],将x
i
→
(0≤i≤m
‑
1)的精度记述为b_x[bit],将y
i
(0≤i≤m
‑
1)、c
i
(0≤i≤m
‑
1)、d
i
(0≤i≤m
‑
1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将学习数据数的倒数1/m的精度记述为b_m+H[bit],将b
i
(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个以上的秘密逻辑回归计算装置构成,从说明变量的数据x
i
→
的份额[[x
i
→
]](0≤i≤m
‑
1)、和目的变量的数据y
i
的份额[[y
i
]](0≤i≤m
‑
1),计算逻辑回归模型的模型参数w
→
的份额[[w
→
]],所述秘密逻辑回归计算系统包括:初始化单元,设定模型参数w
→
的初始值w0→
的份额[[w0→
]];误差计算单元,对于i=0,
…
,m
‑
1,从进行了t次更新后的模型参数w
→
的值w
t
→
的份额[[w
t
→
]]和所述份额[[x
i
→
]],通过[[b
i
]]=hpsum([[w
t
→
]],[[(1,x
i
→
)]]),计算[[b
i
]],从所述[[b
i
]](0≤i≤m
‑
1),通过([[c0]],
…
,[[c
m
‑1]])=Sigmoid(([[b0]],
…
,[[b
m
‑1]])),计算([[c0]],
…
,[[c
m
‑1]]),对于i=0,
…
,m
‑
1,从所述份额[[y
i
]]和所述([[c0]],
…
,[[c
m
‑1]])的第i元素[[c
i
]],通过[[d
i
]]=[[c
i
]]
‑
[[y
i
]],计算误差[[d
i
]];以及模型参数更新单元,对于j=0,
…
,n,从所述误差[[d
i
]](0≤i≤m
‑
1)、和所述份额[[x
i
→
]]的第j元素[[x
i,j
]](0≤i≤m
‑
1),通过[[e]]=Σ
i=0m
‑1[[d
i
]][[x
i,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]],从所述份额[[w
t
→
]]的第j元素[[w
j,t
]]和所述[[eta_grad_ave_shift]],通过[[w
j,t+1
]]=[[w
j,t
]]
‑
[[eta_grad_ave_shift]],计算进行了t+1次更新后的模型参数w
→
的值w
t+1
→
的份额[[w
t+1
→
]]的第j元素[[w
j,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
→
的元素设为q
i
,将q
→
的精度记述为b_q[bit]的情况下,q
→
的份额[[q
→
]]实际上表示由[[q
i
×2b_q
]]这样的固定小数点数的份额构成,将w
→
、w0→
、w
t
→
、w
t+1
→
、eta_grad_ave的精度记述为b_w[bit],将x
i
→
(0≤i≤m
‑
1)的精度记述为b_x[bit],将y
i
(0≤i≤m
‑
1)、c
i
(0≤i≤m
‑
1)、d
i
(0≤i≤m
‑
1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将b
i
(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个以上的秘密逻辑回归计算装置构成,从说明变量的数据x
i
→
的份额[[x
i
→
]](0≤i≤m
‑
1)、和目的变量的数据y
i
的份额[[y
i
]](0≤i≤m
‑
1),计算逻辑回归模型的模型参数w
→
的份额[[w
→
]],所述秘密逻辑回归计算系统包括:初始化单元,设定模型参数w
→
的初始值w0→
的份额[[w0→
]];误差计算单元,对于i=0,
…
,m
‑
1,从进行了t次更新后的模型参数w
→
的值w
t
→
的份额[[w
t
→
]]和所述份额[[x
i
→
]],通过[[b
i
]]=hpsum([[w
t
→
]],[[(1,x
i
→
)]]),计算[[b
i
]],从所述[[b
i
]](0≤i≤m
‑
1),通过([[c0]],
…
,[[c
m
‑1]])=Sigmoid(([[b0]],
…
,[[b
m
‑1]])),计算([[c0]],
…
,[[c
m
‑1]]),对于i=0,
…
,m
‑
1,从所述份额[[y
i
]]和所述([[c0]],
…
,[[c
m
‑1]])的第i元素[[c
i
]],通过[[d
i
]]=[[c
i
]]
‑
[[y
i
]],计算误差[[d
i
]];以及模型参数更新单元,对于j=0,
…
,n,从所述误差[[d
i
]](0≤i≤m
‑
1)、和所述份额[[x
i
→
]]的第j元素[[x
i,j
]](0≤i≤m
‑
1),通过[[e]]=Σ
i=0m
‑1[[d
i
]][[x
i,j
]],计算[[e]],从所述[[e]],通过[[eta_grad_ave]]=rshift([[e]],X+b_y+b_x
‑
b_w),计算[[eta_grad_ave]],从所述份额[[w
t
→
]]的第j元素[[w
j,t
]]和所述[[eta_grad_ave]],通过[[w
j,t+1
]]=[[w
j,t
]]
‑
[[eta_grad_ave]],计算进行了t+1次更新后的模型参数w
→
的值w
t+1
→
的份额[[w
t+1
→
]]的第j元素[[w
j,t+1
]]。5.一种秘密S型函数计算装置,其是秘密S型函数计算系统中的秘密S型函数计算装置,将map
σ
设为通过表示S型函数σ(x)的定义域的参数(a0,
…
,a
k
‑1)和表示值域的参数(σ(a0),
…
,σ(a
k
‑1))定义的秘密批量映射,其中,k为1以上的整数,a0,
…
,a
k
‑1是满足a0<
…
<a
k
‑1的实数,所述秘密S型函数计算系统由3个以上的所述秘密S型函数计算装置构成,所述秘密S型函数计算系统是从输入向量x
→
=(x0,
…
,x
m
‑1)的份额[[x
→
]]=([[x0]],
…
,[[x
m
‑1]]),计算对于输入向量x
→
的S型函数的值y
→
=(y0,
…
,y
m
‑1)的份额[[y
→
]]=([[y0]],
…
,[[y
m
‑1]]),所述秘密S型函数计算装置包括:秘密批量映射计算部,从所述份额[[x
→
]],计算map
σ
([[x
→
]])=([[σ(a
f(0)
)]],
…
,[[σ
(a
f(m
‑
1)
)]]),并通过([[y0]],
…
,[[y
m
‑1]])=([[σ(a
f(0)
)]],
…
,[[σ(a
f(m
‑
1)
)]]),计算所述份额[[y
→
]],其中,f(i)(0≤i≤m
‑
1)是成为a
j
≤x
i
<a
j+1
的j。6.一种秘密逻辑回归计算装置,其是秘密逻辑回归计算系统中的秘密逻辑回归计算装置,将m设为1以上的整数,将η设为满足0<η<1的实数,将Sigmoid([[x]])设为如下的函数:使用由3个以上的、权利要求5所述的秘密S型函数计算装置构成的秘密S型函数计算系统,从输入向量x
→
的份额[[x
→
]]计算对于输入向量x
→
的S型函数的值y
→
的份额[[y
→
]],所述秘密逻辑回归计算系统由3个以上的秘密逻辑回归计算装置构成,所述秘密逻辑回归计算系统是从说明变量的数据x
i
→
的份额[[x
i
→
]](0≤i≤m
‑
1)、和目的变量的数据y
i
的份额[[y
i
]](0≤i≤m
‑
1),计算逻辑回归模型的模型参数w
→
的份额[[w
→
]],所述秘密逻辑回归计算装置包括:初始化部,用于设定模型参数w
→
的初始值w0→
的份额[[w0→
]];误差计算部,对于i=0,
…
,m
‑
1,从进行了t次更新后的模型参数w
→
的值w
t
→
的份额[[w
t
→
]]和所述份额[[x
i
→
]],通过[[b
i
]]=hpsum([[w
t
→
]],[[(1,x
i
→
)]])计算[[b
i
]],从所述[[b
i
]](0≤i≤m
‑
1),通过([[c0]],
…
,[[c
m
‑1]])=Sigmoid(([[b0]],
…
,[[b
m
‑1]])),计算([[c0]],
…
,[[c
m
‑1]]),对于i=0,
…
,m
‑
1,从所述份额[[y
i
]]和所述([[c0]],
…
,[[c
m
‑1]])的第i元素[[c
i
]],通过[[d
i
]]=[[c
i
]]
‑
[[y
i
]]计算误差[[d
i
]];以及模型参数更新部,对于j=0,
…
,n,从所述误差[[d
i
]](0≤i≤m
‑
1)、和所述份额[[x
i
→
]]的第j元素[[x
i,j
]](0≤i≤m
‑
1),通过[[e]]=Σ
i=0m
‑1[[d
i
]][[x
i,j
]],计算[[e]],从所述份额[[w
t
→
]]的第j元素[[w
j,t
]]和所述[[e]],通过[[w
j,t+1
]]=[[w
j,t
]]
‑
η(1/m)[[e]],计算进行了t+1次更新后的模型参数w
→
的值w
t+1
→
的份额[[w
t+1
→
]]的第j元素[[w
j,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
→
的元素设为q
i
,将q
→
的精度记述为b_q[bit]的情况下,q
→
的份额[[q
→
]]实际上表示由[[q
i
×2b_q
]]这样的固定小数点数的份额构成,将w
→
、w0→
、w
t
→
、w
t+1
→
、eta_grad_ave_shift的精度记述为b_w[bit],将x
i
→
(0≤i≤m
‑
1)的精度记述为b_x[bit],将y
i
(0≤i≤m
‑
1)、c
i
(0≤i≤m
‑
1)、d
i
(0≤i≤m
‑
1)的精度记述为b_y[bit],将η的精度记述为b_η[bit],将学习数据数的倒数1/m的精度记述为b_m+H[bit],将b
i
(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型函数计算系统从说明变量的数据x
i
→
的份额[[x
i
→
]](0≤i≤m
‑
1)、和目的变量的数据y
i
的份额[[y
i
]](0≤i≤m
‑
1),计算逻辑回归模型的模型参数w
→
的份额[[w
→
]],所述秘密逻辑回归计算装置包括:初始化单元,设定模型参数w
→
的初始值w0→
的份额[[w0→
]];误差计算单元,对于i=0,
…
,m
‑
1,从进行了t次更新后的模型参数w
→
的值w
t
→
的份额[[w
t
技术研发人员:三品气吹,五十岚大,滨田浩气,菊池亮,
申请(专利权)人:日本电信电话株式会社,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。