Secret global model calculation device, local model registration method, and program
The secret global model computing system addresses timing variations in federated learning by checking processing availability and managing local model transmission, ensuring efficient and deadlock-free global model calculation.
Patent Information
- Application Number
- JP2024511016
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-31
- Publication Date
- 2025-12-03
- Estimated Expiration
- 2042-03-31
AI Technical Summary
The timing of learning completion varies among local model learning devices due to differences in data volume and computing power, leading to inefficient processing and potential deadlocks in secure computation systems during federated learning.
A secret global model computing system with N secret global model computing devices that check processing availability and manage local model transmission, including a processing availability confirmation unit, a transceiver unit, and a parameter share registration unit to efficiently receive and register local model shares.
This system ensures efficient reception of local models for global model calculation, preventing deadlocks and enhancing processing efficiency in federated learning.
Smart Images

Figure 0007779380000001 
Figure 0007779380000002 
Figure 0007779380000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a federated learning technique, and more particularly to a technique for efficiently receiving local models required for computing a global model. [Background technology]
[0002] Federated learning is a technique for learning without consolidating learning data in a single device. For example, FedAVG, described in Non-Patent Document 1, is an example of a federated learning technique.
[0003] FIG. 1 shows the basic configuration of a federated learning system 90. The federated learning system 90 includes M (M is an integer equal to or greater than 2) local model learning devices 1001, ..., 100 M and a global model calculation device 900. The basic operation of the federated learning system 90 is as follows: Local model learning devices 1001, ..., 100 M Each local model learning device 1001, ..., 100 uses the learning data recorded in its own recording unit to learn a local model. M The local model calculation device 900 transmits the local model to the global model calculation device 900 via the network 800. The global model calculation device 900 calculates the global model using the received local model. After the calculation is completed, the global model calculation device 900 transmits the global model to the local model learning devices 1001, ..., 100 via the network 800. M The local model learning device 1001, ..., 100 M The global model computing device 900 then uses the received global model to re-learn the local model. By repeating this operation, the federated learning system 90 advances model learning. At this time, the global model computing device 900 manages the parameters of the local model using a local model management table.
[0004] When using federated learning technology, 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 to speed up learning through parallel learning. However, for example, if the local model learning devices 1001, ..., 100 M There is a risk that the training data may be inferred if the parameters of the model being trained are tracked and leaked during the communication process between the global model computation device 900. In order to avoid such a risk, it is conceivable to use secure computation for the calculation of the global model.
[0005] Secure computation is a method of obtaining the result of a specified computation without restoring the encrypted numerical value (see, for example, Reference Non-Patent Document 1). In the method of Reference Non-Patent Document 1, encryption is performed by distributing multiple pieces of information from which a numerical value can be restored to three secure computing devices, and the results of addition / subtraction, constant sum, multiplication, constant multiplication, logical operations (negation, logical product, logical sum, exclusive logical sum), and data format conversion (integer, binary number) can be stored in a distributed state, i.e., encrypted, among the three secure computing devices without restoring the numerical value. In general, the number of shares is not limited to 3 and can be N (N is an integer equal to or greater than 3), and a protocol that realizes secure computation through cooperative computation by N secure computing devices is called a multi-party protocol.
[0006] (Reference Non-Patent Document 1: Koji Senda, Hiroki Hamada, Dai Igarashi, Katsumi Takahashi, “Rethinking Lightweight Verifiable Three-Party Secure Function Computation,” In CSS, 2010.) [Prior art documents] [Non-patent literature]
[0007] [Non-Patent Document 1] 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. Summary of the Invention [Problem to be solved by the invention]
[0008] However, the timing at which learning ends varies depending on the amount of learning data used by the local model learning device for learning and the computing power of the local model learning device. As a result, the timing at which the secure computation system that calculates the global model receives the local model also varies, resulting in poor processing efficiency of the secure computation system. In addition, in some cases, deadlock may occur in the secure computation system.
[0009] Therefore, an object of the present invention is to provide a technique for efficiently receiving a local model required for calculating a global model in associative learning. [Means for solving the problem]
[0010] One aspect of the present invention is a secret global model computing device in a federated learning system including M local model learning devices that learn local models using learning data, where M is an integer greater than or equal to 2 and N is an integer greater than or equal to 3, and a secret global model computing system composed of N secret global model computing devices that secretly compute a global model from the M local models, wherein the secret global model computing device includes a processing availability confirmation unit that, upon receiving a processing availability confirmation request sent by one of the M local model learning devices, checks whether the N secret global model computing devices are processing available, and if all N secret global model computing devices are processing available, sends a local model transmission instruction to the local model learning device and enters a reception waiting state; a transceiver unit that receives a parameter share of the local model learned by the local model learning device; and a parameter share registration unit that registers the parameter share of the local model.
[0011] One aspect of the present invention is a secret global model calculation device in a federated learning system including M local model learning devices that learn local models using learning data, where M is an integer greater than or equal to 2 and N is an integer greater than or equal to 3, and a secret global model calculation system consisting of N secret global model calculation devices that secretly calculate a global model from the M local models, the secret global model calculation device including: a processing availability confirmation unit that periodically checks whether N-1 secret global model calculation devices other than itself are processing available, and if all N secret global model calculation devices are processing available, discloses that it is waiting to receive a local model; a transmission / reception unit that receives a share of parameters of a local model learned by one of the M local model learning devices; and a parameter share registration unit that registers the share of parameters of the local model.
[0012] One aspect of the present invention is a secret global model computing device in a federated learning system including M local model learning devices that learn local models using learning data, where M is an integer greater than or equal to 2 and N is an integer greater than or equal to 3, and a secret global model computing system consisting of N secret global model computing devices that secretly compute a global model from the M local models, wherein a master secret global model computing device is a secret global model computing device different from itself that discloses that it is waiting to receive a local model when all N secret global model computing devices are processing free, and includes a processing free confirmation unit that replies to a periodic confirmation from the master secret global model computing device as to whether it is processing free or not, a transmission / reception unit that receives a share of parameters of a local model learned by one of the M local model learning devices, and a parameter share registration unit that registers the share of parameters of the local model. [Effects of the Invention]
[0013] According to the present invention, it is possible to efficiently receive local models required for calculating a global model in associative learning. [Brief explanation of the drawings]
[0014] [Figure 1] FIG. 1 is a diagram showing the basic configuration of a federated learning system 90. [Figure 2] FIG. 1 is a block diagram showing the configuration of an associative learning system 10. [Figure 3] FIG. 2 is a block diagram showing the configuration of a local model learning device 100m. [Figure 4] FIG. 2 is a block diagram showing the configuration of a secret global model calculation device 200n. [Figure 5] 10 is a flowchart showing the operation of the local model learning device 100m. [Figure 6] 10 is a flowchart showing the operation of the secret global model calculation system 20. [Figure 7]FIG. 2 is a diagram illustrating an example of the functional configuration of a computer that realizes each device according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0015] Hereinafter, embodiments of the present invention will be described in detail. Components having the same functions are given the same numbers, and duplicated explanations will be omitted.
[0016] Before describing each embodiment, the notation used in this specification will be explained.
[0017] ^ (caret) represents a superscript, e.g., x y^z Yes z is a superscript to x, and x y^z Yes z is a subscript to x. Also, _ (underscore) represents a subscript. For example, x y_z Yes z is a superscript to x, and x y_z Yes z is a subscript to x.
[0018] The superscripts "^" and "~" such as ^x and ~x for a certain letter x should be written directly above the "x", but due to restrictions on the notation in the specification, they are written as ^x and ~x.
[0019] <Technical background> <<Secure calculation>> The secure computation in the present invention is constructed by combining existing secure computation operations. The operations required for this secure computation include, for example, concealment, addition, subtraction, multiplication, division, logical operations (negation, logical AND, logical OR, exclusive OR), and comparison operations (=, <, >, ≦, ≧). Below, we will explain some of the operations, including their notations.
[0020] [Redacted] Let [[x]] be the value of x concealed by secret sharing (hereinafter referred to as a share of x). Any secret sharing method can be used. For example, 61 -1) Shamir secret sharing on Z2 and replication secret sharing on Z2 can be used.
[0021] Multiple secret sharing methods may be combined within a single algorithm. In this case, they will be converted into each other as appropriate.
[0022] Also, N-dimensional vector → x=(x1, …, x N ) for [[ → x]]=([[x1]], …, [[x N ]]). That is, [[ → x]] is → The nth element of x, x n Share [[x n ]] is a vector with n-th element. Similarly, M×N matrix A=(a m,n )(1≦m≦M, 1≦n≦N), let [[A]] be the (m, n)th element a of A. m,n Share of [[a m,n Let ]] be the matrix whose element is (m, n).
[0023] Note that x is called the plaintext of [[x]].
[0024] Specific examples of a method for obtaining [[x]] from x (concealment) and a method for obtaining x from [[x]] (restoration) are described in Reference Non-Patent Document 1 and Reference Non-Patent Document 2.
[0025] (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] Secure addition [[x]]+[[y]] takes inputs [[x]] and [[y]] and outputs [[x+y]]. Secure subtraction [[x]]-[[y]] takes inputs [[x]] and [[y]] and outputs [[xy]]. Secure multiplication [[x]]×[[y]] (sometimes expressed as mul([[x]], [[y]])) takes inputs [[x]] and [[y]] and outputs [[x×y]]. Secure division [[x]] / [[y]] (sometimes expressed as div([[x]], [[y]])) takes inputs [[x]] and [[y]] and outputs [[x / y]].
[0026] Specific methods for addition, subtraction, multiplication, and division include those described in Reference Non-Patent Documents 3 and 4.
[0027] (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, MO and Rabin, T., “Simplified 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.) [Logical Operations] The negation not[[x]] by secret calculation takes [[x]] as input and outputs [[not(x)]]. The logical AND and([[x]], [[y]]) by secret calculation takes [[x]], [[y]] as input and outputs [[and(x, y)]]. The logical OR or([[x]], [[y]]) by secret calculation takes [[x]], [[y]] as input and outputs [[or(x, y)]]. The exclusive OR xor([[x]], [[y]]) by secret calculation takes [[x]], [[y]] as input and outputs [[xor(x, y)]].
[0028] Note that logical operations can be easily configured by combining addition, subtraction, multiplication, and division.
[0029] [Comparison Operations] The equality determination =([[x]], [[y]]) (sometimes denoted as equal([[x]], [[y]])) by secret calculation takes [[x]], [[y]] as input and outputs [[1]] if x = y, and [[0]] otherwise. The comparison <([[x]], [[y]]) by secret calculation takes [[x]], [[y]] as input and outputs [[1]] if x < y, and [[0]] otherwise. The comparison >([[x]], [[y]]) by secret calculation takes [[x]], [[y]] as input and outputs [[1]] if x > y, and [[0]] otherwise. The comparison ≦([[x]], [[y]]) by secret calculation takes [[x]], [[y]] as input and outputs [[1]] if x ≦ y, and [[0]] otherwise. The comparison ≧([[x]], [[y]]) by secret calculation takes [[x]], [[y]] as input and outputs [[1]] if x ≧ y, and [[0]] otherwise.
[0030] Note that comparison operations can be easily configured by combining logical operations.
[0031] <First Embodiment> The federated learning system 10 will be described below with reference to FIGS. 2 to 6. FIG. 2 is a block diagram showing the configuration of the federated learning system 10. The federated learning system 10 includes M (M is an integer of 2 or more) local model learning devices 1001, ..., 100 M and a secret global model calculation system 20. The secret global model calculation system 20 includes N (N is an integer of 3 or more) secret global model calculation devices 2001, ..., 200 N Local model learning devices 1001, ..., 100 M are connected to the network 800 and can communicate with the secret global model calculation system 20. The secret global model calculation devices 2001, ..., 200 N are connected to a 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 communication path. FIG. 3 shows the local model learning device 100. m 4 is a block diagram showing the configuration of the secret global model calculation device 200 (1≦m≦M). n FIG. 5 is a block diagram showing the configuration of the local model learning device 100 (1≦n≦N). m 6 is a flowchart showing the operation of the secret global model calculation system 20.
[0032] As shown in FIG. 3, the local model learning device 100 m is the local model learning unit 110 m and the parameter share calculation unit 120 m and the processing availability confirmation request generating unit 130 m and a global model acquisition unit 140. m and the parameter calculation unit 150 m and the learning start condition determination unit 160 m and the transmitting / receiving unit 180 m and recording unit 190 m Recording unit 190 m The local model learning device 100 m The recording unit 190 is a component that records information necessary for the processing of the mFor example, the parameter recorder records training data and local model parameters. The training data is updated as needed.
[0033] As shown in FIG. 4, the secret global model calculation device 200 n The processing availability check unit 210 n and the parameter share registration unit 220 n and the learning start condition determination unit 230 n and the global model calculation unit 240 n and the transmitting / receiving unit 280 n and recording unit 290 n The processing availability check unit 210 n and the parameter share registration unit 220 n and the transmitter / receiver 280 n and Recording Section 290 n Excluding the secret global model computing device 200 n Each of the components is configured to be able to execute operations required to realize the function of each component, such as concealment, addition, subtraction, multiplication, division, logical operation, and comparison operation, among the operations required for calculation of the global model. In the present invention, the specific functional configuration for realizing each operation is sufficient if it is a configuration that can execute existing algorithms, and since these are conventional configurations, detailed description will be omitted. In addition, the recording unit 290 n The secret global model calculation device 200 n The recording unit 290 is a component that records information necessary for the processing of the n For example, the secret global model calculation device 200 records the share of parameters of the local model and the share of parameters of the global model. n is a local model learning device 100 in that it does not record learning data. m The global model is a model that has the same structure as the local model.
[0034] N secret global model calculation devices 200 nBy the collaborative computation by the above, the secret global model computation system 20 realizes the secure computation of the global model, which is a multi-party protocol. Therefore, the learning start condition determination means 230 (not shown) of the secret global model computation system 20 includes the learning start condition determination units 2301, ..., 230 N The global model calculation means 240 (not shown) is composed of global model calculation units 2401, ..., 240 N It consists of:
[0035] Hereinafter, the local model learning device 100 will be described with reference to FIG. m The operation of the local model learning device 100 will be described. m The mth local model learning device 100, the local model learning device 100 m The local model learned by the m-th local model learning device 100 is referred to as the m-th local model. In other words, the m-th local model learning device 100 learns the m-th local model using learning data.
[0036] S110 m In the local model learning unit 110 m is the recording unit 190 m In the first learning of the m-th local model, the local model learning unit 110 m is stored in advance in the recording unit 190 m Alternatively, the initial values of the parameters of the m-th local model may be set using initial values recorded in the local model learning unit 110, or may be set using initial values generated using random numbers. m is S140, which will be described later. m The global model obtained in step 1 is used to set the initial values of the parameters of the m-th local model.
[0037] S120 m In the parameter share calculation unit 120 m is S110 mCalculate the share of the parameters of the m-th local model from the parameters of the m-th local model learned in (2).
[0038] S130 m In the process, the processing availability confirmation request generation unit 130 m is S120 m When the calculation of the above is completed, a processing availability confirmation request is generated. m When the generation is completed, the transmitting and receiving unit 180 m Using the secret global model calculation device 2001, ..., 200 N The processing availability confirmation request generation unit 130 sends a processing availability confirmation request to the m The transmitter / receiver 180 m Using the global model calculation device 2001, ..., 200 N When a local model transmission instruction is received from the m is the transmitting and receiving unit 180 m Using the secret global model calculation device 2001, ..., 200 N otherwise, after a predetermined time has elapsed, the transmitter / receiver 180 m Using the secret global model calculation device 2001, ..., 200 N Send a request to check availability.
[0039] S140 m In the global model acquisition unit 140 m is S130 m After the processing of S160 m After a predetermined time has elapsed since the end of the process, the transmitting / receiving unit 180 m Using the secret global model calculation device 2001, ..., 200 N Obtain the parameter shares of the global model from
[0040] S150 m In the parameter calculation unit 150 m is S140 mThe parameter calculation unit 150 calculates the parameters of the global model from the share of the parameters of the global model obtained in the step 150. m The parameters of the calculated global model are recorded in the recording unit 190. m The recording unit 190 m At least two global model parameters, namely, the global model parameters obtained in the current calculation and the global model parameters obtained in the previous calculation, are recorded in .
[0041] S160 m In the learning start condition determination unit 160 m is S150 m The parameters of the global model calculated in step S110 are compared 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 m Otherwise, it is determined that the learning start condition is not satisfied, and the process proceeds to S140. m Return to processing.
[0042] The operation of the secret global model computation system 20 will be described below with reference to Fig. 6. Here, the secret global model computation system 20 secretly computes a global model from M local models.
[0043] In S210, the secret global model calculation device 200 n (1≦n≦N) processing availability check unit 210 n The transmitter / receiver 280 n Using local model learning devices 1001, ..., 100 M When a request for confirmation of availability of processing is received from one of the local model learning devices 2001, ..., 200 N The secret global model calculation devices 2001, ..., 200 NIf all the devices are free, a local model transmission instruction is sent to the local model learning device that sent the free processing confirmation request, and the device enters a waiting state for reception. Otherwise, the device transmits information to the local model learning device that the local model cannot be transmitted. At this time, the private global model calculation devices 2001, ..., 200 N uses a consensus algorithm to create a secret global model calculation device 2001, ..., 200 N It is checked whether all the secret global model calculation devices 2001, ..., 200 are free. N It determines whether all nodes are ready to receive or not. For example, RAFT or Paxos can be used as a consensus algorithm.
[0044] In S220, the secret global model calculation device 200 n (1≦n≦N) parameter share registration unit 220 n The transmitter / receiver 280 n The parameter shares of the local model learned by the local model learning device that transmitted the processing availability confirmation request received using the above method are input, and the parameter shares of the local model are registered in a local model management table. Here, the local model management table is a table for managing parameter shares of M local models, and is stored in the recording unit 290. n It is recorded in.
[0045] In S230, if the number of newly registered local models since the last global model calculation exceeds or becomes equal to or greater than a predetermined value (the value is 1 to M), the learning start condition determination means 230 determines that the learning start condition is satisfied and executes the processing of S240; otherwise, it determines that the learning start condition is not satisfied and returns to the processing of S210.
[0046] In S240, the global model calculation means 240 calculates the parameter share of the global model using the parameter shares of the local models managed in the local model management table. For example, the global model calculation means 240 determines the parameter share of the global model to be the average of the parameter shares of the corresponding first to Mth local models.
[0047] According to an embodiment of the present invention, it is possible to efficiently receive local models required for calculating a global model in federated learning.
[0048] Second Embodiment Local model learning device 100 of the first embodiment m is a secret global model computing device 2001, ..., 200 N In the first embodiment, the local model learning device determines whether to transmit the share of the parameters of the local model by sending a processing availability confirmation request to the secret global model calculation devices 2001, ..., 200 N , 2001, ..., 2002, a request for confirmation of availability of processing is sent to one predetermined secret global model computing device among the secret global model computing devices 2001, ..., 2003, and the secret global model computing devices 2004, ..., 2005, respectively. N One predetermined secret global model computing device among them is called a master secret global model computing device. For simplicity, the following description will be given assuming that the secret global model computing device 2001 is the master secret global model computing device.
[0049] The following describes the differences between the first and second embodiments. Specifically, the local model learning device 100 m Processing availability confirmation request generation unit 130 m Operation and secret global model of computing device 200 n Processing availability confirmation unit 210 n The operation of the system will be explained below.
[0050] First, the local model learning device 100m Processing availability confirmation request generation unit 130 m The operation of the system will be explained below.
[0051] S130 m In the process, the processing availability confirmation request generation unit 130 m is S120 m When the calculation of the above is completed, a processing availability confirmation request is generated. m When the generation is completed, the transmitting and receiving unit 180 m The processing availability confirmation request generating unit 130 transmits a processing availability confirmation request to the secret global model computing device 2001, which is the master secret global model computing device, using the processing availability confirmation request generating unit 130. m The transmitter / receiver 180 m When it is determined that the global model calculation device 2001 is waiting to receive the local model using m is the transmitting and receiving unit 180 m Using the secret global model calculation device 2001, ..., 200 N otherwise, after a predetermined time has elapsed, the transmitter / receiver 180 m The private global model computing device 2001 transmits a request to check availability of processing using the above.
[0052] Next, the secret global model calculation device 200 n Processing availability confirmation unit 210 n The operation of the system will be explained below.
[0053] In S210, the processing free check unit 2101 of the secret global model computing device 2001, which is the master secret global model computing device, uses the transmitting / receiving unit 2801 to check at any time whether the N-1 secret global model computing devices other than itself are free to process, and if all N secret global model computing devices are free to process, it announces that it is waiting to receive a local model, and in other cases, it announces that it is not waiting to receive a local model. n (2≦n≦N) processing availability check unit 210 nThe transmitter / receiver 280 n In response to a confirmation from the private global model computing device 2001 as to whether it is free to process, the private global model computing device 2001 replies whether it is free to process using the above.
[0054] According to an embodiment of the present invention, it is possible to efficiently receive local models required for calculating a global model in federated learning.
[0055] <Additional Notes> The processing of each unit of each of the above-mentioned devices may be realized by a computer, in which case the processing content of the functions that each device should have is described by a program. Then, by loading this program into the recording unit 2020 of the computer 2000 shown in Fig. 7 and operating the arithmetic processing unit 2010, the input unit 2030, the output unit 2040, the auxiliary recording unit 2025, etc., various processing functions of each of the above-mentioned devices are realized on the computer.
[0056] The device of the present invention may, for example, be a single hardware entity, having an input unit capable of inputting signals from outside the hardware entity, an output unit capable of outputting signals to outside the hardware entity, a communication unit to which a communication device (e.g., a communication cable) can be connected for communication with outside the hardware entity, a CPU (which may also include a central processing unit, cache memory, registers, etc.) as an arithmetic processing unit, RAM and ROM as memories, an external storage device such as a hard disk, and buses connecting these input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so as to enable data exchange. If necessary, the hardware entity may also be provided with a device (drive) capable of reading and writing to a recording medium such as a CD-ROM. An example of a physical entity equipped with such hardware resources is a general-purpose computer.
[0057] The external storage device of the hardware entity stores the programs required to realize the above-mentioned functions and the data required for processing these programs (the programs may be stored in a ROM, which is a read-only storage device, for example, instead of an external storage device). Data obtained by processing these programs is stored in RAM, the external storage device, etc. as appropriate.
[0058] In the hardware entity, each program stored in an external storage device (or ROM, etc.) and data required for processing each program are loaded into memory as needed, and interpreted, executed, and processed by the CPU as appropriate. As a result, the CPU realizes predetermined functions (each component represented as the above, "... unit," "... means," etc.). In other words, each component in the embodiments of the present invention may be configured by a processing circuitry.
[0059] As described above, when the processing functions of the hardware entities (apparatuses of the present invention) described in the above embodiments are realized by a computer, the processing contents of the functions that the hardware entities should have are described by a program. Then, by executing this program on a computer, the processing functions of the hardware entities are realized on the computer.
[0060] The program describing the processing contents can be recorded on a computer-readable recording medium, such as a non-transitory recording medium, specifically a magnetic recording device, an optical disk, or the like.
[0061] The program may be distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD or CD-ROM on which the program is recorded. Furthermore, the program may be stored in a storage device of a server computer, and then transferred from the server computer to another computer via a network, thereby distributing the program.
[0062] A computer that executes such a program, for example, first stores the program recorded on a portable recording medium or transferred from a server computer in its own non-transitory storage device, the auxiliary storage unit 2025. Then, when executing a process, the computer loads the program stored in its own non-transitory storage device, the auxiliary storage unit 2025, into the storage unit 2020 and executes processing in accordance with the loaded program. Alternatively, as another execution mode of this program, the computer may load the program directly from a portable recording medium into the storage unit 2020 and execute processing in accordance with the program. Furthermore, each time a program is transferred from a server computer to this computer, the computer may execute processing in accordance with the received program. Alternatively, the server computer may not transfer the program to this computer, but may instead execute the processing function by issuing an execution instruction and obtaining the results, thereby executing the above-described processing through a so-called ASP (Application Service Provider) type service. Note that the program in this embodiment includes information used for processing by a computer that is equivalent to a program (such as data that is not a direct instruction to a computer but has properties that define computer processing).
[0063] Furthermore, in this embodiment, the device is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.
[0064] The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.
Claims
1. M is an integer of 2 or more, N is an integer of 3 or more, A secret global model computation device in a federated learning system including M local model learning devices that learn local models using learning data, and a secret global model computation system that is composed of N secret global model computation devices that secretly compute a global model from the M local models, a processing availability confirmation unit that constantly checks whether N-1 secret global model computing devices other than itself are free to process, and when all N secret global model computing devices including itself are free to process, announces that it is waiting to receive a local model; a transceiver that receives a share of parameters of a local model learned by one of the M local model learning devices; a parameter share registration unit that registers parameter shares of the local model; A secret global model calculation device including:
2. M is an integer of 2 or more, N is an integer of 3 or more, A secret global model computation device in a federated learning system including M local model learning devices that learn local models using learning data, and a secret global model computation system that is composed of N secret global model computation devices that secretly compute a global model from the M local models, A master secret global model computing device is a secret global model computing device that is different from itself and that announces that it is waiting to receive a local model when all of the N secret global model computing devices are free for processing, a processing availability confirmation unit that responds to a request from the master secret global model computing device as to whether it is free to process, by informing the master secret global model computing device whether it is free to process; a transceiver that receives a share of parameters of a local model learned by one of the M local model learning devices; a parameter share registration unit that registers parameter shares of the local model; A secret global model calculation device including:
3. M is an integer of 2 or more, N is an integer of 3 or more, a processing availability confirmation step in which a secret global model calculation device in a federated learning system including M local model learning devices that learn local models using learning data and a secret global model calculation system consisting of N secret global model calculation devices that secretly calculate a global model from the M local models, constantly checks whether N-1 secret global model calculation devices other than itself are processing available, and when all N secret global model calculation devices including itself are processing available, publishes that it is waiting to receive a local model; a transmitting / receiving step in which the secret global model computing device receives a share of parameters of a local model learned by one of the M local model learning devices; a parameter share registration step in which the secret global model calculation device registers a parameter share of the local model; Local model registration methods, including:
4. M is an integer of 2 or more, N is an integer of 3 or more, a processing availability confirmation step in which a secret global model calculation device in a federated learning system including M local model learning devices that learn local models using learning data and N secret global model calculation devices that secretly calculate a global model from the M local models, announces that it is waiting to receive a local model when all of the N secret global model calculation devices are processing available, and responds to a request from a secret global model calculation device other than itself as to whether it is processing available, by replying whether it is processing available; a transmitting / receiving step in which the secret global model computing device receives a share of parameters of a local model learned by one of the M local model learning devices; a parameter share registration step in which the secret global model calculation device registers a parameter share of the local model; Local model registration methods, including:
5. A program for causing a computer to function as the secret global model calculation device according to claim 1 or 2.
Citation Information
Patent Citations
Job management method, job management device and job management program
JP2009075956A
Service providing system and method
JP2010262571A
Distribution synchronous processing system and distribution synchronous processing method
JP2018032344A
Model integration device, model integration method, model integration program, inference system, inspection system and control system
JP2020115311A