WO2022254599A1 - 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム - Google Patents

秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム Download PDF

Info

Publication number
WO2022254599A1
WO2022254599A1 PCT/JP2021/020959 JP2021020959W WO2022254599A1 WO 2022254599 A1 WO2022254599 A1 WO 2022254599A1 JP 2021020959 W JP2021020959 W JP 2021020959W WO 2022254599 A1 WO2022254599 A1 WO 2022254599A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
secret
vector
calculation
calculation unit
Prior art date
Application number
PCT/JP2021/020959
Other languages
English (en)
French (fr)
Inventor
匠 深見
大 五十嵐
一凡 張
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2021/020959 priority Critical patent/WO2022254599A1/ja
Priority to JP2023525230A priority patent/JPWO2022254599A1/ja
Publication of WO2022254599A1 publication Critical patent/WO2022254599A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • 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

Definitions

  • This invention relates to secure computation technology, and in particular to technology for secure computation of the conjugate gradient method.
  • the conjugate gradient method is an algorithm for solving simultaneous linear equations with symmetric positive definite matrices as coefficients.
  • the conjugate gradient method is a method of directly calculating A ⁇ 1 b ⁇ without calculating the inverse matrix A ⁇ 1 of the symmetric positive definite matrix A when there is a symmetric positive definite matrix A and a vector b ⁇ .
  • the conjugate gradient method is often used in machine learning and the like.
  • Patent Literature 1 discloses a technique for efficiently calculating the conjugate gradient method in secure calculation.
  • Patent Document 1 is a technique for efficiently calculating the conjugate gradient method for a pair of a single symmetric positive definite matrix and vector. Therefore, in order to calculate the conjugate gradient method for N pairs of symmetric positive definite matrices and vectors using the conventional technique described in Patent Document 1, it is necessary to calculate N conjugate gradient methods, Processing time increases O(N).
  • the object of the present invention is to efficiently calculate the conjugate gradient method for a plurality of pairs of symmetric positive definite matrices and vectors.
  • a secret conjugate gradient calculation method is multi-dimensional consisting of N symmetric positive definite matrices A 1 , . Taking as inputs the hidden values of matrix A and the hidden values of matrix B consisting of N vectors b ⁇ 1 , ..., b ⁇ N , A 1 ⁇ 1 b ⁇ 1 , ..., A N ⁇ 1 b ⁇ N
  • the fourth calculation unit of each secure computation device generates the secret value of the vector ⁇ ⁇ by secretly calculating the following equation while converting the multiplication of N values into the multiplication of elements of one vector. death,
  • the fifth calculation unit of each secure computing device updates the confidential value of the matrix P by performing secure computation using the following equation,
  • the sixth calculation unit of each secure computation unit updates the secret value of the vector ⁇ ⁇ by secretly calculating the following equation while converting the multiplication of N values into the multiplication of elements of one vector. do.
  • the conjugate gradient method for a plurality of pairs of symmetric positive definite matrices and vectors can be calculated by a single conjugate gradient method, which is efficient.
  • FIG. 1 is a diagram illustrating the functional configuration of a secret conjugate gradient calculation system.
  • FIG. 2 is a diagram illustrating a functional configuration of a secure computing device;
  • FIG. 3 is a diagram illustrating the processing procedure of the secret conjugate gradient method calculation method.
  • FIG. 4 is a diagram illustrating a functional configuration of a computer;
  • Letters marked with “ ⁇ ” represent vectors. For example, a vector consisting of N values a 1 , a 2 , . Vector element numbers are indicated by subscripts. For example, the i-th element of vector a ⁇ is denoted as a i .
  • Vector element numbers are represented by subscripts. If a vector has subscripts representing numbers, the subscripts are separated by commas, and the vector number and the vector element number are listed together. do. For example, the j-th element of the i-th vector b ⁇ i is written as b ⁇ i,j .
  • a capital letter followed by ' ⁇ ' represents a multi-dimensional matrix.
  • [ ⁇ ] represents the encrypted text of the value ⁇ . If the encryption is done by secret sharing, it is called a "share”.
  • ⁇ ⁇ ⁇ represents conversion from ⁇ to ⁇ .
  • represents substituting ⁇ for ⁇ .
  • ⁇ T (superscript T) represents the transpose of the matrix ⁇ .
  • ⁇ ⁇ T ⁇ ⁇ represents the inner product of vector ⁇ ⁇ and vector ⁇ ⁇ .
  • ⁇ Secret calculation> As a method of obtaining a specific calculation result without restoring an encrypted numerical value, there is a method called secure calculation (see Reference 1, for example).
  • encryption is performed by distributing numerical fragments to three secure computing devices, and the three secure computing devices perform cooperative calculations to perform addition, subtraction, and computation without restoring numeric values.
  • the results of constant addition, multiplication, constant multiplication, logical operations (negative, logical product, logical sum, exclusive logical sum), and data format conversion (integer, binary) are distributed to three secure computing devices, i.e. encryption It can be kept intact.
  • 0 n represents a vector of length n with all elements zero.
  • diag( ⁇ ) is a function that outputs the diagonal elements of the matrix ⁇ .
  • Elemental technology 1 is a method of collectively calculating the inner product of a plurality of vectors.
  • Elemental technology 2 is a method of collectively performing multiple vector and matrix calculations. Elemental technology 1 is used to compute steps 3, 7, and 9 of Algorithm 2. Elemental technology 2 is used to calculate steps 4 and 6 of Algorithm 2.
  • n is a predetermined natural number.
  • g ⁇ ⁇ c ⁇ ⁇ d ⁇ (c 1,1 ⁇ d 1,1 , c 1,2 ⁇ d 1,2 , ..., c 1,n ⁇ d 1,n , c 2,1 ⁇ d 2, 1 , c 2,2 ⁇ d 2,2 , ..., c 2,n ⁇ d 2,n , ..., c N, 1 ⁇ d N, 1 , c N, 2 ⁇ d N, 2 , ..., c N ,n ⁇ d N,n )
  • Elemental technology 2 is F ⁇ ( c _ ⁇ 1 T D 1 , c ⁇ 2 T D 2 , ..., c ⁇ N T D N ).
  • N matrix calculations When performing matrix calculations with secret calculations, local calculations consisting of multiplication and addition are performed on shares, and then the local calculation results are communicated between parties. Therefore, when performing N matrix calculations with the conventional technology, it is necessary to perform communication N times. Therefore, the local operations necessary for each of the N matrix calculations are first performed collectively, and then the communication necessary for each matrix calculation is collectively performed once. As a result, N matrix calculations can be performed in one communication. Communication is a bottleneck in secure computation, so reducing the number of communications can speed up processing.
  • the secure conjugate gradient calculation system 100 includes, for example, K ( ⁇ 2) secure calculation devices 1 1 , . . . , 1 K as shown in FIG.
  • the secure computing devices 1 1 , . . . , 1 K are connected to the communication network 9 respectively.
  • the communication network 9 is a circuit-switched or packet-switched communication network configured so that connected devices can communicate with each other. etc. can be used. Note that each device does not necessarily need to be able to communicate online via the communication network 9 .
  • the secret conjugate gradient method calculation method of this embodiment is realized by performing the processing of .
  • a secure computing device is, for example, a special computer configured by reading a special program into a publicly known or dedicated computer having a central processing unit (CPU: Central Processing Unit), a main memory (RAM: Random Access Memory), etc. It is a device.
  • a secure computing device for example, executes each process under the control of a central processing unit.
  • the data input to the secure computing device and the data obtained in each process are stored, for example, in the main storage device, and the data stored in the main storage device are read out to the central processing unit as necessary and used for other purposes.
  • used to process At least a part of each processing unit of the secure computing device may be configured by hardware such as an integrated circuit.
  • the number of iterations ⁇ should be set in consideration of the accuracy of the calculation result and the processing speed, and it is known that it should be set to about 10 in the conjugate gradient method.
  • the secret value [A ⁇ ] of the multidimensional matrix A ⁇ is output to the first calculation unit 13 .
  • the secret value [B] of matrix B is output to initialization section 13 .
  • the secret value [ ⁇ ] of the number of iterations ⁇ is output to the iteration control unit 19 .
  • step S12 the initializing unit 12 of each secure computing device 1 k performs secure computation using equations (1), (2), and (3) to obtain a matrix consisting of N vectors x ⁇ 1 , . . . , x ⁇ N
  • the secret value [X] of X (x ⁇ 1 , ..., x ⁇ N )
  • the matrix R (r ⁇ 1 , ..., r ⁇ N ) of N vectors r ⁇ 1 , ..., r ⁇ N
  • the secret value [P] of the vector ⁇ ⁇ generates ⁇ ⁇ ].
  • Each vector (x ⁇ 1 , ..., x ⁇ N ), (r ⁇ 1 , ..., r ⁇ N ) , (p ⁇ 1 , ..., p ⁇ N ) contained in the matrices X, R, P and the vector ⁇ ⁇ are all of length n.
  • the secret value [X] of the generated matrix X is output to the second calculator 14 .
  • the secret values [R] and [P] of the generated matrices R and P are output to the first calculation unit 13 .
  • the secret value [ ⁇ ⁇ ] of the generated vector ⁇ ⁇ is output to the fourth calculation unit 16 .
  • the secret value [ ⁇ ⁇ ] of the generated vector ⁇ ⁇ is output to the second calculation unit 14 .
  • the first calculation unit 13 secretly calculates p ⁇ i T A i p ⁇ i in Equation (4) so that communication necessary for N matrix calculations is performed at once using the above element technology 2. do. That is, the local operations necessary for each of p ⁇ i T A i p ⁇ i are first performed collectively, and then the communications necessary for each of p ⁇ i T A i p ⁇ i are collectively performed once. .
  • step S14 the second calculation unit 14 of each secure computing device 1 k updates the secret value [X] of the matrix X by performing a secure calculation using Equation (5).
  • the secret value [X] of the updated matrix X is output to the output unit 20 .
  • step S15 the third calculation unit 15 of each secure computing device 1 k calculates the secret value [R] of the matrix R collectively by secretly calculating Equation (6) for each integer i of 1 or more and N or less. Update.
  • the updated secret value [R] of matrix R is output to iteration control section 19 .
  • the third calculation unit 15 like the first calculation unit 13, uses the above element technology 2 to calculate A i p ⁇ i in equation (6) by summarizing the communication necessary for N matrix calculations into one time. Secretly calculate as you do.
  • step S16 the fourth calculation unit 16 of each secure computing device 1 k generates a secret value [ ⁇ ⁇ ] of the vector ⁇ ⁇ by performing a secure calculation using Equation (7).
  • the secret value [ ⁇ ⁇ ] of the generated vector ⁇ ⁇ is output to the fifth calculation unit 17 .
  • the fourth calculation unit 16 converts R TR in equation (7) to multiplication between elements of one vector using the above-described elemental technique 1 in the same manner as the initialization unit 12. Calculate secretly.
  • step S17 the fifth calculation unit 17 of each secure computing device 1 k updates the secret value [P] of the matrix P by performing a secure calculation using Equation (8).
  • the updated secret value [P] of the matrix P is output to the first calculator 13 .
  • step S18 the sixth calculation unit 18 of each secure computing device 1 k updates the secret value [ ⁇ ⁇ ] of the vector ⁇ ⁇ by secretly calculating Equation (9).
  • the updated secret value [ ⁇ ⁇ ] of the vector ⁇ ⁇ is output to the fourth calculation unit 16 .
  • the sixth calculation unit 18 converts R TR in equation (9) to multiplication between elements of one vector using the above-described elemental technique 1 in the same manner as the initialization unit 12. Calculate secretly.
  • step S19-1 the iteration control unit 19 of each secure computing device 1 k determines whether or not the index j is equal to or greater than the number of iterations ⁇ , that is, whether j ⁇ is true or false. If j ⁇ is false, that is, if j ⁇ , the process proceeds to step S19-2. If j ⁇ is true, the process proceeds to step S20. In step S19-2, the iteration control unit 19 of each secure computing device 1 k increments j, that is, calculates j ⁇ j+1, and returns to step S13. In other words, the iterative control unit 19 performs control to repeatedly execute the first calculation unit 13 to the sixth calculation unit 18 ⁇ times.
  • step S20 the output unit 20 of each secure computing device 1 k converts the secret value [X] of the matrix X into A 1 -1 b ⁇ 1 , A 2 -1 b ⁇ 2 , ..., A N -1 b ⁇ N output as a secret value of
  • Embodiment 1 of the present invention is an example of solving linear regression using the conjugate gradient method of Algorithm 2.
  • FIG. The formula for obtaining the linear regression model is formula (10).
  • Formula (10) is generally solved using the conjugate gradient method because the matrix inversion is a heavy process.
  • the conjugate gradient method of Algorithm 2 it is possible to train multiple linear regression models using different data sets collectively in one conjugate gradient method.
  • Embodiment 2 of the present invention is an example of solving ridge regression using the conjugate gradient method of Algorithm 2.
  • the formula for obtaining the ridge regression model is formula (11).
  • ⁇ in formula (11) represents a hyperparameter, and learning is usually performed by setting an arbitrary value when performing ridge regression. Since the optimal hyperparameter values are not known in advance, the problem is that it is necessary to set multiple different hyperparameters and learn many times.
  • a ridge regression model with multiple different hyperparameters can be learned collectively by a single conjugate gradient method. This allows efficient learning of the optimal model.
  • Computer-readable recording media are, for example, non-temporary recording media such as magnetic recording devices and optical discs.
  • this program will be carried out, for example, by selling, transferring, lending, etc. portable recording media such as DVDs and CD-ROMs on which the program is recorded.
  • the program may be distributed by storing the program in the storage device of the server computer and transferring the program from the server computer to other computers via the network.
  • a computer that executes such a program for example, first stores a program recorded on a portable recording medium or a program transferred from a server computer once in the auxiliary recording unit 1050, which is its own non-temporary storage device. Store. When executing the process, this computer reads the program stored in the auxiliary recording unit 1050, which is its own non-temporary storage device, into the storage unit 1020, which is a temporary storage device, and follows the read program. Execute the process. Also, as another execution form of this program, the computer may read the program directly from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to this computer. Each time, the processing according to the received program may be executed sequentially.
  • ASP Application Service Provider
  • the above-mentioned processing is executed by a so-called ASP (Application Service Provider) type service, which does not transfer the program from the server computer to this computer, and realizes the processing function only by its execution instruction and result acquisition.
  • ASP Application Service Provider
  • the program in this embodiment includes information that is used for processing by a computer and that conforms to the program (data that is not a direct instruction to the computer but has the property of prescribing the processing of the computer, etc.).
  • the device is configured by executing a predetermined program on a computer, but at least part of these processing contents may be implemented by hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

複数の対称正定値行列を係数とする連立一次方程式を効率的に計算する。入力部(11)へN個の対称正定値行列A~およびN個のベクトルBが入力される。初期化部(12)は、行列X, R, Pおよびベクトルγの秘匿値を初期化する。第一計算部(13)は、N個の行列計算をまとめて計算し、ベクトルαの秘匿値を生成する。第二計算部(14)は、行列Xの秘匿値を更新する。第三計算部(15)は、N個の行列計算をまとめて計算し、行列Rの秘匿値を更新する。第四計算部(16)は、N個のベクトル同士の内積をまとめて計算し、ベクトルβの秘匿値を生成する。第五計算部(17)は、行列Pの秘匿値を更新する。第六計算部(18)は、N個のベクトル同士の内積をまとめて計算し、ベクトルγの秘匿値を更新する。

Description

秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム
 この発明は、秘密計算技術に関し、特に、共役勾配法を秘密計算する技術に関する。
 共役勾配法は、対称正定値行列を係数とする連立一次方程式を解くためのアルゴリズムである。共役勾配法は、対称正定値行列Aとベクトルbがあるとき、対称正定値行列Aの逆行列A-1を計算せずに、直接A-1bを計算する手法である。共役勾配法は、機械学習等でよく用いられている。
 秘密計算上で機械学習を行う場合、共役勾配法を効率よく計算する必要がある。特許文献1には、秘密計算で共役勾配法を効率的に計算する技術が開示されている。
国際公開第2020/246018号
 特許文献1に記載された従来技術は、1個の対称正定値行列とベクトルの組に対する共役勾配法を効率よく計算する技術である。そのため、特許文献1に記載された従来技術を用いて、N個の対称正定値行列とベクトルの組に対する共役勾配法を計算するためには、N回の共役勾配法を計算する必要があり、処理時間がO(N)で増加する。
 この発明の目的は、上記のような技術的課題に鑑みて、複数の対称正定値行列とベクトルの組に対する共役勾配法を効率的に計算することである。
 この発明の一態様の秘密共役勾配法計算方法は、複数の秘密計算装置を含む秘密共役勾配法計算システムにより実行される、N個の対称正定値行列A1, …, ANからなる多次元行列A~の秘匿値と、N個のベクトルb 1, …, b Nからなる行列Bの秘匿値とを入力とし、A1 -1b 1, …, AN -1b Nからなる行列Xの秘匿値を出力する秘密共役勾配法計算方法であって、・Tは行列・の転置を表し、diag(・)は行列・の対角成分を出力する関数を表し、nは所定の自然数を表し、0nは長さnで要素がすべて0のベクトルを表し、各秘密計算装置の初期化部が、次式を秘密計算することで、行列Xの秘匿値、行列R=(r 1, …, r N)の秘匿値、行列P=(p 1, …, p N)の秘匿値、およびベクトルγの秘匿値を生成し、
Figure JPOXMLDOC01-appb-M000015

各秘密計算装置の第一計算部が、1以上N以下の各整数iについて、行列計算で必要な通信を1回にまとめて行うように、次式を秘密計算することで、ベクトルα=(α1, …, αN)の秘匿値を生成し、
Figure JPOXMLDOC01-appb-M000016

各秘密計算装置の第二計算部が、次式を秘密計算することで、行列Xの秘匿値を更新し、
Figure JPOXMLDOC01-appb-M000017

各秘密計算装置の第三計算部が、1以上N以下の各整数iについて、行列計算で必要な通信を1回にまとめて行うように、次式を秘密計算することで、行列Rの秘匿値を更新し、
Figure JPOXMLDOC01-appb-M000018

各秘密計算装置の第四計算部が、N個の値同士の乗算を1個のベクトルの要素同士の乗算に変換しながら、次式を秘密計算することで、ベクトルβの秘匿値を生成し、
Figure JPOXMLDOC01-appb-M000019

各秘密計算装置の第五計算部が、次式を秘密計算することで、行列Pの秘匿値を更新し、
Figure JPOXMLDOC01-appb-M000020

各秘密計算装置の第六計算部が、N個の値同士の乗算を1個のベクトルの要素同士の乗算に変換しながら、次式を秘密計算することで、ベクトルγの秘匿値を更新する。
Figure JPOXMLDOC01-appb-M000021
 この発明によれば、複数の対称正定値行列とベクトルの組に対する共役勾配法を1回の共役勾配法で計算することができるため、効率的である。
図1は、秘密共役勾配法計算システムの機能構成を例示する図である。 図2は、秘密計算装置の機能構成を例示する図である。 図3は、秘密共役勾配法計算方法の処理手続きを例示する図である。 図4は、コンピュータの機能構成を例示する図である。
 はじめに、この明細書における表記方法および用語の定義について説明する。
 <表記方法>
 文中で使用する記号「」(上付き右矢印)「~」(チルダ)は、本来直前の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直後に記載する。数式中においてはこれらの記号は本来の位置、すなわち文字の真上に記述している。例えば、「a」「C~」は数式中では次式で表される。
Figure JPOXMLDOC01-appb-M000022
 「」(上付き右矢印)が付された文字は、ベクトルを表す。例えば、N個の値a1, a2, …, aNからなるベクトルをa=(a1, a2, …, aN)と表記する。ベクトルの要素の番号は、下付き添え字で表す。例えば、ベクトルaのi番目の要素は、aiと表記する。
 小文字のアルファベットで表されるベクトルがあるとき、同じアルファベットの大文字は、複数のベクトルからなる行列を表す。例えば、N個のベクトルb 1, b 2, …, b Nからなる行列をB=(b 1, b 2, …, b N)と表記する。
 ベクトルの要素の番号は下付き添え字で表すが、ベクトルに番号を表す下付き添え字が付されている場合、下付き添え字をカンマで区切り、ベクトルの番号とベクトルの要素の番号を併記する。例えば、i番目のベクトルb iのj番目の要素は、b i,jと表記する。
 「~」(チルダ)が付された大文字アルファベットは、多次元行列を表す。例えば、N個の行列C1, C2, …, CNをもつ多次元行列をC~=(C1, C2, …, CN)と表記する。
 [・]は値・を暗号化した秘匿文を表す。暗号化が秘密分散により行われた場合、「シェア」と呼ぶ。
 α→βはαからβに変換することを表す。
 α←βはαにβを代入することを表す。
 ・T(上付き添え字のT)は行列・の転置を表す。
 α→Tβは、ベクトルαとベクトルβの内積を表す。
 <秘密計算>
 暗号化された数値を復元することなく特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば、参考文献1参照)。参考文献1に記載された方法では、3つの秘密計算装置に数値の断片を分散させるという暗号化を行い、3つの秘密計算装置が協調計算を行うことにより、数値を復元することなく、加減算、定数加算、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数、二進数)の結果を3つの秘密計算装置に分散された状態、すなわち暗号化されたまま保持させることができる。
 〔参考文献1〕千田浩司、濱田浩気、五十嵐大、高橋克巳、“軽量検証可能3パーティ秘匿関数計算の再考”、コンピュータセキュリティシンポジウム2010、2010年
 <従来の共役勾配法>
 従来の共役勾配法のアルゴリズム(Algorithm 1)を以下に示す。このアルゴリズムは、対称正定値行列Aとベクトルbと閾値δとを入力とし、A-1bの計算結果を出力する。共役勾配法を秘密計算で行う場合、アルゴリズム中で扱う値・をすべてシェア[・]に置き換えればよい。
Figure JPOXMLDOC01-appb-T000023
    
 ここで、0nは長さnで要素がすべて0のベクトルを表す。
 <提案の共役勾配法>
 本発明で提案する共役勾配法のアルゴリズム(Algorithm 2)を以下に示す。このアルゴリズムは、N個の対称正定値行列A1, A2, …, ANからなる多次元行列A~=(A1, A2, …, AN)とN個のベクトルb 1, b 2, …, b Nからなる行列B=(b 1, b 2, …, b N)と反復回数δとを入力とし、N個のベクトルx 1, x 2, …, x Nからなる行列X=(x 1, x 2, …, x N)(ただし、x i=Ai -1b i、i=1, …, N)を出力する。
Figure JPOXMLDOC01-appb-T000024
    
 ここで、diag(・)は、行列・の対角成分を出力する関数である。
 Algorithm 2を計算するために、以下の要素技術1、2が用いられる。要素技術1は、複数のベクトル同士の内積をまとめて計算する方法である。要素技術2は、複数のベクトルと行列の計算をまとめて行う方法である。要素技術1は、Algorithm 2のステップ3, 7, 9を計算するために用いられる。要素技術2は、Algorithm 2のステップ4, 6を計算するために用いられる。
 <要素技術1:ベクトル同士の内積をまとめて計算する方法>
 要素技術1は、行列C=(c 1, c 2, …, c N)と行列D=(d 1, d 2, …, d N)があるとき、e←CTD=(c 1 Td 1, c 2 Td 2, …, c N Td N)を計算する手法である。なお、行列C, Dに含まれる各ベクトル(c 1, c 2, …, c N), (d 1, d 2, …, d N)は、すべて長さnとする。ここで、nは所定の自然数である。
 まず、行列Cと行列Dの要素であるベクトルをそれぞれ連結し、連結ベクトルcとdを生成する。
   C=(c 1, c 2, …, c N)→c=(c1,1, c1,2, …, c1,n, c2,1, c2,2, …, c2,n, …, cN,1, cN,2, …, cN,n)
   D=(d 1, d 2, …, d N)→d=(d1,1, d1,2, …, d1,n, d2,1, d2,2, …, d2,n, …, dN,1, dN,2, …, dN,n)
 次に、行列Cと行列Dの要素同士を乗算し、要素積ベクトルgを生成する。
   g←c×d=(c1,1×d1,1, c1,2×d1,2, …, c1,n×d1,n, c2,1×d2,1, c2,2×d2,2, …, c2,n×d2,n,…, cN,1×dN,1, cN,2×dN,2, …, cN,n×dN,n)
 最後に、要素積ベクトルgの要素をn個ずつに分割し、n個の要素それぞれを合計し、結果ベクトルeを生成する。
   e←(sum(c1,1×d1,1, c1,2×d1,2, …, c1,n×d1,n), sum(c2,1×d2,1, c2,2×d2,2, …, c2,n×d2,n), …, sum(cN,1×dN,1, cN,2×dN,2, …, cN,n×dN,n))
 従来は、N個のベクトル同士の内積を計算するために、N回の値同士の乗算が必要であった。要素技術1を用いることにより、N個のベクトル同士の内積を、要素同士の乗算1回で計算できるようになる。秘密計算では、値同士の乗算もベクトルの要素同士の乗算も必要となる通信は1回である。そのため、N個の値同士の乗算を、要素数がNのベクトルの要素同士の乗算に変換すれば、通信回数をN分の1に低減することができる。秘密計算では、特に、乗算に多くの通信量が必要となるため、乗算の回数を低減させることで、処理を大幅に高速化できる。
 <要素技術2:ベクトルと行列の計算をまとめて行う方法>
 要素技術2は、行列C=(c 1, c 2, …, c N)と多次元行列D~=(D1, D2, …, DN)があるとき、F←(c 1 TD1, c 2 TD2, …, c N TDN)を計算する手法である。
 秘密計算で行列計算を行う際は、シェアに対して乗算と加算からなるローカル演算を行った後、パーティ間でローカルの演算結果を通信する。そのため、従来技術でN個の行列計算を行う場合には、N回の通信を行う必要がある。そこで、N個の行列計算それぞれで必要となるローカル演算を先にまとめて行い、その後各行列計算で必要となる通信を1回でまとめて行う。これにより、N個の行列計算を1回の通信で行うことができる。通信は秘密計算においてボトルネックとなるため、通信回数を低減することで、処理を高速化できる。
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 [実施形態]
 図1を参照して、実施形態の秘密共役勾配法計算システムの構成例を説明する。秘密共役勾配法計算システム100は、例えば、図1に示すように、K(≧2)台の秘密計算装置11, …, 1Kを含む。本実施形態では、秘密計算装置11, …, 1Kはそれぞれ通信網9へ接続される。通信網9は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網9を介してオンラインで通信可能である必要はない。例えば、秘密計算装置11, …, 1Kへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から秘密計算装置11, …, 1Kへオフラインで入力するように構成してもよい。
 図2を参照して、実施形態の秘密共役勾配法計算システム100に含まれる秘密計算装置1k(k=1, …, K)の構成例を説明する。秘密計算装置1kは、例えば、図2に示すように、入力部11、初期化部12、第一計算部13、第二計算部14、第三計算部15、第四計算部16、第五計算部17、第六計算部18、反復制御部19、および出力部20を含む。この秘密計算装置1k(k=1, …, K)が他の秘密計算装置1k'(k'=1, …, K、ただしk≠k')と協調しながら図3に示す各ステップの処理を行うことにより本実施形態の秘密共役勾配法計算方法が実現される。
 秘密計算装置は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密計算装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。秘密計算装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。秘密計算装置の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
 図3を参照して、実施形態の秘密共役勾配法計算システム100が実行する秘密共役勾配法計算方法の処理手続きを説明する。なお、以下の説明中の数式では、表記を簡略化するために秘匿値を表す括弧書き([・])は省略しているが、すべての値、ベクトル、行列は秘匿化されているものとする。
 ステップS11において、各秘密計算装置1kの入力部11へ、N個の対称正定値行列A1, A2, …, ANからなる多次元行列A~=(A1, A2, …, AN)の秘匿値[A~]、N個のベクトルb 1, b 2, …, b Nからなる行列B=(b 1, b 2, …, b N)の秘匿値[B]、および反復回数δの秘匿値[δ]が入力される。反復回数δは、計算結果の精度と処理速度を鑑みて設定すればよいが、共役勾配法では10程度に設定すればよいことが知られている。多次元行列A~の秘匿値[A~]は、第一計算部13へ出力される。行列Bの秘匿値[B]は、初期化部13へ出力される。反復回数δの秘匿値[δ]は、反復制御部19へ出力される。
 ステップS12において、各秘密計算装置1kの初期化部12は、式(1)(2)(3)を秘密計算することで、N個のベクトルx 1, …, x Nからなる行列X=(x 1, …, x N)の秘匿値[X]、N個のベクトルr 1, …, r Nからなる行列R=(r 1, …, r N)の秘匿値[R]、N個のベクトルp 1, …, p Nからなる行列P=(p 1, …, p N)の秘匿値[P]、およびベクトルγの秘匿値[γ]を生成する。行列X, R, Pに含まれる各ベクトル(x 1, …, x N), (r 1, …, r N), (p 1, …, p N)およびベクトルγは、すべて長さnとする。また、初期化部12は、反復処理のインデックスjをj=1に初期化する。生成された行列Xの秘匿値[X]は、第二計算部14へ出力される。生成された行列R, Pの秘匿値[R], [P]は、第一計算部13へ出力される。生成されたベクトルγの秘匿値[γ]は、第四計算部16へ出力される。
Figure JPOXMLDOC01-appb-M000025
 初期化部12は、式(3)のRTRを、上記要素技術1を用いてN個の乗算を1個のベクトルの要素同士の乗算に変換しながら秘密計算する。すなわち、式(3)のRTRを計算する際、以下の手順を実行する。まず、行列Rに含まれるベクトルr 1, r 2, …, r Nを連結し、連結ベクトルr=(r1,1,…, r1,n, r2,1, …, r2,n, …, rN,1, …, rN,n)を生成する。次に、2個の連結ベクトルrの要素同士を乗算し、要素積ベクトルg←r×r=(r1,1×r1,1,…, r1,n×r1,n, r2,1×r2,1, …, r2,n×r2,n, …, rN,1×rN,1, …, rN,n×rN,n)を生成する。最後に、要素積ベクトルgの要素をn個ずつに分割し、n個の要素それぞれを合計し、結果ベクトルe←(sum(r1,1×r1,1,…, r1,n×r1,n), sum(r2,1×r2,1, …, r2,n×r2,n), …, sum(rN,1×rN,1, …, rN,n×rN,n))を生成する。
 ステップS13において、各秘密計算装置1kの第一計算部13は、1以上N以下の各整数iについて、式(4)をまとめて秘密計算することで、ベクトルα=(α1, …, αN)の秘匿値[α]を生成する。生成されたベクトルαの秘匿値[α]は、第二計算部14へ出力される。
Figure JPOXMLDOC01-appb-M000026
 第一計算部13は、式(4)のp i TAip iを、上記要素技術2を用いてN個の行列計算で必要な通信を1回にまとめて行うように秘密計算する。すなわち、p i TAip iのそれぞれで必要となるローカル演算を先にまとめて行い、その後p i TAip iのそれぞれで必要となる通信を1回でまとめて行う。
 ステップS14において、各秘密計算装置1kの第二計算部14は、式(5)を秘密計算することで、行列Xの秘匿値[X]を更新する。更新された行列Xの秘匿値[X]は、出力部20へ出力される。
Figure JPOXMLDOC01-appb-M000027
 ステップS15において、各秘密計算装置1kの第三計算部15は、1以上N以下の各整数iについて、式(6)をまとめて秘密計算することで、行列Rの秘匿値[R]を更新する。更新された行列Rの秘匿値[R]は、反復制御部19へ出力される。
Figure JPOXMLDOC01-appb-M000028
 第三計算部15は、式(6)のAip iを、第一計算部13と同様に、上記要素技術2を用いてN個の行列計算で必要な通信を1回にまとめて行うように秘密計算する。
 ステップS16において、各秘密計算装置1kの第四計算部16は、式(7)を秘密計算することで、ベクトルβの秘匿値[β]を生成する。生成されたベクトルβの秘匿値[β]は、第五計算部17へ出力される。
Figure JPOXMLDOC01-appb-M000029
 第四計算部16は、式(7)のRTRを、初期化部12と同様に、上記要素技術1を用いてN個の乗算を1個のベクトルの要素同士の乗算に変換しながら秘密計算する。
 ステップS17において、各秘密計算装置1kの第五計算部17は、式(8)を秘密計算することで、行列Pの秘匿値[P]を更新する。更新された行列Pの秘匿値[P]は、第一計算部13へ出力される。
Figure JPOXMLDOC01-appb-M000030
 ステップS18において、各秘密計算装置1kの第六計算部18は、式(9)を秘密計算することで、ベクトルγの秘匿値[γ]を更新する。更新されたベクトルγの秘匿値[γ]は、第四計算部16へ出力される。
Figure JPOXMLDOC01-appb-M000031
 第六計算部18は、式(9)のRTRを、初期化部12と同様に、上記要素技術1を用いてN個の乗算を1個のベクトルの要素同士の乗算に変換しながら秘密計算する。
 ステップS19-1において、各秘密計算装置1kの反復制御部19は、インデックスjが反復回数δ以上となっているか否か、すなわちj≧δの真偽を判定する。j≧δが偽、すなわちj<δであれば、ステップS19-2へ処理を進める。j≧δが真であれば、ステップS20へ処理を進める。ステップS19-2において、各秘密計算装置1kの反復制御部19は、jをインクリメント、すなわちj←j+1を計算し、ステップS13へ処理を戻す。言い換えると、反復制御部19は、第一計算部13から第六計算部18までをδ回繰り返し実行する制御を行う。
 ステップS20において、各秘密計算装置1kの出力部20は、行列Xの秘匿値[X]をA1 -1b 1, A2 -1b 2, …, AN -1b Nの秘匿値として出力する。
 [実施例1]
 この発明の実施例1は、Algorithm 2の共役勾配法を用いて線形回帰を解く例である。線形回帰のモデルを求める式は、式(10)である。
Figure JPOXMLDOC01-appb-M000032
 逆行列は処理が重いため、式(10)は一般的に共役勾配法を用いて解かれる。Algorithm 2の共役勾配法を用いることで、それぞれ異なるデータセットを用いた複数の線形回帰モデルを、1回の共役勾配法でまとめて学習することができる。
 [実施例2]
 この発明の実施例2は、Algorithm 2の共役勾配法を用いてリッジ回帰を解く例である。リッジ回帰のモデルを求める式は、式(11)である。
Figure JPOXMLDOC01-appb-M000033
 式(11)のαはハイパーパラメタを表しており、通常リッジ回帰を行う際は任意の値を設定して学習を行う。最適なハイパーパラメタの値は事前にわからないため、それぞれ異なる複数のハイパーパラメタを設定して、何回も学習する必要があることが課題となっている。Algorithm 2の共役勾配法を用いることで、それぞれ異なる複数のハイパーパラメタを設定した場合のリッジ回帰モデルを、1回の共役勾配法でまとめて学習することができる。これにより、最適なモデルを効率的に学習することができる。
 以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 [プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図4に示すコンピュータの記憶部1020に読み込ませ、演算処理部1010、入力部1030、出力部1040などに動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体は、例えば、非一時的な記録媒体であり、磁気記録装置、光ディスク等である。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の非一時的な記憶装置である補助記録部1050に格納する。そして、処理の実行時、このコンピュータは、自己の非一時的な記憶装置である補助記録部1050に格納されたプログラムを一時的な記憶装置である記憶部1020に読み込み、読み込んだプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み込み、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (6)

  1.  複数の秘密計算装置を含む秘密共役勾配法計算システムにより実行される、N個の対称正定値行列A1, …, ANからなる多次元行列A~の秘匿値と、N個のベクトルb 1, …, b Nからなる行列Bの秘匿値とを入力とし、A1 -1b 1, …, AN -1b Nからなる行列Xの秘匿値を出力する秘密共役勾配法計算方法であって、
     ・Tは行列・の転置を表し、diag(・)は行列・の対角成分を出力する関数を表し、nは所定の自然数を表し、0nは長さnで要素がすべて0のベクトルを表し、
     各秘密計算装置の初期化部が、次式を秘密計算することで、前記行列Xの秘匿値、行列R=(r 1, …, r N)の秘匿値、行列P=(p 1, …, p N)の秘匿値、およびベクトルγの秘匿値を生成し、
    Figure JPOXMLDOC01-appb-M000001

     各秘密計算装置の第一計算部が、1以上N以下の各整数iについて、行列計算で必要な通信を1回にまとめて行うように、次式を秘密計算することで、ベクトルα=(α1, …, αN)の秘匿値を生成し、
    Figure JPOXMLDOC01-appb-M000002

     各秘密計算装置の第二計算部が、次式を秘密計算することで、前記行列Xの秘匿値を更新し、
    Figure JPOXMLDOC01-appb-M000003

     各秘密計算装置の第三計算部が、1以上N以下の各整数iについて、行列計算で必要な通信を1回にまとめて行うように、次式を秘密計算することで、前記行列Rの秘匿値を更新し、
    Figure JPOXMLDOC01-appb-M000004

     各秘密計算装置の第四計算部が、N個の値同士の乗算を1個のベクトルの要素同士の乗算に変換しながら、次式を秘密計算することで、ベクトルβの秘匿値を生成し、
    Figure JPOXMLDOC01-appb-M000005

     各秘密計算装置の第五計算部が、次式を秘密計算することで、前記行列Pの秘匿値を更新し、
    Figure JPOXMLDOC01-appb-M000006

     各秘密計算装置の第六計算部が、N個の値同士の乗算を1個のベクトルの要素同士の乗算に変換しながら、次式を秘密計算することで、前記ベクトルγの秘匿値を更新する、
    Figure JPOXMLDOC01-appb-M000007

     秘密共役勾配法計算方法。
  2.  請求項1に記載の秘密共役勾配法計算方法であって、
     前記初期化部、第四計算部、および前記第六計算部は、
    前記行列Rに含まれるベクトルr 1, …, r Nを連結した連結ベクトルrを生成し、2個の前記連結ベクトルrの要素同士を乗算した要素積ベクトルgを生成し、前記要素積ベクトルgの要素をn個ずつに分割してそれぞれ合計した結果ベクトルeを求めることで、RTRを計算する、
     秘密共役勾配法計算方法。
  3.  請求項1に記載の秘密共役勾配法計算方法であって、
     前記第一計算部および前記第三計算部は、
     1以上N以下の各整数iについて、前記行列Pに含まれるベクトルp iと前記多次元行列A~に含まれる対称正定値行列Aiとを行列計算するとき、その行列計算を秘密計算する際に必要となるローカル演算をN個まとめて行い、その行列計算で必要となる通信を1回の通信でまとめて行う、
     秘密共役勾配法計算方法。
  4.  複数の秘密計算装置を含み、N個の対称正定値行列A1, …, ANからなる多次元行列A~の秘匿値と、N個のベクトルb 1, …, b Nからなる行列Bの秘匿値とを入力とし、A1 -1b 1, …, AN -1b Nからなる行列Xの秘匿値を出力する秘密共役勾配法計算システムであって、
     ・Tは行列・の転置を表し、diag(・)は行列・の対角成分を出力する関数を表し、nは所定の自然数を表し、0nは長さnで要素がすべて0のベクトルを表し、
     各秘密計算装置は、
     次式を秘密計算することで、前記行列Xの秘匿値、行列R=(r 1, …, r N)の秘匿値、行列P=(p 1, …, p N)の秘匿値、およびベクトルγの秘匿値を生成する初期化部と、
    Figure JPOXMLDOC01-appb-M000008

     1以上N以下の各整数iについて、行列計算で必要な通信を1回にまとめて行うように、次式を秘密計算することで、ベクトルα=(α1, …, αN)の秘匿値を生成する第一計算部と、
    Figure JPOXMLDOC01-appb-M000009

     次式を秘密計算することで、前記行列Xの秘匿値を更新する第二計算部と、
    Figure JPOXMLDOC01-appb-M000010

     1以上N以下の各整数iについて、行列計算で必要な通信を1回にまとめて行うように、次式を秘密計算することで、前記行列Rの秘匿値を更新する第三計算部と、
    Figure JPOXMLDOC01-appb-M000011

     N個の値同士の乗算を1個のベクトルの要素同士の乗算に変換しながら、次式を秘密計算することで、ベクトルβの秘匿値を生成する第四計算部と、
    Figure JPOXMLDOC01-appb-M000012

     次式を秘密計算することで、前記行列Pの秘匿値を更新する第五計算部と、
    Figure JPOXMLDOC01-appb-M000013

     N個の値同士の乗算を1個のベクトルの要素同士の乗算に変換しながら、次式を秘密計算することで、前記ベクトルγの秘匿値を更新する第六計算部と、
    Figure JPOXMLDOC01-appb-M000014

     を含む秘密共役勾配法計算システム。
  5.  請求項4に記載の秘密共役勾配法計算システムにおいて用いられる前記秘密計算装置。
  6.  請求項1から3のいずれかに記載の秘密共役勾配法計算方法の各ステップをコンピュータに実行させるためのプログラム。
PCT/JP2021/020959 2021-06-02 2021-06-02 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム WO2022254599A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/020959 WO2022254599A1 (ja) 2021-06-02 2021-06-02 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム
JP2023525230A JPWO2022254599A1 (ja) 2021-06-02 2021-06-02

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/020959 WO2022254599A1 (ja) 2021-06-02 2021-06-02 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム

Publications (1)

Publication Number Publication Date
WO2022254599A1 true WO2022254599A1 (ja) 2022-12-08

Family

ID=84322883

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/020959 WO2022254599A1 (ja) 2021-06-02 2021-06-02 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム

Country Status (2)

Country Link
JP (1) JPWO2022254599A1 (ja)
WO (1) WO2022254599A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018366A (ja) * 2003-06-25 2005-01-20 Hitachi Ltd 連立一次方程式求解装置及び求解方法
WO2020246018A1 (ja) * 2019-06-07 2020-12-10 日本電信電話株式会社 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018366A (ja) * 2003-06-25 2005-01-20 Hitachi Ltd 連立一次方程式求解装置及び求解方法
WO2020246018A1 (ja) * 2019-06-07 2020-12-10 日本電信電話株式会社 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FUKAMI, TAKUMI; DAI, IKARASHI: "4B2-2 An Implementation and an evaluation of high-precision and high-speed secret linear regression", SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS2021); JANUARY 19-22, 2021, January 2021 (2021-01-01) - 22 January 2021 (2021-01-22), JP, pages 1 - 7, XP009542071 *

Also Published As

Publication number Publication date
JPWO2022254599A1 (ja) 2022-12-08

Similar Documents

Publication Publication Date Title
Farah et al. A novel method for designing S-box based on chaotic map and teaching–learning-based optimization
Bogdanov et al. High-performance secure multi-party computation for data mining applications
CN111143894B (zh) 一种提升安全多方计算效率的方法及系统
JP7067632B2 (ja) 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム
JP7092206B2 (ja) 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム
Isah et al. Collocation method based on Genocchi operational matrix for solving generalized fractional pantograph equations
WO2018008545A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
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
JP6585846B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6977882B2 (ja) 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
WO2022254599A1 (ja) 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム
JP7205623B2 (ja) 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム
JP6825119B2 (ja) 秘密読み込み装置、秘密書き込み装置、それらの方法、およびプログラム
Toulias et al. Generalizations of entropy and information measures
Ghasemi et al. Controllability of linear fractional systems with delay in control
Wang et al. Asymptotic properties of a stochastic Gilpin–Ayala model under regime switching
JP7279796B2 (ja) 秘密勾配降下法計算方法、秘密深層学習方法、秘密勾配降下法計算システム、秘密深層学習システム、秘密計算装置、およびプログラム
WO2020250269A1 (ja) 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム
WO2022113180A1 (ja) 計算方法、計算装置およびプログラム
WO2022124010A1 (ja) 演算制御装置、演算制御方法、および記録媒体
Zhang et al. Efficient Clustering on Encrypted Data
KAVITHA et al. FUZZY LINEAR PROGRAMMING PROBLEM IN WHICH FUZZY NUMBERS ARE TRIANGULAR SOLVED BY FOURIER MOTZKIN ELIMINATION METHOD
Kommadi et al. Mathematics Behind Quantum Computing
Mizuki et al. Minimizing ESCT forms for two-variable multiple-valued input binary output functions
Vanpoucke et al. Stable jacobi svd updating by factorization of the orthogonal matrix

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21944103

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023525230

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21944103

Country of ref document: EP

Kind code of ref document: A1