JP6695595B2 - Inference device and inference method - Google Patents
Inference device and inference method Download PDFInfo
- Publication number
- JP6695595B2 JP6695595B2 JP2018137749A JP2018137749A JP6695595B2 JP 6695595 B2 JP6695595 B2 JP 6695595B2 JP 2018137749 A JP2018137749 A JP 2018137749A JP 2018137749 A JP2018137749 A JP 2018137749A JP 6695595 B2 JP6695595 B2 JP 6695595B2
- Authority
- JP
- Japan
- Prior art keywords
- inference
- neural network
- unit
- encrypted
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、推論装置、及び推論方法に関する。 The present invention relates to an inference device and an inference method.
サーバ・クライアントモデルにおいて、サーバ装置側でデータを処理するとき、個人情報などの機密性の高い情報の流出を防止するために、サーバ・クライアント間で暗号化したデータを送受信する技術が知られている。 In the server / client model, there is known a technique for transmitting / receiving encrypted data between the server / client in order to prevent leakage of highly confidential information such as personal information when processing data on the server side. There is.
サーバ・クライアントモデルでは、サーバ装置とクライアント装置との間でデータを暗号化して送受信することが行われている。この場合には、サーバ装置は、クライアント装置から受信した暗号化されたデータを復号してから各種処理を実行する。そして、サーバ装置は、処理結果を暗号化してクライアント装置に送信する。クライアント装置は、サーバ装置から受信した暗号化された処理結果を復号して平文の処理結果を得る。 In the server / client model, data is encrypted and transmitted / received between the server device and the client device. In this case, the server device executes various processes after decrypting the encrypted data received from the client device. Then, the server device encrypts the processing result and sends it to the client device. Client device to obtain a processing result of the plaintext by decoding processing result of the encrypted received from the server apparatus.
さらに、情報の流出を防止するために、サーバ装置において、暗号化したままのデータを復号せずに処理することが行われている。データを暗号化したまま処理する技術としては、準同型暗号が知られている。 Furthermore, in order to prevent the leakage of information, the server device is processing the data that has been encrypted without decrypting it. Homomorphic encryption is known as a technique for processing data while it is encrypted.
サーバ装置は、準同型暗号を用いることにより、データを暗号化したままの状態で処理することが可能になる。また、クライアント装置は、サーバ装置から処理後の暗号化されたデータを取得し、取得した暗号化されたデータを復号する。これにより、クライアント装置は、データを平文で処理したときと同じ処理結果を得ることができる。以下の説明では、暗号化したままの状態を単に暗号化状態ともいう。 By using the homomorphic encryption, the server device can process the data in the encrypted state. Further, the client device acquires the processed encrypted data from the server device and decrypts the acquired encrypted data. As a result, the client device can obtain the same processing result as when processing the data in plain text. In the following description, the encrypted state is also simply referred to as an encrypted state.
サーバ・クライアントモデルを用いた処理を求められている技術分野の一つに、ニューラルネットワーク(Neural Network:NN)を用いた推論処理がある。これは、ニューラルネットワークの学習済みモデルのパラメータの規模が大きくなり、推論処理で実行する演算をクライアント装置の資源で実行するのが困難になってきたためである。したがって、サーバ・クライアントモデルを用いることにより、大規模な演算が可能であるサーバ装置の資源を利用して、サーバ装置で推論処理を実行することが求められている。 One of the technical fields in which processing using a server / client model is required is inference processing using a neural network (NN). This is because the scale of the parameters of the learned model of the neural network becomes large and it becomes difficult to execute the operation executed in the inference processing with the resource of the client device. Therefore, by using the server-client model, it is required to execute the inference processing in the server device by utilizing the resources of the server device capable of large-scale calculation.
ニューラルネットワークとは、ニューロンを複数結合し、入力層、中間層、及び出力層を構成するものである。ニューラルネットワークは、中間層を複数含んでいてもよい。また、中間層を複数含むニューラルネットワークを用いて機械学習することを、ディープラーニングという。ディープラーニングは、画像、文字、及び音声などの認識処理に用いられている。 The neural network is a network in which a plurality of neurons are connected to form an input layer, an intermediate layer, and an output layer. The neural network may include a plurality of intermediate layers. Machine learning using a neural network that includes multiple intermediate layers is called deep learning. Deep learning is used for recognition processing of images, characters, sounds, and the like.
関連する技術として、暗号文処理装置は、第1のテキストデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の多項式を取得する。また、暗号文処理装置は、第1のテキストデータの各成分の2乗値ベクトルデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の2乗値多項式を取得する。さらに、暗号文処理装置は、第2のテキストデータが第2の順で多項式化されて第1の公開鍵で暗号化された第2の多項式と、第2のテキストデータの各成分の2乗値ベクトルデータが第2の順で多項式化されて第1の公開鍵で暗号化された第2の2乗値多項式とを取得する。そして、暗号文処理装置は、第1の多項式および第1の2乗値多項式と、第2の多項式および第2の2乗値多項式とを用いて、第2のテキストデータが第1のテキストデータに含まれるかを判定する技術が知られている。 As a related technique, the ciphertext processing device obtains a first polynomial in which the first text data is polynomialized in the first order and encrypted with the first public key. Further, the ciphertext processing device generates a first squared value polynomial in which the squared value vector data of each component of the first text data is polynomialized in the first order and encrypted with the first public key. get. Further, the ciphertext processing device uses a second polynomial in which the second text data is polynomialized in the second order and encrypted with the first public key, and the square of each component of the second text data. Value vector data is polynomialized in the second order to obtain a second squared value polynomial encrypted with the first public key. Then, the ciphertext processing device uses the first polynomial and the first squared polynomial, and the second polynomial and the second squared polynomial to convert the second text data to the first text data. There is known a technique for determining whether or not it is included in.
関連する他の技術として、サーバ装置は、活性化関数以外の演算部分について、準同型暗号を用いてデータを暗号化したまま演算を実行する。また、クライアント装置は、活性化関数に係る演算部分について、データを復号して演算を実行する。サーバ装置は、活性化関数の演算をするたびに、クライアント側に演算結果を問い合わせるという技術が知られている。 As another related technique, the server device executes an operation for an operation part other than the activation function while encrypting the data using homomorphic encryption. Also, the client device decodes the data and executes the operation for the operation portion related to the activation function. There is known a technique in which the server device inquires the client of the calculation result every time the activation function is calculated.
関連する他の技術として、準同型暗号のなかには、Somewhat準同型暗号(Somewhat Homomorphic Encryption:SHE)という種類がある。Somewhat準同型暗号は、所定回数の加算と乗算が暗号化状態で成立するという準同型暗号である。例えば、ベクトルの内積の計算は、一次の乗算とそれらの複数の加算で構成されるので、Somewhat準同型暗号が利用できる。そこで、ニューラルネットワークに含まれる非線形関数を、Somewhat準同型暗号で演算することが可能な回数の加算及び乗算で表現された線形関数に近似する。これにより、ニューラルネットワークで実行される各種処理を、データが暗号化された状態で実行することができるという技術が知られている(例えば、特許文献1、特許文献2、及び非特許文献1参照)。
As another related technology, there is a type called Somewhat homomorphic encryption (SHE) among the homomorphic encryptions. Somewhat homomorphic encryption is a homomorphic encryption in which addition and multiplication of a predetermined number of times are established in an encrypted state. For example, since the calculation of the inner product of vectors is composed of first-order multiplication and additions thereof, Somewhathat homomorphic encryption can be used. Therefore, the non-linear function included in the neural network is approximated to a linear function expressed by addition and multiplication of the number of times that can be calculated by Somewhat homomorphic encryption. Thus, various processes performed by the neural network, data technique is known that can be executed in an encrypted state (e.g.,
前述した推論技術では、ニューラルネットワークを用いたシステムにおいて、準同型暗号を用いて演算を実行するため、演算量が増大し、システム負荷が大きくなることがある。 In the above-described inference technique, in a system using a neural network, an operation is executed using homomorphic encryption, so the amount of operation may increase and the system load may increase.
本発明は、一側面として、準同型暗号を用いたニューラルネットワークのシステムにおいて、システム負荷を抑制する技術を提供する。 The present invention, as one aspect, provides a technique of suppressing a system load in a neural network system using homomorphic encryption.
本明細書で開示する推論装置のひとつに、取得部と、設定部と、推論部とを備える推論装置がある。取得部は、活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて、ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を含むパラメータを調整した学習済みモデルを取得する。設定部は、学習済みモデルにしたがって、活性化関数に非線形関数の近似多項式を採用した第2ニューラルネットワークにパラメータを設定する。推論部は、暗号化されたデータが入力されたとき、第2ニューラルネットワークを用いて、暗号化されたデータを暗号化したまま推論処理を実行する。 One of the inference devices disclosed in this specification is an inference device including an acquisition unit, a setting unit, and an inference unit. The acquisition unit acquires a learned model in which a parameter including at least one of a connection weight and a bias between neurons included in the neural network is adjusted by using the first neural network that employs a nonlinear function as an activation function. .. The setting unit sets parameters in the second neural network that employs an approximate polynomial of a non-linear function as the activation function according to the learned model. When the encrypted data is input, the inference unit uses the second neural network to execute the inference process with the encrypted data encrypted.
1実施態様によれば、準同型暗号を用いたニューラルネットワークのシステムにおいて、システム負荷を抑制することができる。 According to one embodiment, in a neural network system using homomorphic encryption, system load can be suppressed.
[実施形態]
実施形態の推論装置について説明する。
[Embodiment]
The inference apparatus of the embodiment will be described.
図1は、ニューラルネットワークの一実施例の構成を示す図である。
図1を参照して、ニューラルネットワークで行われる演算処理について説明する。
FIG. 1 is a diagram showing the configuration of an embodiment of a neural network.
The arithmetic processing performed by the neural network will be described with reference to FIG.
入力層のニューロンの出力は、それぞれ重み係数w1で重み付けされて、中間層の各ニューロンに入力される。中間層のニューロンは、入力された各重み付きの値の総和をとることにより、a1、a2、a3を算出する。例えば、a1は、式(1)で算出される。
a1=x1×w1(11)+x2×w1(12) ・・・(1)
The outputs of the neurons in the input layer are weighted by the weighting factor w1 and input to the neurons in the intermediate layer. The neurons in the middle layer calculate a1, a2, and a3 by taking the sum of the input weighted values. For example, a1 is calculated by Expression (1).
a1 = x1 × w1 (11) + x2 × w1 (12) (1)
また、中間層のニューロンの出力は、それぞれ重み係数w2で重み付けされて、各出力層に入力される。出力層の各ニューロンは、入力された各重み付きの値の総和をとることにより、y1、y2を算出する。例えば、y1は、式(2)で算出される。
y1=σ(a1)×w2(11)+σ(a2)×w2(12)
+σ(a3)×w2(13) ・・・(2)
The outputs of the neurons in the intermediate layer are weighted by the weighting coefficient w2 and input to the output layers. Each neuron in the output layer calculates y1 and y2 by summing the input weighted values. For example, y1 is calculated by equation (2).
y1 = σ (a1) × w2 (11) + σ (a2) × w2 (12)
+ Σ (a3) × w2 (13) (2)
中間層の各ニューロンでは、図1に示すように、演算結果a1、a2、a3に対して活性化関数σを用いて所定の演算を実行する。活性化関数は、入力信号の総和を出力信号に変換する関数である。 In each neuron of the intermediate layer, as shown in FIG. 1, a predetermined operation is performed on the operation results a1, a2, a3 by using the activation function σ. The activation function is a function that converts the sum of input signals into an output signal.
ニューラルネットワークにおいて、活性化関数には、非線形関数が用いられる。これは、活性化関数に線形関数を用いた場合、出力が線形結合の形となる。すると、中間層を複数含むニューラルネットワークが中間層のないニューラルネットワークと同等になってしまうためである。 In the neural network, a nonlinear function is used as the activation function. This means that when a linear function is used as the activation function, the output is in the form of linear combination. Then, a neural network including a plurality of intermediate layers becomes equivalent to a neural network without an intermediate layer.
活性化関数の種類には、式(3)に示すシグモイド(Sigmoid)関数、及び式(4)に示すReLU(Rectified Linear Unit)関数などがある。
σ(u)=1/(1+exp(−u)) ・・・(3)
σ(u)=u(u>0)、0(u≦0) ・・・(4)
The types of activation functions include a sigmoid function shown in Expression (3) and a ReLU (Rectified Linear Unit) function shown in Expression (4).
σ (u) = 1 / (1 + exp (−u)) (3)
σ (u) = u (u> 0), 0 (u ≦ 0) (4)
ニューラルネットワークのシステムを用いた推論処理では、情報の流出を防止するため、準同型暗号を用いることにより、データを暗号化した状態で処理することが考えられる。
しかし、上述したように、ニューラルネットワークの演算には、非線形関数の演算が含まれている。したがって、乗算と加算しかできない準同型暗号では、ニューラルネットワークの演算処理を実行することができない。
In inference processing using a neural network system, it is possible to process data in an encrypted state by using homomorphic encryption in order to prevent information leakage.
However, as described above, the calculation of the neural network includes the calculation of the nonlinear function. Therefore, the homomorphic encryption that can only perform multiplication and addition cannot execute the arithmetic processing of the neural network.
そこで、ニューラルネットワークに含まれる活性化関数に、非線形関数の近似多項式を用いることにより、ニューラルネットワークの演算を準同型暗号上で実行することが考えられる。しかしながら、学習装置と、推論装置とを含む、ニューラルネットワークのシステムにおいて、活性化関数に準同型暗号を用いると、システム負荷が増大するという問題があった。 Therefore, it is conceivable to execute the operation of the neural network on homomorphic encryption by using an approximate polynomial of a non-linear function for the activation function included in the neural network. However, in the system of the neural network including the learning device and the inference device, there is a problem that the system load increases when the homomorphic encryption is used for the activation function.
上述の問題を解決するため、実施形態の推論装置は、活性化関数に非線形関数を採用したニューラルネットワークを用いて調整された学習済みモデルのパラメータを、活性化関数に非線形関数の近似多項式を採用したニューラルネットワークに設定する。そして、推論装置は、推論処理を実行する。以下の説明では、活性化関数に非線形関数の近似多項式を採用したニューラルネットワークのことを単に第2ニューラルネットワークともいう。 In order to solve the above-mentioned problem, the inference device of the embodiment employs the parameters of a trained model adjusted using a neural network that employs a nonlinear function as an activation function, and employs an approximate polynomial of the nonlinear function as an activation function. Set to the neural network. Then, the inference apparatus executes inference processing. In the following description, a neural network that uses an approximate polynomial of a non-linear function as an activation function is also simply referred to as a second neural network.
これにより、実施形態の推論装置は、学習装置で実行される機械学習の負荷を小さくする。すなわち、実施形態の推論装置は、情報の流出を防止するために、推論処理に準同型暗号を用いたニューラルネットワークのシステムにおいて、システム負荷を抑制することができる。 As a result, the inference device of the embodiment reduces the load of machine learning executed by the learning device. That is, the inference apparatus of the embodiment can suppress system load in a neural network system that uses homomorphic encryption for inference processing in order to prevent information leakage.
準同型暗号の方式は、近似多項式を計算可能な準同型暗号であればよい。近似多項式が四則演算を含む場合には、暗号文の乗算と加算とを演算可能なSomewhat準同型暗号、または完全準同型暗号などを用いてもよい。また、近似多項式が乗算及び加算のみを含む場合には、暗号文の加算を演算可能な加法準同型暗号、Somewhat準同型暗号、または完全準同型暗号を用いてもよい。 The homomorphic encryption method may be any homomorphic encryption capable of calculating an approximate polynomial. When the approximate polynomial includes four arithmetic operations, Somewhat homomorphic encryption or complete homomorphic encryption capable of performing multiplication and addition of ciphertexts may be used. When the approximate polynomial includes only multiplication and addition, addition homomorphic encryption, Somewhat homomorphic encryption, or complete homomorphic encryption capable of calculating addition of ciphertexts may be used.
なお、Somewhat準同型暗号、または完全準同型暗号は、乗算と加算とが可能なので、任意の演算を実行することが可能である。また、加法準同型暗号では、複数回の加算処理をすることにより、乗算を実行することが可能である。 It should be noted that because Somewhat homomorphic encryption or full homomorphic encryption is capable of multiplication and addition, it is possible to execute arbitrary operations. In addition, in the additive homomorphic encryption, it is possible to execute multiplication by performing addition processing a plurality of times.
図2は、ニューラルネットワークのシステムの一実施例を示す機能ブロック図である。
図2を参照して、実施形態のニューラルネットワークのシステム(推論システム)について説明する。以下の説明では、画像認識処理に用いられるニューラルネットワークを一例として説明する。これに限らず、実施例のニューラルネットワークのシステムは、会話、運転支援、及び予測などの他の処理にも適用可能である。
FIG. 2 is a functional block diagram showing an embodiment of the neural network system.
A system (inference system) of the neural network of the embodiment will be described with reference to FIG. In the following description, a neural network used for image recognition processing will be described as an example. Not limited to this, the neural network system of the embodiment is applicable to other processes such as conversation, driving support, and prediction.
ニューラルネットワークのシステム100は、学習装置1と、推論装置2と、クライアント装置3とを含む。学習装置1は、例えば、推論処理のサービス提供者が有する情報処理装置である。また、推論装置2は、例えば、サーバ・クライアントモデルにおいてサーバ装置として利用される情報処理装置である。そして、クライアント装置3は、例えば、推論処理を利用するユーザが有する情報処理装置である。
学習装置1と、推論装置2と、クライアント装置3とは、例えば、ネットワークを介して互いに通信可能に接続される。
The
The
学習装置1は、受付部11と、作成部12とを含む。
受付部11は、例えば、入力値に対応する目標値を示す組合せのセットが格納された学習セットの入力を受け付ける。
The
The
作成部12は、活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて、ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を含むパラメータを調整した学習済みモデル40を作成する。学習済みモデル40に含まれるパラメータは、入力値を重み付けするための各ニューロン間の結合の重みと、出力信号の活性化を偏らせるためのバイアスとの少なくとも一方を含む。以下の説明では、活性化関数に非線形関数を採用した第1ニューラルネットワークのことを単に第1ニューラルネットワークともいう。
The creating
作成部12は、受付部11により入力が受け付けられた学習セットを用いて、第1ニューラルネットワークのパラメータを調整する教師あり学習を実行する。作成部12は、例えば、学習セットを用いて学習処理をするとき、誤差逆伝播を用いて、入力値に対して対応する目標値が出力されるように、ニューラルネットワークのパラメータを繰り返し調整する。これにより、作成部12は、調整済みのパラメータを学習済みモデル40として出力する。
The creating
なお、作成部12は、正解のないデータを読み込み、第1ニューラルネットワークのパラメータを調整する教師なし学習を実行し、学習済みモデル40を作成してもよい。また、作成部12は、将来の価値を最大化するように、第1ニューラルネットワークのパラメータを調整する強化学習を実行し、学習済みモデル40を作成してもよい。学習装置1は、教師あり学習、教師なし学習、及び強化学習の少なくとも一つを実行してもよい。
The creating
上述のように、学習装置1は、作成部12において、活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて学習処理を実行している。これは、機械学習は、学習装置1で処理されるものであり、ネットワーク及びサーバ装置に情報を送信することがないためである。したがって、学習装置1は、ネットワーク及びサーバ装置上における情報の流出の防止よりも、学習処理における演算量を少なくすることを優先している。
As described above, in the
すなわち、実施形態のニューラルネットワークのシステムでは、学習処理において、第1ニューラルネットワークを用いて学習処理における演算量を少なくする。学習処理は、誤差逆伝播を用いてパラメータの調整を繰り返す演算を実行するため、正伝播で処理される推論処理よりも演算量が多くなる。したがって、実施形態のニューラルネットワークのシステムでは、学習処理において第1ニューラルネットワークを用いる。これにより、実施形態のニューラルネットワークのシステムは、繰り返しの演算の一回あたりの演算量を少なくし、ニューラルネットワークのシステム負荷を効率よく抑制する。 That is, in the neural network system according to the embodiment, the learning amount is reduced by using the first neural network in the learning process. Since the learning process executes the calculation of repeating the parameter adjustment using the error back propagation, the calculation amount becomes larger than that of the inference process processed by the forward propagation. Therefore, in the neural network system of the embodiment, the first neural network is used in the learning process. As a result, the neural network system according to the embodiment reduces the amount of calculation per iteration and efficiently suppresses the system load of the neural network.
推論装置2は、取得部21と、設定部22と、推論部23と、出力部24と、記憶部25とを含む。記憶部25は、学習済みモデル40を記憶する。
取得部21は、活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて、ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を含むパラメータを調整した学習済みモデル40を取得する。そして、取得部21は、取得した学習済みモデル40を記憶部25に記憶させてもよい。
The inference apparatus 2 includes an
The
設定部22は、学習済みモデル40にしたがって、活性化関数に非線形関数の近似多項式を採用した第2ニューラルネットワークにパラメータを設定する。すなわち、設定部22は、第2ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を設定する。
According to the learned
推論部23は、暗号化されたデータが入力されたとき、第2ニューラルネットワークを用いて、暗号化されたデータを暗号化したまま推論処理を実行する。このとき、推論部23は、暗号化されたデータを暗号化されたまま用いて準同型暗号の演算を行うことにより、推論処理を実行する。暗号化されたデータは、準同型暗号を用いて、暗号化処理及び復号処理を実行するクライアント装置3から入力される。
When the encrypted data is input, the
第1ニューラルネットワーク及び第2ニューラルネットワークは、例えば、畳み込み演算を実行する畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)である。畳み込みニューラルネットワークは、二次元的な入力に対して、フィルタによる畳み込み処理を実行することにより、入力データの特徴を抽出する畳み込み層、圧縮処理を行うプーリング層、及び最終段の全結合層を用いて推論処理を実行する。畳み込みニューラルネットワークは、主に画像認識に用いられる。 The first neural network and the second neural network are, for example, convolutional neural networks (CNN) that execute convolutional operations. The convolutional neural network uses a convolutional layer that extracts a feature of input data by performing a convolutional process with a filter on a two-dimensional input, a pooling layer that performs a compression process, and a fully connected layer at the final stage. To execute inference processing. The convolutional neural network is mainly used for image recognition.
推論部23は、畳み込みニューラルネットワークを用いた演算を実行する。畳み込み演算は、デジタル信号処理において、加算及び乗算で表現できる。これにより、推論部23は、加算及び乗算のみを実行できる準同型暗号を用いて推論処理を実行することができる。なお、推論部23は、畳み込みニューラルネットワークに限らず、準同型暗号で計算可能な範囲内で、他のニューラルネットワークを用いた演算を実行してもよい。
The
他のニューラルネットワークには、例えば、Recurrent Neural Network(RNN)、及び全結合型(フィードフォワード)などの教師ありニューラルネットワークがある。また、他のニューラルネットワークには、オートエンコーダ、及びボルツマンマシンなどの教師なしニューラルネットワークがある。 Other neural networks include, for example, supervised neural networks such as the Recurrent Neural Network (RNN) and the fully connected (feedforward) type. Other neural networks include autoencoders and unsupervised neural networks such as Boltzmann machines.
準同型暗号には、前述したように、加法準同型暗号、somewhat準同型暗号、及び完全準同型暗号などの種類がある。加法準同型暗号は、加算のみが実行できる。somewhat準同型暗号は、加算及び有限回数の乗算を実行できる。完全準同型暗号は、加算及び乗算が実行できる。したがって、完全準同型暗号は、加算及び乗算を組み合わせることで、任意の処理を実行できる。処理速度は、加法準同型暗号が最も速く、somewhat準同型暗号、完全準同型暗号の順で遅くなる。 As described above, there are various types of homomorphic encryption, such as additive homomorphic encryption, somewhat homomorphic encryption, and complete homomorphic encryption. Additive homomorphic ciphers can only be added. Somewhat homomorphic encryption can perform additions and a finite number of multiplications. Full homomorphic encryption can perform addition and multiplication. Therefore, the perfect homomorphic encryption can perform arbitrary processing by combining addition and multiplication. The processing speed is highest in the additive homomorphic encryption, and slower in the order of somewhat homomorphic encryption and complete homomorphic encryption.
推論部23では、推論処理の処理速度の向上及び処理負荷の抑制を優先するために加法準同型暗号を用いるとき、乗算の代わりに複数回の加算を実行してもよい。これにより、推論部23は、加法準同型暗号を用いて、畳み込みニューラルの演算を実行することができる。
When the additive homomorphic encryption is used in order to give priority to improvement of the processing speed of inference processing and suppression of processing load, the
推論部23では、畳み込みニューラルネットワーク及び他のニューラルネットワークを実行するとき、somewhat準同型暗号を用いてもよい。推論部23では、somewhat準同型暗号を用いるとき、推論処理の処理速度の向上及び処理負荷の抑制と、処理精度とのどちらを優先するかにより、第2ニューラルネットワークの演算に含まれる非線形関数の近似多項式の次数及び加算回数を調整してもよい。
The
すなわち、第2ニューラルネットワークの演算に含まれる非線形関数の近似多項式は、推論処理の処理速度の向上及び処理負荷の抑制を優先するとき、次数を低くする及び加算回数を少なくする、の少なくとも一方の調整がされる。また、第2ニューラルネットワークの演算に含まれる非線形関数の近似多項式は、推論処理の処理精度の向上を優先するとき、次数を高くする及び加算回数を多くする、の少なくとも一方の調整がされる。近似多項式の次数を高くし、加算回数を多くすると、近似多項式がより元の非線形関数に近似するので、推論処理の精度が向上する。 That is, the approximation polynomial of the non-linear function included in the calculation of the second neural network has at least one of decreasing the order and decreasing the number of additions when giving priority to the improvement of the processing speed of the inference processing and the suppression of the processing load. Adjustments are made. Further, the approximation polynomial of the non-linear function included in the calculation of the second neural network is adjusted in at least one of increasing the order and increasing the number of additions when giving priority to the improvement of the processing accuracy of the inference processing. When the degree of the approximation polynomial is increased and the number of additions is increased, the approximation polynomial approximates the original non-linear function, so that the accuracy of the inference process is improved.
推論部23では、畳み込みニューラルネットワークと比較して、複雑な演算が含まれる他のニューラルネットワークを実行するとき、完全準同型暗号を用いてもよい。また、推論部23では、畳み込みニューラルネットワークを実行するときにおいても、完全準同型暗号を用いてもよい。
The
推論部23は、暗号化されたデータで暗号化したまま推論処理を実行した結果、暗号化された状態の推論結果を出力する。推論部23では、準同型暗号を用いて暗号化されたデータを暗号化したまま推論処理するので、推論結果も暗号化された状態で出力される。
出力部24は、推論処理により得られる暗号化された推論結果をクライアント装置3に出力する。
The
The
クライアント装置3は、取得部31と、暗号化部32と、復号部33と、出力部34と、記憶部35とを含む。記憶部35は、推論結果50を記憶する。
取得部31は、推論処理の対象のデータを取得する。推論処理の対象のデータとは、例えば、画像、文字、及び音声などの認識対象のデータである。
暗号化部32は、推論処理の対象のデータに対して、準同型暗号の暗号化処理を実行する。これにより、暗号化部32は、暗号化されたデータを出力する。
The client device 3 includes an
The
The
復号部33は、暗号化された推論結果が入力されたとき、暗号化された推論結果に対して、準同型暗号の復号処理を実行する。そして、復号部33は、復号した推論結果50を記憶部35に記憶させてもよい。
出力部34は、暗号化部32により得られる暗号化されたデータを推論装置2に出力する。出力部34は、推論結果50を外部に出力してもよい。
When the encrypted inference result is input, the
The
図3は、ニューラルネットワークのシステムにおける処理の一例を示すフローチャートである。図4は、ニューラルネットワークに含まれるニューロンの一実施例を示す図である。図5は、非線形関数の近似多項式の一実施例を示す図である。 FIG. 3 is a flowchart showing an example of processing in the neural network system. FIG. 4 is a diagram showing an embodiment of neurons included in the neural network. FIG. 5 is a diagram showing an example of an approximate polynomial of a non-linear function.
図3から図5を参照して、ニューラルネットワークのシステムにおける処理について説明する。ニューラルネットワークのシステムにおける処理は、例えば、学習装置1、推論装置2、及びクライアント装置3のプロセッサによって実行される。以下の説明では、学習処理1のプロセッサ、推論処理2のプロセッサ、及びクライアント装置3のプロセッサのことを、単に学習装置1、推論装置2、及びクライアント装置3ともいう。
The processing in the neural network system will be described with reference to FIGS. The processing in the system of the neural network is executed by the processors of the
図3を参照して説明する。
学習装置1は、学習セットが入力されると(S101)、学習セットの入力を受け付ける(S102)。そして、学習装置1は、活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて、ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を含むパラメータを調整した学習済みモデル40を取得する(S103)。そして、学習装置1は、作成した学習済みモデル40を推論装置に出力する(S104)。
This will be described with reference to FIG.
When the learning set is input (S101), the
図4及び図5を参照して説明する。
学習装置1における学習済みモデル40の作成処理では、暗号化されていない学習セットのデータを用いる。したがって、学習装置1は、例えば、図4(a)に示すように、各ニューロンの活性化関数σに非線形関数を採用することができる。例えば、活性化関数σとしてシグモイド関数を採用した場合には、学習装置1は、式(3)に対応する図5(a)の点線で示す関数を用いて学習済みモデル40を作成する。活性化関数σとしてReLU関数を採用した場合には、学習装置1は、式(4)に対応する図5(b)の点線で示す関数を用いて学習済みモデル40を作成する。
This will be described with reference to FIGS. 4 and 5.
In the process of creating the learned
図3を参照して説明する。
推論装置2は、学習済みモデル40を取得する(S105)。このとき、推論装置2は、学習済みモデル40を記憶部25に記憶させてもよい。そして、推論装置2は、学習済みモデル40にしたがって、活性化関数に非線形関数の近似多項式を採用した第2ニューラルネットワークのパラメータを設定する(S106)。推論装置2は、推論処理が実行可能となったことをクライアント装置3に通知する(S107)。
This will be described with reference to FIG.
The inference apparatus 2 acquires the learned model 40 (S105). At this time, the inference apparatus 2 may store the learned
クライアント装置3は、推論装置2から推論が可能になったことを通知されると、推論処理の対象のデータの入力を受け付ける。そして、クライアント装置3は、推論処理の対象のデータが入力されると(S108)、推論処理の対象のデータを取得する(S109)。推論処理の対象のデータは、例えば、画像、文字、及び音声などである。推論処理の対象のデータは、例えば、カメラなどの撮影装置、キーボードなどの入力装置、及びマイクなどの集音装置を用いて、ユーザにより入力されてもよい。以下の説明では、推論処理の対象のデータのことを単に対象のデータともいう。 When the inference apparatus 2 notifies that the inference is possible, the client apparatus 3 accepts the input of the data of the inference processing target. Then, when the data to be inferred is input (S108), the client device 3 acquires the data to be inferred (S109). The data that is the target of the inference process is, for example, an image, a character, and a sound. The data to be subjected to the inference process may be input by the user using a photographing device such as a camera, an input device such as a keyboard, and a sound collecting device such as a microphone. In the following description, the target data of the inference process is also simply referred to as the target data.
クライアント装置3は、対象のデータに対して、準同型暗号の暗号化処理を実行する(S110)。そして、クライアント措置3は、暗号化された対象のデータを推論装置2に出力する(S111)。以下の説明において、暗号化された対象のデータのことを単に暗号化されたデータともいう。
推論装置2は、暗号化されたデータが入力されたとき、第2ニューラルネットワークを用いて、暗号化されたデータを暗号化したまま推論処理を実行する(S112)。そして、推論装置2は、推論処理により得られる暗号化された推論結果をクライアント装置に出力する(S113)。
The client device 3 executes a homomorphic encryption process on the target data (S110). Then, the client procedure 3 outputs the encrypted target data to the inference apparatus 2 (S111). In the following description, the encrypted target data is also simply referred to as encrypted data.
When the encrypted data is input, the inference apparatus 2 uses the second neural network to execute the inference process with the encrypted data being encrypted (S112). Then, the inference device 2 outputs the encrypted inference result obtained by the inference process to the client device (S113).
図4及び図5を参照して説明する。
推論装置2における推論処理では、暗号化されたデータを暗号化したまま演算する処理をする。したがって、推論装置2は、例えば、図4(b)に示すように、各ニューロンの活性化関数として非線形関数である活性化関数σの近似多項式fを採用する。例えば、活性化関数としてシグモイド関数の近似多項式fを採用した場合には、推論装置2は、下記式(5)に対応する図5(a)の実線で示す関数を用いて推論処理を実行する。
This will be described with reference to FIGS. 4 and 5.
In the inference processing in the inference apparatus 2, the encrypted data is operated while being encrypted. Therefore, the inference apparatus 2 adopts, for example, as shown in FIG. 4B, an approximate polynomial f of the activation function σ which is a non-linear function as the activation function of each neuron. For example, when the approximate polynomial f of the sigmoid function is adopted as the activation function, the inference apparatus 2 executes the inference process using the function indicated by the solid line in FIG. 5A corresponding to the following expression (5). ..
fsig(x)=8*10−15x6+2*10−5x5−1*10−12x4−0.0028x3+4*10−11x2+0.1672x+0.5 ・・・(5) f sig (x) = 8 * 10 −15 x 6 + 2 * 10 −5 x 5 −1 * 10 −12 x 4 −0.0028x 3 + 4 * 10 −11 x 2 + 0.1672x + 0.5 (5 )
活性化関数としてReLU関数の近似多項式fを採用した場合には、推論装置2は、下記式(6)に対応する図5(b)の実線で示す関数を用いて推論処理を実行する。
fre(x)=5*10−8x6−9*10−20x5−8*10−5x4+9*10−17x3+0.0512x2+0.5x ・・・(6)
上述のように、活性化関数を多項式に近似することより、推論装置2は、準同型暗号を用いて対象のデータを暗号化したまま推論処理ができる。
When the approximate polynomial f of the ReLU function is adopted as the activation function, the inference apparatus 2 executes the inference process using the function indicated by the solid line in FIG. 5B corresponding to the following equation (6).
f re (x) = 5 * 10 −8 x 6 −9 * 10 −20 x 5 −8 * 10 −5 x 4 + 9 * 10 −17 x 3 + 0.0512x 2 + 0.5x (6)
As described above, by approximating the activation function to a polynomial, the inference apparatus 2 can perform inference processing while encrypting target data using homomorphic encryption.
図3を参照して説明する。
クライアント装置3は、暗号化された推論結果が入力されたとき、暗号された推論結果に対して、準同型暗号の復号処理を実行する(S114)。そして、クライアント装置3は、例えば、表示装置などに、推論結果を出力する(S115)。
This will be described with reference to FIG.
When the encrypted inference result is input, the client device 3 executes a homomorphic encryption decryption process on the encrypted inference result (S114). Then, the client device 3 outputs the inference result to, for example, a display device (S115).
なお、S108〜S111は、S101〜S107よりも先に行われてもよい。この場合には、推論装置2は、暗号化されたデータを取得したとき、暗号化されたデータを記憶部25に記憶してもよい。そして、推論装置2は、S112において推論処理を実行するときに、記憶部25に記憶している暗号化されたデータを用いて推論処理を実行する。この場合には、S107において、推論装置2は、推論が実行可能になったことをクライアント装置3に通知しなくてもよい。 Note that S108 to S111 may be performed before S101 to S107. In this case, the inference apparatus 2 may store the encrypted data in the storage unit 25 when the encrypted data is acquired. Then, the inference apparatus 2 executes the inference process using the encrypted data stored in the storage unit 25 when executing the inference process in S112. In this case, in step S107, the inference device 2 does not have to notify the client device 3 that the inference can be executed.
図6は、コンピュータ装置の一実施例を示すブロック図である。
図6を参照して、コンピュータ装置100の構成について説明する。
コンピュータ装置100は、制御回路101と、記憶装置102と、読書装置103と、記録媒体104と、通信インターフェイス105と、入出力インターフェイス106と、入力装置107と、表示装置108とを含む情報処理装置である。また、通信インターフェイス105は、ネットワーク109と接続される。そして、各構成要素は、バス110により接続される。学習装置1、推論装置2、及びクライアント装置3は、コンピュータ装置100に記載の構成要素の一部または全てを適宜選択して構成することができる。
FIG. 6 is a block diagram showing an embodiment of a computer device.
The configuration of the
The
制御回路101は、コンピュータ装置100全体の制御をする。そして、制御回路101は、例えば、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)およびPLD(Programmable Logic Device)などのプロセッサである。
The
制御回路101は、例えば、図2の学習装置1において、受付部11及び作成部12として機能する。制御回路101は、例えば、図2の推論装置2において、取得部21、設定部22、推論部23、及び出力部24として機能する。さらに、制御回路101は、例えば、図2のクライアント装置3において、取得部31、暗号化部32、復号部33、及び出力部34として機能する。
The
記憶装置102は、各種データを記憶する。そして、記憶装置102は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)などのメモリや、HD(Hard Disk)などである。また、記憶装置102は、例えば、図2の推論装置2において、記憶部25として機能する。さらに、記憶装置102は、例えば、図2のクライアント装置3において、記憶部35として機能する。
The
また、ROMは、ブートプログラムなどのプログラムを記憶している。RAMは、制御回路101のワークエリアとして使用される。HDは、OS、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。
Further, the ROM stores a program such as a boot program. The RAM is used as a work area for the
記憶装置102は、制御回路101を、例えば、学習装置1の受付部11及び作成部12として機能させる学習プログラムを記憶してもよい。記憶装置102は、制御回路101を、例えば、推論装置2の取得部21、設定部22、推論部23、及び出力部24として機能させる推論プログラムを記憶してもよい。そして、記憶装置102は、制御回路101を、例えば、クライアント装置3の取得部31、暗号化部32、復号部33、及び出力部34として機能させるクライアントプログラムを記憶してもよい。
The
学習装置1、推論装置2、及びクライアント装置3は、各種処理をするとき、記憶装置102に記憶されたプログラムをRAMに読み出す。RAMに読み出されたプログラムを制御回路101で実行することにより、学習装置1、推論装置2、及びクライアント装置3は、それぞれ、学習処理、推論処理、及びクライアント処理を実行する。
The
学習処理は、例えば、学習装置1で実行される受付処理、及び作成処理を含む。推論処理は、例えば、推論装置2で実行される取得処理、設定処理、推論処理、及び出力処理を含む。クライアント処理は、例えば、クライアント装置3で実行される取得処理、暗号化処理、復号処理、及び出力処理を含む。
The learning process includes, for example, an acceptance process executed by the
なお、上述の各プログラムは、制御回路101が通信インターフェイス105を介してアクセス可能であれば、ネットワーク109上のサーバが有する記憶装置に記憶されていてもよい。
Note that each program described above may be stored in a storage device included in a server on the
読書装置103は、制御回路101に制御され、着脱可能な記録媒体104のデータのリード/ライトを行なう。そして、読書装置103は、例えば、各種Disk DriveおよびUSB(Universal Serial Bus)などである。
The
記録媒体104は、各種データを保存する。記録媒体104は、例えば、学習プログラム、推論プログラム、及びクライアントプログラムの少なくとも一方を記憶する。さらに、記録媒体104は、図2に示す、学習セットと、学習済みモデル40と、推論結果50との少なくとも一方を記憶してもよい。推論結果50は、暗号化された状態で記録媒体104に記憶されてもよい。そして、記録媒体104は、読書装置103を介してバス110に接続され、制御回路101が読書装置103を制御することにより、データのリード/ライトが行なわれる。
The
学習済みモデル40が記録媒体104に記録される場合、推論装置2は、記録媒体104から学習済みモデルを読み出すことにより、学習済みモデルを取得してもよい。推論結果50が記録媒体104に記録される場合、クライアント装置3は、記録媒体104から推論結果50を読み出すことにより、推論結果50を取得してもよい。
When the learned
また、記録媒体104は、例えば、SDメモリーカード(SD Memory Card)、FD(Floppy Disk)、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu−ray Disk:登録商標)、およびフラッシュメモリなどの非一時的記録媒体である。
The
通信インターフェイス105は、ネットワーク109を介してコンピュータ装置100と他の装置とを通信可能に接続する。また、通信インターフェイス105は、無線LANの機能を有するインターフェイス、および近距離無線通信機能を有するインターフェイスを含んでもよい。そして、無線LANインターフェイスは、例えば、無線LAN規格として、Wi−Fi(登録商標)をサポートしてもよい。近距離無線インターフェイスは、例えば、近距離無線通信規格として、Bluetooth(登録商標)をサポートしてもよい。LANは、Local Area Networkの略である。
The
通信インターフェイス105は、例えば、図2の推論装置2において、取得部21及び出力部24として機能する。さらに、通信インターフェイス105は、例えば、図2のクライアント装置3において、取得部31及び出力部34として機能する。
The
入出力インターフェイス106は、例えば、キーボード、マウス、およびタッチパネルなどの入力装置107と接続され、接続された入力装置107から各種情報を示す信号が入力されると、バス110を介して入力された信号を制御回路101に出力する。また、入出力インターフェイス106は、制御回路101から出力された各種情報を示す信号がバス110を介して入力されると、接続された各種装置にその信号を出力する。
The input /
入出力インターフェイス106は、例えば、図2の学習装置1において、受付部11として機能する。また、入出力インターフェイス106は、例えば、図2の推論装置2において、取得部21及び出力部24として機能する。さらに、入出力インターフェイス106は、例えば、図2のクライアント装置3において、取得部31及び出力部34として機能する。
The input /
学習装置1は、入力装置107を介して学習セットなどの入力を受けてもよい。推論装置2は、入力装置107を介して、推論処理実行の要求などの入力を受け付けてもよい。クライアント装置3は、入力装置107を介して、推論処理の対象のデータの入力などを受け付けてもよい。
The
表示装置108は、各種情報を表示する。表示装置108は、タッチパネルでの入力を受け付けるための情報を表示してもよい。表示装置108は、例えば、図2の出力部34と接続されて、復号部33で復号された推論結果50に対応する情報を表示しもよい。
The
また、入出力インターフェイス106、入力装置107、及び表示装置108は、GUI(Graphical User Interface)として機能してもよい。これにより、コンピュータ装置100は、タッチパネルやマウスなどによる直感的な操作を受け付ける。
ネットワーク109は、例えば、LAN、無線通信、またはインターネットなどであり、コンピュータ装置100と他の装置とを通信接続する。学習装置1、推論装置2、及びクライアント装置3は、ネットワーク109を介して互いに通信可能に接続されてもよい。
Further, the input /
The
以上のように、推論装置2は、活性化関数に非線形関数を採用したニューラルネットワークの演算により得られた学習済みモデルを用いて、活性化関数に非線形関数の近時多項式を採用したニューラルネットワークの演算により推論処理を実行する。推論装置2は、推論処理において、近似多項式を活性化関数として採用したので、準同型暗号の演算により推論処理が可能となる。これにより、推論装置2は、準同型暗号を用いたニューラルネットワークのシステムにおいて、学習装置における処理の負荷を低減し、システム負荷を小さくすることができる。 As described above, the inference apparatus 2 uses the learned model obtained by the operation of the neural network that employs the non-linear function as the activation function, and uses the learned model of the neural network that employs the recent polynomial of the non-linear function as the activation function. Inference processing is executed by calculation. Since the inference device 2 employs the approximate polynomial as the activation function in the inference process, the inference process can be performed by the operation of the homomorphic encryption. As a result, the inference apparatus 2 can reduce the processing load on the learning apparatus and the system load in the neural network system using the homomorphic encryption.
推論装置2は、準同型暗号の暗号化処理及び復号処理を実行するクライアント装置3から入力された暗号化されたデータを、暗号化したまま推論処理を実行する。そして、推論装置2は、推論処理により得られる暗号化された推論結果をクライアント装置に出力する。これにより、推論装置2は、準同型暗号を用いたニューラルネットワークのシステムにおいて、準同型暗号を用いて暗号化したまま推論処理を実行するので、情報の流出を防止することができる。 The inference device 2 executes the inference process while the encrypted data input from the client device 3 that executes the homomorphic encryption encryption process and the decryption process remains encrypted. Then, the inference device 2 outputs the encrypted inference result obtained by the inference process to the client device. As a result, the inference apparatus 2 executes the inference process while the encryption is performed using the homomorphic encryption in the neural network system using the homomorphic encryption, so that the leakage of information can be prevented.
推論装置2は、畳み込みニューラルネットワークを用いた演算を実行する。そして、畳み込み演算は、デジタル信号処理においては、加算及び乗算で表現できる。これにより、推論装置2は、準同型暗号の中では比較的処理速度が速くなる、加算及び乗算の少なくとも一方のみを実行できる準同型暗号を用いて、推論処理を実行することができる。 The inference device 2 executes an operation using a convolutional neural network. The convolution operation can be expressed by addition and multiplication in digital signal processing. As a result, the inference apparatus 2 can perform the inference process using the homomorphic encryption that can perform at least one of addition and multiplication, which has a relatively high processing speed among the homomorphic encryptions.
図7は、ニューラルネットワークを用いた画像認識処理の正答率を示す図である。
図7を参照して、実施形態のニューラルネットワークのシステムにおける推論処理の正答率について説明する。
正答率表200は、畳み込みニューラルネットワークを用いた画像認識処理において、学習処理と推論処理とのそれぞれで採用する活性化関数と、正答率との関係を示す表である。正答率表200には、複数回の画像認識処理を実行する実験をすることで得られた、正答率の平均値、最小値、及び最大値が示されている。
FIG. 7 is a diagram showing a correct answer rate of image recognition processing using a neural network.
The correct answer rate of the inference processing in the neural network system according to the embodiment will be described with reference to FIG. 7.
The correct answer rate table 200 is a table showing the relationship between the correct answer rate and the activation function adopted in each of the learning process and the inference process in the image recognition process using the convolutional neural network. The correct answer rate table 200 shows an average value, a minimum value, and a maximum value of the correct answer rates obtained by performing an experiment in which the image recognition processing is performed a plurality of times.
正答率表200の多項式−多項式のカラムは、学習処理及び推論処理において非線形関数であるRelu関数の近似多項式を活性化関数として採用したときの正答率を示す。正答率表200のRelu−Reluのカラムは、学習処理及び推論処理において非線形関数であるRelu関数を活性化関数として採用したときの正答率を示す。正答率表200のRelu−多項式のカラムは、学習処理において非線形関数であるRelu関数を活性化関数として採用し、推論処理においてRelu関数の近似多項式を活性化関数として採用したときの正答率を示す。 The polynomial-polynomial column of the correct answer rate table 200 shows a correct answer rate when an approximate polynomial of the Relu function which is a non-linear function is adopted as an activation function in the learning process and the inference process. The Relu-Relu column of the correct answer rate table 200 shows the correct answer rate when the Relu function which is a non-linear function is adopted as the activation function in the learning process and the inference process. The Relu-polynomial column of the correct answer rate table 200 indicates the correct answer rate when the Relu function which is a non-linear function is adopted as the activation function in the learning process and the approximate polynomial of the Relu function is adopted as the activation function in the inference process. ..
Relu−多項式のカラムを参照すると、学習処理にRelu関数、推論処理に近似多項式を用いて画像認識処理をしたときの正答率は、平均85.2%、最小79.5%、最大92.0%であったことがわかる。したがって、正答率表200に示す実験結果は、学習処理にRelu関数、推論処理に近似多項式を用いたニューラルネットワークのシステムを用いて、画像の認識が可能であることを示している。 Referring to the column of Relu-polynomial, the correct answer rate when the image recognition processing is performed using the Relu function for learning processing and the approximate polynomial for inference processing is 85.2% on average, 79.5% at minimum, and 92.0 at maximum. You can see that it was%. Therefore, the experiment result shown in the correct answer rate table 200 indicates that the image can be recognized by using the neural network system using the Relu function for the learning process and the approximate polynomial for the inference process.
なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。 It should be noted that the present embodiment is not limited to the above-described embodiments, and various configurations or embodiments can be adopted without departing from the gist of the present embodiment.
1 学習装置
2 推論装置
3 クライアント装置
100 コンピュータ装置
101 制御回路
102 記憶装置
103 読書装置
104 記録媒体
105 通信I/F
106 入出力I/F
107 入力装置
108 表示装置
109 ネットワーク
110 バス
1 Learning Device 2 Inference Device 3
106 Input / output I / F
107
Claims (7)
前記学習済みモデルにしたがって、活性化関数に前記非線形関数の近似多項式を採用した第2ニューラルネットワークにパラメータを設定する設定部と、
暗号化されたデータが入力されたとき、前記第2ニューラルネットワークを用いて、前記暗号化されたデータを暗号化したまま推論処理を実行する推論部と、
を備えることを特徴とする推論装置。 An acquisition unit for acquiring a learned model in which a parameter including at least one of weight and bias of connection between neurons included in the neural network is adjusted by using the first neural network that employs a nonlinear function as an activation function;
A setting unit that sets parameters in a second neural network that employs an approximation polynomial of the nonlinear function as an activation function according to the learned model;
An inference unit that performs inference processing using the second neural network when the encrypted data is input, while the encrypted data is being encrypted;
An inference device comprising:
準同型暗号の暗号化処理及び復号処理を実行するクライアント装置から入力され、
前記推論部は、
前記準同型暗号の演算を用いて、前記推論処理を実行し、
前記推論装置は、さらに、
前記推論処理により得られる暗号化された推論結果を前記クライアント装置に出力する出力部
を備えることを特徴とする請求項1に記載の推論装置。 The encrypted data is
Input from the client device that executes the encryption and decryption processing of homomorphic encryption,
The inference unit is
Performing the inference process using the operation of the homomorphic encryption,
The reasoning device further comprises:
The inference apparatus according to claim 1, further comprising: an output unit that outputs an encrypted inference result obtained by the inference processing to the client device.
ことを特徴とする請求項1または2に記載の推論装置。 The inference device according to claim 1 or 2, wherein the first neural network and the second neural network are convolutional neural networks.
前記学習装置は、
活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて、ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を含むパラメータを調整した学習済みモデルを作成する作成部を備え、
前記推論装置は、
前期学習済みモデルを取得する取得部と、
前記学習済みモデルにしたがって、活性化関数に前記非線形関数の近似多項式を採用した第2ニューラルネットワークにパラメータを設定する設定部と、
暗号化されたデータが入力されたとき、前記第2ニューラルネットワークを用いて、前記暗号化されたデータを暗号化したまま推論処理を実行する推論部と、
を備えることを特徴とする推論システム。 An inference system comprising a learning device and an inference device,
The learning device is
A first neural network that employs a nonlinear function as an activation function is used, and a preparation unit is provided that creates a trained model in which parameters including at least one of connection weight and bias between neurons included in the neural network are adjusted. ,
The inference device is
An acquisition unit that acquires a model that has been trained in the previous term,
A setting unit that sets parameters in a second neural network that employs an approximation polynomial of the nonlinear function as an activation function according to the learned model;
An inference unit that performs inference processing using the second neural network when the encrypted data is input, while the encrypted data is being encrypted;
An inference system comprising:
前記推論装置は、さらに、
前記推論処理により得られる暗号化された推論結果を前記クライアント装置に出力する第1出力部を備え、
前記推論部は、
準同型暗号の演算を用いて、前記推論処理を実行し、
前記クライアント装置は、
推論処理の対象のデータに対して、準同型暗号の暗号化処理を実行する暗号化部と、
前記暗号化部により得られる前記暗号化されたデータを前記推論装置に出力する第2出力部と、
前記暗号化された推論結果が入力されたとき、前記暗号化された推論結果に対して、準同型暗号の復号処理を実行する復号部と、
を備えることを特徴とする請求項4に記載の推論システム。 The inference system further comprises a client device,
The reasoning device further comprises:
A first output unit for outputting the encrypted inference result obtained by the inference process to the client device;
The inference unit is
By using an arithmetic homomorphic encryption, it performs the inference process,
The client device is
An encryption unit that executes homomorphic encryption on the data that is the target of inference processing,
A second output unit for outputting the encrypted data obtained by the encryption unit to the inference device;
When the encrypted inference result is input for the encrypted inference result, a decoding unit that performs decoding processing of the homomorphic encryption,
The inference system according to claim 4, further comprising:
活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて、ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を含むパラメータを調整した学習済みモデルを取得し、
前記学習済みモデルにしたがって、活性化関数に前記非線形関数の近似多項式を採用した第2ニューラルネットワークにパラメータを設定し、
暗号化されたデータが入力されたとき、前記第2ニューラルネットワークを用いて、前記暗号化されたデータを暗号化したまま推論処理を実行する、
ことを特徴とする推論方法。 A computer-implemented inference method, comprising:
Using a first neural network that employs a nonlinear function as an activation function, a trained model in which parameters including at least one of connection weights and biases between neurons included in the neural network are adjusted is acquired,
According to the learned model, parameters are set in a second neural network that employs an approximate polynomial of the nonlinear function as an activation function,
When the encrypted data is input, the second neural network is used to execute the inference processing while the encrypted data is encrypted.
An inference method characterized by that.
前記学習済みモデルにしたがって、活性化関数に前記非線形関数の近似多項式を採用した第2ニューラルネットワークにパラメータを設定し、
暗号化されたデータが入力されたとき、前記第2ニューラルネットワークを用いて、前記暗号化されたデータを暗号化したまま推論処理を実行する、
処理をコンピュータに実行させることを特徴とする推論プログラム。
Using a first neural network that employs a nonlinear function as an activation function, a trained model in which parameters including at least one of connection weights and biases between neurons included in the neural network are adjusted is acquired,
According to the learned model, parameters are set in a second neural network that employs an approximate polynomial of the nonlinear function as an activation function,
When the encrypted data is input, the second neural network is used to execute the inference processing while the encrypted data is encrypted.
An inference program characterized by causing a computer to execute processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/117,701 US20190065974A1 (en) | 2017-08-30 | 2018-08-30 | Inference device, inference system, and inference method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017166123 | 2017-08-30 | ||
JP2017166123 | 2017-08-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019046460A JP2019046460A (en) | 2019-03-22 |
JP6695595B2 true JP6695595B2 (en) | 2020-05-20 |
Family
ID=65816526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018137749A Active JP6695595B2 (en) | 2017-08-30 | 2018-07-23 | Inference device and inference method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6695595B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102040120B1 (en) | 2018-07-27 | 2019-11-05 | 주식회사 크립토랩 | Apparatus for processing approximate encripted messages and methods thereof |
WO2022137447A1 (en) * | 2020-12-24 | 2022-06-30 | 三菱電機株式会社 | Confidential information processing system, and confidential information processing method |
KR102557639B1 (en) * | 2021-04-20 | 2023-07-19 | 성신여자대학교 연구 산학협력단 | Artificial intelligence learning device and operating mehtod thereof |
JP7076167B1 (en) * | 2021-12-01 | 2022-05-27 | Eaglys株式会社 | Machine learning equipment, machine learning systems, machine learning methods, and machine learning programs |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5885719B2 (en) * | 2013-09-09 | 2016-03-15 | 株式会社東芝 | Identification device and arithmetic unit |
US9946970B2 (en) * | 2014-11-07 | 2018-04-17 | Microsoft Technology Licensing, Llc | Neural networks for encrypted data |
-
2018
- 2018-07-23 JP JP2018137749A patent/JP6695595B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019046460A (en) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190065974A1 (en) | Inference device, inference system, and inference method | |
JP6695595B2 (en) | Inference device and inference method | |
US11902413B2 (en) | Secure machine learning analytics using homomorphic encryption | |
WO2019183518A1 (en) | Secure data processing | |
US11374735B2 (en) | Processing apparatus, processing method, storage medium, and encryption processing system | |
JP7152909B2 (en) | Systems and methods for secure two-party evaluation of data-sharing utility | |
US11368279B2 (en) | Processing apparatus, processing method, storage medium, and encryption processing system | |
JP6832013B2 (en) | Processing device, inference device, learning device, processing system, processing method, and processing program | |
US11323241B2 (en) | Encryption processing system, encryption processing device and recording medium | |
JP7096610B2 (en) | Processing equipment, inference equipment, learning equipment, processing system, processing method, and processing program | |
CN113239404A (en) | Federal learning method based on differential privacy and chaotic encryption | |
WO2022142366A1 (en) | Method and apparatus for updating machine learning model | |
WO2020071187A1 (en) | Hidden sigmoid function calculation system, hidden logistic regression calculation system, hidden sigmoid function calculation device, hidden logistic regression calculation device, hidden sigmoid function calculation method, hidden logistic regression calculation method, and program | |
Selvi et al. | Medical image encryption and compression by adaptive sigma filterized synorr certificateless signcryptive Levenshtein entropy-coding-based deep neural learning | |
Takabi et al. | Privacy preserving neural network inference on encrypted data with GPUs | |
KR20220105509A (en) | Electronic device and operating method for inferring by using an artificial intelligence model based on encrypted information | |
JP7107441B2 (en) | Information processing device, method and program | |
US20230351179A1 (en) | Learning apparatus for use in hiding process using neural network, inference apparatus, inference system, control method for the learning apparatus, control method for the inference apparatus, and program | |
CN114731267A (en) | Enabling a promotion protocol for encrypted data | |
JP7040505B2 (en) | Arithmetic logic units, arithmetic systems, operational methods, and computer programs | |
US11693989B2 (en) | Computer-implemented methods and nodes implementing performance estimation of algorithms during evaluation of data sets using multiparty computation based random forest | |
WO2021166363A1 (en) | Program, image data generating device, and image data generating method | |
WO2024040425A1 (en) | Apparatus, method, and program product for producing synthetic fake data | |
JP7073093B2 (en) | Design equipment, design method and design program | |
WO2021037174A1 (en) | Neural network model training method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190402 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200312 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200408 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6695595 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |