JP6695595B2 - Inference device and inference method - Google Patents

Inference device and inference method Download PDF

Info

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
Application number
JP2018137749A
Other languages
Japanese (ja)
Other versions
JP2019046460A (en
Inventor
将志 道上
将志 道上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Axell Corp
Original Assignee
Axell Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Axell Corp filed Critical Axell Corp
Priority to US16/117,701 priority Critical patent/US20190065974A1/en
Publication of JP2019046460A publication Critical patent/JP2019046460A/en
Application granted granted Critical
Publication of JP6695595B2 publication Critical patent/JP6695595B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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、特許文献、及び非特許文献参照)。 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., Patent Document 1, Patent Document 2, and Non-Patent Document 1 reference).

特開2015−184594号公報JP, 2005-184594, A 米国特許出願公開第2016/0350648号明細書U.S. Patent Application Publication No. 2016/0350648

C. Orlandi, A. Piva, and M. Barni 著、Research Article Oblivious Neural Network Computing via Homomorphic Encryption、インターネット<http://clem.dii.unisi.it/~vipp/files/publications/S1687416107373439.pdf>C. Orlandi, A. Piva, and M. Barni, Research Article Oblivious Neural Network Computing via Homomorphic Encryption, Internet <http://clem.dii.unisi.it/~vipp/files/publications/S1687416107373439.pdf>

前述した推論技術では、ニューラルネットワークを用いたシステムにおいて、準同型暗号を用いて演算を実行するため、演算量が増大し、システム負荷が大きくなることがある。   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.

ニューラルネットワークの一実施例の構成を示す図である。It is a figure which shows the structure of one Example of a neural network. ニューラルネットワークのシステムの一実施例を示す機能ブロック図である。It is a functional block diagram which shows one Example of the system of a neural network. ニューラルネットワークのシステムにおける処理の一例を示すフローチャートである。It is a flow chart which shows an example of processing in a system of a neural network. ニューラルネットワークに含まれるニューロンの一実施例を示す図である。It is a figure which shows one Example of the neuron contained in a neural network. 非線形関数の近似多項式の一実施例を示す図である。It is a figure which shows one Example of the approximate polynomial of a nonlinear function. コンピュータ装置の一実施例を示すブロック図である。FIG. 3 is a block diagram showing an example of a computer device. ニューラルネットワークを用いた画像認識処理の正答率を示す図である。It is a figure which shows the correct answer rate of the image recognition process using a neural network.

[実施形態]
実施形態の推論装置について説明する。
[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 neural network system 100 includes a learning device 1, an inference device 2, and a client device 3. The learning device 1 is, for example, an information processing device possessed by a service provider of inference processing. The inference apparatus 2 is, for example, an information processing apparatus used as a server device in a server / client model. The client device 3 is, for example, an information processing device owned by a user who uses the inference process.
The learning device 1, the inference device 2, and the client device 3 are communicably connected to each other, for example, via a network.

学習装置1は、受付部11と、作成部12とを含む。
受付部11は、例えば、入力値に対応する目標値を示す組合せのセットが格納された学習セットの入力を受け付ける。
The learning device 1 includes a reception unit 11 and a creation unit 12.
The reception unit 11 receives, for example, an input of a learning set in which a set of combinations indicating target values corresponding to input values is stored.

作成部12は、活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて、ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を含むパラメータを調整した学習済みモデル40を作成する。学習済みモデル40に含まれるパラメータは、入力値を重み付けするための各ニューロン間の結合の重みと、出力信号の活性化を偏らせるためのバイアスとの少なくとも一方を含む。以下の説明では、活性化関数に非線形関数を採用した第1ニューラルネットワークのことを単に第1ニューラルネットワークともいう。   The creating unit 12 uses the first neural network in which the activation function is a non-linear function, and uses the first neural network to adjust the learned model 40 in which the parameters including at least one of the connection weight and the bias between the neurons included in the neural network are adjusted. create. The parameters included in the trained model 40 include at least one of the weight of the coupling between the neurons for weighting the input value and the bias for biasing the activation of the output signal. In the following description, the first neural network that employs a non-linear function as the activation function is also simply referred to as the first neural network.

作成部12は、受付部11により入力が受け付けられた学習セットを用いて、第1ニューラルネットワークのパラメータを調整する教師あり学習を実行する。作成部12は、例えば、学習セットを用いて学習処理をするとき、誤差逆伝播を用いて、入力値に対して対応する目標値が出力されるように、ニューラルネットワークのパラメータを繰り返し調整する。これにより、作成部12は、調整済みのパラメータを学習済みモデル40として出力する。   The creating unit 12 executes supervised learning for adjusting the parameters of the first neural network using the learning set whose input is accepted by the accepting unit 11. For example, when performing learning processing using a learning set, the creation unit 12 repeatedly adjusts the parameters of the neural network using error back propagation so that the target value corresponding to the input value is output. As a result, the creation unit 12 outputs the adjusted parameters as the learned model 40.

なお、作成部12は、正解のないデータを読み込み、第1ニューラルネットワークのパラメータを調整する教師なし学習を実行し、学習済みモデル40を作成してもよい。また、作成部12は、将来の価値を最大化するように、第1ニューラルネットワークのパラメータを調整する強化学習を実行し、学習済みモデル40を作成してもよい。学習装置は、教師あり学習、教師なし学習、及び強化学習の少なくとも一つを実行してもよい。 The creating unit 12 may create unlearned models 40 by reading data without correct answers and executing unsupervised learning for adjusting the parameters of the first neural network. Further, the creating unit 12 may create the learned model 40 by executing the reinforcement learning for adjusting the parameters of the first neural network so as to maximize the future value. The learning device 1 may perform at least one of supervised learning, unsupervised learning, and reinforcement learning.

上述のように、学習装置1は、作成部12において、活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて学習処理を実行している。これは、機械学習は、学習装置1で処理されるものであり、ネットワーク及びサーバ装置に情報を送信することがないためである。したがって、学習装置1は、ネットワーク及びサーバ装置上における情報の流出の防止よりも、学習処理における演算量を少なくすることを優先している。   As described above, in the learning device 1, in the creating unit 12, the learning process is executed by using the first neural network that employs the nonlinear function as the activation function. This is because the machine learning is processed by the learning device 1 and does not transmit information to the network and the server device. Therefore, the learning device 1 gives priority to reducing the amount of calculation in the learning process, rather than preventing the leakage of information on the network and the server device.

すなわち、実施形態のニューラルネットワークのシステムでは、学習処理において、第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 acquisition unit 21, a setting unit 22, an inference unit 23, an output unit 24, and a storage unit 25. The storage unit 25 stores the learned model 40.
The acquisition unit 21 uses the first neural network that employs a non-linear function as the activation function, and uses the first neural network to adjust the parameter including at least one of the weight and the bias of the coupling between the neurons included in the neural network. get. Then, the acquisition unit 21 may store the acquired learned model 40 in the storage unit 25.

設定部22は、学習済みモデル40にしたがって、活性化関数に非線形関数の近似多項式を採用した第2ニューラルネットワークにパラメータを設定する。すなわち、設定部22は、第2ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を設定する。   According to the learned model 40, the setting unit 22 sets parameters in the second neural network that uses an approximate polynomial of a non-linear function as the activation function. That is, the setting unit 22 sets at least one of the connection weight and the bias between the neurons included in the second neural network.

推論部23は、暗号化されたデータが入力されたとき、第2ニューラルネットワークを用いて、暗号化されたデータを暗号化したまま推論処理を実行する。このとき、推論部23は、暗号化されたデータを暗号化されたまま用いて準同型暗号の演算を行うことにより、推論処理を実行する。暗号化されたデータは、準同型暗号を用いて、暗号化処理及び復号処理を実行するクライアント装置3から入力される。   When the encrypted data is input, the inference unit 23 uses the second neural network to execute the inference process with the encrypted data encrypted. At this time, the inference unit 23 executes the inference process by performing the homomorphic encryption operation using the encrypted data as it is encrypted. The encrypted data is input from the client device 3 that executes the encryption process and the decryption process using the homomorphic encryption.

第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 inference unit 23 executes a calculation using a convolutional neural network. The convolution operation can be expressed by addition and multiplication in digital signal processing. As a result, the inference unit 23 can execute the inference process using the homomorphic encryption that can execute only addition and multiplication. The inference unit 23 is not limited to the convolutional neural network, and may execute an operation using another neural network within a range that can be calculated by the homomorphic encryption.

他のニューラルネットワークには、例えば、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 inference unit 23 may execute addition a plurality of times instead of multiplication. Thereby, the inference unit 23 can execute the convolutional neural operation using the additive homomorphic encryption.

推論部23では、畳み込みニューラルネットワーク及び他のニューラルネットワークを実行するとき、somewhat準同型暗号を用いてもよい。推論部23では、somewhat準同型暗号を用いるとき、推論処理の処理速度の向上及び処理負荷の抑制と、処理精度とのどちらを優先するかにより、第2ニューラルネットワークの演算に含まれる非線形関数の近似多項式の次数及び加算回数調整してもよい。 The inference unit 23 may use somewhat homomorphic encryption when executing the convolutional neural network and other neural networks. When the somewhat homomorphic encryption is used, the inference unit 23 determines whether the nonlinear function included in the operation of the second neural network has priority depending on which of the improvement of the processing speed of the inference processing, the suppression of the processing load, and the processing accuracy is prioritized. the following number and the number of additions of the approximate polynomial may be adjusted.

すなわち、第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 inference unit 23 may use the perfect homomorphic encryption when executing another neural network including a complicated operation as compared with the convolutional neural network. Further, the inference unit 23 may use the perfect homomorphic encryption even when executing the convolutional neural network.

推論部23は、暗号化されたデータで暗号化したまま推論処理を実行した結果、暗号化された状態の推論結果を出力する。推論部23では、準同型暗号を用いて暗号化されたデータを暗号化したまま推論処理するので、推論結果も暗号化された状態で出力される。
出力部24は、推論処理により得られる暗号化された推論結果をクライアント装置3に出力する。
The inference unit 23 outputs the inference result in the encrypted state as a result of executing the inference process with the encrypted data encrypted. Since the inference unit 23 performs the inference process with the data encrypted using the homomorphic encryption encrypted, the inference result is also output in the encrypted state.
The output unit 24 outputs the encrypted inference result obtained by the inference process to the client device 3.

クライアント装置3は、取得部31と、暗号化部32と、復号部33と、出力部34と、記憶部35とを含む。記憶部35は、推論結果50を記憶する。
取得部31は、推論処理の対象のデータを取得する。推論処理の対象のデータとは、例えば、画像、文字、及び音声などの認識対象のデータである。
暗号化部32は、推論処理の対象のデータに対して、準同型暗号の暗号化処理を実行する。これにより、暗号化部32は、暗号化されたデータを出力する。
The client device 3 includes an acquisition unit 31, an encryption unit 32, a decryption unit 33, an output unit 34, and a storage unit 35. The storage unit 35 stores the inference result 50.
The acquisition unit 31 acquires data to be inferred. The data to be inferred is, for example, data to be recognized such as images, characters, and sounds.
The encryption unit 32 performs homomorphic encryption on the data to be inferred. As a result, the encryption unit 32 outputs the encrypted data.

復号部33は、暗号化された推論結果が入力されたとき、暗号化された推論結果に対して、準同型暗号の復号処理を実行する。そして、復号部33は、復号した推論結果50を記憶部35に記憶させてもよい。
出力部34は、暗号化部32により得られる暗号化されたデータを推論装置2に出力する。出力部34は、推論結果50を外部に出力してもよい。
When the encrypted inference result is input, the decryption unit 33 executes a homomorphic encryption decryption process on the encrypted inference result. Then, the decoding unit 33 may store the decoded inference result 50 in the storage unit 35.
The output unit 34 outputs the encrypted data obtained by the encryption unit 32 to the inference device 2. The output unit 34 may output the inference result 50 to the outside.

図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 learning device 1, the inference device 2, and the client device 3, for example. In the following description, the processor of the learning process 1, the processor of the inference process 2, and the processor of the client device 3 are also simply referred to as the learning device 1, the inference device 2, and the client device 3.

図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 learning device 1 receives the input of the learning set (S102). Then, the learning device 1 uses the first neural network in which the activation function is a non-linear function, and adjusts the parameters including at least one of the connection weight and the bias between the neurons included in the neural network, and the learned model. 40 is acquired (S103). Then, the learning device 1 outputs the created learned model 40 to the inference device (S104).

図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 model 40 in the learning device 1, non-encrypted learning set data is used. Therefore, the learning device 1 can adopt a non-linear function as the activation function σ of each neuron, for example, as shown in FIG. For example, when the sigmoid function is adopted as the activation function σ, the learning device 1 creates the learned model 40 using the function indicated by the dotted line in FIG. 5A corresponding to the equation (3). When the ReLU function is adopted as the activation function σ, the learning device 1 creates the learned model 40 using the function indicated by the dotted line in FIG. 5B corresponding to the equation (4).

図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 model 40 in the storage unit 25. Then, the inference apparatus 2 sets the parameters of the second neural network in which the activation function is an approximate polynomial of a non-linear function according to the learned model 40 (S106). The inference apparatus 2 notifies the client apparatus 3 that the inference processing can be executed (S107).

クライアント装置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). ..

sig(x)=8*10−15+2*10−5−1*10−12−0.0028x+4*10−11+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)の実線で示す関数を用いて推論処理を実行する。
re(x)=5*10−8−9*10−20−8*10−5+9*10−17+0.0512x+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 computer device 100 will be described with reference to FIG.
The computer device 100 includes an information processing device including a control circuit 101, a storage device 102, a reading device 103, a recording medium 104, a communication interface 105, an input / output interface 106, an input device 107, and a display device 108. Is. The communication interface 105 is also connected to the network 109. And each component is connected by the bus 110. The learning device 1, the inference device 2, and the client device 3 can be configured by appropriately selecting some or all of the components described in the computer device 100.

制御回路101は、コンピュータ装置100全体の制御をする。そして、制御回路101は、例えば、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)およびPLD(Programmable Logic Device)などのプロセッサである。   The control circuit 101 controls the entire computer device 100. The control circuit 101 is a processor such as a CPU (Central Processing Unit), an FPGA (Field Programmable Gate Array), and a PLD (Programmable Logic Device).

制御回路101は、例えば、図2の学習装置1において、受付部11及び作成部12として機能する。制御回路101は、例えば、図2の推論装置2において、取得部21、設定部22、推論部23、及び出力部24として機能する。さらに、制御回路101は、例えば、図2のクライアント装置3において、取得部31、暗号化部32、復号部33、及び出力部34として機能する。 The control circuit 101 functions as, for example, the receiving unit 11 and the creating unit 12 in the learning device 1 of FIG. The control circuit 101 functions as, for example, the acquisition unit 21, the setting unit 22, the inference unit 23, and the output unit 24 in the inference apparatus 2 of FIG. Furthermore, the control circuit 101 functions as, for example, the acquisition unit 31, the encryption unit 32, the decryption unit 33, and the output unit 34 in the client device 3 of FIG.

記憶装置102は、各種データを記憶する。そして、記憶装置102は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)などのメモリや、HD(Hard Disk)などである。また、記憶装置102は、例えば、図2の推論装置2において、記憶部25として機能する。さらに、記憶装置102は、例えば、図2のクライアント装置3において、記憶部35として機能する。   The storage device 102 stores various data. The storage device 102 is, for example, a memory such as a ROM (Read Only Memory) and a RAM (Random Access Memory), an HD (Hard Disk), or the like. Further, the storage device 102 functions as the storage unit 25 in the inference device 2 of FIG. 2, for example. Further, the storage device 102 functions as the storage unit 35 in the client device 3 of FIG. 2, for example.

また、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 control circuit 101. The HD stores an OS, application programs, programs such as firmware, and various data.

記憶装置102は、制御回路101を、例えば、学習装置1の受付部11及び作成部12として機能させる学習プログラムを記憶してもよい。記憶装置102は、制御回路101を、例えば、推論装置2の取得部21、設定部22、推論部23、及び出力部24として機能させる推論プログラムを記憶してもよい。そして、記憶装置102は、制御回路101を、例えば、クライアント装置3の取得部31、暗号化部32、復号部33、及び出力部34として機能させるクライアントプログラムを記憶してもよい。 The storage device 102 may store a learning program that causes the control circuit 101 to function as, for example, the receiving unit 11 and the creating unit 12 of the learning device 1. The storage device 102 may store an inference program that causes the control circuit 101 to function as, for example, the acquisition unit 21, the setting unit 22, the inference unit 23, and the output unit 24 of the inference device 2. Then, the storage device 102 may store a client program that causes the control circuit 101 to function as, for example, the acquisition unit 31, the encryption unit 32, the decryption unit 33, and the output unit 34 of the client device 3.

学習装置1、推論装置2、及びクライアント装置3は、各種処理をするとき、記憶装置102に記憶されたプログラムをRAMに読み出す。RAMに読み出されたプログラムを制御回路101で実行することにより、学習装置1、推論装置2、及びクライアント装置3は、それぞれ、学習処理、推論処理、及びクライアント処理を実行する。   The learning device 1, the inference device 2, and the client device 3 read the program stored in the storage device 102 into the RAM when performing various processes. By executing the program read into the RAM by the control circuit 101, the learning device 1, the inference device 2, and the client device 3 execute the learning process, the inference process, and the client process, respectively.

学習処理は、例えば、学習装置1で実行される受付処理、及び作成処理を含む。推論処理は、例えば、推論装置2で実行される取得処理、設定処理、推論処理、及び出力処理を含む。クライアント処理は、例えば、クライアント装置3で実行される取得処理、暗号化処理、復号処理、及び出力処理を含む。 The learning process includes, for example, an acceptance process executed by the learning device 1 and a creation process. The inference process includes, for example, an acquisition process, a setting process, an inference process, and an output process executed by the inference apparatus 2. The client process includes, for example, an acquisition process, an encryption process, a decryption process, and an output process executed by the client device 3.

なお、上述の各プログラムは、制御回路101が通信インターフェイス105を介してアクセス可能であれば、ネットワーク109上のサーバが有する記憶装置に記憶されていてもよい。   Note that each program described above may be stored in a storage device included in a server on the network 109 as long as the control circuit 101 can access the communication interface 105.

読書装置103は、制御回路101に制御され、着脱可能な記録媒体104のデータのリード/ライトを行なう。そして、読書装置103は、例えば、各種Disk DriveおよびUSB(Universal Serial Bus)などである。   The reading device 103 is controlled by the control circuit 101 and reads / writes data from / in the removable recording medium 104. The reading device 103 is, for example, various Disk Drives and USBs (Universal Serial Bus).

記録媒体104は、各種データを保存する。記録媒体104は、例えば、学習プログラム、推論プログラム、及びクライアントプログラムの少なくとも一方を記憶する。さらに、記録媒体104は、図2に示す、学習セットと、学習済みモデル40と、推論結果50との少なくとも一方を記憶してもよい。推論結果50は、暗号化された状態で記録媒体104に記憶されてもよい。そして、記録媒体104は、読書装置103を介してバス110に接続され、制御回路101が読書装置103を制御することにより、データのリード/ライトが行なわれる。   The recording medium 104 stores various data. The recording medium 104 stores, for example, at least one of a learning program, an inference program, and a client program. Further, the recording medium 104 may store at least one of the learning set, the learned model 40, and the inference result 50 shown in FIG. The inference result 50 may be stored in the recording medium 104 in an encrypted state. The recording medium 104 is connected to the bus 110 via the reading device 103, and the control circuit 101 controls the reading device 103 to read / write data.

学習済みモデル40が記録媒体104に記録される場合、推論装置2は、記録媒体104から学習済みモデルを読み出すことにより、学習済みモデルを取得してもよい。推論結果50が記録媒体104に記録される場合、クライアント装置3は、記録媒体104から推論結果50を読み出すことにより、推論結果50を取得してもよい。   When the learned model 40 is recorded in the recording medium 104, the inference apparatus 2 may acquire the learned model by reading the learned model from the recording medium 104. When the inference result 50 is recorded in the recording medium 104, the client device 3 may acquire the inference result 50 by reading the inference result 50 from the recording medium 104.

また、記録媒体104は、例えば、SDメモリーカード(SD Memory Card)、FD(Floppy Disk)、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu−ray Disk:登録商標)、およびフラッシュメモリなどの非一時的記録媒体である。   The recording medium 104 is, for example, an SD memory card (SD Memory Card), an FD (Floppy Disk), a CD (Compact Disc), a DVD (Digital Versatile Disk), a BD (Blu-ray Disk: registered trademark), and a flash. A non-transitory recording medium such as a memory.

通信インターフェイス105は、ネットワーク109を介してコンピュータ装置100と他の装置とを通信可能に接続する。また、通信インターフェイス105は、無線LANの機能を有するインターフェイス、および近距離無線通信機能を有するインターフェイスを含んでもよい。そして、無線LANインターフェイスは、例えば、無線LAN規格として、Wi−Fi(登録商標)をサポートしてもよい。近距離無線インターフェイスは、例えば、近距離無線通信規格として、Bluetooth(登録商標)をサポートしてもよい。LANは、Local Area Networkの略である。   The communication interface 105 communicatively connects the computer apparatus 100 and another apparatus via the network 109. The communication interface 105 may include an interface having a wireless LAN function and an interface having a short-range wireless communication function. The wireless LAN interface may support Wi-Fi (registered trademark) as a wireless LAN standard, for example. The short-range wireless interface may support, for example, Bluetooth (registered trademark) as a short-range wireless communication standard. LAN is an abbreviation for Local Area Network.

通信インターフェイス105は、例えば、図2の推論装置2において、取得部21及び出力部24として機能する。さらに、通信インターフェイス105は、例えば、図2のクライアント装置3において、取得部31及び出力部34として機能する。   The communication interface 105 functions, for example, as the acquisition unit 21 and the output unit 24 in the inference apparatus 2 of FIG. Furthermore, the communication interface 105 functions as the acquisition unit 31 and the output unit 34 in the client device 3 of FIG. 2, for example.

入出力インターフェイス106は、例えば、キーボード、マウス、およびタッチパネルなどの入力装置107と接続され、接続された入力装置107から各種情報を示す信号が入力されると、バス110を介して入力された信号を制御回路101に出力する。また、入出力インターフェイス106は、制御回路101から出力された各種情報を示す信号がバス110を介して入力されると、接続された各種装置にその信号を出力する。   The input / output interface 106 is connected to an input device 107 such as a keyboard, a mouse, and a touch panel, and when a signal indicating various information is input from the connected input device 107, a signal input via the bus 110. Is output to the control circuit 101. Further, when the signal indicating various information output from the control circuit 101 is input via the bus 110, the input / output interface 106 outputs the signal to various connected devices.

入出力インターフェイス106は、例えば、図2の学習装置1において、受付部11として機能する。また、入出力インターフェイス106は、例えば、図2の推論装置2において、取得部21及び出力部24として機能する。さらに、入出力インターフェイス106は、例えば、図2のクライアント装置3において、取得部31及び出力部34として機能する。   The input / output interface 106 functions as the reception unit 11 in the learning device 1 in FIG. 2, for example. Further, the input / output interface 106 functions as the acquisition unit 21 and the output unit 24 in the inference apparatus 2 of FIG. 2, for example. Furthermore, the input / output interface 106 functions as the acquisition unit 31 and the output unit 34 in the client device 3 of FIG. 2, for example.

学習装置1は、入力装置107を介して学習セットなどの入力を受けてもよい。推論装置2は、入力装置107を介して、推論処理実行の要求などの入力を受け付けてもよい。クライアント装置3は、入力装置107を介して、推論処理の対象のデータの入力などを受け付けてもよい。   The learning device 1 may receive an input such as a learning set via the input device 107. The inference apparatus 2 may accept an input such as a request to execute inference processing via the input device 107. The client device 3 may accept input of data to be inferred by the input device 107.

表示装置108は、各種情報を表示する。表示装置108は、タッチパネルでの入力を受け付けるための情報を表示してもよい。表示装置108は、例えば、図2の出力部34と接続されて、復号部33で復号された推論結果50に対応する情報を表示しもよい。 The display device 108 displays various information. The display device 108 may display information for accepting an input on the touch panel. The display device 108 may be connected to the output unit 34 of FIG. 2, for example, and may display information corresponding to the inference result 50 decoded by the decoding unit 33.

また、入出力インターフェイス106、入力装置107、及び表示装置108は、GUI(Graphical User Interface)として機能してもよい。これにより、コンピュータ装置100は、タッチパネルやマウスなどによる直感的な操作を受け付ける。
ネットワーク109は、例えば、LAN、無線通信、またはインターネットなどであり、コンピュータ装置100と他の装置とを通信接続する。学習装置1、推論装置2、及びクライアント装置3は、ネットワーク109を介して互いに通信可能に接続されてもよい。
Further, the input / output interface 106, the input device 107, and the display device 108 may function as a GUI (Graphical User Interface). Thereby, the computer device 100 accepts an intuitive operation using a touch panel, a mouse, or the like.
The network 109 is, for example, a LAN, wireless communication, or the Internet, and communicatively connects the computer device 100 and another device. The learning device 1, the inference device 2, and the client device 3 may be communicatively connected to each other via the network 109.

以上のように、推論装置は、活性化関数に非線形関数を採用したニューラルネットワークの演算により得られた学習済みモデルを用いて、活性化関数に非線形関数の近時多項式を採用したニューラルネットワークの演算により推論処理を実行する。推論装置は、推論処理において、近似多項式を活性化関数として採用したので、準同型暗号の演算により推論処理が可能となる。これにより、推論装置は、準同型暗号を用いたニューラルネットワークのシステムにおいて、学習装置における処理の負荷を低減し、システム負荷を小さくすることができる。 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.

推論装置は、準同型暗号の暗号化処理及び復号処理を実行するクライアント装置3から入力された暗号化されたデータを、暗号化したまま推論処理を実行する。そして、推論装置は、推論処理により得られる暗号化された推論結果をクライアント装置に出力する。これにより、推論装置は、準同型暗号を用いたニューラルネットワークのシステムにおいて、準同型暗号を用いて暗号化したまま推論処理を実行するので、情報の流出を防止することができる。 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.

推論装置は、畳み込みニューラルネットワークを用いた演算を実行する。そして、畳み込み演算は、デジタル信号処理においては、加算及び乗算で表現できる。これにより、推論装置は、準同型暗号の中では比較的処理速度が速くなる、加算及び乗算の少なくとも一方のみを実行できる準同型暗号を用いて、推論処理を実行することができる。 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 Client Device 100 Computer Device 101 Control Circuit 102 Storage Device 103 Reading Device 104 Recording Medium 105 Communication I / F
106 Input / output I / F
107 input device 108 display device 109 network 110 bus

Claims (7)

活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて、ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を含むパラメータを調整した学習済みモデルを取得する取得部と、
前記学習済みモデルにしたがって、活性化関数に前記非線形関数の近似多項式を採用した第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ニューラルネットワークは、畳み込みニューラルネットワークである
ことを特徴とする請求項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.
活性化関数に非線形関数を採用した第1ニューラルネットワークを用いて、ニューラルネットワークに含まれる各ニューロン間の結合の重み及びバイアスの少なくとも一方を含むパラメータを調整した学習済みモデルを取得し、
前記学習済みモデルにしたがって、活性化関数に前記非線形関数の近似多項式を採用した第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.
JP2018137749A 2017-08-30 2018-07-23 Inference device and inference method Active JP6695595B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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