WO2021106077A1 - ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム - Google Patents

ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム Download PDF

Info

Publication number
WO2021106077A1
WO2021106077A1 PCT/JP2019/046169 JP2019046169W WO2021106077A1 WO 2021106077 A1 WO2021106077 A1 WO 2021106077A1 JP 2019046169 W JP2019046169 W JP 2019046169W WO 2021106077 A1 WO2021106077 A1 WO 2021106077A1
Authority
WO
WIPO (PCT)
Prior art keywords
model update
neural network
update parameters
training data
terminal device
Prior art date
Application number
PCT/JP2019/046169
Other languages
English (en)
French (fr)
Inventor
勇 寺西
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2019/046169 priority Critical patent/WO2021106077A1/ja
Priority to JP2021560803A priority patent/JP7388445B2/ja
Priority to US17/780,249 priority patent/US20220414208A1/en
Publication of WO2021106077A1 publication Critical patent/WO2021106077A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Definitions

  • the present invention relates to a neural network update method, a terminal device, a calculation device, and a program.
  • Federated Learning in which machine learning is performed on the device side and the server receives model update parameters from these devices to update the model of the neural network, has attracted attention.
  • Federated Learning does not need to collect training data, so it is said that privacy can be protected and the amount of data communication can be reduced.
  • Patent Documents 1 and 2 show a configuration in which machine learning is performed with the above-mentioned client-server configuration.
  • Patent Document 1 includes a terminal device that transmits weight parameters obtained by learning to a management device, and a management device that receives weight parameters from the plurality of terminal devices and selects an optimum weight parameter. Is disclosed.
  • Patent Document 2 proposes a configuration in which data having higher privacy is used as training data in the above configuration.
  • Non-Patent Document 1 discloses a method called Information attacks that leaks personal information under the condition that access to an inference algorithm is possible.
  • Non-Patent Document 2 is a document that proposes a learning algorithm that is resistant to attacks like Non-Patent Document 1.
  • a method of adding noise to the data transmitted to a server such as Differential Privacy can be considered.
  • the accuracy of learning may be impaired when trying to ensure sufficient privacy.
  • data derived from an individual device such as a smartphone is used as training data, there is a possibility that information may be leaked due to the bias.
  • Non-Patent Document 2 by using the method of Non-Patent Document 2, it is possible to increase the attack resistance against Environment attacks.
  • Non-Patent Document 2 does not mention any application to machine learning in which model update parameters calculated by individual terminal devices are collected and learned.
  • the present invention provides a neural network update method, a terminal device, a calculation device, and a program that can contribute to improving resistance to Influence attacks in machine learning in which model update parameters calculated by individual terminal devices are collected and learned.
  • the purpose is.
  • the process of calculating the first model update parameter of the first neural network using the training data and the training data for pseudo-attack different from the training data are used to perform the neural network.
  • the process of calculating the second model update parameter of the second neural network different from the network can be performed by using a machine learning unit that can execute the first and second model update parameters using a predetermined quasi-isomorphic code.
  • a equipped terminal device is provided.
  • a calculation device including a calculation unit for calculating the above and a transmission unit for transmitting the updated model update parameters of the first and second neural networks to the terminal device is provided.
  • the process of calculating the first model update parameter of the first neural network using the training data and the training data for pseudo-attack different from the training data are used to perform the neural network.
  • the process of calculating the second model update parameter of the second neural network different from the network is performed, the first and second model update parameters are encrypted using a predetermined quasi-isomorphic code, and the predetermined
  • the encrypted first and second model update parameters are transmitted to the calculation device, and the calculation is performed using the first and second model update parameters received from the calculation device from another terminal device.
  • a method for updating a neural network is provided, which receives the model update parameters of the first and second neural networks and updates the first and second neural networks.
  • the method is tied to a specific machine, a computer, that uses training data to calculate model update parameters for neural networks.
  • a computer program for realizing the functions of the terminal device described above is provided.
  • the program is input to the computer device from the input device or from the outside via the communication interface, stored in the storage device, drives the processor according to a predetermined step or process, and processes the processing result step by step including the intermediate state as necessary.
  • Computer devices for that purpose typically include, for example, a processor, a storage device, an input device, a communication interface, and, if necessary, a display device that can be connected to each other by a bus.
  • the program can also be recorded on a computer-readable (non-transitional) storage medium.
  • the drawing reference reference numerals added to this outline are added to each element for convenience as an example for assisting understanding, and the present invention is not intended to be limited to the illustrated embodiment.
  • the connecting line between blocks such as drawings referred to in the following description includes both bidirectional and unidirectional.
  • the one-way arrow schematically shows the flow of the main signal (data), and does not exclude interactivity.
  • the program is executed via a computer device, which includes, for example, a processor, a storage device, an input device, a communication interface, and, if necessary, a display device.
  • this computer device is configured to be able to communicate with devices (including a computer) inside or outside the device via a communication interface regardless of whether it is wired or wireless.
  • devices including a computer
  • this computer device is configured to be able to communicate with devices (including a computer) inside or outside the device via a communication interface regardless of whether it is wired or wireless.
  • the present invention can be realized by a terminal device 20 including a machine learning unit 21, a cryptographic processing unit 22, a data transmission unit 23, and an update unit 24. ..
  • the machine learning unit 21 uses the training data to calculate the first model update parameter of the first neural network, and uses training data for pseudo-attack different from the training data. Therefore, the process of calculating the second model update parameter of the second neural network different from the neural network can be executed.
  • the encryption processing unit 22 encrypts one of the calculated first and second model update parameters by using a predetermined homomorphic encryption. For example, when the model update parameter calculated by the terminal device m is represented by ⁇ m and the homomorphic encryption is represented by Enc (x), the model update parameter after encryption is represented by Enc ( ⁇ m).
  • the data transmission unit 23 transmits the encrypted model update parameter to the predetermined calculation device 10.
  • the terminal device 20 at the left end of FIG. 2 transmits the model update parameter Enc ( ⁇ 1).
  • the terminal device 20 at the right end of FIG. 2 transmits the model update parameter Enc ( ⁇ m).
  • the computing device 10 that has received the model update parameters Enc ( ⁇ 1) and Enc ( ⁇ m) uses the received first and second model update parameters to use the model update parameters ⁇ of the first and second neural networks. To calculate. Since the model update parameter Enc ( ⁇ 1) is encrypted using homomorphic encryption, the model update parameter ⁇ of the neural network can be calculated in the encrypted state.
  • the calculation device 10 transmits the updated neural network model update parameter ⁇ to the terminal device 20.
  • the update unit 24 of the terminal device 20 receives the updated model update parameter ⁇ of the first and second neural networks from the calculation device 10, and updates the neural network corresponding to the received model update parameter ⁇ . ..
  • the model update parameter transmitted from the terminal device 20 to the calculation device 10 is encrypted and transmitted, and the calculation device 10 also calculates the model update parameter without decrypting it. It is said. Further, in the machine learning unit 21, in addition to the learning based on the original training data, the learning based on the training data for pseudo-attack is performed, so that the resistance to Environment attacks is dramatically improved.
  • FIG. 4 is a diagram showing the configuration of the first embodiment of the present invention.
  • the server 100 and M terminal devices 200-1 to 200-M capable of transmitting the model update parameter to the server 100 and receiving the model update parameter calculated by the server 100.
  • the connected configuration is shown.
  • the terminal devices 200-1 to 200-M are not particularly distinguished, they will be referred to as the terminal device 200.
  • the server 100 is connected to a plurality of sub-servers 300, and in cooperation with the sub-server 300, it is possible to execute threshold decryption of data encrypted by the additive homomorphic encryption described later.
  • FIG. 5 is a functional block diagram showing a detailed configuration of the first embodiment of the present invention.
  • the terminal device 200 includes machine learning units 201a and 201b, a cryptographic processing unit 202, a data transmission unit 203, an update unit 204, and training data storage units 205a and 205b.
  • various electronic devices devices that can share the hyperparameters described later and can calculate the model update parameters can be used. Examples of such electronic devices (devices) include smartphones, personal computers, tablet terminals, and the like.
  • the first neural network is a neural network for learning the original training data set. Inference is performed using this neural network.
  • the second neural network is a neural network for launching a pseudo attack on the first neural network. In the present embodiment, learning is performed while moving these two neural networks alternately.
  • the first neural network will be referred to as a utilization neural network
  • the second neural network will be referred to as an attack neural network.
  • the hyperparameters of the neural network for use will be ⁇
  • the hyperparameters of the neural network for attack will be ⁇ '.
  • the method described in Non-Patent Document 2 can be used.
  • the terminal device 200 of the present embodiment will be described as having two machine learning units 201a and 201b and training data storage units 205a and 205b in order to handle the above two neural networks.
  • the training data storage unit 205a stores a training data set to be learned by the neural network for use.
  • the training data storage unit 205b stores a training data set used for performing a pseudo attack using the attack neural network.
  • each of the above x (N) and x' (N') is an element of the same set X.
  • each y (N) and y' (N') are elements of the same set Y.
  • the above-mentioned hyperparameters ⁇ and ⁇ ' are determined by some method.
  • the hyperparameter determination method include a method of diverting a known hyperparameter ⁇ of a neural network.
  • the method of determining the hyperparameters ⁇ and ⁇ ' is not limited to this, and parameters may be set according to the application of the neural network and the specifications of the server 100 and the terminal device 200.
  • the epoch t is initialized to 1, and the model parameter initial value w [1] is initialized by some method.
  • Various initialization methods can be adopted depending on the design of the neural network.
  • the server 100 and the terminal device 200 share the hyperparameters ⁇ and ⁇ 'in advance.
  • a sharing method for example, a method in which the server 100 transmits ⁇ and ⁇ 'to each terminal device 200 in advance, a method in which ⁇ and ⁇ 'are written in advance in a program to be installed in the terminal device 200, and the like are adopted. can do.
  • the initial values w [1] and w' [1] of the model parameters are also shared in advance between the server 100 and the terminal device 200 by some method.
  • the machine learning unit 201a learns the neural network for use using the training data set T
  • the machine learning unit 201b learns the attack neural network using the training data set T'. It is explained as.
  • the server 100 creates a public key / private key pair (pk, sk) by using the key generation algorithm Gen ( ⁇ ) of the additive homomorphic encryption set in advance, and the public key pk is applied to all the terminal devices 200. Shall be sent in advance.
  • the additive homomorphic encryption Okamoto Uchiyama encryption, Paillier encryption, Damaged-Jurik encryption and the like can be used.
  • the encryption processing unit 202 encrypts the model update parameter calculated by the machine learning unit 201a using the public key pk. It is assumed that the server 100 and the sub-server 300 each hold the private keys sk 0 and sk 1 corresponding to the public key pk.
  • the data transmission unit 203 transmits the model update parameter encrypted by the encryption processing unit 202 to the server 100.
  • the update unit 204 updates the use neural network or the attack neural network by using the model update parameters ⁇ [t] and ⁇ ' [t, a] received from the server 100. The details will be described later together with specific operations.
  • the server 100 includes a calculation unit 101 and a transmission unit 102.
  • the calculation unit 101 aggregates the encrypted model update parameters transmitted from the terminal device 200. Further, the server 100 decrypts the encrypted model update parameter with the cooperation of the sub server 300, and calculates the model update parameters ⁇ [t] and ⁇ ' [t, a].
  • the transmission unit 102 transmits the model update parameters ⁇ [t] and ⁇ ' [t, a] calculated by the calculation unit 101 to each terminal device 200.
  • FIG. 6 is a sequence diagram showing the operation of the first embodiment of the present invention.
  • c and A are predetermined constants. Further, it is assumed that the learning rate ⁇ ' [t, a] is shared by the server 100 and all the terminal devices 200. Further, the learning rate ⁇ ' [t] is a real number that determines the susceptibility of the value of w [t] to change in the loop. There are various ways to determine the learning rate ⁇ ' [t, a] and the learning rate ⁇ ' [t] depending on the design of the neural network, but in the present invention, any value may be used, and the description thereof will be omitted.
  • the server 100 and all the terminal devices 200 repeat the following steps (step S002) to (step S106) until w [t] satisfies the termination condition.
  • a condition can be set such that the loop is terminated when (w [t + 1] ⁇ w [t] ) 2 becomes smaller than a predetermined value.
  • the termination condition is not limited to this, and one corresponding to the neural network can be adopted.
  • the server 100 randomly selects the c-element subset B' [0, t, a] of T'.
  • the server 100 calculates D [0, t, a ] by the following equation [Equation 1], and then calculates ⁇ ' [0, t, a] by [Equation 2].
  • Infer (x) in [Equation 2] indicates an inference algorithm that receives hyperparameters ⁇ , parameters w, and data x as inputs and outputs inference results.
  • This ⁇ ' [0, t, a] is the initial value of the model update parameter.
  • the terminal device 200 receives (c (m) , c' (m) ).
  • -The machine learning unit 201b of the terminal device 200 randomly selects the c (m) elemental subset B [m, t, a] of T (m).
  • T (m) indicates a training data set held by the terminal device m.
  • -The machine learning unit 201b of the terminal device 200 randomly selects the c' (m) original subset B' [m, t, a] of T'(m).
  • the machine learning unit 201b of the terminal device 200 calculates D [m, t, a] by the following equation [Equation 3], and then uses [Equation 4] to update the model update parameter ⁇ ' [of the epoch t of the terminal device m. m, t, a] is calculated.
  • the terminal device 200 encrypts the model update parameter ⁇ '[m, t, a] using the public key pk of the additive homomorphic encryption distributed in advance, and Enc (pk, ⁇ ' [m, t, a] ) is transmitted to the server 100.
  • the server 100 decodes and distributes the model update parameters of the attack neural network using the Enc (pk, ⁇ ' [m, t, a]) received from the terminal device 200 (step S005). Specifically, the server 100 calculates Enc (pk, ⁇ '[1, t, a] ) + ... + Enc (pk, ⁇ ' [M, t, a] ) received from the terminal device 200. .. As described above, Enc (pk, ⁇ ' [m, t, a] ) is encrypted using additive homomorphic encryption, so Enc (pk, ⁇ ' [1, t, a] ) +. ... + Enc (pk, ⁇ ' [M, t, a] ) can be calculated by aggregating the encrypted Enc (pk, ⁇ ' [m, t, a]).
  • the server 100 decodes the calculation result at a threshold value with the cooperation of the sub server 300 holding the private key sk 1 , and obtains the decoding result ⁇ '[t, a].
  • this threshold decoding it is possible to use what is called a k-out-of-n distribution method that can restore the original information from the distributed data of k thresholds among the distributed data of n. it can.
  • the server 100 transmits the decoding result ⁇ '[t, a] to all the terminal devices 200.
  • the machine learning unit 201a of the terminal device 200 randomly selects the c (m) element subset B [m, t] of T (m).
  • T (m) indicates a training data set held by the terminal device m.
  • the machine learning unit 201a of the terminal device 200 calculates the model update parameter ⁇ [m, t] of the epoch t of the terminal device m by the following equation [Equation 5].
  • the terminal device 200 encrypts the model update parameter ⁇ [m, t] using the public key pk of the additive homomorphic encryption distributed in advance, and sets the Enc (pk, ⁇ [m, t] ) to the server 100. Send to.
  • the server 100 decodes and distributes the model update parameters of the neural network for use by using the Enc (pk, ⁇ [m, t]) received from the terminal device 200 (step S105). Specifically, the server 100 calculates Enc (pk, ⁇ [1, t] ) + ... + Enc (pk, ⁇ [M, t] ) received from the terminal device 200. As described above, Enc (pk, ⁇ [m, t] ) is encrypted using additive homomorphic encryption, so Enc (pk, ⁇ ' [1, t] ) + ... + Enc (pk). , ⁇ [M, t] ) can be calculated by aggregating Enc (pk, ⁇ [m, t] ) in an encrypted state.
  • the server 100 decodes the calculation result by a threshold value with the cooperation of the sub server 300 holding the private key sk 1 , and obtains the decoding result ⁇ [t]. Then, the server 100 transmits the decoding result ⁇ [t] to all the terminal devices 200.
  • the server 100 and all the terminal devices 200 determine whether or not the termination condition is satisfied.
  • step a is incremented (step S108), and the processes after step S002 are repeated.
  • the model parameters w and w'of the neural network for use and the neural network for attack are updated, respectively.
  • the model update parameters transmitted from the terminal device 200 to the server 100 are encrypted and transmitted, and the model update parameters are calculated without being decrypted by the server 100 as well. Further, in the machine learning units 201a and 201b, in addition to the learning by the original training data, the learning by the training data for pseudo-attack is performed, so that the resistance to Environment attacks is dramatically improved.
  • the terminal device 200 has been described as having the machine learning units 201a and 201b and the training data storage units 205a and 205b, but it is also possible to integrate the two.
  • the procedure shown in the above-described embodiment can be realized by a program that causes a computer (9000 in FIG. 7) that functions as the server 100 and the terminal device 200 to realize the functions as these devices.
  • a computer is exemplified in a configuration including a CPU (Central Processing Unit) 9010, a communication interface 9020, a memory 9030, and an auxiliary storage device 9040 in FIG. 7. That is, the CPU 9010 in FIG. 7 may execute the machine learning program or the dark decoding program, and update each calculation parameter held in the auxiliary storage device 9040 or the like.
  • a CPU Central Processing Unit
  • each part (processing means, function) of the server 100 and the terminal device 200 shown in the above-described embodiment is a computer that causes a processor mounted on these devices to execute each of the above-mentioned processes by using its hardware. It can be realized by a program.
  • the computing device is connected to a sub-server that holds a distributed decryption key using a secret sharing method, and cooperates with the sub-server to decode model update parameters of the first and second neural networks. Can be taken.
  • [Sixth form] (Refer to the arithmetic unit from the second viewpoint above)
  • [7th form] (Refer to the method of updating the neural network from the third viewpoint above)
  • [8th form] (Refer to the program from the fourth viewpoint above)
  • the sixth to eighth forms can be developed into the second to fifth forms in the same manner as the first form.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

個々の端末装置で学習を行う形態の機械学習におけるInference attacksに対する耐性を向上させる。端末装置は、訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、擬似攻撃用の訓練データを用いて第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを実行可能な機械学習部と、所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化する暗号処理部と、所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信するデータ送信部と、前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する更新部と、を備える。

Description

ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム
 本発明は、ニューラルネットワークの更新方法、端末装置、計算装置及びプログラムに関する。
 近年、デバイス側で機械学習を行って、サーバがこれらのデバイスからモデル更新パラメータを受け取ってニューラルネットワークのモデルを更新するFederated Learningという機械学習の形態が注目されている。Federated Learningは、訓練データを集める必要がないため、プライバシーの保護やデータ通信量の削減を図ることができるとされている。
 特許文献1、2には、上記したクライアント-サーバ構成で機械学習を行う構成が示されている。例えば、特許文献1には、学習によって得られた重みパラメータを管理装置に送信する端末装置と、前記複数の端末装置から重みパラメータを受信し、最適な重みパラメータを選択する管理装置とを含む構成が開示されている。特許文献2には、上記構成において、よりプライバシー性の高いデータを訓練データとする際の構成が提案されている。
 非特許文献1には、推論アルゴリズムへのアクセスが可能であるとの条件下で、個人情報を漏洩させるInference attacksという方法が開示されている。その基本的なアイデアは以下の通りである。まず、攻撃者は訓練データ集合Tと同種の訓練データからなる集合T’={(x’(1),y’(1)),…,(x’(N),y’(N))}を用意する。例えば、Tが顔画像とその特徴量の組からなる集合であれば、攻撃者は、インターネット等から顔画像を拾い集めてT’を作ることができる。そして攻撃者は、n’=1,2,・・・,に対しx’(n’)を推論アルゴリズムに入力して、推論結果Infer(α,w,x’(n’))がy’(n’)とどの程度一致するかを判定し、一致度が高いデータは、T内のデータと類似度が高いと判定する。これにより、攻撃者は、T内にどのようなデータが入っていたのかをある程度推測できてしまう。
 非特許文献2には、非特許文献1のような攻撃に耐性のある学習アルゴリズムを提案する文献である。
特開2017-174298号公報 特開2019-28656号公報
Reza Shokri, Marco Stronati, Congzheng Song, Vitaly Shmatikov: "Membership Inference Attacks Against Machine Learning Models", IEEE Symposium on Security and Privacy 2017: 3-18、[online]、[令和1年11月21日検索]、インターネット〈URL:https://arxiv.org/pdf/1610.05820.pdf〉 Milad Nasr, Reza Shokri, Amir Houmansadr: "Machine Learning with Membership Privacy using Adversarial Regularization"、[online]、[令和1年11月21日検索]、インターネット〈URL:https://arxiv.org/pdf/1807.05852.pdf〉
 以下の分析は、本発明者によって与えられたものである。上記背景技術に記載したとおり、クライアント-サーバ構成で機械学習を行う構成では、クライアントが公開したモデル更新パラメータからそのクライアントが持っていた訓練データの情報が漏れる可能性がある。訓練データが個人情報に関連するものであった場合、これは個人情報漏えいに繋がることを意味する。
 上記のような攻撃に対する対策として、Differential Privacyなどのサーバに送信するデータにノイズを付加する方法が考えられる。しかしながら、ノイズの付加による方法では、十分なプライバシーを確保しようとすると、学習の正確性が損なわれてしまう可能性がある。さらに、スマートフォン等の個人のデバイス由来のデータを訓練データとする場合、その偏りにより、情報が漏れてしまう可能性がある。
 この点、非特許文献2の方法を用いることで、Inference attacksに対する攻撃耐性を上げることが可能となる。しかしながら、非特許文献2では、個々の端末装置で計算したモデル更新パラメータを集めて学習を行う形の機械学習への適用は何ら言及されていない。
 本発明は、個々の端末装置で計算したモデル更新パラメータを集めて学習を行う形態の機械学習におけるInference attacksに対する耐性の向上に貢献できるニューラルネットワークの更新方法、端末装置、計算装置及びプログラムを提供することを目的とする。
 第1の視点によれば、訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実行可能な機械学習部と、所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化する暗号処理部と、所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信するデータ送信部と、前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する更新部と、を備えた端末装置が提供される。
 第2の視点によれば、上記した端末装置と通信可能であり、前記端末装置から受信した第1、第2のモデル更新パラメータを用いて、前記第1、第2のニューラルネットワークのモデル更新パラメータを計算する計算部と、前記端末装置に対し、更新後の前記第1、第2のニューラルネットワークのモデル更新パラメータを送信する送信部と、を備えた計算装置が提供される。
 第3の視点によれば、訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実施し、所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化し、所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信し、前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する、ニューラルネットワークの更新方法が提供される。本方法は、訓練データを用いて、ニューラルネットワークのモデル更新パラメータを計算するコンピュータという、特定の機械に結びつけられている。
 第4の視点によれば、上記した端末装置の機能を実現するためのコンピュータプログラムが提供される。プログラムは、コンピュータ装置に入力装置又は外部から通信インターフェースを介して入力され、記憶装置に記憶されて、プロセッサを所定のステップないし処理に従って駆動させ、必要に応じ中間状態を含めその処理結果を段階毎に表示装置を介して表示することができ、あるいは通信インターフェースを介して、外部と交信することができる。そのためのコンピュータ装置は、一例として、典型的には互いにバスによって接続可能なプロセッサ、記憶装置、入力装置、通信インターフェース、及び必要に応じ表示装置を備える。また、このプログラムは、コンピュータが読み取り可能な(非トランジトリーな)記憶媒体に記録することができる。
 本発明によれば、個々の端末装置で計算したモデル更新パラメータを集めて学習を行う形態の機械学習におけるInference attacksに対する耐性を向上させることが可能となる。
本発明の一実施形態の構成を示す図である。 本発明の一実施形態の動作を説明するための図である。 本発明の一実施形態の動作を説明するための図である。 本発明の第1の実施形態の構成を示す図である。 本発明の第1の実施形態の詳細構成を表した機能ブロック図である。 本発明の第1の実施形態の動作を表したシーケンス図である。 本発明の端末装置又はサーバを構成するコンピュータの構成を示す図である。
 はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。プログラムはコンピュータ装置を介して実行され、コンピュータ装置は、例えば、プロセッサ、記憶装置、入力装置、通信インターフェース、及び必要に応じ表示装置を備える。また、このコンピュータ装置は、通信インターフェースを介して装置内又は外部の機器(コンピュータを含む)と、有線、無線を問わず、通信可能に構成される。また、図中の各ブロックの入出力の接続点には、ポート乃至インターフェースがあるが図示を省略する。また、以下の説明において、「A及び/又はB」は、A又はB、若しくは、A及びBという意味で用いる。
 本発明は、その一実施形態において、図1に示すように、機械学習部21と、暗号処理部22と、データ送信部23と、更新部24と、を備えた端末装置20にて実現できる。
 より具体的には、機械学習部21は、訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを実行可能に構成される。
 暗号処理部22は、所定の準同型暗号を用いて、計算した第1、第2のモデル更新パラメータのいずれかを暗号化する。例えば、端末装置mが計算したモデル更新パラメータをΔm、準同型暗号をEnc(x)と表した場合、暗号化後のモデル更新パラメータは、Enc(Δm)と表される。
 データ送信部23は、図2に示すように、所定の計算装置10に対して、前記暗号化したモデル更新パラメータを送信する。例えば、図2の左端の端末装置20は、モデル更新パラメータEnc(Δ1)を送信する。図2の右端の端末装置20は、モデル更新パラメータEnc(Δm)を送信する。
 前記モデル更新パラメータEnc(Δ1)やEnc(Δm)を受信した計算装置10は、受信した第1、第2のモデル更新パラメータを用いて、前記第1、第2のニューラルネットワークのモデル更新パラメータΔを計算する。前記モデル更新パラメータEnc(Δ1)は準同型暗号を用いて暗号化されているため、暗号化した状態で、ニューラルネットワークのモデル更新パラメータΔを計算することができる。
 そして、計算装置10は、図3に示すように、端末装置20に対し、更新したニューラルネットワークのモデル更新パラメータΔを送信する。
 端末装置20の更新部24は、前記計算装置10から、更新された前記第1、第2のニューラルネットワークのモデル更新パラメータΔを受信し、受信したモデル更新パラメータΔに対応するニューラルネットワークを更新する。
 以上のとおり、本実施形態によれば、端末装置20から計算装置10に送信されるモデル更新パラメータは暗号化されて送信され、計算装置10においても復号せずに、モデル更新パラメータの計算が行われる。さらに、機械学習部21において、本来の訓練データによる学習に加えて、擬似攻撃用の訓練データによる学習が行われるため、Inference attacksに対する耐性が飛躍的に向上されることになる。
[第1の実施形態]
 続いて、端末装置及び計算装置(サーバ)がハイパーパラメータを共有して、Horizontal Federated Learningを実施するようにした本発明の第1の実施形態について図面を参照して詳細に説明する。図4は、本発明の第1の実施形態の構成を示す図である。図4を参照すると、サーバ100と、このサーバ100にモデル更新パラメータを送信し、サーバ100にて計算されたモデル更新パラメータを受信可能なM台の端末装置200-1~200-Mと、が接続された構成が示されている。なお、以降、端末装置200-1~200-Mを特に区別しない場合、端末装置200と記す。
 また、サーバ100は、複数のサブサーバ300と接続され、このサブサーバ300と連携して、後記する加法準同型暗号によって暗号化されたデータのしきい値復号を実行可能となっている。
 図5は、本発明の第1の実施形態の詳細構成を表した機能ブロック図である。図5を参照すると、端末装置200は、機械学習部201a、201bと、暗号処理部202と、データ送信部203と、更新部204と、訓練データ記憶部205a、205bと、を備えている。なお、このような端末装置200としては、後記するハイパーパラメータを共有可能であり、かつ、モデル更新パラメータを計算可能な種々の電子機器(デバイス)を用いることができる。このような電子機器(デバイス)の例としては、スマートフォン、パーソナルコンピュータやタブレット端末等を挙げることができる。
 本実施形態では、Inference attacksに対する耐性を向上させるために、2つのニューラルネットワークを用意する。第1のニューラルネットワークは、本来の訓練データ集合を学習するためのニューラルネットワークである。このニューラルネットワークを用いて推論を行う。第2のニューラルネットワークは、第1のニューラルネットワークに擬似的攻撃を仕掛けるためのニューラルネットワークである。本実施形態では、この2つのニューラルネットワークを交互に動かしながら学習を行う。以下の説明では、区別のため、第1のニューラルネットワークを利用用ニューラルネットワーク、第2のニューラルネットワークを攻撃用ニューラルネットワークと呼ぶことにする。以下、利用用ニューラルネットワークのハイパーパラメータをα、攻撃用ニューラルネットワークのハイパーパラメータをα’とする。この攻撃用ニューラルネットワークの構成方法としては、非特許文献2に記載されている方法を用いることができる。
 以下、説明の便宜上、本実施形態の端末装置200は、上記2つのニューラルネットワークを取り扱うため、2つの機械学習部201a、201bと、訓練データ記憶部205a、205bを備えているものとして説明する。
 訓練データ記憶部205aは、利用用ニューラルネットワークで学習したい訓練データ集合を記憶する。以下の説明では、この訓練データ集合をT={(x(1),y(1)),・・・,(x(N),y(N))と記す。
 訓練データ記憶部205bは、攻撃用ニューラルネットワークを用いて擬似攻撃をしかける為に利用する訓練データ集合を記憶する。以下の説明では、この訓練データ集合をT’={(x’(1),y’(1)),・・・,(x’(N’),y’(N’))と記す。
 なお、上記各x(N)、x’(N’)は、同一の集合Xの元であるとする。同様に、各y(N)、y’(N’)は、同一の集合Yの元であるとする。
 また、事前準備として、前述のハイパーパラメータα、α’は、何らかの方法で決定されているものとする。ハイパーパラメータの決定方法としては、例えば、ニューラルネットワークの既知のハイパーパラメータαを流用する方法が挙げられる。もちろん、ハイパーパラメータα、α’の決定方法は、これに限られずニューラルネットワークの用途やサーバ100や端末装置200の仕様に応じたパラメータを設定すればよい。
 さらにエポックtを1に初期化し、モデルパラメータ初期値w[1]を何らかの方法で初期化する。初期化方法はニューラルネットワークの設計により様々な方法を採用することができる。
 サーバ100と端末装置200は、ハイパーパラメータα、α’を、事前に共有しておくものとする。共有方法としては、例えば、サーバ100が各端末装置200にα、α’を事前に送信する方法や、端末装置200にインストールするプログラムに事前にα、α’を書き込んでおく等の方法を採用することができる。また、モデルパラメータの初期値w[1]、w’[1]も同様に、何らかの方法でサーバ100と端末装置200間で事前に共有しておくものとする。
 以下の説明では、機械学習部201aが、訓練データ集合Tを用いて利用用ニューラルネットワークの学習を行い、機械学習部201bが、訓練データ集合T’を用いて攻撃用ニューラルネットワークの学習を行うものとして説明する。
 サーバ100は、事前に設定した加法準同型暗号の鍵生成アルゴリズムGen(κ)を使って、公開鍵・秘密鍵ペア(pk,sk)を作成し、すべての端末装置200に対し、公開鍵pkを事前に送信しておくものとする。なお、加法準同型暗号としては、岡本内山暗号、Paillier暗号、Damgaard-Jurik暗号等を用いることができる。
 暗号処理部202は、公開鍵pkを用いて、機械学習部201aが計算したモデル更新パラメータを暗号化する。この公開鍵pkに対応する秘密鍵sk、skは、サーバ100とサブサーバ300がそれぞれ保持するものとする。
 データ送信部203は、サーバ100に対し、前記暗号処理部202にて暗号化したモデル更新パラメータを送信する。
 更新部204は、サーバ100から受信したモデル更新パラメータΔ[t]、Δ’[t,a]を用いて、利用用ニューラルネットワーク又は攻撃用ニューラルネットワークを更新する。その詳細は、後に具体的な動作とともに説明する。
 サーバ100は、計算部101と、送信部102とを備える。計算部101は、端末装置200から送信された暗号化済みのモデル更新パラメータを集計する。さらに、サーバ100は、サブサーバ300の協力の下、暗号化済みのモデル更新パラメータの復号を行ってモデル更新パラメータΔ[t]、Δ’[t,a]を計算する。
 送信部102は、各端末装置200に対し、前記計算部101にて計算されたモデル更新パラメータΔ[t]、Δ’[t,a]を送信する。
 続いて、本実施形態の動作について図面を参照して詳細に説明する。図6は、本発明の第1の実施形態の動作を表したシーケンス図である。
 以下の説明中、c及びAは、事前に定められた定数である。また、学習率η’[t,a]は、サーバ100及びすべての端末装置200で共有されているものとする。また、学習率η’[t]は、ループにおいてw[t]の値の変化しやすさを決める実数である。学習率η’[t,a],学習率η’[t]は、ニューラルネットワークの設計によって様々な決め方が存在するが、本発明ではどのような値を用いてもよいので説明を省略する。
 図6を参照すると、まず、サーバ100及びすべての端末装置200は、t=1とし、w[1]、w’[1]を初期化する(ステップS001)。
 サーバ100及びすべての端末装置200は、w[t]が終了条件を満たすまで以下、(ステップS002)~(ステップS106)を繰り返す。また、上記終了条件としては、例えば、(w[t+1]-w[t]が事前に定められた値より小さくなったらループを終了するといった条件を設定することができる。終了条件は、これに限られるものではなく、ニューラルネットワークに応じたものを採用することができる。
 サーバ100及びすべての端末装置200は、w’[t,1]=w’[t]とする(ステップS002)。
 サーバ100は、a=1,・・・,Aに対し、以下の処理を実行し、端末装置200に対し、攻撃用ニューラルネットワークの更新用のパラメータを配布する(ステップS003)。
・サーバ100は、非負整数c(1),・・・,c(M)でc(1)+・・・+c(M)=cとなるものを選ぶ。
・サーバ100は、非負整数c’(0),・・・,c’(M)でc’(0)+・・・+c’(M)=cとなるものを選ぶ。
・サーバ100は、T’のc元部分集合B’[0,t,a]をランダムに選択する。
・サーバ100は、次式[数1]によりD[0,t,a]を計算した後、[数2]によりΔ’[0,t,a]を計算する。なお、[数2]中のInfer(x)は、ハイパーパラメータα、パラメータw、およびデータxを入力として受け取り、推論結果を出力する推論アルゴリズムを示す。このΔ’[0,t,a]がモデル更新パラメータの初期値となる。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
・サーバ100は、端末装置m(m=1,・・・,M)に対し、(c(m),c’(m))を送信する。
 m台(m=1,・・・M)の端末装置200は、以下の処理を実行して、攻撃用ニューラルネットワークのモデル更新パラメータの計算、送信を行う(ステップS004)。
・端末装置200は、(c(m),c’(m))を受信する。
・端末装置200の機械学習部201bは、T(m)のc(m)元部分集合B[m,t,a]をランダムに選択する。ここで、T(m)は端末装置mが保持する訓練データ集合を示す。
・端末装置200の機械学習部201bは、T’(m)のc’(m)元部分集合B’[m,t,a]をランダムに選択する。
・端末装置200の機械学習部201bは、次式[数3]によりD[m,t,a]を計算した後、[数4]により、端末装置mのエポックtのモデル更新パラメータΔ’[m,t,a]を計算する。
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
・端末装置200は、事前に配布された加法準同型暗号の公開鍵pkを用いて、モデル更新パラメータΔ’[m,t,a]を暗号化し、Enc(pk,Δ’[m,t,a])をサーバ100に送信する。
 サーバ100は、前記端末装置200から受信したEnc(pk,Δ’[m,t,a])を用いて、攻撃用ニューラルネットワークのモデル更新パラメータの復号、配布を行う(ステップS005)。具体的には、サーバ100は、端末装置200から受信したEnc(pk,Δ’[1,t,a])+・・・+Enc(pk,Δ’[M,t,a])を計算する。前述のとおり、Enc(pk,Δ’[m,t,a])は、加法準同型暗号を用いて暗号化されているので、Enc(pk,Δ’[1,t,a])+・・・+Enc(pk,Δ’[M,t,a])は、暗号化した状態のEnc(pk,Δ’[m,t,a])を集計することで計算することができる。
 さらに、サーバ100は、計算結果を、秘密鍵skを保持するサブサーバ300の協力の下にしきい値復号し、復号結果Δ’[t,a]を得る。このしきい値復号としては、n個中の分散データのうち、しきい値k個の分散データから元の情報を復元できるk-out-of-n分散方式といわれているものを用いることができる。
 そして、サーバ100は、すべての端末装置200に対し、復号結果Δ’[t,a]を送信する。
 前記復号結果Δ’[t,a]を受信した端末装置200は、w’[t,a+1]=w’[t,a]+η[t,a]Δ’[t,a]を計算する(ステップS006)。
 次に、サーバ100及びすべての端末装置200は、w’[t]=w’[t,a]とする(ステップS007)。
 次に、m台(m=1,・・・M)の端末装置200は、以下の処理を実行して、利用用ニューラルネットワークのモデル更新パラメータの計算、送信を行う(ステップS104)。
・端末装置200の機械学習部201aは、T(m)のc(m)元部分集合B[m,t]をランダムに選択する。ここで、T(m)は端末装置mが保持する訓練データ集合を示す。
・端末装置200の機械学習部201aは、次式[数5]により、端末装置mのエポックtのモデル更新パラメータΔ[m,t]を計算する。
Figure JPOXMLDOC01-appb-M000005
・端末装置200は、事前に配布された加法準同型暗号の公開鍵pkを用いて、モデル更新パラメータΔ[m,t]を暗号化し、Enc(pk,Δ[m,t])をサーバ100に送信する。
 サーバ100は、前記端末装置200から受信したEnc(pk,Δ[m,t])を用いて、利用用ニューラルネットワークのモデル更新パラメータの復号、配布を行う(ステップS105)。具体的には、サーバ100は、端末装置200から受信したEnc(pk,Δ[1,t])+・・・+Enc(pk,Δ[M,t])を計算する。前述のとおり、Enc(pk,Δ[m,t])は、加法準同型暗号を用いて暗号化されているので、Enc(pk,Δ’[1,t])+・・・+Enc(pk,Δ[M,t])は、Enc(pk,Δ[m,t])を暗号化した状態で集計することで計算することができる。
 さらに、サーバ100は、計算結果を、秘密鍵skを保持するサブサーバ300の協力の下にしきい値復号し、復号結果Δ[t]を得る。そして、サーバ100は、すべての端末装置200に対し、復号結果Δ[t]を送信する。
 前記復号結果Δ’[t]を受信した端末装置200は、w[t+1]=w[t]-η[t]Δ[t]を計算する(ステップS106)。
 サーバ100およびすべての端末装置200は、終了条件を充足したか否かを判定する。終了条件を充足している場合(ステップS107の「充足」)、サーバ100およびすべての端末装置200は、エポックt=t+1に更新、w=w[t]、w’=w’[t]とする(ステップS200)。一方、終了条件を充足していない場合(ステップS107の「非充足」)、ステップaをインクリメントし(ステップS108)、ステップS002以降の処理を繰り返す。
 以上の結果、利用用ニューラルネットワークと、攻撃用ニューラルネットワークのモデルパラメータw、w’がそれぞれ更新される。
 以上のとおり、本実施形態によれば、端末装置200からサーバ100に送信されるモデル更新パラメータは暗号化されて送信され、サーバ100においても復号せずに、モデル更新パラメータの計算が行われる。さらに、機械学習部201a、201bにおいて、本来の訓練データによる学習に加えて、擬似攻撃用の訓練データによる学習が行われるため、Inference attacksに対する耐性が飛躍的に向上されることになる。
 以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
 例えば、上記した実施形態では、端末装置200が、機械学習部201a、201b、訓練データ記憶部205a、205bを備えているものとして説明したが、両者を統合した構成とすることも可能である。
 上記した実施形態では、攻撃用ニューラルネットワークのモデル更新パラメータの計算の後に、利用用ニューラルネットワークのモデル更新パラメータの計算を行うものとして説明したが、その順序に限定はない。また、上記した実施形態では、m台(m=1,・・・M)の端末装置200のすべてから、モデル更新パラメータを受信できるものとして説明したが、すべての端末装置200からのモデル更新パラメータの受信を待たずに、モデル更新パラメータを計算してもよい。
 また、上記した実施形態に示した手順は、サーバ100及び端末装置200として機能するコンピュータ(図7の9000)に、これらの装置としての機能を実現させるプログラムにより実現可能である。このようなコンピュータは、図7のCPU(Central Processing Unit)9010、通信インターフェース9020、メモリ9030、補助記憶装置9040を備える構成に例示される。すなわち、図7のCPU9010にて、機械学習プログラムや暗復号プログラムを実行し、その補助記憶装置9040等に保持された各計算パラメータの更新処理を実施させればよい。
 即ち、上記した実施形態に示したサーバ100及び端末装置200の各部(処理手段、機能)は、これらの装置に搭載されたプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することができる。
 最後に、本発明の好ましい形態を要約する。
[第1の形態]
 (上記第1の視点による端末装置参照)
[第2の形態]
 上記した端末装置の機械学習部は、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、交互に実施する構成を採ることができる。
[第3の形態]
 上記した端末装置は、前記他の端末装置及び前記計算装置と、ハイパーパラメータを共有して、Horizontal Federated Learningを実施する構成を採ることができる。
[第4の形態]
 前記第1、第2のニューラルネットワークのモデル更新パラメータは、前記計算装置において、加法準同型暗号を用いて、前記端末装置から受信したモデル更新パラメータを暗号化した状態で加算することで計算される構成を採ることができる。
[第5の形態]
 前記計算装置は、秘密分散方式を用いて分散された復号鍵を保持するサブサーバと接続され、前記サブサーバと共同して、前記第1、第2のニューラルネットワークのモデル更新パラメータを復号する構成を採ることができる。
[第6の形態]
 (上記第2の視点による計算装置参照)
[第7の形態]
 (上記第3の視点によるニューラルネットワークの更新方法参照)
[第8の形態]
 (上記第4の視点によるプログラム参照)
 なお、上記第6~第8の形態は、第1の形態と同様に、第2~第5の形態に展開することが可能である。
 なお、上記の特許文献および非特許文献の各開示は、本書に引用をもって繰り込み記載されているものとし、必要に応じて本発明の基礎ないし一部として用いることが出来るものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、上記引用した文献の各開示事項は、必要に応じ、本発明の趣旨に則り、本発明の開示の一部として、その一部又は全部を、本書の記載事項と組み合わせて用いることも、本願の開示事項に含まれるものと、みなされる。
 10 計算装置
 11、101 計算部
 12、102 送信部
 20 端末装置
 21、201a、201b 機械学習部
 22、202 暗号処理部
 23、203 データ送信部
 24、204 更新部
 100 サーバ
 200-1~200-M 端末装置
 205a、205b 訓練データ記憶部
 300 サブサーバ
 9000 コンピュータ
 9010 CPU
 9020 通信インターフェース
 9030 メモリ
 9040 補助記憶装置

Claims (10)

  1.  訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実行可能な機械学習部と、
     所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化する暗号処理部と、
     所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信するデータ送信部と、
     前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する更新部と、
     を備えた端末装置。
  2.  前記機械学習部は、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、交互に実施する請求項1の端末装置。
  3.  前記他の端末装置及び前記計算装置と、ハイパーパラメータを共有して、Horizontal Federated Learningを実施する請求項1又は2の端末装置。
  4.  前記第1、第2のニューラルネットワークのモデル更新パラメータは、前記計算装置において、加法準同型暗号を用いて、前記端末装置から受信したモデル更新パラメータを暗号化した状態で加算することで計算される請求項1から3いずれか一の端末装置。
  5.  訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実行可能な機械学習部と、
     所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化する暗号処理部と、
     所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信するデータ送信部と、
     前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて更新された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する更新部と、を備えた端末装置と通信可能であり、
     前記端末装置から受信した第1、第2のモデル更新パラメータを用いて、前記第1、第2のニューラルネットワークのモデル更新パラメータを計算する計算部と、
     前記端末装置に対し、更新後の前記第1、第2のニューラルネットワークのモデル更新パラメータを送信する送信部と、
     を備えた計算装置。
  6.  前記端末装置と前記他の端末装置とハイパーパラメータを共有して、Horizontal Federated Learningを実施する請求項5の計算装置。
  7.  前記計算部は、加法準同型暗号を用いて、前記第1、第2のモデル更新パラメータを暗号化した状態で加算することで、前記第1、第2のニューラルネットワークのモデル更新パラメータを計算する請求項5又は6の計算装置。
  8.  前記計算装置は、秘密分散方式を用いて分散された復号鍵を保持するサブサーバと接続され、
     前記計算部は、前記サブサーバと共同して、前記第1、第2のニューラルネットワークのモデル更新パラメータを復号する請求項5から7いずれか一の計算装置。
  9.  訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実施し、
     所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化し、
     所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信し、
     前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する、
     ニューラルネットワークの更新方法。
  10.  訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実施する処理と、
     所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化する処理と、
     所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信する処理と、
     前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する処理と、
     をコンピュータに実行させるプログラム。
PCT/JP2019/046169 2019-11-26 2019-11-26 ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム WO2021106077A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/046169 WO2021106077A1 (ja) 2019-11-26 2019-11-26 ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム
JP2021560803A JP7388445B2 (ja) 2019-11-26 2019-11-26 ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム
US17/780,249 US20220414208A1 (en) 2019-11-26 2019-11-26 Method for updating a neural network, terminal apparatus, computation apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/046169 WO2021106077A1 (ja) 2019-11-26 2019-11-26 ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム

Publications (1)

Publication Number Publication Date
WO2021106077A1 true WO2021106077A1 (ja) 2021-06-03

Family

ID=76129280

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/046169 WO2021106077A1 (ja) 2019-11-26 2019-11-26 ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム

Country Status (3)

Country Link
US (1) US20220414208A1 (ja)
JP (1) JP7388445B2 (ja)
WO (1) WO2021106077A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113591040A (zh) * 2021-06-23 2021-11-02 北京百度网讯科技有限公司 加密方法及其装置、解密方法及其装置、电子设备和介质
CN114726496A (zh) * 2022-03-07 2022-07-08 电子科技大学 一种安全的应用于纵向联邦学习的特征选择方法
WO2023175923A1 (ja) * 2022-03-18 2023-09-21 日本電信電話株式会社 学習装置、学習システム、学習方法、およびプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210312336A1 (en) * 2020-04-03 2021-10-07 International Business Machines Corporation Federated learning of machine learning model features
CN115719094B (zh) * 2023-01-06 2023-04-28 腾讯科技(深圳)有限公司 基于联邦学习的模型训练方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KEITH BONAWITZ ; VLADIMIR IVANOV ; BEN KREUTER ; ANTONIO MARCEDONE ; H. BRENDAN MCMAHAN ; SARVAR PATEL ; DANIEL RAMAGE ; AARON SEG: "Practical Secure Aggregation for Privacy Preserving Machine Learning", IACR, INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH, vol. 20170405:163240, 5 April 2017 (2017-04-05), pages 1 - 20, XP061023038, DOI: 10.1145/3133956.3133982 *
NASR MILAD MILAD@CS.UMASS.EDU; SHOKRI REZA REZA@COMP.NUS.EDU.SG; HOUMANSADR AMIR AMIR@CS.UMASS.EDU: "Machine Learning with Membership Privacy using Adversarial Regularization", COMPUTER AND COMMUNICATIONS SECURITY, ACM, 2 PENN PLAZA, SUITE 701NEW YORKNY10121-0701USA, 15 January 2018 (2018-01-15) - 19 October 2018 (2018-10-19), 2 Penn Plaza, Suite 701New YorkNY10121-0701USA, pages 634 - 646, XP058449200, ISBN: 978-1-4503-5693-0, DOI: 10.1145/3243734.3243855 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113591040A (zh) * 2021-06-23 2021-11-02 北京百度网讯科技有限公司 加密方法及其装置、解密方法及其装置、电子设备和介质
CN113591040B (zh) * 2021-06-23 2023-10-24 北京百度网讯科技有限公司 加密方法及其装置、解密方法及其装置、电子设备和介质
CN114726496A (zh) * 2022-03-07 2022-07-08 电子科技大学 一种安全的应用于纵向联邦学习的特征选择方法
CN114726496B (zh) * 2022-03-07 2023-10-03 电子科技大学 一种安全的应用于纵向联邦学习的特征选择方法
WO2023175923A1 (ja) * 2022-03-18 2023-09-21 日本電信電話株式会社 学習装置、学習システム、学習方法、およびプログラム

Also Published As

Publication number Publication date
JPWO2021106077A1 (ja) 2021-06-03
JP7388445B2 (ja) 2023-11-29
US20220414208A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
CN110572253B (zh) 一种联邦学习训练数据隐私性增强方法及系统
WO2021106077A1 (ja) ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム
EP3779717B1 (en) Multiparty secure computing method, device, and electronic device
CN110190959B (zh) 基于连续变量量子神经网络的加解密方法
US9787647B2 (en) Secure computer evaluation of decision trees
US9948460B2 (en) Multivariate cryptography based on clipped hopfield neural network
CN110138802B (zh) 用户特征信息获取方法、装置,区块链节点、网络,及存储介质
US20160020898A1 (en) Privacy-preserving ridge regression
CN111566990A (zh) 有不受信任的装置的安全密钥协议
Niu et al. Toward verifiable and privacy preserving machine learning prediction
Peng Danger of using fully homomorphic encryption: A look at Microsoft SEAL
US20220374544A1 (en) Secure aggregation of information using federated learning
CN111581648B (zh) 在不规则用户中保留隐私的联邦学习的方法
CN112818369A (zh) 一种联合建模方法及装置
CN114239862A (zh) 一种保护用户数据隐私的抗拜占庭攻击的联邦学习方法
KR20230148200A (ko) 멀티소스 데이터의 데이터 처리 방법, 장치 및 전자 기기, 저장 매체
CN113420886B (zh) 纵向联邦学习模型的训练方法、装置、设备及存储介质
CN116502732B (zh) 基于可信执行环境的联邦学习方法以及系统
CN117675270A (zh) 面向纵向联邦学习的多模态数据加密传输方法及系统
CN116681141A (zh) 隐私保护的联邦学习方法、终端及存储介质
CN113645022B (zh) 一种确定隐私集合交集方法、装置、电子设备及存储介质
US11727125B2 (en) Emergent language based data encryption
CN114357504A (zh) 基于隐私保护的联邦学习方法以及相关设备
Meraouche et al. Learning asymmetric encryption using adversarial neural networks
Shen et al. Privacy-preserving multi-party deep learning based on homomorphic proxy re-encryption

Legal Events

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

Ref document number: 19954281

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021560803

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19954281

Country of ref document: EP

Kind code of ref document: A1