JP7042414B2 - Learning equipment, learning systems, learning methods and learning programs - Google Patents

Learning equipment, learning systems, learning methods and learning programs Download PDF

Info

Publication number
JP7042414B2
JP7042414B2 JP2018228456A JP2018228456A JP7042414B2 JP 7042414 B2 JP7042414 B2 JP 7042414B2 JP 2018228456 A JP2018228456 A JP 2018228456A JP 2018228456 A JP2018228456 A JP 2018228456A JP 7042414 B2 JP7042414 B2 JP 7042414B2
Authority
JP
Japan
Prior art keywords
learning
data
training
unit
result
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
JP2018228456A
Other languages
Japanese (ja)
Other versions
JP2020091656A (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.)
KDDI Corp
University of Hyogo
Original Assignee
KDDI Corp
University of Hyogo
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 KDDI Corp, University of Hyogo filed Critical KDDI Corp
Priority to JP2018228456A priority Critical patent/JP7042414B2/en
Publication of JP2020091656A publication Critical patent/JP2020091656A/en
Application granted granted Critical
Publication of JP7042414B2 publication Critical patent/JP7042414B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、学習結果の正当性を証明できる学習装置、学習システム、学習方法及び学習プログラムに関する。 The present invention relates to a learning device, a learning system, a learning method and a learning program capable of proving the validity of a learning result.

四則演算をサーバが実行した場合に、演算の結果が正しいかどうかをクライアントで検証可能な技術が非特許文献1で提案されている。この技術は、検証処理の際にサーバとクライアントとの間で通信が不要という特徴も持つ。
また、クライアントからサーバに依頼する処理が多項式の演算の場合、検証処理中にサーバとクライアントとの間で通信が発生するものの、軽量であることが特徴のsum-checkと呼ばれるプロトコルが非特許文献2で提案されている。さらに、sum-checkを機械学習の推論フェーズに適用した技術が非特許文献3で提案されている。
Non-Patent Document 1 proposes a technique in which a client can verify whether or not the result of an arithmetic operation is correct when the server executes the four arithmetic operations. This technology also has the feature that communication between the server and the client is not required during the verification process.
Further, when the process requested from the client to the server is a polynomial operation, a protocol called sum-check, which is characterized by being lightweight, is a non-patent document, although communication occurs between the server and the client during the verification process. Proposed in 2. Further, a technique in which sum-check is applied to the inference phase of machine learning is proposed in Non-Patent Document 3.

B. Parno, C. Gentry, J. Howell and M. Raykova. “Pinocchio: Nearly Practical Verifiable Computation.” 2013 IEEE Symposium on Security and Privacy (2013).B. Parno, C.I. Gentry, J.M. Howell and M. Raykova. “Pinoccio: Nearly Practical Verifiable Computation.” 2013 IEEE Symposium on Security and Privacy (2013). C. Lund, L. Fortnow, H. Karloff and N. Nisan. “Algebraic Methods for Interactive Proof Systems.” Journal of the Association for Computing Machinery, Vol. 39, No. 4 (1992).C. Lund, L. Fortnow, H. et al. Karloff and N. Nisan. "Algebraic Methods for Interactive Proof Systems." Journal of the Association for Computing Machinery, Vol. 39, No. 4 (1992). Z. Ghodsi, T. Gu and S. Garg. “SafetyNets: Verifiable Execution of Deep Neural Networks on an Untrusted Cloud.” NIPS (2017).Z. Goodsi, T.M. Gu and S. Garg. "SafetyNets: Verifiable Exhibition of Deep Natural Networks on an Untrusted Cloud." NIPS (2017).

前述の技術は、いずれも証明者が正しく処理を実行したかどうかを検証者に証明可能とする技術である。しかしながら、非特許文献1は、計算コストが高いという課題があり、機械学習への適用が困難であった。また、対応する計算の種類を限定し、かつ、検証時に通信を行うことで計算コストを削減した非特許文献2又は3の技術は、機械学習の学習フェーズで必要となる計算に対応していないという課題があった。 All of the above-mentioned techniques are techniques that enable the verifier to prove whether or not the certifier has executed the process correctly. However, Non-Patent Document 1 has a problem that the calculation cost is high, and it is difficult to apply it to machine learning. In addition, the technology of Non-Patent Document 2 or 3 that limits the types of corresponding calculations and reduces the calculation cost by communicating at the time of verification does not correspond to the calculations required in the learning phase of machine learning. There was a problem.

本発明は、機械学習の学習フェーズでの処理を高速に検証可能とする学習装置、学習システム、学習方法及び学習プログラムを提供することを目的とする。 An object of the present invention is to provide a learning device, a learning system, a learning method, and a learning program that enable high-speed verification of processing in the learning phase of machine learning.

本発明に係る学習装置は、機械学習による訓練前のモデル、及び訓練データを端末から受信する依頼受信部と、前記機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する学習実行部と、前記学習実行部による計算結果の正当性を検証するための証明データを生成する証明生成部と、前記機械学習による訓練後のモデル、及び前記証明データを前記端末へ送信する結果送信部と、前記端末との間で前記証明データを検証する第1結果検証部と、を備える。 The learning device according to the present invention converts a model before training by machine learning, a request receiving unit that receives training data from a terminal, and a biased derivative obtained by partially differentiating the loss function from the machine learning operations into a polynomial. The learning execution unit that calculates the data, the certification generation unit that generates the certification data for verifying the validity of the calculation result by the learning execution unit, the model after the training by the machine learning, and the certification data are used in the terminal. A result transmission unit for transmitting to the terminal and a first result verification unit for verifying the certification data between the terminal and the terminal are provided.

前記機械学習は、前記訓練データに含まれる悪性データを取り除くため、前記損失関数の値を最小化する前記訓練データの部分集合を選択する処理を含み、前記学習実行部は、前記選択による前記損失関数の値の減少量を算出し、前記証明生成部は、前記損失関数の値を最小化する前記訓練データの部分集合を選択する処理から、前記損失関数の値を最小化する条件を除いた前記証明データを生成してもよい。 The machine learning includes a process of selecting a subset of the training data that minimizes the value of the loss function in order to remove malicious data contained in the training data, and the learning execution unit includes the loss due to the selection. After calculating the amount of decrease in the value of the function, the proof generator excludes the condition for minimizing the value of the loss function from the process of selecting a subset of the training data that minimizes the value of the loss function. The proof data may be generated.

本発明に係る学習システムは、前記学習装置と、当該学習装置へ前記機械学習を依頼する端末と、を備えた学習システムであって、前記端末は、前記訓練前のモデル、及び前記訓練データを前記学習装置へ送信する依頼送信部と、前記訓練後のモデル、及び前記証明データを前記学習装置から受信する結果受信部と、前記学習装置との間で前記証明データを検証する第2結果検証部と、を備える。 The learning system according to the present invention is a learning system including the learning device and a terminal that requests the learning device to perform the machine learning, and the terminal uses the pre-training model and the training data. A second result verification for verifying the certification data between the request transmission unit for transmitting to the learning device, the model after training, the result receiving unit for receiving the certification data from the learning device, and the learning device. It is equipped with a department.

前記第2結果検証部は、前記損失関数の値の減少量が正であることを確認してもよい。 The second result verification unit may confirm that the amount of decrease in the value of the loss function is positive.

本発明に係る学習方法は、機械学習による訓練前のモデル、及び訓練データを端末から受信する依頼受信ステップと、前記機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する学習実行ステップと、前記学習実行ステップにおける計算結果の正当性を検証するための証明データを生成する証明生成ステップと、前記機械学習による訓練後のモデル、及び前記証明データを前記端末へ送信する結果送信ステップと、前記端末との間で前記証明データを検証する第1結果検証ステップと、をコンピュータが実行する。 In the learning method according to the present invention, a model before training by machine learning, a request reception step for receiving training data from a terminal, and a partial derivative of a loss function among the machine learning operations are converted into a polynomial. The learning execution step to be calculated, the proof generation step to generate the proof data for verifying the validity of the calculation result in the learning execution step, the model after the training by the machine learning, and the proof data to the terminal. The computer executes a result transmission step of transmitting to the terminal and a first result verification step of verifying the certification data with the terminal.

本発明に係る学習プログラムは、前記学習装置としてコンピュータを機能させるためのものである。 The learning program according to the present invention is for making a computer function as the learning device.

本発明によれば、機械学習の学習フェーズでの処理を高速に検証できる。 According to the present invention, processing in the learning phase of machine learning can be verified at high speed.

実施形態に係る学習システムの機能構成を示すブロック図である。It is a block diagram which shows the functional structure of the learning system which concerns on embodiment. 実施形態に係る学習方法の処理手順を示すシーケンス図である。It is a sequence diagram which shows the processing procedure of the learning method which concerns on embodiment. 実施形態に係るTRIMのアルゴリズムを示す図である。It is a figure which shows the algorithm of TRIM which concerns on embodiment. 実施形態に係るサブセットの選択処理のアルゴリズムを示す図である。It is a figure which shows the algorithm of the selection processing of the subset which concerns on embodiment.

以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係る学習システム1の機能構成を示すブロック図である。
学習システム1は、サーバ10(学習装置)とクライアント20(端末)とを備え、両者は通信可能に接続される。サーバ10は、クライアント20から依頼されて機械学習を実行する。
Hereinafter, an example of the embodiment of the present invention will be described.
FIG. 1 is a block diagram showing a functional configuration of the learning system 1 according to the present embodiment.
The learning system 1 includes a server 10 (learning device) and a client 20 (terminal), both of which are communicably connected. The server 10 is requested by the client 20 to execute machine learning.

サーバ10は、制御部11及び記憶部12の他、各種データの入出力デバイス及び通信デバイス等を備えた情報処理装置(コンピュータ)である。 The server 10 is an information processing device (computer) provided with various data input / output devices, communication devices, and the like, in addition to the control unit 11 and the storage unit 12.

制御部11は、サーバ10の全体を制御する部分であり、記憶部12に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部11は、CPUであってよい。 The control unit 11 is a part that controls the entire server 10, and realizes each function in the present embodiment by appropriately reading and executing various programs stored in the storage unit 12. The control unit 11 may be a CPU.

記憶部12は、ハードウェア群をサーバ10として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスク(HDD)等であってよい。具体的には、記憶部12は、本実施形態の各機能を制御部11に実行させるためのプログラム(学習プログラム)、学習対象のモデル、訓練データ、及び後述の証明データ等を記憶する。 The storage unit 12 is a storage area for various programs and various data for making the hardware group function as the server 10, and may be a ROM, RAM, flash memory, hard disk (HDD), or the like. Specifically, the storage unit 12 stores a program (learning program) for causing the control unit 11 to execute each function of the present embodiment, a model to be learned, training data, certification data described later, and the like.

制御部11は、依頼受信部111と、学習実行部112と、証明生成部113と、結果送信部114と、結果検証部115(第1結果検証部)とを備える。制御部11は、これらの機能部により、クライアント20から受信した訓練データを用いて線形回帰の機械学習を行うと共に、学習結果の正当性を検証するための検証機能をクライアント20に提供する。 The control unit 11 includes a request reception unit 111, a learning execution unit 112, a proof generation unit 113, a result transmission unit 114, and a result verification unit 115 (first result verification unit). The control unit 11 performs machine learning of linear regression using the training data received from the client 20 by these functional units, and provides the client 20 with a verification function for verifying the validity of the learning result.

依頼受信部111は、機械学習による訓練前のモデル、及び訓練データをクライアント20から受信する。 The request receiving unit 111 receives the model before training by machine learning and the training data from the client 20.

学習実行部112は、機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する。
また、機械学習において、訓練データに含まれる悪性データを取り除くため、損失関数の値を最小化する訓練データの部分集合を選択する処理を含む場合、学習実行部112は、部分集合の選択による損失関数の値の減少量を算出する。
なお、学習実行部112による計算の詳細は後述する。
The learning execution unit 112 calculates the partial derivative obtained by partially differentiating the loss function by converting it into a polynomial among the machine learning operations.
Further, in machine learning, when a process of selecting a subset of training data that minimizes the value of the loss function is included in order to remove malicious data included in the training data, the learning execution unit 112 causes a loss due to the selection of the subset. Calculate the amount of decrease in the value of the function.
The details of the calculation by the learning execution unit 112 will be described later.

証明生成部113は、学習実行部による計算結果の正当性を検証するための証明データを生成する。証明データは、前述の非特許文献2で提案されたsum-checkにより生成される。
このとき、証明生成部113は、損失関数の値を最小化する訓練データの部分集合を選択する処理から、損失関数の値を最小化するという条件を除いた証明データを生成する。証明生成部113は、この損失関数の値を最小化するという条件を証明するために、学習実行部112により算出された損失関数の値の減少量を証明データに含める。
The proof generation unit 113 generates proof data for verifying the validity of the calculation result by the learning execution unit. The proof data is generated by the sum-check proposed in Non-Patent Document 2 described above.
At this time, the proof generation unit 113 generates proof data excluding the condition of minimizing the value of the loss function from the process of selecting a subset of training data that minimizes the value of the loss function. In order to prove the condition that the value of the loss function is minimized, the proof generation unit 113 includes the decrease amount of the value of the loss function calculated by the learning execution unit 112 in the proof data.

結果送信部114は、機械学習による訓練後のモデル、及び証明データをクライアント20へ送信する。 The result transmission unit 114 transmits the model after training by machine learning and the proof data to the client 20.

結果検証部115は、サーバ10とクライアント20との間の通信を含むsum-checkの所定の手続を経て、クライアント20との間で証明データを検証する。
なお、証明データに含まれる損失関数の値の減少量は、クライアント20において、訓練データの部分集合の選択の正当性を検証するために用いられる。
The result verification unit 115 verifies the certification data with the client 20 through a predetermined procedure of sum-check including communication between the server 10 and the client 20.
The amount of decrease in the value of the loss function included in the proof data is used by the client 20 to verify the validity of the selection of the subset of the training data.

クライアント20は、パーソナルコンピュータ、スマートフォン又はタブレット端末等の情報処理装置(コンピュータ)であり、制御部21及び記憶部22の他、各種データの入出力デバイス及び通信デバイス等を備える。 The client 20 is an information processing device (computer) such as a personal computer, a smartphone or a tablet terminal, and includes a control unit 21 and a storage unit 22, as well as various data input / output devices and communication devices.

制御部21は、クライアント20の全体を制御する部分であり、記憶部22に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部21は、CPUであってよい。 The control unit 21 is a part that controls the entire client 20, and realizes each function in the present embodiment by appropriately reading and executing various programs stored in the storage unit 22. The control unit 21 may be a CPU.

記憶部22は、ハードウェア群をクライアント20として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスク(HDD)等であってよい。 The storage unit 22 is a storage area for various programs and various data for making the hardware group function as the client 20, and may be a ROM, RAM, flash memory, hard disk (HDD), or the like.

制御部21は、依頼送信部211と、結果受信部212と、結果検証部213(第2結果検証部)とを備える。制御部21は、これらの機能部により、サーバ10へ訓練データを提供して線形回帰の機械学習を行わせると共に、得られた学習結果の正当性を検証する。 The control unit 21 includes a request transmission unit 211, a result reception unit 212, and a result verification unit 213 (second result verification unit). The control unit 21 provides training data to the server 10 to perform machine learning of linear regression by these functional units, and verifies the validity of the obtained learning result.

依頼送信部211は、サーバ10に学習させる訓練前のモデル、及び訓練データをサーバ10へ送信する。 The request transmission unit 211 transmits the model before training to be trained by the server 10 and the training data to the server 10.

結果受信部212は、訓練後のモデル、及び計算結果の正当性を検証するための証明データをサーバ10から受信する。 The result receiving unit 212 receives the model after training and the proof data for verifying the validity of the calculation result from the server 10.

結果検証部213は、サーバ10とクライアント20との間の通信を含むsum-checkの所定の手続を経て、サーバ10との間で証明データを検証する。
このとき、結果検証部213は、証明データに含まれる損失関数の値の減少量が正であることを合わせて確認する。
The result verification unit 213 verifies the certification data with the server 10 through a predetermined procedure of sum-check including communication between the server 10 and the client 20.
At this time, the result verification unit 213 also confirms that the amount of decrease in the value of the loss function included in the proof data is positive.

図2は、本実施形態に係る学習システム1における学習方法の処理手順を示すシーケンス図である。
ステップS1において、クライアント20は、訓練データ(入力x及び出力y)と、更新前のモデルとを、サーバ10へ送信する。
FIG. 2 is a sequence diagram showing a processing procedure of a learning method in the learning system 1 according to the present embodiment.
In step S1, the client 20 transmits the training data (input x and output y) and the model before the update to the server 10.

ステップS2において、サーバ10は、ステップS1において受信した訓練データを用いて、更新前のモデルに対して学習フェーズの処理を実行し、この処理を検証するための証明データπを生成する。 In step S2, the server 10 uses the training data received in step S1 to execute the learning phase process on the model before update, and generates proof data π for verifying this process.

ステップS3において、サーバ10は、学習フェーズによる更新後のモデルFと、証明データπとを、クライアント20へ送信する。
ステップS4において、クライアント20は、サーバ10と協働して証明データπの検証を行う。
In step S3, the server 10 transmits the model F updated by the learning phase and the proof data π to the client 20.
In step S4, the client 20 collaborates with the server 10 to verify the certification data π.

ここで、サーバ10の学習実行部112による計算について詳述する。
クライアント20が訓練データをサーバ10に対して提供すると、サーバ10は、学習処理を行った際に、その学習処理が正しく実行されたことをクライアント20に対して証明する。このとき、学習実行部112は、sum-checkにより検証可能な多項式を用いて学習処理を行う。
Here, the calculation by the learning execution unit 112 of the server 10 will be described in detail.
When the client 20 provides the training data to the server 10, the server 10 proves to the client 20 that the learning process is correctly executed when the learning process is performed. At this time, the learning execution unit 112 performs learning processing using a polynomial that can be verified by sum-check.

まず、学習処理で必要となる偏微分は、次のように扱うことができる。
多項式をP(x,xk-1,…,x)=a+ak-1k-1+…+a+aとし、係数と変数とをそれぞれ次のベクトルA,Xで表現する。

Figure 0007042414000001
First, the partial differential required in the learning process can be treated as follows.
The polynomial is P a (x k , x k-1 , ..., x 0 ) = a k x k + a k-1 x k-1 + ... + a 1 x 1 + a 0 x 0 , and the coefficients and variables are as follows. It is expressed by the variables A and X of.
Figure 0007042414000001

すると、多項式P(x,xk-1,…,x)のxに関する偏導関数は、Xのi番目の要素を1とし、それ以外の要素を0としたベクトルXを用いてAと表現することができる。これにより、学習実行部112は、以下のように検証可能計算を実行する。 Then, the partial derivative with respect to x i of the polynomial P a (x k , x k-1 , ..., X 0 ) has a vector X i in which the i-th element of X is 1 and the other elements are 0. It can be expressed as ATX i by using it. As a result, the learning execution unit 112 executes the verifiable calculation as follows.

損失関数をL、学習率をηとすると、バッチ学習フェーズは、n回の学習処理を、

Figure 0007042414000002
と表現できる。損失関数として、m個の訓練データに対して、
Figure 0007042414000003
を利用すれば、損失関数の偏微分は、
Figure 0007042414000004
となる。ここで、∂L/∂wは、wについての多項式と考えることができるため、cを定数として、
Figure 0007042414000005
と表すことが可能である。サーバ10は、これにsum-checkを適用することで、処理が正しく実行されていることを証明できる。 Assuming that the loss function is L and the learning rate is η, the batch learning phase performs n learning processes.
Figure 0007042414000002
Can be expressed as. As a loss function, for m training data
Figure 0007042414000003
If you use, the partial derivative of the loss function is
Figure 0007042414000004
Will be. Here, since ∂L / ∂w j can be considered as a polynomial for w, c is a constant.
Figure 0007042414000005
Can be expressed as. The server 10 can prove that the process is executed correctly by applying the sum-check to this.

さらに、バッチ学習フェーズのループ処理全体を式で表すと、

Figure 0007042414000006
となる。これもwについての多項式となるため、sum-checkを適用することで、サーバ10は、処理が正しく実行されていることを証明できる。 Furthermore, if the entire loop processing of the batch learning phase is expressed by an expression,
Figure 0007042414000006
Will be. Since this is also a polynomial for w, the server 10 can prove that the process is executed correctly by applying the sum-check.

また、オンライン学習の場合、学習実行部112は、各訓練データに対して、

Figure 0007042414000007
を計算する。したがって、m個のデータに対する学習処理は、
Figure 0007042414000008
と表すことができる。これもwについての多項式となるため、sum-checkを適用することで、サーバ10は、処理が正しく実行されていることを証明できる。 Further, in the case of online learning, the learning execution unit 112 receives for each training data.
Figure 0007042414000007
To calculate. Therefore, the learning process for m data is
Figure 0007042414000008
It can be expressed as. Since this is also a polynomial for w, the server 10 can prove that the process is executed correctly by applying the sum-check.

次に、訓練データに悪性データが混入されている場合の学習処理を説明する。
例えば、複数のクライアント20が訓練データを提供し、サーバ10で一つのモデルを構築する場合、悪意のあるクライアント20が悪性データを含む訓練データを提供する可能性がある。このため、サーバ10は、モデルを構築する前に悪性データを取り除く処理を行う必要がある。
Next, the learning process when malignant data is mixed in the training data will be described.
For example, when a plurality of clients 20 provide training data and a server 10 builds one model, a malicious client 20 may provide training data including malicious data. Therefore, the server 10 needs to perform a process of removing malicious data before constructing the model.

学習実行部112は、悪性データを取り除く手法として、次の文献Aで提案されているTRIMと呼ばれるアルゴリズムを利用する。このとき、サーバ10は、TRIMを実行したとしても、処理結果をクライアント20に証明することが困難なため、sum-checkと組み合わせることによって証明する。
文献A: M. Jagielski, A. Oprea, B. Biggio, C. Liu, C. Nita-Rotaru and B. Li. “Manipulating Machine Learning: Poisoning Attacks and Countermeasures for Regression Learning.” 2018 IEEE Symposium on Security and Privacy (2018).
The learning execution unit 112 uses an algorithm called TRIM proposed in the following document A as a method for removing malicious data. At this time, even if TRIM is executed, it is difficult for the server 10 to prove the processing result to the client 20, so the server 10 is proved by combining with the sum-check.
Reference A: M. Jagielski, A. Oprea, B. Biggio, C.I. Liu, C.I. Nita-Rotalu and B. Li. "Manipulating Machine Learning: Poisoning Attacks and Countermeasures for Regression Regression." 2018 IEEE Symposium on Security and Privy.

図3は、本実施形態に係るTRIMのアルゴリズムAを示す図である。
N個の訓練データDには、正常なデータDtrと悪性データDとが含まれる。アルゴリズムAでは、悪性データは、正常なデータn個に対してp=α×n個含まれると仮定し、i回の学習を繰り返すことでモデルθ(i)が出力される。
FIG. 3 is a diagram showing an algorithm A of TRIM according to the present embodiment.
The N training data D include normal data D tr and malignant data D p . In the algorithm A, it is assumed that p = α × n pieces of malignant data are included with respect to n pieces of normal data, and the model θ (i) is output by repeating the learning i times.

ステップ1において、N個の訓練データからn個がランダムに選択され、インデックス集合I(0)が生成される。
ステップ2において、損失L(DI(0),θ)を最小にするモデルθ(0)が求められる。
ステップ3において、学習の繰り返し回数iが0に初期化され、ステップ4から9が繰り返し実行される。
In step 1, n pieces are randomly selected from N pieces of training data, and an index set I (0) is generated.
In step 2, a model θ (0) that minimizes the loss L (DI (0) , θ) is obtained.
In step 3, the number of repetitions i of learning is initialized to 0, and steps 4 to 9 are repeatedly executed.

ステップ5において、回数iがカウントアップされ、i回目の学習として後続のステップ6から8が実行される。
ステップ6において、損失L(DI(i),θ(i-1))を最小にするデータのサブセットが選択されることで、インデックス集合I(i)が更新される。これにより、訓練データDに含まれる悪性データDと推定されるデータが取り除かれる。
ステップ7において、損失L(DI(i),θ(i))を最小にするモデルθ(i)が求められる。
ステップ8において、現在のモデルθ(i)における損失R(i)=L(DI(i),θ(i))が求められる。
In step 5, the number of times i is counted up, and subsequent steps 6 to 8 are executed as the i-th learning.
In step 6, the index set I (i) is updated by selecting the subset of data that minimizes the loss L (DI (i) , θ (i-1) ). As a result, the data presumed to be malignant data Dp contained in the training data D is removed.
In step 7, a model θ (i) that minimizes the loss L (DI (i) , θ (i) ) is obtained.
In step 8, the loss R (i) = L (DI (i) , θ (i) ) in the current model θ (i ) is obtained.

ステップ9において、損失が収束し、R(i)=R(i-1)になると学習の繰り返しが終了する。
ステップ10において、学習結果としてモデルθ(i)が出力される。
In step 9, when the loss converges and R (i) = R (i-1), the learning repetition ends.
In step 10, the model θ (i) is output as a learning result.

このTRIMのアルゴリズムAでは、ステップ8の処理で損失を最小にするデータのサブセットを選択することで訓練データに含まれる悪性データを取り除いているが、sum-checkではこの処理に対する証明データを生成できない。そこで、本実施形態では、TRIMのループ内の処理を次のように修正する。 In this TRIM algorithm A, the malicious data contained in the training data is removed by selecting the subset of data that minimizes the loss in the process of step 8, but the sum-check cannot generate the proof data for this process. .. Therefore, in the present embodiment, the processing in the loop of TRIM is modified as follows.

図4は、本実施形態に係る検証可能なサブセットの選択処理のアルゴリズムBを示す図である。
アルゴリズムBは、図3のステップ4から9の繰り返し部分に相当し、証明生成部113は、この処理に対する証明データを生成する。
FIG. 4 is a diagram showing an algorithm B of a verifiable subset selection process according to the present embodiment.
The algorithm B corresponds to the repeating portion of steps 4 to 9 in FIG. 3, and the proof generation unit 113 generates proof data for this process.

図3のアルゴリズムAと比較すると、アルゴリズムBでは、データのサブセットの選択時に、損失を最小にするという条件が除かれている。このため、クライアント20からすると、サーバ10が常に損失を最小にするサブセットを選択するとは限らない。しかしながら、クライアント20は、1回前の処理で求めた損失との比較結果d(i)=R(i)-R(i-1)を受信することで、繰り返し毎に損失が低下していることを確認できる。
したがって、クライアント20は、サーバ10で図2のTRIMが実行され、悪性データを除くデータセットを用いて正しく学習が行われたことを検証できる。
Compared to Algorithm A in FIG. 3, Algorithm B removes the condition of minimizing losses when selecting a subset of data. Therefore, from the perspective of the client 20, the server 10 does not always select the subset that minimizes the loss. However, the client 20 receives the comparison result d (i) = R (i) −R (i-1) with the loss obtained in the previous process, so that the loss decreases with each repetition. You can confirm that.
Therefore, the client 20 can verify that the TRIM of FIG. 2 is executed on the server 10 and the learning is correctly performed using the data set excluding the malicious data.

本実施形態によれば、サーバ10は、損失関数を偏微分した偏導関数を多項式に変換して計算することにより、線形回帰の学習処理をsum-checkにより検証可能な計算により実行でき、計算結果の正当性を検証するための証明データをクライアント20へ提供できる。
これにより、クライアント20は、サーバ10における機械学習の学習フェーズでの処理を高速に検証できる。
この結果、クライアント20は、多くの学習データを用いてサーバ10で繰り返し学習させるような場合に、サーバ10が正しく処理を実行したことを、クライアント20で同じ処理を実行することなく検証することが可能となる。
According to the present embodiment, the server 10 can execute the learning process of linear regression by a calculation that can be verified by sum-check by converting the partial derivative obtained by partially differentiating the loss function into a polynomial and performing the calculation. Proof data for verifying the validity of the result can be provided to the client 20.
As a result, the client 20 can verify the processing in the learning phase of machine learning on the server 10 at high speed.
As a result, when the client 20 repeatedly learns on the server 10 using a large amount of learning data, it is possible to verify that the server 10 correctly executed the process without executing the same process on the client 20. It will be possible.

また、サーバ10は、TRIMによる悪性データを取り除く処理を、sum-checkにより検証可能な計算に置き換え、損失関数の値を最小化するという除外された条件の代わりに、損失関数の値の減少量を算出する計算を追加する。
これにより、クライアント20は、損失関数の値の減少量が正であることを確認することで、サーバ10において悪性データを取り除くために損失が減少する訓練データの部分集合が選択されたことを検証できる。
この結果、例えば、サーバ10が複数のクライアント20から訓練データを収集し、一つのモデルを構築する場合に、一部のクライアント20が悪性データを含む訓練データを提供したとしても、サーバ10は、悪性データを取り除く処理を実施していることをクライアント20に証明できる。
Further, the server 10 replaces the process of removing malicious data by TRIM with a calculation that can be verified by sum-check, and instead of the excluded condition of minimizing the value of the loss function, the amount of decrease in the value of the loss function Add a calculation to calculate.
As a result, the client 20 confirms that the amount of decrease in the value of the loss function is positive, thereby verifying that the server 10 has selected a subset of the training data whose loss is reduced in order to remove the malicious data. can.
As a result, for example, when the server 10 collects training data from a plurality of clients 20 and builds one model, even if some of the clients 20 provide training data including malicious data, the server 10 will receive training data. It is possible to prove to the client 20 that the process of removing the malicious data is being carried out.

以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. Moreover, the effects described in the above-described embodiments are merely a list of the most suitable effects resulting from the present invention, and the effects according to the present invention are not limited to those described in the embodiments.

前述の実施形態において、学習システム1は、検証のプロトコルとしてsum-checkを用いたが、sum-checkの代わりに、次の文献Bで提案されているゼロ知識sum-checkを用いてもよい。
文献B: E. Ben-Sasson, A. Chiesa, M. Forbes, A. Gabizon, M. Riabzev, and N. Spooner. “Zero Knowledge Protocols from Succinct Constraint Detection.” Proceedings of the 15th Theory of Cryptography Conference (2017).
In the above-described embodiment, the learning system 1 uses the sum-check as the verification protocol, but instead of the sum-check, the zero-knowledge sum-check proposed in the following document B may be used.
Reference B: E. Ben-Sasson, A. Chiesa, M. Forbes, A. Gabizon, M.D. Riabzev, and N. et al. Speaker. "Zero Knowledge Protocols from Protocol Detection." Proceedings of the 15th Theory of Cryptography Conference (2017).

通常のsum-checkであれば、検証の過程でサーバ10が行った処理に関する一部の情報がクライアント20に漏洩することが知られており、複数のクライアント20から訓練データを収集する場合に、訓練データの一部が別のクライアント20に漏洩することが懸念される。
これに対して、ゼロ知識sum-checkを利用することで、サーバ10は、クライアント20に情報を漏らすことなく、処理が正しく行われたことを証明できる。したがって、複数のクライアント20から訓練データを収集しモデルを構築する際に、ゼロ知識sum-checkを利用することで、サーバ10は、クライアント20から提供された訓練データを保護できる。
In the case of a normal sum-check, it is known that some information about the processing performed by the server 10 in the verification process is leaked to the client 20, and when training data is collected from a plurality of clients 20, the training data is collected. There is concern that part of the training data will be leaked to another client 20.
On the other hand, by using the zero-knowledge sum-check, the server 10 can prove that the processing is performed correctly without leaking the information to the client 20. Therefore, the server 10 can protect the training data provided by the client 20 by using the zero-knowledge sum-check when collecting the training data from the plurality of clients 20 and constructing the model.

学習システム1による学習方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。 The learning method by the learning system 1 is realized by software. When realized by software, the programs that make up this software are installed in the information processing device (computer). Further, these programs may be recorded on a removable medium such as a CD-ROM and distributed to the user, or may be distributed by being downloaded to the user's computer via a network. Further, these programs may be provided to the user's computer as a Web service via a network without being downloaded.

1 学習システム
10 サーバ(学習装置)
11 制御部
12 記憶部
20 クライアント(端末)
21 制御部
22 記憶部
111 依頼受信部
112 学習実行部
113 証明生成部
114 結果送信部
115 結果検証部(第1結果検証部)
211 依頼送信部
212 結果受信部
213 結果検証部(第2結果検証部)
1 Learning system 10 Server (learning device)
11 Control unit 12 Storage unit 20 Client (terminal)
21 Control unit 22 Storage unit 111 Request reception unit 112 Learning execution unit 113 Proof generation unit 114 Result transmission unit 115 Result verification unit (first result verification unit)
211 Request transmission unit 212 Result reception unit 213 Result verification unit (second result verification unit)

Claims (6)

機械学習による訓練前のモデル、及び訓練データを端末から受信する依頼受信部と、
前記機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する学習実行部と、
前記学習実行部による計算結果の正当性を検証するための証明データを生成する証明生成部と、
前記機械学習による訓練後のモデル、及び前記証明データを前記端末へ送信する結果送信部と、
前記端末との間で前記証明データを検証する第1結果検証部と、を備える学習装置。
A model before training by machine learning, a request receiver that receives training data from the terminal, and
Among the machine learning operations, the learning execution unit that converts the partial derivative obtained by partially differentiating the loss function into a polynomial and calculates it.
A proof generation unit that generates proof data for verifying the validity of the calculation result by the learning execution unit, and a proof generation unit.
The model after training by machine learning, the result transmission unit that transmits the certification data to the terminal, and the
A learning device including a first result verification unit for verifying the certification data with the terminal.
前記機械学習は、前記訓練データに含まれる悪性データを取り除くため、前記損失関数の値を最小化する前記訓練データの部分集合を選択する処理を含み、
前記学習実行部は、前記選択による前記損失関数の値の減少量を算出し、
前記証明生成部は、前記損失関数の値を最小化する前記訓練データの部分集合を選択する処理から、前記損失関数の値を最小化する条件を除いた前記証明データを生成する請求項1に記載の学習装置。
The machine learning includes a process of selecting a subset of the training data that minimizes the value of the loss function in order to remove the malicious data contained in the training data.
The learning execution unit calculates the amount of decrease in the value of the loss function due to the selection.
According to claim 1, the proof generation unit generates the proof data excluding the condition for minimizing the value of the loss function from the process of selecting a subset of the training data that minimizes the value of the loss function. The learning device described.
請求項1に記載の学習装置と、当該学習装置へ前記機械学習を依頼する端末と、を備えた学習システムであって、
前記端末は、
前記訓練前のモデル、及び前記訓練データを前記学習装置へ送信する依頼送信部と、
前記訓練後のモデル、及び前記証明データを前記学習装置から受信する結果受信部と、
前記学習装置との間で前記証明データを検証する第2結果検証部と、を備える学習システム。
A learning system including the learning device according to claim 1 and a terminal that requests the learning device to perform machine learning.
The terminal is
The model before training, the request transmission unit that transmits the training data to the learning device, and
The model after the training, the result receiving unit for receiving the certification data from the learning device, and the result receiving unit.
A learning system including a second result verification unit that verifies the certification data with the learning device.
請求項2に記載の学習装置と、当該学習装置へ前記機械学習を依頼する端末と、を備えた学習システムであって、
前記端末は、
前記訓練前のモデル、及び前記訓練データを前記学習装置へ送信する依頼送信部と、
前記訓練後のモデル、及び前記証明データを前記学習装置から受信する結果受信部と、
前記学習装置との間で前記証明データを検証する第2結果検証部と、を備え、
前記第2結果検証部は、前記損失関数の値の減少量が正であることを確認する学習システム。
A learning system including the learning device according to claim 2 and a terminal that requests the learning device to perform machine learning.
The terminal is
The model before training, the request transmission unit that transmits the training data to the learning device, and
The model after the training, the result receiving unit for receiving the certification data from the learning device, and the result receiving unit.
A second result verification unit for verifying the certification data with the learning device is provided.
The second result verification unit is a learning system that confirms that the amount of decrease in the value of the loss function is positive.
機械学習による訓練前のモデル、及び訓練データを端末から受信する依頼受信ステップと、
前記機械学習の演算のうち、損失関数を偏微分した偏導関数を多項式に変換して計算する学習実行ステップと、
前記学習実行ステップにおける計算結果の正当性を検証するための証明データを生成する証明生成ステップと、
前記機械学習による訓練後のモデル、及び前記証明データを前記端末へ送信する結果送信ステップと、
前記端末との間で前記証明データを検証する第1結果検証ステップと、をコンピュータが実行する学習方法。
A model before training by machine learning, a request reception step to receive training data from the terminal, and
Among the machine learning operations, the learning execution step of converting the partial derivative obtained by partially differentiating the loss function into a polynomial and calculating it,
A proof generation step for generating proof data for verifying the validity of the calculation result in the learning execution step, and a proof generation step.
The model after training by machine learning, the result transmission step of transmitting the certification data to the terminal, and
A learning method in which a computer executes a first result verification step of verifying the certification data with the terminal.
請求項1又は請求項2に記載の学習装置としてコンピュータを機能させるための学習プログラム。 A learning program for operating a computer as the learning device according to claim 1 or 2.
JP2018228456A 2018-12-05 2018-12-05 Learning equipment, learning systems, learning methods and learning programs Active JP7042414B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018228456A JP7042414B2 (en) 2018-12-05 2018-12-05 Learning equipment, learning systems, learning methods and learning programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018228456A JP7042414B2 (en) 2018-12-05 2018-12-05 Learning equipment, learning systems, learning methods and learning programs

Publications (2)

Publication Number Publication Date
JP2020091656A JP2020091656A (en) 2020-06-11
JP7042414B2 true JP7042414B2 (en) 2022-03-28

Family

ID=71013823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018228456A Active JP7042414B2 (en) 2018-12-05 2018-12-05 Learning equipment, learning systems, learning methods and learning programs

Country Status (1)

Country Link
JP (1) JP7042414B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7021809B1 (en) 2021-03-11 2022-02-17 株式会社Citadel AI Firewall devices, programs and information processing methods
KR102654687B1 (en) * 2021-12-24 2024-04-05 한양대학교 산학협력단 Efficient Verifiable Convolutional Neural Netwrok Model

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170169354A1 (en) 2015-12-10 2017-06-15 International Business Machines Corporation Regression Testing Question Answering Cognitive Computing Systems by Applying Ground Truth Virtual Checksum Techniques
WO2019008853A1 (en) 2017-07-07 2019-01-10 ソニー株式会社 Provision device, processing device, information processing method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015069256A (en) * 2013-09-27 2015-04-13 株式会社日立製作所 Character identification system
JP6741636B2 (en) * 2017-09-15 2020-08-19 Kddi株式会社 Information processing apparatus, information processing method, and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170169354A1 (en) 2015-12-10 2017-06-15 International Business Machines Corporation Regression Testing Question Answering Cognitive Computing Systems by Applying Ground Truth Virtual Checksum Techniques
WO2019008853A1 (en) 2017-07-07 2019-01-10 ソニー株式会社 Provision device, processing device, information processing method, and program

Also Published As

Publication number Publication date
JP2020091656A (en) 2020-06-11

Similar Documents

Publication Publication Date Title
US11449753B2 (en) Method for collaborative learning of an artificial neural network without disclosing training data
Tang et al. Non-interactive privacy-preserving truth discovery in crowd sensing applications
Hazay et al. Efficient RSA key generation and threshold paillier in the two-party setting
Chung et al. Improved delegation of computation using fully homomorphic encryption
US9860058B2 (en) Secret computation system, arithmetic unit, secret computation method and program
Schoenmakers et al. Universally verifiable multiparty computation from threshold homomorphic cryptosystems
JP5488596B2 (en) Signature device, signature verification device, anonymous authentication system, signature method, signature authentication method, and programs thereof
Chandran et al. {SIMC}:{ML} inference secure against malicious clients at {Semi-Honest} cost
CN108632261B (en) Multi-party quantum summation method and system
Abram et al. Low-bandwidth threshold ECDSA via pseudorandom correlation generators
Alkeilani Alkadri et al. BLAZE: practical lattice-based blind signatures for privacy-preserving applications
JP7042414B2 (en) Learning equipment, learning systems, learning methods and learning programs
US20210314142A1 (en) Methods for threshold password-hardened encryption and decryption
US11157612B2 (en) Secret tampering detection system, secret tampering detection apparatus, secret tampering detection method, and program
JP5526284B2 (en) Proxy calculation system, method, request apparatus, and program
Farzaliyev et al. Improved lattice-based mix-nets for electronic voting
Farzaliyev et al. Improved lattice‐based mix‐nets for electronic voting
Di Crescenzo et al. Single-server delegation of ring multiplications from quasilinear-time clients
Baghery et al. Benchmarking the setup of updatable zk-SNARKs
Ahmed et al. Towards quantum-secure authentication and key agreement via abstract multi-agent interaction
Dolev et al. Towards efficient private distributed computation on unbounded input streams
CN114553505B (en) Method, device, storage medium and computing equipment for generating random numbers cooperatively by multiple parties
Ganesh et al. Niwi and new notions of extraction for algebraic languages
van Dam et al. Hardware requirements for trapped-ion based verifiable blind quantum computing with a measurement-only client
Faonio et al. Fully leakage-resilient codes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220119

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: 20220208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220218

R150 Certificate of patent or registration of utility model

Ref document number: 7042414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150