WO2023188259A1 - 秘密グローバルモデル計算装置、秘密グローバルモデル計算システム構成方法、プログラム - Google Patents

秘密グローバルモデル計算装置、秘密グローバルモデル計算システム構成方法、プログラム Download PDF

Info

Publication number
WO2023188259A1
WO2023188259A1 PCT/JP2022/016503 JP2022016503W WO2023188259A1 WO 2023188259 A1 WO2023188259 A1 WO 2023188259A1 JP 2022016503 W JP2022016503 W JP 2022016503W WO 2023188259 A1 WO2023188259 A1 WO 2023188259A1
Authority
WO
WIPO (PCT)
Prior art keywords
global model
secret
secret global
computing devices
local
Prior art date
Application number
PCT/JP2022/016503
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/JP2022/016503 priority Critical patent/WO2023188259A1/ja
Publication of WO2023188259A1 publication Critical patent/WO2023188259A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system

Definitions

  • the present invention relates to a federated learning technique, and particularly to a technique for efficiently learning a model by equipping a device constituting a secure computing system that calculates a global model with a function of learning a local model.
  • Federated Learning technology is a technology that allows learning without consolidating learning data into one device.
  • a federated learning technology there is, for example, FedAVG described in Non-Patent Document 1.
  • FIG. 1 is a diagram showing the basic configuration of a federated learning system.
  • the federated learning system 90 includes M local model learning devices 700 1 , . . . , 700 M (M is an integer of 2 or more) and a global model calculation device 900 .
  • the basic operation of the federated learning system 90 is as follows.
  • the local model learning devices 700 1 , . . . , 700 M learn local models using learning data recorded in their own recording units.
  • the local model learning devices 700 1 , . . . , 700 M transmit the local models to the global model calculation device 900 via the network 800.
  • Global model calculation device 900 calculates a global model using the received local model.
  • the global model calculation device 900 transmits the global model to the local model learning devices 700 1 , . . . , 700 M via the network 800.
  • the local model learning devices 700 1 , . . . , 700 M use the received global model to learn the local model again.
  • the federated learning system 90 advances model learning.
  • the global model calculation device 900 manages the parameters of the local model using the local model management table.
  • the learning data is not taken out of the local model learning device, so it is possible to eliminate concerns about data taking out, and at the same time, it is possible to speed up the learning by parallel learning.
  • the parameters of the model being trained are leaked in the form of tracking during the communication process between the local model learning devices 700 1 , ..., 700 M and the global model calculation device 900, there is a risk that the learning data will be inferred. be. In order to avoid such risks, it is conceivable to use secure computation for global model computation.
  • Secure calculation is a method of obtaining the result of a specified operation without restoring the encrypted numerical value (for example, see Reference Non-Patent Document 1).
  • the method in Reference Non-Patent Document 1 performs encryption by distributing multiple pieces of information from which numerical values can be restored to three secret computing devices, and performs addition/subtraction, constant sum, multiplication, and constant multiplication without restoring numerical values.
  • the results of logical operations (negation, logical product, logical sum, exclusive disjunction) and data format conversion (integer, binary number) are kept in a distributed state, that is, encrypted, in three secret computing devices. I can do it.
  • the number of distributions is not limited to 3, but can be N (N is an integer of 3 or more), and a protocol that realizes secure computation through cooperative computation by N secure computing devices is called a multiparty protocol.
  • N is an integer of 3 or more
  • a protocol that realizes secure computation through cooperative computation by N secure computing devices is called a multiparty protocol.
  • the number of devices that learn local models tends to be excessively large compared to the number of devices that compose the secure computing system that computes global models. In such a case, since it takes time to register the local model in the secure computing system, there is a problem in that the time required for model learning increases as a whole.
  • an object of the present invention is to provide a technique for efficiently learning a model in federated learning by equipping a device constituting a secure calculation system that calculates a global model with a function of learning a local model.
  • K is an integer of 3 or more
  • N is an integer satisfying 3 ⁇ N ⁇ K
  • a federated learning system includes K secret global model calculation devices that learn local models using learning data.
  • a secret global model computing device in which any N secret global model computing devices among the K secret global model computing devices run a secret global model computing system that secretly computes a global model from N local models. It can be configured by sending a query to check the availability of computing resources to K-1 secret global model computing devices excluding itself, and a selection unit that selects N-1 secret global model computing devices with large availability of computing resources; and N secret global models including the selected N-1 secret global model computing devices and itself.
  • a system configuration unit that configures a secret global model calculation system using a calculation device.
  • K is an integer of 3 or more
  • P is an integer of 2 or more
  • N is an integer that satisfies 3 ⁇ N ⁇ K/P
  • the secret is to learn a local model using K pieces of training data.
  • a secret global model computing device in a federated learning system including global model computing devices, wherein any N secret global model computing devices among the K secret global model computing devices extract a global model from N local models.
  • K-(p-1)N items that can configure a secret global model calculation system that performs secret calculations and are not selected for configuring a secret global model calculation system (where p is an integer satisfying 1 ⁇ p ⁇ P) ) among the private global model computing devices excluding itself, sends a query to check the availability of computing resources to K-(p-1)N-1 secret global model computing devices excluding itself, and (p-1) a selection unit that selects N-1 secret global model computing devices with large availability of computing resources from among the N-1 secret global model computing devices; and the selected N-1 secret global model computing devices.
  • a system component that constitutes a secret global model computing system (hereinafter referred to as the p-th secret global model computing system) is composed of N secret global model computing devices including the secret global model computing device of 1, ..., P ⁇ , if L is an integer greater than or equal to 2, and p is an integer that satisfies ⁇ (p)>1, the p'-th secret global model calculation system is used for one learning out of L times.
  • the devices forming the secure computation system that calculates the global model are equipped with the function of learning the local model, thereby making it possible to efficiently learn the model.
  • FIG. 2 is a diagram showing the basic configuration of a federated learning system 90.
  • FIG. 1 is a block diagram showing the configuration of a federated learning system 10.
  • FIG. 2 is a block diagram showing the configuration of a secret global model calculation device 100 n .
  • 3 is a flowchart showing the operation of the federated learning system 10.
  • FIG. 2 is a block diagram showing the configuration of a local model generation unit 130 n . It is a flowchart showing the operation of the local model generation unit 130n .
  • 1 is a diagram illustrating an example of a functional configuration of a computer that implements each device in an embodiment of the present invention.
  • ⁇ (caret) represents a superscript.
  • x y ⁇ z indicates that y z is a superscript to x
  • x y ⁇ z indicates that y z is a subscript to x
  • _ (underscore) represents a subscript.
  • x y_z indicates that y z is a superscript to x
  • x y_z indicates that y z is a subscript to x.
  • the secure computation in the invention of this application is constructed by a combination of existing secure computation operations.
  • [Anonymization] Let [[x]] be the value of x concealed by secret sharing (hereinafter referred to as the share of x). Any method can be used as the secret sharing method. For example, Shamir secret sharing on GF(2 61 -1) and replicated secret sharing on Z 2 can be used.
  • Multiple secret sharing methods may be used in combination within one algorithm. In this case, mutual conversion shall be made as appropriate.
  • [[ ⁇ x]] is a vector whose n-th element is the share [[x n ]] of the n-th element x n of ⁇ x.
  • [[A]] be the (m, n)th element of A, a m, Let it be a matrix whose (m, n)th element is the share of n [[a m,n ]].
  • Reference Non-Patent Document 1 and Reference Non-Patent Document 2 are methods for obtaining [[x]] from x (concealment) and methods for obtaining x from [[x]] (restoration).
  • Reference non-patent document 2 Shamir, A., “How to share a secret”, Communications of the ACM, Vol.22, No.11, pp.612-613, 1979.
  • [Addition, subtraction, multiplication, division] Addition [[x]]+[[y]] by secure calculation takes [[x]], [[y]] as inputs and outputs [[x+y]].
  • Subtraction [[x]]-[[y]] by secret calculation takes [[x]], [[y]] as inputs and outputs [[xy]].
  • Multiplication [[x]] ⁇ [[y]] (sometimes expressed as mul([[x]], [[y]])) by secure calculation is Takes as input and outputs [[x ⁇ y]].
  • the secure division [[x]]/[[y]] (sometimes expressed as div([[x]], [[y]])) divides [[x]], [[y]] into Takes as input and outputs [[x/y]].
  • Reference Non-Patent Document 3 Ben-Or, M., Goldwasser, S. and Wigderson, A., “Completeness theorems for non-cryptographic fault-tolerant distributed computation”, Proceedings of the twentieth annual ACM symposium on Theory of computing, ACM, pp. 1-10, 1988.
  • Reference Non-Patent Document 4 Gennaro, R., Rabin, M. O.
  • FIG. 2 is a block diagram showing the configuration of the federated learning system 10.
  • the federated learning system 10 includes K (K is an integer of 3 or more) secret global model computing devices 100 1 , . . . , 100 K that learn local models using learning data.
  • the secret global model calculation devices 100 1 , . . . , 100 K are connected to the network 800 and can communicate with each other.
  • the network 800 may be, for example, a communication network such as the Internet or a broadcast channel.
  • FIG. 3 is a block diagram showing the configuration of the secret global model calculation device 100 n (1 ⁇ n ⁇ K).
  • FIG. 4 is a flowchart showing the operation of the federated learning system 10.
  • the secret global model calculation device 100n includes a selection unit 110n , a system configuration unit 120n , a local model generation unit 130n , a parameter share registration unit 140n , and a learning start condition determination unit 150. n , a global model calculating section 160 n , a transmitting/receiving section 180 n , and a recording section 190 n .
  • Each component of the secret global model calculation device 100 n except for the selection unit 110 n , system configuration unit 120 n , local model generation unit 130 n , parameter share registration unit 140 n , transmission/reception unit 180 n , and recording unit 190 n is, for example, , concealment, addition, subtraction, multiplication, division, logical operations, and comparison operations, among the operations required for global model calculations, execute the operations necessary to realize the functions of each component. It is configured so that it can be done.
  • a specific functional configuration for realizing each calculation is sufficient to be a configuration that can execute existing algorithms, and since these are conventional configurations, detailed explanations will be omitted.
  • the recording unit 190 n is a component that records information necessary for processing by the secret global model calculation device 100 n .
  • the recording unit 190 n records learning data, local model parameters, and global model parameters, for example. Note that the learning data is updated as appropriate.
  • the global model is a model having the same structure as the local model.
  • N is an integer satisfying 3 ⁇ N ⁇ K
  • secret global model calculation devices among the K secret global model calculation devices secretly calculate a global model from N local models. Can configure the system.
  • a secret global model calculation system constituted by N secret global model calculation devices is a multi-party protocol by cooperative calculation by any N secret global model calculation devices among the K secret global model calculation devices. Realize secure computation of global models. Therefore, N secret global model calculation devices are defined as secret global model calculation devices 100 i_1 , ..., 100 i_N (where i 1 , ..., i N are integers satisfying 1 ⁇ i 1 ⁇ ... ⁇ i N ⁇ K). Then, the learning start condition determination means 150 (not shown) of the secret global model calculation system constituted by the N secret global model calculation devices is composed of learning start condition determination units 150 i_1 , . . . , 150 i_N , The global model calculation means 160 (not shown) is composed of global model calculation units 160 i_1 , . . . , 160 i_N .
  • the selection unit 110 selects one secret global model computing device 100 k_0 (where k 0 is an integer satisfying 1 ⁇ k 0 ⁇ K) among the secret global model computing devices 100 n (1 ⁇ n ⁇ K).
  • k_0 uses the transmitting/receiving unit 180 k_0 to send a query to check the availability of computing resources to K-1 secret global model computing devices other than itself, and performs the corresponding K-1 secret global model computations.
  • N-1 secret global model computing devices with large availability of computing resources are selected from among the devices.
  • the secret global model calculation device 100 k_0 will be referred to as the master secret global model calculation device.
  • N secret global model computing devices including the selected N-1 secret global model computing devices and the master secret global model computing device are secret global model computing devices 100 i_1 , ..., 100 i_N (where i 1 , ..., i N is an integer satisfying 1 ⁇ i 1 ⁇ ... ⁇ i N ⁇ K). Therefore, k 0 matches any one of i 1 , ..., i N.
  • k 0 i ⁇ n (where ⁇ n is an integer satisfying 1 ⁇ n ⁇ N).
  • the computational resources refer to, for example, the CPU and communication section of a general-purpose computer used to configure the secret global model computing device.
  • the system configuration unit 110 i_ ⁇ n of the secret global model computing device 100 i_ ⁇ n which is the master secret global model computing device, uses the transmitting/receiving unit 180 i_ ⁇ n to transmit the secret global model computing device 100 i_1 , . . . , 100 i_ ⁇ n-1 , 100 i_ ⁇ n+1 , ..., 100 i_N mutually exchange data necessary for configuring a secret global model calculation system, and N secret global model calculation devices 100
  • a secret global model calculation system is constructed with i_1 ,..., 100 i_N .
  • the data required to configure the secret global model calculation system is, for example, the network address (eg, IP address) of the secret global model calculation device that makes up the secret global model calculation system.
  • FIG. 5 is a block diagram showing the configuration of the local model generation unit 130 n .
  • FIG. 6 is a flowchart showing the operation of the local model generation unit 130 n .
  • the local model generation unit 130 n (1 ⁇ n ⁇ K) includes a local model learning unit 131 n , a parameter share calculation unit 132 n , a global model acquisition unit 133 n , and a parameter calculation unit 134 n . and a learning start condition determination unit 135 n .
  • the local model learning unit 131 n learns the local model using the learning data recorded in the recording unit 190 n .
  • the local model learning unit 131 n may set the initial values of the parameters of the local model using the initial values recorded in advance in the recording unit 190 n , or may set the initial values of the parameters of the local model using random numbers. The initial values of the parameters of the local model may be set using the initial values generated.
  • the local model learning unit 131 n sets the initial values of the local model parameters using the share of the global model parameters acquired in S133 n , which will be described later.
  • the parameter share calculation unit 132 n calculates the share of the local model parameters from the local model parameters learned in S131 n .
  • the parameter share calculation unit 132 n uses the transmission/reception unit 180 n to locally transmit information to the private global model calculation devices 100 i_1 , ..., 100 i_n-1 , 100 i_n+1 , ..., 100 i_N excluding itself. Send a share of the model's parameters.
  • the global model acquisition unit 133 n uses the transmitting/receiving unit 180 n to remove the private global model computing device 100 i_1 , after completing the process in S132 n or after a predetermined period of time has passed since the process in S135 n ends. ..., 100 i_n-1 , 100 i_n+1 , ..., 100 i_N to obtain the share of parameters of the global model.
  • the parameter calculation unit 134 n calculates the global model parameters from the global model parameter share obtained in S133 n and the global model parameter share calculated by itself.
  • the parameter calculation unit 134 n records the calculated parameters of the global model in the recording unit 190 n . Note that at least two global model parameters, the global model parameter obtained in the current calculation and the global model parameter obtained in the previous calculation, are recorded in the recording unit 190 n .
  • the learning start condition determination unit 135n compares the parameters of the global model calculated in S134n with the parameters of the global model obtained in the previous calculation, and if the parameters of the two global models are different, , it is determined that the learning start condition is satisfied and the process of S131 n is executed, while in other cases, it is determined that the learning start condition is not satisfied and the process returns to S133 n .
  • the parameter share registration unit 140 n of the secret global model computing device 100 n uses the transmitting/receiving unit 180 n to receive the secret global model computing device 100 i_1 other than itself. , ..., 100 i_n-1 , 100 i_n+1 , ..., 100 i_N
  • the share of the parameters of the local model learned by one local model learning device, or the share of the parameters of the local model learned by itself is input, and the share of local model parameters is registered in the local model management table.
  • the local model management table is a table for managing the share of parameters of N local models, and is recorded in the recording unit 190 n .
  • the learning start condition determining means 150 determines whether the number of newly registered local models since the previous calculation of the global model exceeds a predetermined value (the value is a value of 1 or more and N or less) or If the value is greater than or equal to the predetermined value, it is determined that the learning start condition is satisfied and the process of S160 is executed; otherwise, it is determined that the learning start condition is not satisfied and the process of S140 is executed. Return to processing.
  • a predetermined value the value is a value of 1 or more and N or less
  • the global model calculation means 160 calculates the global model parameter share using the local model parameter share managed in the local model management table. For example, the global model calculation means 160 takes the average of the shares of the corresponding parameters from the first local model to the Nth local model as the share of the parameters of the global model.
  • a device forming a secure computation system that calculates a global model is provided with a function of learning a local model, thereby making it possible to efficiently learn a model.
  • the secret global model calculation system by configuring the secret global model calculation system with the secret global model calculation device equipped with a local model learning function and the secret global model calculation device with available calculation resources, the amount of calculation and communication can be suppressed and efficiently achieved. It becomes possible to learn the model.
  • the combination of secret global model computing devices that make up the secret global model computing system it is possible to suppress the risk of leakage due to collusion of operators.
  • one secret global model calculation system is configured, but the number of secret global model calculation systems may be two or more.
  • each of the two or more secret global model calculation systems constitutes one layer, and the federated learning system as a whole constitutes a layer like the calculation in a neural network.
  • the parameters of the global model calculated by the secret global model calculation system constitute a layer.
  • the secret global model calculation system that makes up the next layer uses this share to set initial values when learning the local model, and learns the model.
  • any N (N is an integer satisfying 3 ⁇ N ⁇ K/2) secret global model calculation devices among the K secret global model calculation devices secretly calculate the global model from the N local models.
  • a secret global model calculation system can be constructed.
  • the selection unit 110 selects one secret global model computing device 100 k_0 (where k 0 is an integer satisfying 1 ⁇ k 0 ⁇ K) among the secret global model computing devices 100 n (1 ⁇ n ⁇ K).
  • k_0 uses the transmitting/receiving unit 180 k_0 to send a query to check the availability of computing resources to K-1 secret global model computing devices other than itself, and performs the corresponding K-1 secret global model computations.
  • N-1 secret global model computing devices with large availability of computing resources are selected from among the devices.
  • the secret global model calculation device 100 k_0 will be referred to as the first master secret global model calculation device.
  • one secret global model computing device 100 k_1 among the secret global model computing devices 100 n (1 ⁇ n ⁇ K) (where k 1 is an integer satisfying 1 ⁇ k 1 ⁇ K, and i 1 , ..., i N ), that is, one secret global model computing device 100 k_1 among the KN secret global model computing devices 100 n that are not selected for the secret global model computing system configuration.
  • the selection unit 110 k_1 uses the transmitting/receiving unit 180 k_1 to determine the availability of computing resources for itself and KN-1 secret global model computing devices 100 n excluding the secret global model computing devices 100 i_1 , . . . , 100 i_N .
  • N secret global model computing devices including the selected N-1 secret global model computing devices and the second master secret global model computing device are classified as secret global model computing devices 100 i_N+1 , ..., 100 i_2N (however, , i N+1 , ..., i 2N are integers satisfying 1 ⁇ i N+1 ⁇ ... ⁇ I 2N ⁇ K, and are different from any of i 1 , ..., i N ).
  • k 1 matches any one of i N+1 , ..., i 2N .
  • k 1 i ⁇ n (where ⁇ n is an integer satisfying 1 ⁇ n ⁇ N).
  • the secret global model computing device 100 k_1 is one that knows in advance that the secret global model computing devices 100 i_1 , ..., 100 i_N cannot be selected, for example, by broadcasting by the secret global model computing devices 100 i_ ⁇ n. shall be.
  • the system configuration unit 110 i_ ⁇ n of the secret global model computing device 100 i_ ⁇ n which is the first master secret global model computing device, uses the transmitting/receiving unit 180 i_ ⁇ n to transmit the secret global model computing device 100 i_1 , . . . , 100 i_ ⁇ n-1 , 100 i_ ⁇ n+1 , ..., 100 i_N mutually exchange data necessary to configure a secret global model calculation system, and perform N secret global model calculations.
  • the devices 100 i_1 , . . . , 100 i_N constitute a secret global model calculation system (hereinafter referred to as a first secret global model calculation system).
  • the system configuration unit 110 i_ ⁇ n of the secret global model computing device 100 i_ ⁇ n which is the second master secret global model computing device, uses the transmitting/receiving unit 180 i_ ⁇ n to transmit the secret global model computing device 100 i_N+1 , ..., 100 i_ ⁇ n-1 , 100 i_ ⁇ n+1 , ..., 100 i_2N mutually exchange data necessary to configure a secret global model calculation system, and create N secret global models.
  • the model calculation devices 100 i_N+1 , . . . , 100 i_2N constitute a secret global model calculation system (hereinafter referred to as a second secret global model calculation system).
  • the local model learning unit 131 n learns the local model using the learning data recorded in the recording unit 190 n . From the first local model learning, the local model learning unit 131 n sets the initial values of the local model parameters using the share of the global model parameters acquired in S133 n , which will be described later.
  • the parameter share calculation unit 132 n calculates the share of the local model parameters from the local model parameters learned in S131 n .
  • the parameter share calculation unit 132 n uses the transmission/reception unit 180 n to transmit the secret global model calculation device 100 i_N+1 , ..., 100 i_n-1 , 100 i_n+1 , ..., 100 i_2N excluding itself. Send a share of the local model's parameters to .
  • the global model acquisition unit 133 n uses the transmitting / receiving unit 180 n to acquire the secret global model calculation devices 100 i_1 , . , or obtain the share of global model parameters from the secret global model calculation devices 100 i_N+1 , . . . , 100 i_n-1 , 100 i_n+1 , . . . , 100 i_2N excluding itself.
  • the global model parameter shares are acquired from the secret global model calculation devices 100 i_1 , . . . , 100 i_N .
  • the shares of global model parameters are acquired from the secret global model calculation devices 100 i_1 , ..., 100 i_N in one acquisition out of L times (L is an integer of 2 or more), and L
  • L is an integer of 2 or more
  • the share of the parameters of the global model is acquired from the secret global model calculation devices 100 i_N+1 , . . . , 100 i_n-1 , 100 i_n+1 , .
  • the local model learning unit 131 n determines the share of the parameters of the global model of the first secret global model calculation system in one learning out of L times, and the second share in the remaining L-1 learning out of L times.
  • the local model is learned by using the share of the parameters of the global model of the secret global model calculation system as the initial value of the parameters of the local model.
  • the parameter calculation unit 134 n calculates the global model from the global model parameter share obtained in S133 n , or the global model parameter share obtained in S133 n and the global model parameter share calculated by itself. Calculate model parameters.
  • the parameter calculation unit 134 n records the calculated parameters of the global model in the recording unit 190 n . Note that at least two global model parameters, the global model parameter obtained in the current calculation and the global model parameter obtained in the previous calculation, are recorded in the recording unit 190 n .
  • the learning start condition determination unit 135n compares the parameters of the global model calculated in S134n with the parameters of the global model obtained in the previous calculation, and if the parameters of the two global models are different, , it is determined that the learning start condition is satisfied and the process of S131 n is executed, while in other cases, it is determined that the learning start condition is not satisfied and the process returns to S133 n .
  • the global model acquisition unit 133 n acquires the share of the parameters of the global model generated, but the reverse may be possible.
  • the share of the parameters of the global model generated by the model acquisition unit 133 n may be acquired.
  • the parameter share registration unit 140 n of the secret global model computing device 100 n uses the transmitting/receiving unit 180 n to receive the secret global model computing device 100 i_1 other than itself. , ..., 100 i_n-1 , 100 i_n+1 , ..., 100 i_N
  • the share of the parameters of the local model learned by one local model learning device, or the share of the parameters of the local model learned by itself is input, and the share of local model parameters is registered in the local model management table.
  • the parameter share registration unit 140 n of the secret global model computing device 100 n uses the transmitting/receiving unit 180 n to receive secret global model computing devices other than itself.
  • a share of the parameters of the local model learned by one local model learning device among 100 i_N+1 , ..., 100 i_n-1 , 100 i_n+1 , ..., 100 i_2N , or a local model learned by itself The share of the parameters of the local model is input, and the share of the parameters of the local model is registered in the local model management table.
  • the learning start condition determination means 150 of the first secret global model calculation device and the learning start condition determination means 150 of the second secret global model calculation device respectively determine whether the newly registered local If the number of models exceeds a predetermined value (the value is a value greater than or equal to 1 and less than N), it is determined that the learning start condition is satisfied, and the process of S160 is performed. However, in other cases, it is determined that the learning start condition is not satisfied, and the process returns to S140.
  • a predetermined value the value is a value greater than or equal to 1 and less than N
  • the global model calculation means 160 of the first secret global model calculation device and the global model calculation means 160 of the second secret global model calculation device each use the share of the parameters of the local model managed in the local model management table. Then, calculate the share of the parameters of the global model.
  • a secret global model calculation system can be constructed.
  • one of the K-(p-1)N (where p is an integer satisfying 1 ⁇ p ⁇ P) secret global model computing devices that have not been selected for the secret global model computing system configuration.
  • the selection unit 110n of the secret global model calculation device 100n (hereinafter referred to as the p-th master secret global model calculation device) uses the transmitting and receiving unit 180n to select K-(p-1)N-1 items excluding itself.
  • a query to check the availability of computing resources is sent to the secret global model computing device, and a query is sent to the secret global model computing devices that have the largest available computing resources among the K-(p-1)N-1 secret global model computing devices. Select N-1 secret global model computing devices.
  • the system configuration unit 120n of the p-th master secret global model computing device 100n uses the transmitting/receiving unit 180n to connect N-1 secret global model computing devices selected in S110 and N itself.
  • the N secret global model computing devices mutually exchange data necessary for configuring the secret global model computing system, and the N secret global model computing devices create a secret global model computing system (hereinafter referred to as p-Secret Global Model Computation System).
  • the local model generation unit 130 n of the secret global model calculation device 100 n configuring the p-th secret global model calculation system generates a local model.
  • is a replacement of the set ⁇ 1, ..., P ⁇ , L is an integer of 2 or more, and the local model learning unit 131 n is an integer that satisfies ⁇ (p)>1, then
  • the parameter share registration unit 140 n of the secret global model computing device 100 n that makes up the p-th secret global model computing system stores the local information learned by the secret global model computing device 100 n that makes up the p-th secret global model computing system.
  • the share of the model's parameters is input, and the share of the local model's parameters is registered in the local model management table.
  • the learning start condition determining means 150 of the p-th master secret global model calculation device determines that the number of newly registered local models since the previous calculation of the global model is a predetermined value (the value is 1 or more and N or less). If the value exceeds the predetermined value (the value of It is determined that the process has not been performed, and the process returns to S140.
  • the global model calculation means 160 of the p-th master secret global model calculation device calculates the global model parameter share using the local model parameter share managed in the local model management table.
  • a device forming a secure computation system that calculates a global model is provided with a function of learning a local model, thereby making it possible to efficiently learn a model.
  • the secret global model calculation system by configuring the secret global model calculation system with the secret global model calculation device equipped with a local model learning function and the secret global model calculation device with available calculation resources, the amount of calculation and communication can be suppressed and efficiently achieved. It becomes possible to learn the model.
  • each of the two or more secret global model calculation systems forms one layer, and the federated learning system as a whole learns the model like calculation in a neural network, resulting in efficient model learning that reuses the global model. It becomes possible to realize this.
  • the device of the present invention as a single hardware entity, includes an input section capable of inputting a signal from outside the hardware entity, an output section capable of outputting a signal outside the hardware entity, and a communication section external to the hardware entity.
  • a communication unit that can be connected to a communication device (for example, a communication cable), a CPU (Central Processing Unit, which may be equipped with cache memory, registers, etc.) that is an arithmetic processing unit, RAM or ROM that is memory, and a hard disk. It has an external storage device, an input section, an output section, a communication section, a CPU, a RAM, a ROM, and a bus that connects the external storage device so that data can be exchanged therebetween.
  • the hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM.
  • a physical entity with such hardware resources includes a general-purpose computer.
  • the external storage device of the hardware entity stores the program required to realize the above-mentioned functions and the data required for processing this program (not limited to the external storage device, for example, when reading the program (It may also be stored in a ROM, which is a dedicated storage device.) Further, data obtained through processing of these programs is appropriately stored in a RAM, an external storage device, or the like.
  • each program stored in an external storage device or ROM, etc.
  • the data required to process each program are read into memory as necessary, and interpreted and executed and processed by the CPU as appropriate.
  • the CPU realizes a predetermined function (each of the components expressed as . . . section, . . . means, etc.). That is, each component in the embodiment of the present invention may be configured by a processing circuit.
  • the processing functions of the hardware entity (device of the present invention) described in the above embodiments are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. By executing this program on a computer, the processing functions of the hardware entity are realized on the computer.
  • a program that describes this processing content can be recorded on a computer-readable recording medium.
  • the computer-readable recording medium is, for example, a non-temporary recording medium, specifically a magnetic recording device, an optical disk, or the like.
  • this program is performed, for example, by selling, transferring, lending, etc. portable recording media such as DVDs and CD-ROMs on which the program is recorded. Furthermore, this program may be distributed by storing the program in the storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program for example, first stores a program recorded on a portable recording medium or a program transferred from a server computer into the auxiliary storage unit 2025, which is its own non-temporary storage device. Store. When executing a process, this computer loads the program stored in the auxiliary storage unit 2025, which is its own non-temporary storage device, into the recording unit 2020, and executes the process according to the read program. Further, as another form of execution of this program, the computer may directly load the program from a portable recording medium into the recording unit 2020 and execute processing according to the program. Each time the received program is transferred, processing may be executed in accordance with the received program.
  • ASP Application Service Provider
  • the above-mentioned processing is executed by a so-called ASP (Application Service Provider) type service, which does not transfer programs from the server computer to this computer, but only realizes processing functions by issuing execution instructions and obtaining results.
  • ASP Application Service Provider
  • the present apparatus is configured by executing a predetermined program on a computer, but at least a part of these processing contents may be implemented in hardware.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

連合学習において、グローバルモデルを計算する秘密計算システムを構成する装置がローカルモデルを学習する機能を備えることにより、効率的にモデルを学習する技術を提供する。Kを3以上の整数、Nを3≦N≦Kを満たす整数とし、K個の秘密グローバルモデル計算装置のうちの任意のN個の秘密グローバルモデル計算装置はN個のローカルモデルからグローバルモデルを秘密計算する秘密グローバルモデル計算システムを構成できるものであり、自分自身を除くK-1個の秘密グローバルモデル計算装置の中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する選択部と、選択されたN-1個の秘密グローバルモデル計算装置と自分自身をあわせたN個の秘密グローバルモデル計算装置で秘密グローバルモデル計算システムを構成するシステム構成部とを含む。

Description

秘密グローバルモデル計算装置、秘密グローバルモデル計算システム構成方法、プログラム
 本発明は、連合学習技術に関し、特にグローバルモデルを計算する秘密計算システムを構成する装置がローカルモデルを学習する機能を備えることにより、効率的にモデルを学習する技術に関する。
 学習データを1つの装置に集約することなく学習する技術として、連合学習(Federated Learning)技術がある。連合学習技術として、例えば非特許文献1に記載のFedAVGがある。
 図1は、連合学習システムの基本的構成を示す図である。連合学習システム90は、M個(Mは2以上の整数)のローカルモデル学習装置7001、…、700Mとグローバルモデル計算装置900とを含む。連合学習システム90の基本的な動作は以下の通りである。ローカルモデル学習装置7001、…、700Mは自らの記録部に記録した学習データを用いてローカルモデルを学習する。学習終了後、ローカルモデル学習装置7001、…、700Mはネットワーク800を介してローカルモデルをグローバルモデル計算装置900に送信する。グローバルモデル計算装置900は、受信したローカルモデルを用いてグローバルモデルを計算する。計算終了後、グローバルモデル計算装置900は、ネットワーク800を介してグローバルモデルをローカルモデル学習装置7001、…、700Mに送信する。ローカルモデル学習装置7001、…、700Mは受信したグローバルモデルを用いてローカルモデルを再度学習する。このような動作を繰り返すことにより、連合学習システム90はモデル学習を進める。その際、グローバルモデル計算装置900は、ローカルモデル管理テーブルを用いてローカルモデルのパラメータを管理する。
 連合学習技術を用いると、ローカルモデル学習装置の外に学習データを持ち出すことがないため、データ持ち出しに対する不安を解消することができると同時に、並列学習による高速化が可能となる。しかし、例えばローカルモデル学習装置7001、…、700Mとグローバルモデル計算装置900との通信の過程から学習中のモデルのパラメータが追跡される形で漏洩すると、学習データが推測されてしまうリスクがある。このようなリスクを回避するためにグローバルモデルの計算に秘密計算を用いることが考えられる。
 秘密計算とは、暗号化された数値を復元することなく指定された演算の演算結果を得る方法のことである(例えば参考非特許文献1参照)。参考非特許文献1の方法では、数値を復元することのできる複数の情報を3つの秘密計算装置に分散するという暗号化を行い、数値を復元することなく、加減算、定数和、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数、二進数)の結果を3つの秘密計算装置に分散された状態、すなわち暗号化されたまま保持させることができる。一般に、分散数は3に限らずN(Nは3以上の整数)とすることができ、N個の秘密計算装置による協調計算によって秘密計算を実現するプロトコルはマルチパーティプロトコルと呼ばれる。
(参考非特許文献1:千田浩司, 濱田浩気, 五十嵐大, 高橋克巳, “軽量検証可能3パーティ秘匿関数計算の再考,” In CSS, 2010.)
McMahan, B., E. Moore, D. Ramage, et al, "Communication-efficient learning of deep networks from decentralized data,"In Artificial Intelligence and Statistics, pp.1273-1282, 2017.
 一般に、ローカルモデルを学習する装置の数はグローバルモデルを計算する秘密計算システムを構成する装置の数に比べて過度に大きくなる傾向がある。このような場合、秘密計算システムへのローカルモデル登録処理に時間がかかるため、モデル学習にかかる時間が全体として大きくなってしまうという問題がある。
 そこで本発明は、連合学習において、グローバルモデルを計算する秘密計算システムを構成する装置がローカルモデルを学習する機能を備えることにより、効率的にモデルを学習する技術を提供することを目的とする。
 本発明の一態様は、Kを3以上の整数、Nを3≦N≦Kを満たす整数とし、K個の、学習データを用いてローカルモデルを学習する秘密グローバルモデル計算装置を含む連合学習システムにおける秘密グローバルモデル計算装置であって、K個の秘密グローバルモデル計算装置のうちの任意のN個の秘密グローバルモデル計算装置はN個のローカルモデルからグローバルモデルを秘密計算する秘密グローバルモデル計算システムを構成できるものであり、自分自身を除くK-1個の秘密グローバルモデル計算装置に対して計算資源の空き状況を確認するクエリを送信し、当該K-1個の秘密グローバルモデル計算装置の中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する選択部と、前記選択されたN-1個の秘密グローバルモデル計算装置と自分自身をあわせたN個の秘密グローバルモデル計算装置で秘密グローバルモデル計算システムを構成するシステム構成部と、を含む。
 本発明の一態様は、Kを3以上の整数、Pを2以上の整数、Nを3≦N≦K/Pを満たす整数とし、K個の、学習データを用いてローカルモデルを学習する秘密グローバルモデル計算装置を含む連合学習システムにおける秘密グローバルモデル計算装置であって、K個の秘密グローバルモデル計算装置のうちの任意のN個の秘密グローバルモデル計算装置はN個のローカルモデルからグローバルモデルを秘密計算する秘密グローバルモデル計算システムを構成できるものであり、秘密グローバルモデル計算システム構成のために選択されていないK-(p-1)N個(ただし、pは1≦p≦Pを満たす整数)の秘密グローバルモデル計算装置のうちの自分自身を除くK-(p-1)N-1個の秘密グローバルモデル計算装置に対して計算資源の空き状況を確認するクエリを送信し、当該K-(p-1)N-1個の秘密グローバルモデル計算装置の中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する選択部と、前記選択されたN-1個の秘密グローバルモデル計算装置と自分自身をあわせたN個の秘密グローバルモデル計算装置で秘密グローバルモデル計算システム(以下、第p秘密グローバルモデル計算システムという)を構成するシステム構成部と、σを集合{1, …, P}の置換、Lを2以上の整数とし、pがσ(p)>1を満たす整数である場合は、L回のうち1回の学習では第p’秘密グローバルモデル計算システム(ただし、p’はσ(p’)=σ(p)-1を満たす整数)のグローバルモデルのパラメータを、L回のうち残りのL-1回の学習では第p秘密グローバルモデル計算システムのグローバルモデルのパラメータをローカルモデルのパラメータの初期値としてローカルモデルを学習し、pがσ(p)=1を満たす整数である場合は、2回目以降の学習では第p秘密グローバルモデル計算システムのグローバルモデルのパラメータをローカルモデルのパラメータの初期値としてローカルモデルを学習するローカルモデル学習部と、を含む。
 本発明によれば、連合学習において、グローバルモデルを計算する秘密計算システムを構成する装置がローカルモデルを学習する機能を備えることにより、効率的にモデルを学習することが可能となる。
連合学習システム90の基本的構成を示す図である。 連合学習システム10の構成を示すブロック図である。 秘密グローバルモデル計算装置100nの構成を示すブロック図である。 連合学習システム10の動作を示すフローチャートである。 ローカルモデル生成部130nの構成を示すブロック図である。 ローカルモデル生成部130nの動作を示すフローチャートである。 本発明の実施形態における各装置を実現するコンピュータの機能構成の一例を示す図である。
 以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 各実施形態の説明に先立って、この明細書における表記方法について説明する。
 ^(キャレット)は上付き添字を表す。例えば、xy^zはyzがxに対する上付き添字であり、xy^zはyzがxに対する下付き添字であることを表す。また、_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
 ある文字xに対する^xや~xのような上付き添え字の”^”や”~”は、本来”x”の真上に記載されるべきであるが、明細書の記載表記の制約上、^xや~xと記載しているものである。
<技術的背景>
<<秘密計算>>
 本願の発明における秘密計算は、既存の秘密計算上の演算の組み合わせで構築される。この秘密計算に必要な演算は、例えば、秘匿化、加算、減算、乗算、除算、論理演算(否定、論理積、論理和、排他的論理和)、比較演算(=, <, >, ≦, ≧)である。以下、記法も含めいくつかの演算について説明していく。
[秘匿化]
 [[x]]をxを秘密分散で秘匿した値(以下、xのシェアという)とする。秘密分散方法には、任意の方法を用いることができる。例えば、GF(261-1)上のShamir秘密分散、Z2上の複製秘密分散を用いることができる。
 ある1つのアルゴリズムの中で複数の秘密分散方法を組み合わせて用いてもよい。この場合、適宜相互に変換するものとする。
 また、N次元ベクトルx=(x1, …, xN)に対して、[[x]]=([[x1]], …, [[xN]])とする。つまり、[[x]]は、xの第n要素xnのシェア[[xn]]を第n要素とするベクトルである。同様に、M×N行列A=(am,n)(1≦m≦M, 1≦n≦N)に対して、[[A]]をAの第(m, n)要素am,nのシェア[[am,n]]を第(m, n)要素とする行列とする。
 なお、xを[[x]]の平文という。
 xから[[x]]を求める方法(秘匿化)、[[x]]からxを求める方法(復元)として、具体的には、参考非特許文献1、参考非特許文献2に記載の方法がある。
(参考非特許文献2:Shamir, A., “How to share a secret”, Communications of the ACM, Vol.22,  No.11, pp.612-613, 1979.)
[加算、減算、乗算、除算]
 秘密計算による加算[[x]]+[[y]]は、[[x]], [[y]]を入力とし、[[x+y]]を出力する。秘密計算による減算[[x]]-[[y]]は、[[x]], [[y]]を入力とし、[[x-y]]を出力する。秘密計算による乗算[[x]]×[[y]](mul([[x]], [[y]])と表すこともある)は、[[x]], [[y]]を入力とし、[[x×y]]を出力する。秘密計算による除算[[x]]/[[y]](div([[x]], [[y]])と表すこともある)は、[[x]], [[y]]を入力とし、[[x/y]]を出力する。
 加算、減算、乗算、除算の具体的方法として、参考非特許文献3、参考非特許文献4に記載の方法がある。
(参考非特許文献3:Ben-Or, M., Goldwasser, S. and Wigderson, A., “Completeness theorems for non-cryptographic fault-tolerant distributed computation”, Proceedings of the twentieth annual ACM symposium on Theory of computing, ACM, pp. 1-10, 1988.)
(参考非特許文献4:Gennaro, R., Rabin, M. O. and Rabin, T., “Simplied VSS and fast-track multiparty computations with applications to threshold cryptography”, Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing, ACM, pp.101-111, 1998.)
[論理演算]
 秘密計算による否定not[[x]]は、[[x]]を入力とし、[[not(x)]]を出力する。秘密計算による論理積and([[x]], [[y]])は、[[x]], [[y]]を入力とし、[[and(x, y)]]を出力する。秘密計算による論理和or([[x]], [[y]])は、[[x]], [[y]]を入力とし、[[or(x, y)]]を出力する。秘密計算による排他的論理和xor([[x]], [[y]])は、[[x]], [[y]]を入力とし、[[xor(x, y)]]を出力する。
 なお、論理演算は加算、減算、乗算、除算を組み合わせることで容易に構成することができる。
[比較演算]
 秘密計算による等号判定=([[x]], [[y]]) (equal([[x]], [[y]])と表すこともある)は、[[x]], [[y]]を入力とし、x=yである場合は[[1]]を、それ以外の場合は[[0]]を出力する。秘密計算による比較<([[x]], [[y]])は、[[x]], [[y]]を入力とし、x<yである場合は[[1]]を、それ以外の場合は[[0]]を出力する。秘密計算による比較>([[x]], [[y]])は、[[x]], [[y]]を入力とし、x>yである場合は[[1]]を、それ以外の場合は[[0]]を出力する。秘密計算による比較≦([[x]], [[y]])は、[[x]], [[y]]を入力とし、x≦yである場合は[[1]]を、それ以外の場合は[[0]]を出力する。秘密計算による比較≧([[x]], [[y]])は、[[x]], [[y]]を入力とし、x≧yである場合は[[1]]を、それ以外の場合は[[0]]を出力する。
 なお、比較演算は論理演算を組み合わせることで容易に構成することができる。
<第1実施形態>
 以下、図2~図4を参照して連合学習システム10について説明する。図2は、連合学習システム10の構成を示すブロック図である。連合学習システム10は、K個(Kは3以上の整数)の、学習データを用いてローカルモデルを学習する秘密グローバルモデル計算装置1001、…、100Kを含む。秘密グローバルモデル計算装置1001、…、100Kは、ネットワーク800に接続しており、相互に通信可能である。ネットワーク800は、例えば、インターネットなどの通信網あるいは同報通信路などでよい。図3は、秘密グローバルモデル計算装置100n(1≦n≦K)の構成を示すブロック図である。図4は、連合学習システム10の動作を示すフローチャートである。
 図3に示すように秘密グローバルモデル計算装置100nは、選択部110nと、システム構成部120nと、ローカルモデル生成部130nと、パラメータシェア登録部140nと、学習開始条件判定部150nと、グローバルモデル計算部160nと、送受信部180nと、記録部190nを含む。選択部110nとシステム構成部120nとローカルモデル生成部130nとパラメータシェア登録部140nと送受信部180nと記録部190nを除く秘密グローバルモデル計算装置100nの各構成部は、例えば、秘匿化、加算、減算、乗算、除算、論理演算、比較演算のように、グローバルモデルの計算で必要とされる演算のうち、各構成部の機能を実現するうえで必要になる演算を実行できるように構成されている。本発明において個々の演算を実現するための具体的な機能構成は、既存のアルゴリズムを実行できるような構成で十分であり、これらは従来的構成であるから詳細な説明については省略する。また、記録部190nは、秘密グローバルモデル計算装置100nの処理に必要な情報を記録する構成部である。記録部190nは、例えば、学習データやローカルモデルのパラメータやグローバルモデルのパラメータを記録する。なお、学習データは適宜更新される。また、グローバルモデルはローカルモデルと同じ構造を有するモデルである。
 K個の秘密グローバルモデル計算装置のうちの任意のN個(Nは3≦N≦Kを満たす整数)の秘密グローバルモデル計算装置はN個のローカルモデルからグローバルモデルを秘密計算する秘密グローバルモデル計算システムを構成できる。
 K個の秘密グローバルモデル計算装置のうちの任意のN個の秘密グローバルモデル計算装置による協調計算によって、当該N個の秘密グローバルモデル計算装置により構成される秘密グローバルモデル計算システムはマルチパーティプロトコルであるグローバルモデルの秘密計算を実現する。よって、N個の秘密グローバルモデル計算装置を秘密グローバルモデル計算装置100i_1、…、100i_N(ただし、i1, …, iNは1≦i1< … <iN≦Kを満たす整数)とすると、当該N個の秘密グローバルモデル計算装置により構成される秘密グローバルモデル計算システムの学習開始条件判定手段150(図示していない)は学習開始条件判定部150i_1、…、150i_Nで構成され、グローバルモデル計算手段160(図示していない)はグローバルモデル計算部160i_1、…、160i_Nで構成される。
 以下、図4に従い連合学習システム10の動作について説明する。
 S110において、秘密グローバルモデル計算装置100n(1≦n≦K)のうちの1個の秘密グローバルモデル計算装置100k_0(ただし、k0は1≦k0≦Kを満たす整数)の選択部110k_0は、送受信部180k_0を用いて自分自身を除くK-1個の秘密グローバルモデル計算装置に対して計算資源の空き状況を確認するクエリを送信し、当該K-1個の秘密グローバルモデル計算装置の中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する。以下、秘密グローバルモデル計算装置100k_0をマスタ秘密グローバルモデル計算装置という。選択されたN-1個の秘密グローバルモデル計算装置とマスタ秘密グローバルモデル計算装置をあわせたN個の秘密グローバルモデル計算装置を秘密グローバルモデル計算装置100i_1、…、100i_N(ただし、i1, …, iNは1≦i1< … <iN≦Kを満たす整数)とする。したがって、k0はi1, …, iNのいずれかと一致する。ここで、k0=i~n(ただし、~nは1≦~n≦Nを満たす整数)とする。また、計算資源とは、例えば、秘密グローバルモデル計算装置の構成に用いる汎用コンピュータのCPUや通信部のことである。
 S120において、マスタ秘密グローバルモデル計算装置である秘密グローバルモデル計算装置100i_~nのシステム構成部110i_~nは、送受信部180i_~nを用いて秘密グローバルモデル計算装置100i_1、…、100i_~n-1、100i_~n+1、…、100i_Nとの間で秘密グローバルモデル計算システムを構成するために必要となるデータを相互に交換し、N個の秘密グローバルモデル計算装置100i_1、…、100i_Nで秘密グローバルモデル計算システムを構成する。秘密グローバルモデル計算システムを構成するために必要となるデータとは、例えば、秘密グローバルモデル計算システムを構成する秘密グローバルモデル計算装置のネットワークアドレス(例えば、IPアドレス)である。
 S130において、秘密グローバルモデル計算装置100n(n=i1, …, iN)のローカルモデル生成部130nは、ローカルモデルを生成する。
 以下、図5~図6を参照してローカルモデル生成部130nについて説明する。図5は、ローカルモデル生成部130nの構成を示すブロック図である。図6は、ローカルモデル生成部130nの動作を示すフローチャートである。図5に示すようにローカルモデル生成部130n(1≦n≦K)は、ローカルモデル学習部131nと、パラメータシェア計算部132nと、グローバルモデル取得部133nと、パラメータ計算部134nと、学習開始条件判定部135nとを含む。
 以下、図6に従いローカルモデル生成部130n(n=i1, …, iN)の動作について説明する。
 S131nにおいて、ローカルモデル学習部131nは、記録部190nに記録している学習データを用いてローカルモデルを学習する。1回目のローカルモデルの学習では、ローカルモデル学習部131nは、予め記録部190nに記録している初期値を用いてローカルモデルのパラメータの初期値を設定してもよいし、乱数を用いて生成した初期値を用いてローカルモデルのパラメータの初期値を設定してもよい。2回目以降のローカルモデルの学習では、ローカルモデル学習部131nは、後述するS133nで取得したグローバルモデルのパラメータのシェアを用いてローカルモデルのパラメータの初期値を設定する。
 S132nにおいて、パラメータシェア計算部132nは、S131nで学習したローカルモデルのパラメータからローカルモデルのパラメータのシェアを計算する。パラメータシェア計算部132nは、計算が終了すると、送受信部180nを用いて自分自身を除く秘密グローバルモデル計算装置100i_1、…、100i_n-1、100i_n+1、…、100i_Nにローカルモデルのパラメータのシェアを送信する。
 S133nにおいて、グローバルモデル取得部133nは、S132nの処理終了後またはS135nの処理終了から所定の時間経過後に、送受信部180nを用いて自分自身を除く秘密グローバルモデル計算装置100i_1、…、100i_n-1、100i_n+1、…、100i_Nからグローバルモデルのパラメータのシェアを取得する。
 S134nにおいて、パラメータ計算部134nは、S133nで取得したグローバルモデルのパラメータのシェアと自分自身が計算したグローバルモデルのパラメータのシェアからグローバルモデルのパラメータを計算する。パラメータ計算部134nは、計算したグローバルモデルのパラメータを記録部190nに記録する。なお、記録部190nには、今回の計算で得られたグローバルモデルのパラメータと前回の計算で得られたグローバルモデルのパラメータの少なくとも2つのグローバルモデルのパラメータを記録しておく。
 S135nにおいて、学習開始条件判定部135nは、S134nで計算したグローバルモデルのパラメータと前回の計算で得られたグローバルモデルのパラメータとを比較し、当該2つのグローバルモデルのパラメータが異なる場合は、学習開始条件が満たされていると判定し、S131nの処理を実行する一方、それ以外の場合は、学習開始条件が満たされていないと判定し、S133nの処理に戻る。
 S140において、秘密グローバルモデル計算装置100n(n=i1, …, iN)のパラメータシェア登録部140nは、送受信部180nを用いて受信した自分自身を除く秘密グローバルモデル計算装置100i_1、…、100i_n-1、100i_n+1、…、100i_Nのうちの1個のローカルモデル学習装置が学習したローカルモデルのパラメータのシェア、または、自分自身が学習したローカルモデルのパラメータのシェアを入力とし、ローカルモデルのパラメータのシェアをローカルモデル管理テーブルに登録する。ここで、ローカルモデル管理テーブルとは、N個のローカルモデルのパラメータのシェアを管理するためのテーブルであり、記録部190nに記録される。
 S150において、学習開始条件判定手段150は、前回グローバルモデルを計算して以降、新たに登録されたローカルモデルの数が所定の値(当該値は1以上N以下の値である)を超えたあるいは所定の値以上となった場合は、学習開始条件が満たされていると判定し、S160の処理を実行する一方、それ以外の場合は、学習開始条件が満たされていないと判定し、S140の処理に戻る。
 S160において、グローバルモデル計算手段160は、ローカルモデル管理テーブルで管理されているローカルモデルのパラメータのシェアを用いて、グローバルモデルのパラメータのシェアを計算する。グローバルモデル計算手段160は、例えば、第1ローカルモデルから第Nローカルモデルまでの対応するパラメータのシェアの平均をグローバルモデルのパラメータのシェアとする。
 なお、S110の処理を定期的に実行することにより、秘密グローバルモデル計算システムを構成する秘密グローバルモデル計算装置の組合せを定期的に変更することができる。
 本発明の実施形態によれば、連合学習において、グローバルモデルを計算する秘密計算システムを構成する装置がローカルモデルを学習する機能を備えることにより、効率的にモデルを学習することが可能となる。また、秘密グローバルモデル計算装置がローカルモデル学習機能を備えること及び計算資源に空きがある秘密グローバルモデル計算装置により秘密グローバルモデル計算システムを構成することにより、演算量や通信量を抑制し効率的にモデルを学習することが可能となる。さらに、秘密グローバルモデル計算システムを構成する秘密グローバルモデル計算装置の組合せを定期的に変更することにより、運用者の結託による漏洩リスクを抑制することが可能となる。
<第2実施形態>
 第1実施形態では1つの秘密グローバルモデル計算システムを構成したが、構成する秘密グローバルモデル計算システムの数は2以上であってもよい。この場合、2以上の秘密グローバルモデル計算システムの各々が1つの層をなし、連合学習システムは全体としてニューラルネットワークにおける計算のようにある層を構成する秘密グローバルモデル計算システムが計算したグローバルモデルのパラメータのシェアをその次の層を構成する秘密グローバルモデル計算システムがローカルモデルを学習する際の初期値の設定に利用しモデルを学習する。
 以下、連合学習システム10が2個の秘密グローバルモデル計算システムを構成する場合を例に説明する。
 この場合、K個の秘密グローバルモデル計算装置のうちの任意のN個(Nは3≦N≦K/2を満たす整数)の秘密グローバルモデル計算装置はN個のローカルモデルからグローバルモデルを秘密計算する秘密グローバルモデル計算システムを構成できる。
 以下、図4に従い連合学習システム10の動作について説明する。
 S110において、秘密グローバルモデル計算装置100n(1≦n≦K)のうちの1個の秘密グローバルモデル計算装置100k_0(ただし、k0は1≦k0≦Kを満たす整数)の選択部110k_0は、送受信部180k_0を用いて自分自身を除くK-1個の秘密グローバルモデル計算装置に対して計算資源の空き状況を確認するクエリを送信し、当該K-1個の秘密グローバルモデル計算装置の中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する。以下、秘密グローバルモデル計算装置100k_0を第1マスタ秘密グローバルモデル計算装置という。選択されたN-1個の秘密グローバルモデル計算装置と第1マスタ秘密グローバルモデル計算装置をあわせたN個の秘密グローバルモデル計算装置を秘密グローバルモデル計算装置100i_1、…、100i_N(ただし、i1, …, iNは1≦i1< … <iN≦Kを満たす整数)とする。したがって、k0はi1, …, iNのいずれかと一致する。ここで、k0=i~n(ただし、~nは1≦~n≦Nを満たす整数)とする。
 同様に、秘密グローバルモデル計算装置100n(1≦n≦K)のうちの1個の秘密グローバルモデル計算装置100k_1(ただし、k1は1≦k1≦Kを満たす整数であり、i1, …, iNのいずれとも異なる)、つまり、秘密グローバルモデル計算システム構成のために選択されていないK-N個の秘密グローバルモデル計算装置100nのうちの1個の秘密グローバルモデル計算装置100k_1の選択部110k_1は、送受信部180k_1を用いて自分自身と秘密グローバルモデル計算装置100i_1、…、100i_Nを除くK-N-1個の秘密グローバルモデル計算装置100nに対して計算資源の空き状況を確認するクエリを送信し、当該K-N-1個の秘密グローバルモデル計算装置100nの中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する。以下、秘密グローバルモデル計算装置100k_1を第2マスタ秘密グローバルモデル計算装置という。選択されたN-1個の秘密グローバルモデル計算装置と第2マスタ秘密グローバルモデル計算装置をあわせたN個の秘密グローバルモデル計算装置を秘密グローバルモデル計算装置100i_N+1、…、100i_2N(ただし、iN+1, …, i2Nは1≦iN+1< … <I2N≦Kを満たす整数であり、i1, …, iNのいずれとも異なる)とする。したがって、k1はiN+1, …, i2Nのいずれかと一致する。ここで、k1=i^n(ただし、^nは1≦^n≦Nを満たす整数)とする。なお、秘密グローバルモデル計算装置100k_1は、例えば秘密グローバルモデル計算装置100i_~nによるブロードキャストにより、秘密グローバルモデル計算装置100i_1、…、100i_Nが選択できない装置であることを予め知っているものとする。
 S120において、第1マスタ秘密グローバルモデル計算装置である秘密グローバルモデル計算装置100i_~nのシステム構成部110i_~nは、送受信部180i_~nを用いて秘密グローバルモデル計算装置100i_1、…、100i_~n-1、100i_~n+1、…、100i_Nとの間で秘密グローバルモデル計算システムを構成するために必要となるデータを相互に交換し、N個の秘密グローバルモデル計算装置100i_1、…、100i_Nで秘密グローバルモデル計算システム(以下、第1秘密グローバルモデル計算システムという)を構成する。
 同様に、第2マスタ秘密グローバルモデル計算装置である秘密グローバルモデル計算装置100i_^nのシステム構成部110i_^nは、送受信部180i_^nを用いて秘密グローバルモデル計算装置100i_N+1、…、100i_^n-1、100i_^n+1、…、100i_2Nとの間で秘密グローバルモデル計算システムを構成するために必要となるデータを相互に交換し、N個の秘密グローバルモデル計算装置100i_N+1、…、100i_2Nで秘密グローバルモデル計算システム(以下、第2秘密グローバルモデル計算システムという)を構成する。
 S130において、秘密グローバルモデル計算装置100n(n=i1, …, iN)のローカルモデル生成部130nは、ローカルモデルを生成する。
 同様に、秘密グローバルモデル計算装置100n(n=iN+1, …, i2N)のローカルモデル生成部130nは、ローカルモデルを生成する。
 以下、図6に従いローカルモデル生成部130n(n=iN+1, …, i2N)の動作について説明する。
 S131nにおいて、ローカルモデル学習部131nは、記録部190nに記録している学習データを用いてローカルモデルを学習する。1回目のローカルモデルの学習から、ローカルモデル学習部131nは、後述するS133nで取得したグローバルモデルのパラメータのシェアを用いてローカルモデルのパラメータの初期値を設定する。
 S132nにおいて、パラメータシェア計算部132nは、S131nで学習したローカルモデルのパラメータからローカルモデルのパラメータのシェアを計算する。パラメータシェア計算部132nは、計算が終了すると、送受信部180nを用いて自分自身を除く秘密グローバルモデル計算装置100i_N+1、…、100i_n-1、100i_n+1、…、100i_2Nにローカルモデルのパラメータのシェアを送信する。
 S133nにおいて、グローバルモデル取得部133nは、S132nの処理終了後またはS135nの処理終了から所定の時間経過後に、送受信部180nを用いて秘密グローバルモデル計算装置100i_1、…、100i_N、または、自分自身を除く秘密グローバルモデル計算装置100i_N+1、…、100i_n-1、100i_n+1、…、100i_2Nからグローバルモデルのパラメータのシェアを取得する。1回目の取得では、秘密グローバルモデル計算装置100i_1、…、100i_Nからグローバルモデルのパラメータのシェアを取得する。2回目以降の取得では、L回(ただし、Lは2以上の整数)のうち1回の取得で秘密グローバルモデル計算装置100i_1、…、100i_Nからグローバルモデルのパラメータのシェアを取得し、L回のうち残りのL-1回の取得で秘密グローバルモデル計算装置100i_N+1、…、100i_n-1、100i_n+1、…、100i_2Nからグローバルモデルのパラメータのシェアを取得する。
 したがって、ローカルモデル学習部131nは、L回のうち1回の学習では第1秘密グローバルモデル計算システムのグローバルモデルのパラメータのシェアを、L回のうち残りのL-1回の学習では第2秘密グローバルモデル計算システムのグローバルモデルのパラメータのシェアをローカルモデルのパラメータの初期値としてローカルモデルを学習することになる。
 S134nにおいて、パラメータ計算部134nは、S133nで取得したグローバルモデルのパラメータのシェア、または、S133nで取得したグローバルモデルのパラメータのシェアと自分自身が計算したグローバルモデルのパラメータのシェアからグローバルモデルのパラメータを計算する。パラメータ計算部134nは、計算したグローバルモデルのパラメータを記録部190nに記録する。なお、記録部190nには、今回の計算で得られたグローバルモデルのパラメータと前回の計算で得られたグローバルモデルのパラメータの少なくとも2つのグローバルモデルのパラメータを記録しておく。
 S135nにおいて、学習開始条件判定部135nは、S134nで計算したグローバルモデルのパラメータと前回の計算で得られたグローバルモデルのパラメータとを比較し、当該2つのグローバルモデルのパラメータが異なる場合は、学習開始条件が満たされていると判定し、S131nの処理を実行する一方、それ以外の場合は、学習開始条件が満たされていないと判定し、S133nの処理に戻る。
 上記S130nにおける秘密グローバルモデル計算装置100n(n=i1, …, iN)のローカルモデル生成部130nと秘密グローバルモデル計算装置100n(n=iN+1, …, i2N)のローカルモデル生成部130nの動作に関する説明では、秘密グローバルモデル計算装置100n(n=iN+1, …, i2N)のグローバルモデル取得部133nが秘密グローバルモデル計算装置100n(n=i1, …, iN)のグローバルモデル取得部133nが生成したグローバルモデルのパラメータのシェアを取得するものとしたが、逆であってもよい。つまり、秘密グローバルモデル計算装置100n(n=i1, …, iN)のグローバルモデル取得部133nが秘密グローバルモデル計算装置100n(n=iN+1, …, i2N)のグローバルモデル取得部133nが生成したグローバルモデルのパラメータのシェアを取得するようにしてもよい。
 S140において、秘密グローバルモデル計算装置100n(n=i1, …, iN)のパラメータシェア登録部140nは、送受信部180nを用いて受信した自分自身を除く秘密グローバルモデル計算装置100i_1、…、100i_n-1、100i_n+1、…、100i_Nのうちの1個のローカルモデル学習装置が学習したローカルモデルのパラメータのシェア、または、自分自身が学習したローカルモデルのパラメータのシェアを入力とし、ローカルモデルのパラメータのシェアをローカルモデル管理テーブルに登録する。
 同様に、秘密グローバルモデル計算装置100n(n=iN+1, …, i2N)のパラメータシェア登録部140nは、送受信部180nを用いて受信した自分自身を除く秘密グローバルモデル計算装置100i_N+1、…、100i_n-1、100i_n+1、…、100i_2Nのうちの1個のローカルモデル学習装置が学習したローカルモデルのパラメータのシェア、または、自分自身が学習したローカルモデルのパラメータのシェアを入力とし、ローカルモデルのパラメータのシェアをローカルモデル管理テーブルに登録する。
 S150において、第1秘密グローバルモデル計算装置の学習開始条件判定手段150、第2秘密グローバルモデル計算装置の学習開始条件判定手段150は、それぞれ前回グローバルモデルを計算して以降、新たに登録されたローカルモデルの数が所定の値(当該値は1以上N以下の値である)を超えたあるいは所定の値以上となった場合は、学習開始条件が満たされていると判定し、S160の処理を実行する一方、それ以外の場合は、学習開始条件が満たされていないと判定し、S140の処理に戻る。
 S160において、第1秘密グローバルモデル計算装置のグローバルモデル計算手段160、第2秘密グローバルモデル計算装置のグローバルモデル計算手段160は、それぞれローカルモデル管理テーブルで管理されているローカルモデルのパラメータのシェアを用いて、グローバルモデルのパラメータのシェアを計算する。
 次に、Pを2以上の整数とし、連合学習システム10がP個の秘密グローバルモデル計算システムを構成する場合について簡単に説明する(図4参照)。
 この場合、K個の秘密グローバルモデル計算装置のうちの任意のN個(Nは3≦N≦K/Pを満たす整数)の秘密グローバルモデル計算装置はN個のローカルモデルからグローバルモデルを秘密計算する秘密グローバルモデル計算システムを構成できる。
 S110において、秘密グローバルモデル計算システム構成のために選択されていないK-(p-1)N個(ただし、pは1≦p≦Pを満たす整数)の秘密グローバルモデル計算装置のうちの1個の秘密グローバルモデル計算装置100n(以下、第pマスタ秘密グローバルモデル計算装置という)の選択部110nは、送受信部180nを用いて自分自身を除くK-(p-1)N-1個の秘密グローバルモデル計算装置に対して計算資源の空き状況を確認するクエリを送信し、当該K-(p-1)N-1個の秘密グローバルモデル計算装置の中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する。
 S120において、第pマスタ秘密グローバルモデル計算装置100nのシステム構成部120nは、送受信部180nを用いてS110で選択されたN-1個の秘密グローバルモデル計算装置と自分自身をあわせたN個の秘密グローバルモデル計算装置との間で秘密グローバルモデル計算システムを構成するために必要となるデータを相互に交換し、当該N個の秘密グローバルモデル計算装置で秘密グローバルモデル計算システム(以下、第p秘密グローバルモデル計算システムという)を構成する。
 S130において、第p秘密グローバルモデル計算システムを構成する秘密グローバルモデル計算装置100nのローカルモデル生成部130nは、ローカルモデルを生成する。その際、ローカルモデル生成部130nに含まれるローカルモデル学習部131nは、学習データを用いてローカルモデルを学習する。具体的には、σを集合{1, …, P}の置換、Lを2以上の整数とし、ローカルモデル学習部131nは、pがσ(p)>1を満たす整数である場合は、L回のうち1回の学習では第p’秘密グローバルモデル計算システム(ただし、p’はσ(p’)=σ(p)-1を満たす整数)のグローバルモデルのパラメータを、L回のうち残りのL-1回の学習では第p秘密グローバルモデル計算システムのグローバルモデルのパラメータをローカルモデルのパラメータの初期値としてローカルモデルを学習し、pがσ(p)=1を満たす整数である場合は、2回目以降の学習では第p秘密グローバルモデル計算システムのグローバルモデルのパラメータをローカルモデルのパラメータの初期値としてローカルモデルを学習する。なお、σ(p’)=σ(p)-1から、p’は1≦p’≦Pを満たす、pとは異なる整数であることがわかる。
 S140において、第p秘密グローバルモデル計算システムを構成する秘密グローバルモデル計算装置100nのパラメータシェア登録部140nは、第p秘密グローバルモデル計算システムを構成する秘密グローバルモデル計算装置100nが学習したローカルモデルのパラメータのシェアを入力とし、ローカルモデルのパラメータのシェアをローカルモデル管理テーブルに登録する。
 S150において、第pマスタ秘密グローバルモデル計算装置の学習開始条件判定手段150は、前回グローバルモデルを計算して以降、新たに登録されたローカルモデルの数が所定の値(当該値は1以上N以下の値である)を超えたあるいは所定の値以上となった場合は、学習開始条件が満たされていると判定し、S160の処理を実行する一方、それ以外の場合は、学習開始条件が満たされていないと判定し、S140の処理に戻る。
 S160において、第pマスタ秘密グローバルモデル計算装置のグローバルモデル計算手段160は、ローカルモデル管理テーブルで管理されているローカルモデルのパラメータのシェアを用いて、グローバルモデルのパラメータのシェアを計算する。
 本発明の実施形態によれば、連合学習において、グローバルモデルを計算する秘密計算システムを構成する装置がローカルモデルを学習する機能を備えることにより、効率的にモデルを学習することが可能となる。また、秘密グローバルモデル計算装置がローカルモデル学習機能を備えること及び計算資源に空きがある秘密グローバルモデル計算装置により秘密グローバルモデル計算システムを構成することにより、演算量や通信量を抑制し効率的にモデルを学習することが可能となる。さらに、2以上の秘密グローバルモデル計算システムの各々が1つの層をなし、連合学習システムは全体としてニューラルネットワークにおける計算のようにモデルを学習することで、グローバルモデルを再利用した効率的なモデル学習を実現することが可能となる。
<補記>
 上述した各装置の各部の処理をコンピュータにより実現してもよく、この場合は各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図7に示すコンピュータ2000の記録部2020に読み込ませ、演算処理部2010、入力部2030、出力部2040、補助記録部2025などを動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 本発明の装置は、例えば単一のハードウェアエンティティとして、ハードウェアエンティティの外部から信号を入力可能な入力部、ハードウェアエンティティの外部に信号を出力可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、演算処理部であるCPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
 ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
 ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行、処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成部)を実現する。つまり、本発明の実施形態の各構成部は、処理回路(Processing Circuitry)により構成されてもよい。
 既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体は、例えば、非一時的な記録媒体であり、具体的には、磁気記録装置、光ディスク等である。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の非一時的な記憶装置である補助記録部2025に格納する。そして、処理の実行時、このコンピュータは、自己の非一時的な記憶装置である補助記録部2025に格納されたプログラムを記録部2020に読み込み、読み込んだプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを記録部2020に読み込み、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。

Claims (5)

  1.  Kを3以上の整数、Nを3≦N≦Kを満たす整数とし、
     K個の、学習データを用いてローカルモデルを学習する秘密グローバルモデル計算装置を含む連合学習システムにおける秘密グローバルモデル計算装置であって、
     K個の秘密グローバルモデル計算装置のうちの任意のN個の秘密グローバルモデル計算装置はN個のローカルモデルからグローバルモデルを秘密計算する秘密グローバルモデル計算システムを構成できるものであり、
     自分自身を除くK-1個の秘密グローバルモデル計算装置に対して計算資源の空き状況を確認するクエリを送信し、当該K-1個の秘密グローバルモデル計算装置の中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する選択部と、
     前記選択されたN-1個の秘密グローバルモデル計算装置と自分自身をあわせたN個の秘密グローバルモデル計算装置で秘密グローバルモデル計算システムを構成するシステム構成部と、
     を含む秘密グローバルモデル計算装置。
  2.  Kを3以上の整数、Nを3≦N≦Kを満たす整数とし、
     K個の、学習データを用いてローカルモデルを学習する秘密グローバルモデル計算装置を含む連合学習システムが秘密グローバルモデル計算システムを構成する秘密グローバルモデル計算システム構成方法であって、
     K個の秘密グローバルモデル計算装置のうちの任意のN個の秘密グローバルモデル計算装置はN個のローカルモデルからグローバルモデルを秘密計算する秘密グローバルモデル計算システムを構成できるものであり、
     K個の秘密グローバルモデル計算装置のうちの1個の秘密グローバルモデル計算装置(以下、マスタ秘密グローバルモデル計算装置という)が、自分自身を除くK-1個の秘密グローバルモデル計算装置に対して計算資源の空き状況を確認するクエリを送信し、当該K-1個の秘密グローバルモデル計算装置の中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する選択ステップと、
     前記マスタ秘密グローバルモデル計算装置が、前記選択されたN-1個の秘密グローバルモデル計算装置と自分自身をあわせたN個の秘密グローバルモデル計算装置で秘密グローバルモデル計算システムを構成するシステム構成ステップと、
     を含む秘密グローバルモデル計算システム構成方法。
  3.  Kを3以上の整数、Pを2以上の整数、Nを3≦N≦K/Pを満たす整数とし、
     K個の、学習データを用いてローカルモデルを学習する秘密グローバルモデル計算装置を含む連合学習システムにおける秘密グローバルモデル計算装置であって、
     K個の秘密グローバルモデル計算装置のうちの任意のN個の秘密グローバルモデル計算装置はN個のローカルモデルからグローバルモデルを秘密計算する秘密グローバルモデル計算システムを構成できるものであり、
     秘密グローバルモデル計算システム構成のために選択されていないK-(p-1)N個(ただし、pは1≦p≦Pを満たす整数)の秘密グローバルモデル計算装置のうちの自分自身を除くK-(p-1)N-1個の秘密グローバルモデル計算装置に対して計算資源の空き状況を確認するクエリを送信し、当該K-(p-1)N-1個の秘密グローバルモデル計算装置の中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する選択部と、
     前記選択されたN-1個の秘密グローバルモデル計算装置と自分自身をあわせたN個の秘密グローバルモデル計算装置で秘密グローバルモデル計算システム(以下、第p秘密グローバルモデル計算システムという)を構成するシステム構成部と、
     σを集合{1, …, P}の置換、Lを2以上の整数とし、
     pがσ(p)>1を満たす整数である場合は、L回のうち1回の学習では第p’秘密グローバルモデル計算システム(ただし、p’はσ(p’)=σ(p)-1を満たす整数)のグローバルモデルのパラメータを、L回のうち残りのL-1回の学習では第p秘密グローバルモデル計算システムのグローバルモデルのパラメータをローカルモデルのパラメータの初期値としてローカルモデルを学習し、pがσ(p)=1を満たす整数である場合は、2回目以降の学習では第p秘密グローバルモデル計算システムのグローバルモデルのパラメータをローカルモデルのパラメータの初期値としてローカルモデルを学習するローカルモデル学習部と、
     を含む秘密グローバルモデル計算装置。
  4.  Kを3以上の整数、Pを2以上の整数、Nを3≦N≦K/Pを満たす整数とし、
     K個の、学習データを用いてローカルモデルを学習する秘密グローバルモデル計算装置を含む連合学習システムが秘密グローバルモデル計算システムを構成する秘密グローバルモデル計算システム構成方法であって、
     K個の秘密グローバルモデル計算装置のうちの任意のN個の秘密グローバルモデル計算装置はN個のローカルモデルからグローバルモデルを秘密計算する秘密グローバルモデル計算システムを構成できるものであり、
     秘密グローバルモデル計算システム構成のために選択されていないK-(p-1)N個(ただし、pは1≦p≦Pを満たす整数)の秘密グローバルモデル計算装置のうちの1個の秘密グローバルモデル計算装置(以下、第pマスタ秘密グローバルモデル計算装置という)が、自分自身を除くK-(p-1)N-1個の秘密グローバルモデル計算装置に対して計算資源の空き状況を確認するクエリを送信し、当該K-(p-1)N-1個の秘密グローバルモデル計算装置の中から計算資源の空き状況が大きいN-1個の秘密グローバルモデル計算装置を選択する選択ステップと、
     第pマスタ秘密グローバルモデル計算装置が、前記選択されたN-1個の秘密グローバルモデル計算装置と自分自身をあわせたN個の秘密グローバルモデル計算装置で秘密グローバルモデル計算システム(以下、第p秘密グローバルモデル計算システムという)を構成するシステム構成ステップと、
     σを集合{1, …, P}の置換、Lを2以上の整数とし、
     第pマスタ秘密グローバルモデル計算装置が、pがσ(p)>1を満たす整数である場合は、L回のうち1回の学習では第p’秘密グローバルモデル計算システム(ただし、p’はσ(p’)=σ(p)-1を満たす整数)のグローバルモデルのパラメータを、L回のうち残りのL-1回の学習では第p秘密グローバルモデル計算システムのグローバルモデルのパラメータをローカルモデルのパラメータの初期値としてローカルモデルを学習し、pがσ(p)=1を満たす整数である場合は、2回目以降の学習では第p秘密グローバルモデル計算システムのグローバルモデルのパラメータをローカルモデルのパラメータの初期値としてローカルモデルを学習するローカルモデル学習ステップと、
     を含む秘密グローバルモデル計算システム構成方法。
  5.  請求項1または3に記載の秘密グローバルモデル計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2022/016503 2022-03-31 2022-03-31 秘密グローバルモデル計算装置、秘密グローバルモデル計算システム構成方法、プログラム WO2023188259A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/016503 WO2023188259A1 (ja) 2022-03-31 2022-03-31 秘密グローバルモデル計算装置、秘密グローバルモデル計算システム構成方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/016503 WO2023188259A1 (ja) 2022-03-31 2022-03-31 秘密グローバルモデル計算装置、秘密グローバルモデル計算システム構成方法、プログラム

Publications (1)

Publication Number Publication Date
WO2023188259A1 true WO2023188259A1 (ja) 2023-10-05

Family

ID=88199841

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/016503 WO2023188259A1 (ja) 2022-03-31 2022-03-31 秘密グローバルモデル計算装置、秘密グローバルモデル計算システム構成方法、プログラム

Country Status (1)

Country Link
WO (1) WO2023188259A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003203061A (ja) * 2002-01-08 2003-07-18 Mitsubishi Heavy Ind Ltd 並列計算機システムおよび並列計算機システムにおける計算ノードの選択用プログラム
JP2017207839A (ja) * 2016-05-17 2017-11-24 日本電信電話株式会社 ニューラルネットワークシステム、シェア計算装置、ニューラルネットワークの学習方法、プログラム
WO2021059607A1 (ja) * 2019-09-26 2021-04-01 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
WO2021205959A1 (ja) * 2020-04-10 2021-10-14 ソニーグループ株式会社 情報処理装置、サーバー、情報処理システム及び情報処理方法
JP2021197181A (ja) * 2020-06-11 2021-12-27 ライン プラス コーポレーションLINE Plus Corporation 個人化による連合学習の多重モデル提供方法、システム、およびコンピュータプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003203061A (ja) * 2002-01-08 2003-07-18 Mitsubishi Heavy Ind Ltd 並列計算機システムおよび並列計算機システムにおける計算ノードの選択用プログラム
JP2017207839A (ja) * 2016-05-17 2017-11-24 日本電信電話株式会社 ニューラルネットワークシステム、シェア計算装置、ニューラルネットワークの学習方法、プログラム
WO2021059607A1 (ja) * 2019-09-26 2021-04-01 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
WO2021205959A1 (ja) * 2020-04-10 2021-10-14 ソニーグループ株式会社 情報処理装置、サーバー、情報処理システム及び情報処理方法
JP2021197181A (ja) * 2020-06-11 2021-12-27 ライン プラス コーポレーションLINE Plus Corporation 個人化による連合学習の多重モデル提供方法、システム、およびコンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KANAGAVELU RENUGA; LI ZENGXIANG; SAMSUDIN JUNIARTO; YANG YECHAO; YANG FENG; MONG GOH RICK SIOW; CHEAH MERVYN; WIWATPHONTHANA PRAEW: "Two-Phase Multi-Party Computation Enabled Privacy-Preserving Federated Learning", 2020 20TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND INTERNET COMPUTING (CCGRID), IEEE, 11 May 2020 (2020-05-11), pages 410 - 419, XP033791506, DOI: 10.1109/CCGrid49817.2020.00-52 *
MIYAJIMA, HIROFUMI ET AL.: "New Machine Learning Method with using Secure Divided Data", IPSJ SIG TECHNICAL REPORTS, DPS, vol. 2021-DPS-189, no. 11, 13 December 2021 (2021-12-13), pages 1 - 8, XP009550626 *

Similar Documents

Publication Publication Date Title
CN110557245B (zh) 用于spdz的容错和安全多方计算的方法和系统
US20190205568A1 (en) Providing security against user collusion in data analytics using random group selection
JP6556659B2 (ja) ニューラルネットワークシステム、シェア計算装置、ニューラルネットワークの学習方法、プログラム
EP4016506B1 (en) Softmax function secret calculation system, softmax function secret calculation device, softmax function secret calculation method, neural network secret calculation system, neural network secret learning system, and program
US20220413807A1 (en) Secure random number generation system, secure computation apparatus, secure random number generation method, and program
Tueno et al. Secure Computation of the-Ranked Element in a Star Network
Abadi et al. Multi-party updatable delegated private set intersection
García-Hernández et al. Multi-objective configuration of a secured distributed cloud data storage
US11599681B2 (en) Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program
EP4080488B1 (en) Secret random number generation system, secret calculation device, secret random number generation method, and program
CN117349685A (zh) 一种通信数据的聚类方法、系统、终端及介质
WO2023188259A1 (ja) 秘密グローバルモデル計算装置、秘密グローバルモデル計算システム構成方法、プログラム
Dharani et al. Survey on secret sharing scheme with deduplication in cloud computing
Chaudhury et al. AC 0 Constructions of Secret Sharing Schemes–Accommodating New Parties
WO2023188261A1 (ja) 秘密グローバルモデル計算装置、ローカルモデル登録方法、プログラム
WO2023188257A1 (ja) 秘密グローバルモデル計算装置、ローカルモデル登録方法、プログラム
WO2022107323A1 (ja) 秘密計算システム、秘密計算サーバ装置、秘密計算方法および秘密計算プログラム
JP4773941B2 (ja) 代理署名装置、署名者装置、署名検証装置及びそれらのプログラム
Shah et al. Secure featurization and applications to secure phishing detection
JP2023553783A (ja) 複数のサブネットを有する分散ネットワーク
WO2023228273A1 (ja) 秘密属性選択システム、秘密属性選択装置、秘密属性選択方法、プログラム
WO2024018504A1 (ja) クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム
WO2024013974A1 (ja) 秘密交差結合システム、秘密交差結合装置、秘密交差結合方法、プログラム
WO2023233569A1 (ja) 秘密検索システム、秘密検索装置、秘密検索方法、プログラム
Sugizaki et al. Threshold Fully Homomorphic Encryption Over the Torus

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

Country of ref document: EP

Kind code of ref document: A1