WO2023188256A1 - モデル学習装置、秘密連合学習装置、それらの方法、およびプログラム - Google Patents

モデル学習装置、秘密連合学習装置、それらの方法、およびプログラム Download PDF

Info

Publication number
WO2023188256A1
WO2023188256A1 PCT/JP2022/016500 JP2022016500W WO2023188256A1 WO 2023188256 A1 WO2023188256 A1 WO 2023188256A1 JP 2022016500 W JP2022016500 W JP 2022016500W WO 2023188256 A1 WO2023188256 A1 WO 2023188256A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
secret
information
worker
learning
Prior art date
Application number
PCT/JP2022/016500
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/016500 priority Critical patent/WO2023188256A1/ja
Publication of WO2023188256A1 publication Critical patent/WO2023188256A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to machine learning technology, and particularly to federated learning technology.
  • Federated learning is known in which machine learning is performed in a distributed state without aggregating learning data (for example, see Non-Patent Document 1).
  • a plurality of model learning devices generate worker models (local models) by performing machine learning using learning data held by themselves, and send the generated worker models to the federated learning device.
  • the federated learning device generates an aggregated model (global model) that aggregates worker models sent from multiple model learning devices, and transmits the generated aggregated model to the multiple model learning devices.
  • the plurality of model learning devices that have received the aggregated model update the aggregated model through machine learning using learning data that they hold, generate new worker models, and send the generated worker models to the federated learning device.
  • each model learning device can obtain an aggregated model in which the learning data held in multiple model learning devices is reflected in machine learning, without passing the learning data it holds to the outside. I can do it.
  • the federated learning device receives plaintext worker models from each model learning device. Therefore, the federated learning device can know the tendency of the learning data held by each model learning device based on the difference between the transmitted aggregate model and the received worker model.
  • the present invention has been made in view of these points, and its purpose is to improve the safety of federated learning.
  • the model learning device obtains information identifying the aggregated model or confidential information identifying the aggregated model from the secret association learning device, and updates the aggregated model by machine learning using local learning data stored in the storage unit.
  • a worker model is obtained, confidential information for identifying the worker model is obtained, and confidential information for identifying the worker model is provided to a secret federated learning device.
  • the secret federated learning device obtains confidential information that identifies a plurality of worker models from a plurality of model learning devices, and performs a secure calculation using the confidential information that specifies the plurality of worker models. Obtain confidential information that identifies an aggregated model that aggregates the plurality of worker models, and provide confidential information that identifies the aggregated model or information that identifies the aggregated model to multiple model learning devices. do.
  • FIG. 1 is a block diagram illustrating the configuration of a federated learning system according to the first and second embodiments.
  • FIG. 2 is a block diagram illustrating the configuration of the model learning device of the first and second embodiments.
  • FIG. 3 is a block diagram illustrating the configuration of the secret federation learning device of the first, third, and fourth embodiments.
  • FIG. 4 is a block diagram illustrating the configuration of the secret federation learning device of the second, third, and fourth embodiments.
  • FIG. 5 is a block diagram illustrating the configuration of the federated learning system of the third and fourth embodiments.
  • FIG. 6 is a block diagram illustrating the configuration of a model learning device according to the third and fourth embodiments.
  • FIG. 7 is a block diagram illustrating the hardware configuration of the embodiment.
  • the federated learning system 1 of this embodiment includes N model learning devices 11-1, ..., 11-N that perform model learning, and M secret coalitions that perform federated learning by secure calculation. It has learning devices 12-1, . . . , 12-M, and a control device 13 that controls federated learning.
  • this secure computation method may be a multi-party computation method that performs secret computation using shared secrets, or may be a homomorphic encryption method that performs secret computation using homomorphic encryption.
  • N is an integer of 1 or more, for example, N is an integer of 2 or more.
  • M is an integer of 1 or more, for example, M is an integer of 2 or more.
  • M is an integer of 2 or more.
  • M is an integer of 2 or more.
  • M is an integer of 2 or more.
  • the model learning device 11-n of this embodiment includes a storage section 111-n, an acquisition section 112-n, a learning section 113-n, a concealment section 114-n, a provision section 115-n, and a control section 116-n.
  • the model learning device 11-n executes each process based on the control of the control unit 116-n, and input information and information obtained in each process are stored in the storage unit 111-n and read out as necessary. and used.
  • n is a positive integer
  • n 1,...,N.
  • the secret federation learning device 12-m of this embodiment includes an acquisition unit 121-m, a secret aggregation processing unit 122-m, a provision unit 123-m, a control unit 126-m, and a storage unit. 127-m.
  • the secret federation learning device 12-m executes each process based on the control of the control unit 126-m, and the input information and the information obtained in each process are stored in the storage unit 127-m and read as necessary. put out and used.
  • m is a positive integer
  • m 1,...,M.
  • Local learning data D-n of each model learning device 11-n is stored in the storage unit 111-n of the model learning device 11-n.
  • the local learning data D-n is learning data for machine learning, and may be learning data for supervised learning or learning data for unsupervised learning. Furthermore, the local learning data Dn may be updated. Further, when the secret calculation method used is a homomorphic encryption method, the storage unit 111-n of the model learning device 11-n stores an encryption key and a decryption key.
  • the learning unit 113-n of each model learning device 11-n (FIG. 2) reads the local learning data D-n stored in the storage unit 111-n, and performs machine learning using the local learning data D-n.
  • the latest aggregated model is updated to obtain a worker model, and information WM-n (for example, model parameter group) that specifies the worker model is output. If the model learning device 11-n has not yet obtained an aggregated model, the initialized machine learning model is the "latest aggregated model.”
  • An initialized machine learning model may be provided from the control device 13.
  • the initialized model is, for example, a machine learning model in which an initial model parameter group is set.
  • the learning unit 113-n specifies the latest aggregated model based on the information GM read from the storage unit 111-n.
  • the aggregate model and worker model are known machine learning models.
  • the aggregation model and worker model are not limited, and may be, for example, a model based on a deep learning method, a model based on a hidden Markov model method, or a model based on a support vector machine method. Alternatively, it may be a model based on linear prediction. However, all aggregate models and worker models handled by the federated learning system 1 are models based on the same method.
  • Information WM-n specifying the worker model is sent to the secret unit 114-n (step S113-n).
  • Information WM-n specifying the worker model is input to the secret unit 114-n.
  • the concealing unit 114-n conceals the information WM-n that identifies the worker model using a method that allows the aforementioned secure calculation, and obtains the confidential information [WM-n] of the information WM-n that identifies the worker model. and output it.
  • the secret unit 114-n secretly distributes the information WM-n into M pieces and obtains M shares [WM-n] 1 ,..., [WM -n] M and outputs them as secret information [WM-n].
  • the secret unit 114-n encrypts the information WM-n according to the homomorphic encryption method using the encryption key read from the storage unit 111-n. to obtain M (for example, 1) ciphertexts [WM-n] 1 , ..., [WM-n] M , and the ciphertexts [WM-n] 1 , ..., [WM-n] M Output as confidential information [WM-n].
  • the acquisition unit 121-m of the secret federation learning device 12-m receives the confidential information [WM-n] m of the information WM-n identifying the worker model sent from the model learning device 11-n. , stores the confidential information [WM-n] m in the storage unit 127-m. That is, the acquisition unit 121-m obtains the confidential information [WM-n] m of the information WM-n that specifies the plurality of worker models from the plurality of model learning devices 11-n, and stores it in the storage unit 127-m ( Step S121-m).
  • the reference time for the above-mentioned timeout may be any value; for example, the reference time may be the start or end of the previous secret aggregation process, or the reference time may be the time the secret aggregation process has not yet been executed. If so, the start of the learning process may be used as the reference time (step S132).
  • the control unit 126-m instructs the secret aggregation processing unit 122-m to start the secret aggregation process.
  • the secret aggregation processing unit 122-m extracts a plurality of confidential information [WM-n] (where n ⁇ 1,...,N ⁇ ) (information identifying a plurality of worker models) from the storage unit 127-m.
  • Confidential information of GM that identifies an aggregate model that aggregates the plurality of worker models without obtaining the plurality of worker models by secret calculation using these [GM] m .
  • Output secret aggregation processing.
  • the information WM-n that specifies a worker model is a group of model parameters of the worker model ⁇ p 1 (n),..., p K (n) ⁇ , then ⁇ n 1 ,..., n max ⁇ 1 , ..., N ⁇
  • the model parameter group ⁇ p 1 (n 1 ), ..., p K (n 1 ) ⁇ , ..., ⁇ p 1 (n max ), ..., p K (n max ) ⁇ is aggregated.
  • the model parameter group ⁇ p 1 , .
  • p K ⁇ becomes information GM that specifies the aggregate model.
  • p k is a function value such as a weighted linear combination value or an average value of p k (n 1 ), . . . , p k (n max ).
  • K is a positive integer.
  • the secret aggregation processing unit 122-m restores the confidential information [GM of the information GM that specifies the aggregated model] without restoring the information WM-n that specifies the worker model or the information GM that specifies the aggregated model through secure computation.
  • GM] Obtain and output m . Confidential information [GM] m of the information GM that specifies the aggregated model is sent to the providing unit 123-m (step S122-m).
  • Confidential information [GM] m is input to the providing unit 123-m.
  • the providing unit 123-m transmits (provides) confidential information [GM] m to a plurality of model learning devices 11-n (where n ⁇ 1,...,N ⁇ ) via the control device 13.
  • the providing unit 123-m transmits (provides) confidential information [GM] m to all the model learning devices 11-1, ..., 11-N via the control device 13 (step S123-m). .
  • the acquisition unit 112-n of the model learning device 11-n (FIG. 2) to which the confidential information [GM] m (where m ⁇ 1,...,M ⁇ ) is sent receives the confidential information [GM] m (secret Receives the information (GM's confidential information) specifying the aggregated model provided from the federated learning device 12-m.
  • the acquisition unit 112-n restores the confidential information [GM] m and obtains information GM that specifies the aggregated model.
  • the acquisition unit 112-n obtains a plurality of mutually different secret information [GM] m(1) , ..., [GM] m(max) (where , ⁇ m(1),...,m(max) ⁇ 1,...,M ⁇ ).
  • the acquisition unit 112-n decrypts the secret information [GM] m using the decryption key read from the storage unit 111-n to obtain information GM.
  • Information GM specifying the aggregated model is stored in the storage unit 111-n (step S112-n).
  • the control unit 116-n determines whether the conditions for ending federated learning are satisfied (step S116-n). Here, if the termination condition is not satisfied, the process returns to step S113-n. In this case, the processing from step S113-n to step S116-n described so far (that is, S113-n, S114-n, S115-n, S121-m, S131, S132, S122-m, S123- m, S112-n, S116-n) are executed again. On the other hand, if the termination condition is satisfied, the process is terminated. Note that any termination conditions may be used.
  • control device 13 sends a command to the model learning device 11-n to terminate federated learning when the number of updates, amount of updates, update time, etc. of the aggregated model reaches a specified value, and receives this command.
  • This may be a termination condition.
  • the control unit 116-n may determine whether the number of updates, amount of updates, update time, etc. of the aggregated model have reached a specified value, and may set reaching the specified value as the termination condition.
  • a plurality of model learning devices provide confidential information for identifying a worker model to a secret federated learning device, and the secret federated learning device uses the confidential information to obtain a plurality of worker models without obtaining a plurality of worker models.
  • the secret federated learning device cannot obtain the worker model itself, and therefore cannot know the tendency of learning data held by each model learning device based on the difference between the worker model and the aggregated model. Thereby, the safety of federated learning can be improved.
  • the control device 13 transmits confidential information [WM-n] 1 , from all the model learning devices 11-1,..., 11-N to all the secret federation learning devices 12-1,..., 12-M based on the synchronization information. ..., [WM-n] It is determined whether or not M has been transmitted (step S131). However, this does not limit the invention. For example, instead of this, it may be determined whether a predetermined number of model learning devices have transmitted confidential information to a predetermined number of secret association learning devices. Then, it is determined that a predetermined number of model learning devices are not transmitting confidential information to a predetermined number of secret association learning devices, and it is determined that a predetermined time has not elapsed from the reference time.
  • the control device 13 makes this determination at certain intervals, and determines that a predetermined number of model learning devices have transmitted confidential information to a predetermined number of secret association learning devices, or If it is determined that a predetermined period of time has passed since then, the control device 13 may send a command to the secret federation learning devices 12-1, . . . , 12-M to instruct the start of secret aggregation processing. Alternatively, the control device 13 may simply send a command to start the secret aggregation process to the secret association learning devices 12-1, . . . , 12-M when a predetermined time has elapsed from the reference time.
  • the present embodiment is a modification example of the first embodiment or modification example 1 of the first embodiment, in which a specific secret federation learning device 12-1 acquires an aggregation model from secret information [GM] 1 , ..., [GM] M
  • secret information [GM] 1 , ..., [GM] M secret information [GM] 1 , ..., [GM] M
  • the information GM that specifies the aggregated model is restored, and the information GM that specifies the aggregated model is provided to each model learning device 11-n.
  • the federated learning system 2 of this embodiment includes N model learning devices 21-1, ..., 21-N that perform model learning, and M secret coalitions that perform federated learning by secure calculation. It has learning devices 22-1, 12-2, . . . , 12-M, and a control device 13 that controls federated learning.
  • the model learning device 21-n of this embodiment includes a storage unit 111-n, an acquisition unit 212-n, a learning unit 113-n, a concealment unit 114-n, a provision unit 115-n, and a control section 116-n.
  • the model learning device 21-n executes each process based on the control of the control unit 116-n, and input information and information obtained in each process are stored in the storage unit 111-n and read out as necessary. and used.
  • the secret federation learning device 22-1 of this embodiment includes an acquisition unit 121-1, a secret aggregation processing unit 122-1, a provision unit 223-1, a control unit 126-1, and a storage unit. It has 127-1.
  • the secret federation learning device 22-1 executes each process based on the control of the control unit 126-1, and the input information and the information obtained in each process are stored in the storage unit 127-1 and read as necessary. put out and used.
  • the configurations of the secret federation learning devices 12-2, . . . , 12-M are the same as in the first embodiment.
  • Pre-processing The preprocessing of this embodiment is performed in the storage unit 127 of the secret association learning device 22-1, not in the storage unit 111-n of the model learning device 11-n, when the secret calculation method used is a homomorphic encryption method. This is the same as the first embodiment except that the decryption key is stored in -1.
  • the model learning device 21-n instead of the model learning device 11-n executes the processes of steps S113-n, S114-n, and S115-n described in the first embodiment, and the secret association learning device 12-n Instead, the secret federation learning device 22-1 executes the process of step S121-1, and the secret federation learning device 12-m' (where m' ⁇ 2,...,M ⁇ ) executes the process of step S121-m'.
  • the process is executed, the control device 13 executes the process of steps S131 and S132, the secret association learning device 22-1 executes the process of step S122-1 instead of the secret association learning device 12-1, and the secret association learning device 22-1 executes the process of step S122-1.
  • the device 12-m' (where m' ⁇ 2,...,M ⁇ ) executes the process of step S122-m'.
  • the confidential information [GM] 1 of the information GM that specifies the aggregated model is not the providing unit 123-1 of the secret association learning device 12-1, but the secret association learning device 22-1 (FIG. 4).
  • the information is sent to the providing unit 223-1.
  • the providing unit 123-m' (where m' ⁇ 2,...,M ⁇ ) of the secret association learning device 12-m' further uses the confidential information [GM] m' as a secret association It is transmitted to the providing unit 223-1 of the learning device 22-1 (FIG. 4).
  • confidential information [GM] m (where m ⁇ 1, . . . , M ⁇ ) is input to the providing unit 223-1 of the secret federated learning device 22-1.
  • the providing unit 223-1 restores the input confidential information [GM] m to obtain information GM that specifies the aggregate model.
  • the providing unit 223-1 provides a plurality of mutually different secret information [GM] m(1) , ..., [GM] m(max) (where , ⁇ m(1),...,m(max) ⁇ 1,...,M ⁇ ).
  • the providing unit 223-1 decrypts the secret information [GM] m using the decryption key read from the storage unit 127-1 to obtain information GM.
  • the providing unit 223-1 transmits (provides) the information GM to the plurality of model learning devices 2''1-n (where n ⁇ 1,...,N ⁇ ) via the control device 13.
  • the providing unit 223-1 transmits (provides) the information GM to all the model learning devices 21-1, . . . , 21-N via the control device 13 (step S223-1).
  • the acquisition unit 212-n of the model learning device 21-n (FIG. 2) to which the information GM has been sent receives the information GM (information that specifies the aggregated model). That is, the acquisition unit 212-n acquires information GM specifying the aggregated model from the secret association learning device 12-1. Information GM specifying this aggregate model is stored in the storage unit 111-n (step S212-n).
  • the control unit 116-n determines whether conditions for ending federated learning are satisfied (step S116-n). Here, if the termination condition is not satisfied, the process returns to step S113-n.
  • step S113-n the processing from step S113-n to step S116-n described so far (that is, S113-n, S114-n, S115-n, S121-m, S131, S132, S122-m, S223- 1, S212-n, S116-n) are executed again.
  • the termination condition is satisfied, the process is terminated.
  • the same modification as Modification 1 of the first embodiment may be performed.
  • a plurality of model learning devices provide confidential information for identifying worker models to a secret federated learning device, and the secret federated learning device uses the confidential information to obtain a plurality of worker models without obtaining a plurality of worker models.
  • the secret federated learning device cannot obtain the worker model itself, and therefore cannot know the tendency of learning data held by each model learning device based on the difference between the worker model and the aggregated model. Thereby, the safety of federated learning can be improved.
  • a model learning device determines whether it is necessary to update the acquired aggregate model and obtain a new worker model. If the model learning device determines that this is necessary, it updates the aggregated model and obtains a new worker model, but if it determines that this is not necessary, it updates the aggregated model and obtains a new worker model. Confidential information for identifying a new aggregate model is acquired from the secret federation learning device after the waiting time has elapsed. Furthermore, in the third embodiment, the secret federation learning device determines whether or not it has obtained confidential information identifying a worker model from a predetermined model learning device.
  • the confidential federated learning device determines that confidential information identifying the worker model has been obtained from a predetermined model learning device, the confidential federated learning device aggregates the worker models by secret calculation using the confidential information identifying the worker model. Obtain confidential information that identifies the aggregated model. Thereby, the safety of federated learning can be improved without using the control device 13.
  • the federated learning system 3 of this embodiment includes N model learning devices 31-1, ..., 31-N that perform model learning, and M model learning devices that perform federated learning by secure computation. It has secret federated learning devices 32-1,..., 32-M.
  • the model learning device 31-n of this embodiment includes a storage unit 111-n, an acquisition unit 312-n, a determination unit 317-n, a learning unit 113-n, a concealment unit 114-n, It has a providing section 115-n and a control section 116-n.
  • the model learning device 31-n executes each process based on the control of the control unit 116-n, and input information and information obtained in each process are stored in the storage unit 111-n and read out as necessary. and used.
  • the secret federation learning device 32-m of this embodiment includes an acquisition unit 121-m, a determination unit 328-m, a secret aggregation processing unit 322-m, a provision unit 123-m, a control unit 126 -m, and a storage section 127-m.
  • the secret federation learning device 32-m executes each process based on the control of the control unit 126-m, and input information and information obtained in each process are stored in the storage unit 127-m and read as necessary. put out and used.
  • the model learning device 31-n (FIG. 6) instead of the model learning device 11-n executes the processes of steps S113-n, S114-n, and S115-n described in the first embodiment, and performs secret federation learning.
  • the secret federation learning device 32-m (FIG. 3) executes the process of step S121-m.
  • the control device 13 is not provided in this embodiment, the providing unit 115-n of the model learning device 31-n does not transmit the above-mentioned synchronization information to the control device 13 in step S115-n.
  • the determination unit 328-m of the secret federated learning device 32-m refers to the confidential information [WM-n] m stored in the storage unit 127-m at a predetermined opportunity, and determines whether the registration of the worker model is completed. Determine whether or not.
  • the determination unit 328-m may periodically perform the determination, or may perform the determination using the storage of each confidential information [WM-n] m in the storage unit 127-m as a trigger. good.
  • the confidential information [WM-n 1 ] m , ..., [WM-n max ] m of the information that identifies the new worker model is the confidential information [WM-n 1 ] m that has not yet been used in the secret aggregation process.
  • the confidential information [WM-n] m is a share of a secret sharing system or a ciphertext of a homomorphic encryption system
  • the confidential information [WM-n] m was provided from the confidential information [WM-n] m .
  • the determination unit 328-m may determine whether registration of the worker model is completed based on the total amount of data of confidential information [WM-n] m stored in the storage unit 127-m. .
  • the determining unit 328-m determines that the total amount of data of the confidential information [WM-n] m stored in the storage unit 127-m is provided from the predetermined model learning devices 31-n 1 , ..., 31-n max . If the confidential information [WM-n 1 ] m , ..., [WM-n max ] m matches the total data amount, it is determined that the registration of the worker model is completed, and if not, the registration of the worker model is completed. may be determined to have not been completed.
  • the determination unit 328-m determines that the total number of worker models corresponding to the confidential information [WM-n] m stored in the storage unit 127-m is a predetermined model learning device 31-n 1 ,..., 31-n. If the total number of worker models n max is equal to max , it may be determined that the worker model registration has been completed, and if not, it may be determined that the worker model registration has not been completed.
  • information WM-n that specifies a worker model is a model parameter group
  • the number of model parameters included in one worker model is NMP
  • confidential information [WM-n] stored in the storage unit 127-m When the total data amount of m is the number of records N R , the total number of worker models provided with confidential information [WM-n] m is N R /N MP .
  • the determination unit 328-m determines that the Then, it is determined again whether the registration of this worker model is completed. For example, the determination unit 328-m may perform the determination again after a predetermined waiting time has elapsed, or may use the storage of any confidential information [WM-n] m in the storage unit 127-m as a trigger. The determination may be made again.
  • the determination unit 328-m sends an instruction to start the secret aggregation process.
  • the command is sent to the control unit 126-m. Note that an example of the timeout reference point is as described in the first embodiment (step S328-m).
  • the control unit 126-m Upon receiving the command to start the secret aggregation process, the control unit 126-m instructs the secret aggregation processing unit 322-m to start the secret aggregation process.
  • the secret aggregation processing unit 322-m extracts a plurality of confidential information [WM-n] (where n ⁇ 1,...,N ⁇ ) (information identifying a plurality of worker models) from the storage unit 127-m. Confidential information of GM) that identifies an aggregate model that aggregates the plurality of worker models without obtaining the plurality of worker models by secret calculation using these [GM] m .
  • Output secret aggregation processing).
  • the secret aggregation processing unit 322 - m collects secret information [WM-n 1 ] m , ..., [WM- n max ] m , the plurality of workers are determined by secret calculation using confidential information [WM-n 1 ] m , ..., [WM-n max ] m that specifies the worker model.
  • Confidential information [GM] m of the information GM that specifies the aggregated model is sent to the providing unit 123-m (step S322-m).
  • the acquisition unit 312-n of the model learning device 31-n acquires the provision unit of the secret association learning device 32-m (where m ⁇ 1,...,M ⁇ ) (FIG. 3). 123-m, and obtains the confidential information [GM] m of the information GM that specifies the aggregated model from the providing unit 123-m.
  • the acquisition unit 312-n restores the acquired confidential information [GM] m to obtain information GM that specifies the aggregated model.
  • Information GM specifying the aggregated model is stored in the storage unit 111-n (step S312-n).
  • the determination unit 317-n determines whether it is necessary to update the aggregate model corresponding to the information GM stored in the storage unit 111-n and obtain a new worker model. In other words, the determination unit 317-n determines whether it is necessary to obtain a worker model by updating the latest aggregate model specified by the information GM by machine learning using the local learning data D-n. judge. For example, if the aggregate model is the same as or similar to the "latest aggregate model" used to generate the worker model (step S113-n), the determining unit 317-n updates the aggregate model and creates a new one. Otherwise, it is determined that it is necessary to update the aggregated model and obtain a new worker model.
  • two aggregate models being approximated may mean, for example, that the distance between their model parameters is less than or equal to a predetermined value, or that the difference in the output distributions of the two aggregate models for a predetermined input group is less than or equal to a predetermined value. It may be a certain thing (steps S317a-n).
  • the control unit 116-n determines whether the conditions for ending federated learning are satisfied. If the termination condition is satisfied here, the process is terminated. On the other hand, if the termination condition is not satisfied, the learning unit 113-n does not update the aggregated model to obtain a new worker model, and the acquisition unit 312-n updates the secret association learning device 32-n after the waiting time has elapsed.
  • Confidential information [GM] m of information specifying a new aggregate model is obtained from m (where m ⁇ 1,...,M ⁇ ) (FIG. 3).
  • the acquisition unit 312-n accesses the providing unit 123-m after the waiting time has elapsed, and obtains the information GM that specifies the aggregate model from the providing unit 123-m. Confidential information [GM] m is obtained.
  • the acquisition unit 312-n restores the acquired confidential information [GM] m to obtain information GM specifying the aggregate model, stores this in the storage unit 111-n, and returns to step S317a-n (step S317b- n).
  • step S317c-n the learning unit 113-n reads the local learning data D-n and the latest information GM stored in the storage unit 111-n, and performs machine learning using the local learning data D-n to learn from the information GM.
  • the latest aggregate model identified is updated to obtain a worker model, and information WM-n for identifying the worker model is output (step S113-n). Thereafter, the processes from step S114-n onwards that have been described so far in this embodiment are executed again.
  • a plurality of model learning devices provide confidential information for identifying worker models to a secret federated learning device, and the secret federated learning device uses the confidential information to obtain a plurality of worker models without obtaining a plurality of worker models.
  • the secret federated learning device cannot obtain the worker model itself, and therefore cannot know the tendency of learning data held by each model learning device based on the difference between the worker model and the aggregated model. Thereby, the safety of federated learning can be improved.
  • the model learning device of this embodiment determines whether it is necessary to update the aggregated model and obtain a new worker model.
  • the model learning device updates the aggregated model and obtains a new worker model after the waiting time has elapsed, without updating the aggregated model and obtaining a new worker model.
  • the model learning device updates the aggregated model by machine learning using local learning data and obtains a worker model.
  • the secret federated learning device also determines whether confidential information identifying the worker model has been obtained from a predetermined model learning device.
  • the secure federated learning device calculates the confidential information identifying the worker model by secret calculation using the confidential information identifying the worker model. Obtain confidential information that identifies the aggregated model that aggregates the models. With these, the safety of federated learning can be improved without using the control device 13.
  • model learning device since the model learning device does not communicate to the outside that it has finished learning the worker model, it is possible to prevent information on the performance and processing time of each model learning device from leaking.
  • the determination unit 328-m of the secret federated learning device 32-m determines that registration of the worker model is completed, or determines that a predetermined time has elapsed from the reference time. If so, a command to start the secret aggregation process was sent to the control unit 126-m (step S328-m). However, if the determination unit 328-m determines that the registration of the worker model is completed without determining whether a predetermined time has elapsed from the reference time, the determination unit 328-m does not determine whether the registration of the worker model is completed. An instruction may be sent to the control unit 126-m.
  • the acquisition unit 312-n of the model learning device 31-n acquires the aggregated model from the providing unit 123-m of the secret association learning device 32-m (FIG. 3) at a predetermined opportunity. Confidential information [GM] m of the information GM to be specified was acquired, and the acquired confidential information [GM] m was restored to obtain information GM that specifies the aggregated model. However, the acquisition unit 312-n of the model learning device 31-n acquires information GM specifying the aggregate model from the providing unit 223-1 of the specific secret association learning device 32-1 (FIG. 4) at a predetermined opportunity. You may.
  • step S322-m the confidential information [GM] 1 of the information GM specifying the aggregated model is provided by the secret association learning device 32-1 (FIG. 4).
  • the information is sent to section 223-1.
  • the providing unit 323-m' (where m' ⁇ 2,...,M ⁇ ) of the secret association learning device 32-m' further uses the secret information [GM] m' as a secret association learning device 32-m'. It is transmitted to the providing unit 223-1 of the learning device 32-1 (FIG. 4).
  • confidential information [GM] m (where m ⁇ 1, . . .
  • the providing unit 223-1 restores the input confidential information [GM] m to obtain information GM that specifies the aggregate model.
  • the acquisition unit 112-n of the model learning device 31-n acquires information GM specifying the aggregated model from the providing unit 223-1 of the secret association learning device 32-1 (FIG. 4) at a predetermined opportunity.
  • the rest is the same as the third embodiment.
  • the secret federation learning device is further provided with plaintext synchronization information indicating that the model learning device has provided the secret federation learning device with confidential information for identifying the worker model.
  • the secret federated learning device acquires plaintext synchronization information indicating that the model learning device has provided confidential information identifying the worker model to the secret federated learning device, and uses the synchronization information to perform predetermined model learning. It is determined whether confidential information identifying the worker model has been obtained from the device. Thereby, communication can be made more efficient and performance can be improved.
  • the federated learning system 4 of this embodiment includes N model learning devices 41-1, ..., 41-N that perform model learning, and M model learning devices that perform federated learning by secure computation. It has secret federated learning devices 42-1,..., 42-M.
  • the model learning device 41-n of this embodiment includes a storage unit 111-n, an acquisition unit 412-n, a determination unit 317-n, a learning unit 113-n, a concealment unit 114-n, It has a providing section 415-n and a control section 116-n.
  • the model learning device 41-n executes each process based on the control of the control unit 116-n, and input information and information obtained in each process are stored in the storage unit 111-n and read out as necessary. and used.
  • the secret federation learning device 42-m of this embodiment includes an acquisition unit 421-m, a determination unit 428-m, a secret aggregation processing unit 322-m, a provision unit 423-m, a control unit 126 -m, and a storage section 127-m.
  • the secret federation learning device 42-m executes each process based on the control of the control unit 126-m, and input information and information obtained in each process are stored in the storage unit 127-m and read as necessary. put out and used.
  • Confidential information [WM-n] obtained in the process of step S114-n ⁇ [WM-n] 1 , ..., [WM-n] M ⁇ (confidential information of information WM-n that identifies the worker model) is , is input to the providing unit 415-n of the model learning device 41-n (FIG. 6).
  • the synchronization information syn-n is plain text.
  • the acquisition unit 121-m of the secret federation learning device 42-m receives the confidential information [WM-n] m and synchronization information syn-n sent from the model learning device 41-n, and acquires the confidential information.
  • [WM-n] m and synchronization information syn-n are stored in the storage unit 127-m.
  • the acquisition unit 421-m acquires the confidential information [WM-n] m of the information WM-n that identifies the plurality of worker models from the plurality of model learning devices 41-n, and Confidential information [WM-n] of information WM-n identifying the worker model in question to the federated learning device 42-m Acquires synchronization information syn-n indicating that m has been sent, and stores these in the storage unit 127-m (Step S421-m).
  • the determining unit 428-m of the secret federated learning device 42-m uses the synchronization information syn-n stored in the storage unit 127-m at a predetermined opportunity to determine whether registration of the worker model is completed or not. Determine. For example, the determining unit 428-m may periodically perform the determination, or may use the storing of each confidential information [WM-n] m and synchronization information syn-n in the storage unit 127-m as a trigger. This determination may also be made.
  • completion of worker model registration means that the predetermined model learning devices 41-n 1 ,..., 41-n max (where ⁇ n 1 ,..., n max ⁇ 1 , ..., N ⁇ ), it means that the confidential information [WM-n 1 ] m , ..., [WM-n max ] m for identifying a new worker model has been obtained.
  • the determination unit 428-m can know which model learning device 41-n has provided the confidential information [WM-n] m to the secret association learning device 42-m. can. Therefore, by using this synchronization information syn-n, the determination unit 428-m can accurately determine whether registration of the worker model is completed.
  • the determination unit 428-m determines that the Then, it is determined again whether the registration of this worker model is completed. On the other hand, if it is determined that the registration of the worker model has been completed, or if it is determined that a predetermined period of time has passed since the reference time (timed out), the determination unit 428-m sends an instruction to start secret aggregation processing. The command is sent to the control unit 126-m. Note that an example of the timeout reference point is as described in the first embodiment (step S421-m).
  • the control unit 126-m instructs the secret aggregation processing unit 322-m to start the secret aggregation process.
  • the secret aggregation processing unit 322-m extracts a plurality of confidential information [WM-n] (where n ⁇ 1,...,N ⁇ ) (information identifying a plurality of worker models) from the storage unit 127-m.
  • Confidential information of GM that identifies an aggregate model that aggregates the plurality of worker models without obtaining the plurality of worker models by secret calculation using these [GM] m .
  • Output secret aggregation processing. Confidential information [GM] m of the information GM that specifies the aggregate model is sent to the providing unit 423-m (step S322-m).
  • Confidential information [GM] m is input to the providing unit 423-m.
  • the providing unit 423-m receives the aggregated model as a return value for the secret information [WM-n] m and synchronization information syn-n (step S421-m) that the acquisition unit 121-m received from the model learning device 41-n.
  • Confidential information [GM] m of the information GM to be specified is transmitted (provided) to the model learning device 41-n (step S423-m).
  • the acquisition unit 412-n of the model learning device 41-n receives confidential information [GM ] m is input.
  • the acquisition unit 412-n restores the acquired confidential information [GM] m to obtain information GM that specifies the aggregated model.
  • Information GM specifying the aggregated model is stored in the storage unit 111-n (step S412-n).
  • the determination unit 317-n determines whether it is necessary to update the aggregate model corresponding to the information GM stored in the storage unit 111-n and obtain a new worker model. In other words, the determination unit 317-n determines whether it is necessary to obtain a worker model by updating the latest aggregate model specified by the information GM by machine learning using the local learning data D-n. Determination is made (steps S317a-n).
  • the control unit 116-n of the model learning device 41-n determines whether the termination conditions for federated learning are satisfied. Determine whether or not there is. If the termination condition is satisfied here, the process is terminated. On the other hand, if the termination condition is not satisfied, the learning unit 113-n does not update the aggregated model to obtain a new worker model, and the acquisition unit 412-n updates the secret federation learning device 42-n after the waiting time has elapsed.
  • Confidential information [GM] m of information specifying a new aggregate model is obtained from m (where m ⁇ 1,...,M ⁇ ) (FIG. 3).
  • the acquisition unit 412-n restores the acquired confidential information [GM] m to obtain information GM specifying the aggregate model, stores this in the storage unit 111-n, and returns to step S317a-n (step S417b- n).
  • step S113-n step S317c-n
  • a plurality of model learning devices provide confidential information for identifying worker models to a secret federated learning device, and the secret federated learning device uses the confidential information to obtain a plurality of worker models without obtaining a plurality of worker models.
  • the secret federated learning device cannot obtain the worker model itself, and therefore cannot know the tendency of learning data held by each model learning device based on the difference between the worker model and the aggregated model. Thereby, the safety of federated learning can be improved.
  • the model learning device of this embodiment determines whether it is necessary to update the aggregated model and obtain a new worker model.
  • the model learning device updates the aggregated model and obtains a new worker model after the waiting time has elapsed, without updating the aggregated model and obtaining a new worker model.
  • the model learning device updates the aggregated model by machine learning using local learning data and obtains a worker model.
  • the secret federated learning device also determines whether confidential information identifying the worker model has been obtained from a predetermined model learning device.
  • the secure federated learning device calculates the confidential information identifying the worker model by secret calculation using the confidential information identifying the worker model. Obtain confidential information that identifies the aggregated model that aggregates the models. With these, the safety of federated learning can be improved without using the control device 13.
  • the model learning device of the present embodiment further provides the secret federated learning device with plaintext synchronization information indicating that the model learning device has provided confidential information for identifying the worker model to the secret federated learning device. do.
  • the secret federated learning device uses the synchronization information to determine whether or not it has obtained confidential information for identifying the worker model from a predetermined model learning device. This makes it possible to accurately determine whether registration of the worker model is complete. As a result, communication can be made more efficient and performance can be improved.
  • the determining unit 428-m of the secret federated learning device 42-m determines that registration of the worker model is completed, or that a predetermined period of time has passed from the reference time. If so, a command to start the secret aggregation process was sent to the control unit 126-m (step S428-m). However, if the determining unit 428-m determines that the registration of the worker model is completed without determining whether a predetermined period of time has passed since the reference time, the determining unit 428-m does not start the secret aggregation process. An instruction may be sent to the control unit 126-m.
  • the acquisition unit 412-n of the model learning device 41-n specifies the aggregated model from the providing unit 423-m of the secret federation learning device 42-m (FIG. 3) as a return value.
  • Confidential information [GM] m of the information GM to be used was acquired, and the acquired confidential information [GM] m was restored to obtain information GM that specifies the aggregated model.
  • the acquisition unit 112-n of the model learning device 31-n acquires information GM specifying the aggregated model from the providing unit 223-1 of the specific secret association learning device 42-1 (FIG. 4) as a return value. It's okay.
  • the confidential information [GM] 1 of the information GM specifying the aggregate model is provided by the providing unit of the secret association learning device 42-1 (FIG. 4). Sent to 223-1.
  • the providing unit 423-m' (where m' ⁇ 2,...,M ⁇ ) of the secret association learning device 42-m' further uses the confidential information [GM] m' as a secret association learning device 42-m'. It is transmitted to the providing unit 223-1 of the learning device 42-1 (FIG. 4).
  • confidential information [GM] m (where m ⁇ 1, . . .
  • the providing unit 223-1 restores the input confidential information [GM] m to obtain information GM specifying the aggregated model, and transmits this as a return value to the model learning device 41-n.
  • the acquisition unit 412-n of the model learning device 41-n acquires information GM specifying the aggregated model from the providing unit 223-1 of the secret association learning device 42-1 (FIG. 4) as a return value.
  • the rest is the same as the fourth embodiment.
  • the model learning devices 11-n, 21-n, 31-n, 41-n and the secret federation learning devices 12-m, 22-1, 32-m, 42-m in each embodiment are, for example, CPUs (central processing It consists of a general-purpose or dedicated computer that is equipped with a processor (hardware processor) such as unit), memory such as RAM (random-access memory), ROM (read-only memory), etc., and executes a predetermined program. It is a device. That is, the model learning devices 11-n, 21-n, 31-n, 41-n and the secret federation learning devices 12-m, 22-1, 32-m, 42-m in each embodiment are, for example, It has a processing circuitry configured to implement each part of the computer.
  • This computer may include one processor and memory, or may include multiple processors and memories.
  • This program may be installed on the computer or may be pre-recorded in a ROM or the like.
  • some or all of the processing units may be configured using an electronic circuit that independently realizes a processing function, rather than an electronic circuit that realizes a functional configuration by reading a program like a CPU. .
  • an electronic circuit constituting one device may include a plurality of CPUs.
  • FIG. 7 shows the hardware configurations of the model learning devices 11-n, 21-n, 31-n, 41-n and the secret federation learning devices 12-m, 22-1, 32-m, 42-m in each embodiment.
  • FIG. 2 is a block diagram illustrating an example.
  • the model learning devices 11-n, 21-n, 31-n, 41-n and the secret association learning devices 12-m, 22-1, 32-m, 42-m in this example are , a CPU (Central Processing Unit) 10a, an input section 10b, an output section 10c, a RAM (Random Access Memory) 10d, a ROM (Read Only Memory) 10e, an auxiliary storage device 10f, a communication section 10h, and a bus 10g.
  • a CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the CPU 10a in this example has a control section 10aa, a calculation section 10ab, and a register 10ac, and executes various calculation processes according to various programs read into the register 10ac.
  • the input unit 10b is an input terminal into which data is input, a keyboard, a mouse, a touch panel, etc.
  • the output unit 10c is an output terminal, a display, etc. to which data is output.
  • the communication unit 10h is a LAN card or the like that is controlled by the CPU 10a loaded with a predetermined program.
  • the RAM 10d is an SRAM (Static Random Access Memory), a DRAM (Dynamic Random Access Memory), etc., and has a program area 10da in which a predetermined program is stored and a data area 10db in which various data are stored.
  • the auxiliary storage device 10f is, for example, a hard disk, an MO (Magneto-Optical disc), a semiconductor memory, etc., and has a program area 10fa in which a predetermined program is stored and a data area 10fb in which various data are stored. There is.
  • the bus 10g connects the CPU 10a, the input section 10b, the output section 10c, the RAM 10d, the ROM 10e, the communication section 10h, and the auxiliary storage device 10f so that information can be exchanged.
  • the CPU 10a writes the program stored in the program area 10fa of the auxiliary storage device 10f to the program area 10da of the RAM 10d according to the read OS (Operating System) program.
  • the CPU 10a writes various data stored in the data area 10fb of the auxiliary storage device 10f to the data area 10db of the RAM 10d.
  • the address on the RAM 10d where this program and data are written is stored in the register 10ac of the CPU 10a.
  • the control unit 10aa of the CPU 10a sequentially reads these addresses stored in the register 10ac, reads programs and data from the area on the RAM 10d indicated by the read addresses, and causes the calculation unit 10ab to sequentially execute the calculations indicated by the programs.
  • the calculation results are stored in the register 10ac.
  • the above program can be recorded on a computer readable recording medium.
  • a computer readable storage medium is a non-transitory storage medium. Examples of such recording media are magnetic recording devices, optical disks, magneto-optical recording media, semiconductor memories, and the like.
  • This program is distributed, 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 in its own storage device. When executing a process, this computer reads a program stored in its own storage device and executes a process according to the read program.
  • the computer may directly read the program from a portable recording medium and execute processing according to the program, and furthermore, the program may be transferred to this computer from the server computer.
  • the process may be executed in accordance with the received program each time.
  • the above-mentioned processing is executed by a so-called ASP (Application Service Provider) 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. You can also use it as Note that the program in this embodiment includes information that is used for processing by an electronic computer and that is similar to a program (data that is not a direct command to the computer but has a property that defines the processing of the computer, etc.).
  • 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.
  • the present invention is not limited to the above-described embodiments.
  • all or some of the model learning devices finish learning a worker model using a consensus building method, and agree to provide the secret federation learning device with confidential information that identifies the worker model.
  • the information may be provided to the secret association learning device.
  • the secret federated learning device can receive the confidential information identifying the worker models of all or some of the model learning devices and then obtain the confidential information identifying the aggregated model that aggregates the worker models. can.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

モデル学習装置は、集約モデルを特定する情報または集約モデルを特定する情報の秘匿情報を秘密連合学習装置から得、ローカル学習データを用いた機械学習によって集約モデルを更新してワーカーモデルを得、それを特定する情報の秘匿情報を得て秘密連合学習装置に提供する。秘密連合学習装置は、複数のモデル学習装置から複数のワーカーモデルを特定する情報の秘匿情報を得、それらを用いた秘密計算によって、当該複数のワーカーモデルを得ることなく、当該複数のワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得て複数のモデル学習装置に提供する。

Description

モデル学習装置、秘密連合学習装置、それらの方法、およびプログラム
 本発明は、機械学習技術に関し、特に連合学習技術に関する。
 学習データを集約せずに分散した状態で機械学習を行う連合学習(Federated learning)が知られている(例えば、非特許文献1等参照)。連合学習では、複数のモデル学習装置が、自ら保持する学習データを用いた機械学習を行ってワーカーモデル(ローカルモデル)を生成し、生成したワーカーモデルを連合学習装置に送信する。連合学習装置は、複数のモデル学習装置から送られたワーカーモデルを集約した集約モデル(グローバルモデル)を生成し、生成した集約モデルを複数のモデル学習装置に送信する。集約モデルを受け取った複数のモデル学習装置は、自ら保持する学習データを用いた機械学習によって当該集約モデルを更新して新たなワーカーモデルを生成し、生成したワーカーモデルを連合学習装置に送信する。このような処理を繰り返すことにより、各モデル学習装置は、自ら保持する学習データを外部に渡すことなく、複数のモデル学習装置に保持された学習データが機械学習に反映された集約モデルを得ることができる。
C. He, S. Li, J. So, X. Zeng, M. Zhang, etc, "FedML: A Research Library and Benchmark for Federated Machine Learning", [online], 2020年1月27日, arXiv: 2007.13518, [2022年2月17日検索], インターネット<https://arxiv.org/abs/2007.13518>
 しかしながら、従来の連合学習では、連合学習装置が各モデル学習装置から平文のワーカーモデルを受け取る。そのため、連合学習装置は、送信した集約モデルと受け取ったワーカーモデルとの違いに基づいて、各モデル学習装置が保持する学習データの傾向を知ることができる。
 本発明はこのような点に鑑みてなされたものであり、連合学習の安全性を向上させることを目的とする。
 モデル学習装置は、集約モデルを特定する情報または集約モデルを特定する情報の秘匿情報を秘密連合学習装置から得、記憶部に格納されたローカル学習データを用いた機械学習によって集約モデルを更新してワーカーモデルを得、当該ワーカーモデルを特定する情報の秘匿情報を得、当該ワーカーモデルを特定する情報の秘匿情報を秘密連合学習装置に提供する。
 秘密連合学習装置は、複数のモデル学習装置から複数のワーカーモデルを特定する情報の秘匿情報を得、当該複数のワーカーモデルを特定する情報の秘匿情報を用いた秘密計算によって、当該複数のワーカーモデルを得ることなく、当該複数のワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得、当該集約モデルを特定する情報または集約モデルを特定する情報の秘匿情報を複数のモデル学習装置に提供する。
 これにより、連合学習の安全性を向上させることができる。
図1は、第1,2実施形態の連合学習システムの構成を例示したブロック図である。 図2は、第1,2実施形態のモデル学習装置の構成を例示したブロック図である。 図3は、第1,3,4実施形態の秘密連合学習装置の構成を例示したブロック図である。 図4は、第2,3,4実施形態の秘密連合学習装置の構成を例示したブロック図である。 図5は、第3,4実施形態の連合学習システムの構成を例示したブロック図である。 図6は、第3,4実施形態のモデル学習装置の構成を例示したブロック図である。 図7は、実施形態のハードウェア構成を例示したブロック図である。
 以下、図面を参照して本発明の実施形態を説明する。
 「第1実施形態」
 本実施形態では、連合学習装置が持つ機能のうち、ワーカーモデル(ローカルモデル)の収集および集約モデルの生成を秘匿状態で実行する。
 <構成>
 図1に例示するように、本実施形態の連合学習システム1は、モデル学習を行うN個のモデル学習装置11-1,…,11-N、秘密計算によって連合学習を行うM個の秘密連合学習装置12-1,…,12-M、および連合学習を制御する制御装置13を有する。秘密計算方式に限定はない。例えば、この秘密計算方式は、秘密分散されたシャアを用いて秘密計算を行うマルチパーティ計算方式であってもよいし、準同型暗号を用いて秘密計算を行う準同型暗号方式であってもよい。Nは1以上の整数であり、例えば、Nは2以上の整数である。Mは1以上の整数であり、例えば、Mは2以上の整数である。ただし、秘密計算方式がマルチパーティ計算方式である場合、Mは2以上の整数である。秘密計算方式が準同型暗号方式である場合、Mは1以上の整数であり、例えばM=1である。
 図2に例示するように、本実施形態のモデル学習装置11-nは、記憶部111-n、取得部112-n、学習部113-n、秘匿部114-n、提供部115-n、および制御部116-nを有する。モデル学習装置11-nは、制御部116-nの制御に基づいて各処理を実行し、入力情報及び各処理で得られた情報は記憶部111-nに格納され、必要に応じて読み出されて使用される。ここでnは正整数であり、n=1,…,Nである。特に断りのない限り、nに関する構成および処理は、すべてのn=1,…,Nについて同じである。ただし、扱われるデータ(情報)の内容は、nの値に応じて異なる場合がある。
 図3に例示するように、本実施形態の秘密連合学習装置12-mは、取得部121-m、秘密集約処理部122-m、提供部123-m、制御部126-m、および記憶部127-mを有する。秘密連合学習装置12-mは、制御部126-mの制御に基づいて各処理を実行し、入力情報及び各処理で得られた情報は記憶部127-mに格納され、必要に応じて読み出されて使用される。ここでmは正整数であり、m=1,…,Mである。特に断りのない限り、mに関する構成および処理は、すべてのm=1,…,Mについて同じである。ただし、扱われるデータ(情報)の内容は、mの値に応じて異なる場合がある。
 <事前処理>
 モデル学習装置11-nの記憶部111-nには、各モデル学習装置11-nのローカル学習データD-nが格納されている。ローカル学習データD-nは、機械学習用の学習データであり、教師あり学習用の学習データであってもよいし、教師なし学習用の学習データであってもよい。また、ローカル学習データD-nは更新されていってもよい。また、使用される秘密計算方式が準同型暗号方式である場合、モデル学習装置11-nの記憶部111-nには、暗号化鍵と復号鍵とが格納される。
 <学習処理>
 以下に本実施形態の学習処理を例示する。
 各モデル学習装置11-n(図2)の学習部113-nは、記憶部111-nに格納されたローカル学習データD-nを読み込み、当該ローカル学習データD-nを用いた機械学習によって最新の集約モデルを更新してワーカーモデルを得、当該ワーカーモデルを特定する情報WM-n(例えば、モデルパラメータ群)を出力する。モデル学習装置11-nが集約モデルを未だ得ていない場合、初期設定された機械学習モデルが「最新の集約モデル」である。制御装置13から初期設定された機械学習モデルが与えられてもよい。初期設定されたモデルとは、例えば、初期のモデルパラメータ群が設定された機械学習モデルである。モデル学習装置11-nが後述のように集約モデルを特定する情報GMが得ている場合、当該情報GMで特定される集約モデルのうち、最新のものが「最新の集約モデル」である。後者の場合、学習部113-nは、記憶部111-nから読み込んだ情報GMに基づいて最新の集約モデルを特定する。なお、集約モデルおよびワーカーモデルは、公知の機械学習モデルである。集約モデルおよびワーカーモデルに限定はなく、例えば、ディープラーニング方式に基づくモデルであってもよいし、隠れマルコフモデル方式に基づくモデルであってもよいし、サポートベクターマシーン方式に基づくモデルであってもよいし、線形予測に基づくモデルであってもよい。ただし、連合学習システム1で扱われるすべての集約モデルおよびワーカーモデルは、同一方式に基づくモデルである。ワーカーモデルを特定する情報WM-nは、秘匿部114-nに送られる(ステップS113-n)。
 秘匿部114-nには、ワーカーモデルを特定する情報WM-nが入力される。秘匿部114-nは、ワーカーモデルを特定する情報WM-nを、前述の秘密計算が可能な方式で秘匿して、ワーカーモデルを特定する情報WM-nの秘匿情報[WM-n]を得て出力する。例えば、前述の秘密計算方式がマルチパーティ計算方式である場合、秘匿部114-nは、情報WM-nをM個に秘密分散してM個のシェア[WM-n],…,[WM-n]を得、これらを秘匿情報[WM-n]として出力する。例えば、前述の秘密計算方式が準同型暗号方式である場合、秘匿部114-nは、記憶部111-nから読み込んだ暗号化鍵を用い、準同型暗号方式に則って情報WM-nを暗号化してM個(例えば、1個)の暗号文[WM-n],…,[WM-n]を得、当該暗号文[WM-n],…,[WM-n]を秘匿情報[WM-n]として出力する。秘匿情報[WM-n]={[WM-n],…,[WM-n]}は、提供部115-nに送られる(ステップS114-n)。
 提供部115-nには、ワーカーモデルを特定する情報WM-nの秘匿情報[WM-n]={[WM-n],…,[WM-n]}が入力される。提供部115-nは、当該ワーカーモデルを特定する情報WM-nの秘匿情報[WM-n]を秘密連合学習装置12-m(図3)に送信する(提供する)(ただし、m=1,…,M)。さらに提供部115-nは、モデル学習装置11-nが秘密連合学習装置12-mに秘匿情報[WM-n]を送信した旨(モデル学習装置11-nがワーカーモデルの学習を終了し、当該ワーカーモデルを特定する情報WM-nの秘匿情報[WM-n]を秘密連合学習装置12-mに送信した旨)の同期情報を、制御装置13に送る(ステップS115-n)。
 秘密連合学習装置12-m(図3)の取得部121-mは、モデル学習装置11-nから送られたワーカーモデルを特定する情報WM-nの秘匿情報[WM-n]を受信し、当該秘匿情報[WM-n]を記憶部127-mに格納する。すなわち、取得部121-mは、複数のモデル学習装置11-nから複数のワーカーモデルを特定する情報WM-nの秘匿情報[WM-n]を得て記憶部127-mに格納する(ステップS121-m)。
 制御装置13は、同期情報に基づき、すべてのモデル学習装置11-1,…,11-Nがすべての秘密連合学習装置12-1,…,12-Mに秘匿情報[WM-n],…,[WM-n]を送信したか否かを判定する(ステップS131)。ここで、すべてのモデル学習装置11-n(ただし、n=1,…,N)がすべての秘密連合学習装置12-1,…,12-Mに秘匿情報[WM-n],…,[WM-n]を送信していないと判定され、かつ、基準時点から所定時間が経過していない(タイムアウトしていない)と判定された場合、制御装置13はある間隔ごとにステップS131の判定を行う。一方、すべてのモデル学習装置11-n(ただし、n=1,…,N)がすべての秘密連合学習装置12-1,…,12-Mに秘匿情報[WM-n],…,[WM-n]を送信したと判定されるか、または、基準時点から所定時間が経過した(タイムアウトした)と判定された場合、制御装置13は、秘密集約処理の開始を指示する旨の指令を秘密連合学習装置12-1,…,12-Mに送る。なお、上述のタイムアウトの基準時点はどのようなものであってもよく、例えば、前回の秘密集約処理の開始時または終了時を基準時点としてもよいし、秘密集約処理がまだ実行されていないのであれば学習処理の開始時を基準時点としてもよい(ステップS132)。
 秘密集約処理の開始を指示する旨の指令は、秘密連合学習装置12-m(ただし、m=1,…,M)(図3)の取得部121-mで受信され、制御部126-mに入力される。秘密集約処理の開始を指示する旨の指令を受け取った制御部126-mは、秘密集約処理部122-mに秘密集約処理の開始を指示する。これを受けた秘密集約処理部122-mは、記憶部127-mから複数の秘匿情報[WM-n](ただし、n∈{1,…,N})(複数のワーカーモデルを特定する情報の秘匿情報)を読み込み、これらを用いた秘密計算によって、当該複数のワーカーモデルを得ることなく、当該複数のワーカーモデルを集約した集約モデルを特定する情報GMの秘匿情報[GM]を得て出力する(秘密集約処理)。例えば、ワーカーモデルを特定する情報WM-nが当該ワーカーモデルのモデルパラメータ群{p(n),…,p(n)}である場合、{n,…,nmax}⊆{1,…,N}についてのモデルパラメータ群{p(n),…,p(n)},…,{p(nmax),…,p(nmax)}を集約したモデルパラメータ群{p,…,p}が集約モデルを特定する情報GMとなる。例えば、pはp(n),…,p(nmax)の重み付き線形結合値や平均値などの関数値である。ただし、kはモデルパラメータを識別するインデックスk=1,…,Kであり、Kは正整数である。秘密集約処理部122-mは、秘密計算によって、このようなワーカーモデルを特定する情報WM-nや集約モデルを特定する情報GMを復元することなく、集約モデルを特定する情報GMの秘匿情報[GM]を得て出力する。集約モデルを特定する情報GMの秘匿情報[GM]は提供部123-mに送られる(ステップS122-m)。
 提供部123-mには秘匿情報[GM]が入力される。提供部123-mは、制御装置13を介して、秘匿情報[GM]を複数のモデル学習装置11-n(ただし、n∈{1,…,N})に送信する(提供する)。例えば、提供部123-mは、制御装置13を介して、秘匿情報[GM]をすべてのモデル学習装置11-1,…,11-Nに送信する(提供する)(ステップS123-m)。
 秘匿情報[GM](ただし、m∈{1,…,M})が送られたモデル学習装置11-n(図2)の取得部112-nは、当該秘匿情報[GM](秘密連合学習装置12-mから提供された集約モデルを特定する情報GMの秘匿情報)を受け取る。取得部112-nは、秘匿情報[GM]を復元して集約モデルを特定する情報GMを得る。例えば、秘密計算方式がマルチパーティ計算方式である場合、取得部112-nは、復元に必要な互いに異なる複数の秘匿情報[GM]m(1),…,[GM]m(max)(ただし、{m(1),…,m(max)}⊆{1,…,M})から情報GMを復元する。秘密計算方式が準同型暗号方式である場合、取得部112-nは、記憶部111-nから読み込んだ復号鍵を用いて秘匿情報[GM]を復号して情報GMを得る。集約モデルを特定する情報GMは、記憶部111-nに格納される(ステップS112-n)。
 制御部116-nは、連合学習の終了条件を満たしているか否かを判定する(ステップS116-n)。ここで、終了条件を満たしていない場合には処理がステップS113-nに戻る。この場合には、これまで述べたステップS113-nからステップS116-nまでの処理(すなわち、S113-n,S114-n,S115-n,S121-m,S131,S132,S122-m,S123-m,S112-n,S116-n)が再び実行される。一方、終了条件を満たしていた場合には、処理を終了する。なお、終了条件はどのようなものでもよい。例えば、制御装置13が、集約モデルの更新回数、更新量、更新時間などが規定値に達したときに連合学習を終了する旨の指令をモデル学習装置11-nに送信し、この指令を受け取ることが終了条件であってもよい。あるいは、制御部116-nが集約モデルの更新回数、更新量、更新時間などが規定値に達したか否かを判定し、規定値に達したことを終了条件としてもよい。
 <本実施形態の特徴>
 本実施形態では、複数のモデル学習装置がワーカーモデルを特定する情報の秘匿情報を秘密連合学習装置に提供し、秘密連合学習装置は当該秘匿情報を用い、複数のワーカーモデルを得ることなく、当該複数のワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得る。この場合、秘密連合学習装置は、ワーカーモデル自体を得ることができないので、ワーカーモデルと集約モデルとの違いに基づいて、各モデル学習装置が保持する学習データの傾向を知ることもできない。これにより、連合学習の安全性を向上させることができる。
 [第1実施形態の変形例1]
 制御装置13は、同期情報に基づき、すべてのモデル学習装置11-1,…,11-Nがすべての秘密連合学習装置12-1,…,12-Mに秘匿情報[WM-n],…,[WM-n]を送信したか否かを判定した(ステップS131)。しかしながら、これは本発明を限定するものではない。例えば、これに代えて、あらかじめ定められた数のモデル学習装置があらかじめ定められた数の秘密連合学習装置に秘匿情報を送信したか否かが判定されてもよい。そして、あらかじめ定められた数のモデル学習装置があらかじめ定められた数の秘密連合学習装置に秘匿情報を送信していないと判定され、かつ、基準時点から所定時間が経過していないと判定された場合、制御装置13はある間隔ごとにこの判定を行い、あらかじめ定められた数のモデル学習装置があらかじめ定められた数の秘密連合学習装置に秘匿情報を送信したと判定されるか、または、基準時点から所定時間が経過したと判定された場合、制御装置13が、秘密集約処理の開始を指示する旨の指令を秘密連合学習装置12-1,…,12-Mに送ってもよい。あるいは、単に基準時点から所定時間が経過した場合に、制御装置13が秘密集約処理の開始を指示する旨の指令を秘密連合学習装置12-1,…,12-Mに送ってもよい。
 [第2実施形態]
 本実施形態は、第1実施形態または第1実施形態の変形例1の変形例であり、特定の秘密連合学習装置12-1が秘匿情報[GM],…,[GM]Mから集約モデルを特定する情報GMを復元し、当該集約モデルを特定する情報GMを各モデル学習装置11-nに提供する形態である。以降、これまで説明した事項との相違点を中心に説明し、すでに説明した事項については同じ参照番号を用いて説明を簡略化する。
 <構成>
 図1に例示するように、本実施形態の連合学習システム2は、モデル学習を行うN個のモデル学習装置21-1,…,21-N、秘密計算によって連合学習を行うM個の秘密連合学習装置22-1,12-2,…,12-M、および連合学習を制御する制御装置13を有する。
 図2に例示するように、本実施形態のモデル学習装置21-nは、記憶部111-n、取得部212-n、学習部113-n、秘匿部114-n、提供部115-n、および制御部116-nを有する。モデル学習装置21-nは、制御部116-nの制御に基づいて各処理を実行し、入力情報及び各処理で得られた情報は記憶部111-nに格納され、必要に応じて読み出されて使用される。
 図4に例示するように、本実施形態の秘密連合学習装置22-1は、取得部121-1、秘密集約処理部122-1、提供部223-1、制御部126-1、および記憶部127-1を有する。秘密連合学習装置22-1は、制御部126-1の制御に基づいて各処理を実行し、入力情報及び各処理で得られた情報は記憶部127-1に格納され、必要に応じて読み出されて使用される。秘密連合学習装置12-2,…,12-Mの構成は、第1実施形態と同じである。
 <事前処理>
 本実施形態の事前処理は、使用される秘密計算方式が準同型暗号方式である場合に、モデル学習装置11-nの記憶部111-nではなく、秘密連合学習装置22-1の記憶部127-1に復号鍵が格納される以外、第1実施形態と同じである。
 <学習処理>
 以下に本実施形態の学習処理を例示する。
 まず、モデル学習装置11-nに代えてモデル学習装置21-nが第1実施形態で説明したステップS113-n,S114-n,S115-nの処理を実行し、秘密連合学習装置12-1に代えて秘密連合学習装置22-1がステップS121-1の処理を実行し、秘密連合学習装置12-m’(ただし、m’∈{2,…,M})がステップS121-m’の処理を実行し、制御装置13がステップS131,S132の処理を実行し、秘密連合学習装置12-1に代えて秘密連合学習装置22-1がステップS122-1の処理を実行し、秘密連合学習装置12-m’(ただし、m’∈{2,…,M})がステップS122-m’の処理を実行する。ただし、ステップS122-1では、集約モデルを特定する情報GMの秘匿情報[GM]が秘密連合学習装置12-1の提供部123-1ではなく、秘密連合学習装置22-1(図4)の提供部223-1に送られる。また、M≧2の場合、さらに秘密連合学習装置12-m’の提供部123-m’(ただし、m’∈{2,…,M})が、秘匿情報[GM]m’を秘密連合学習装置22-1(図4)の提供部223-1に送信する。これにより、秘密連合学習装置22-1の提供部223-1には、秘匿情報[GM](ただし、m∈{1,・・,M})が入力される。提供部223-1は入力された秘匿情報[GM]を復元して集約モデルを特定する情報GMを得る。例えば、秘密計算方式がマルチパーティ計算方式である場合、提供部223-1は、復元に必要な互いに異なる複数の秘匿情報[GM]m(1),…,[GM]m(max)(ただし、{m(1),…,m(max)}⊆{1,…,M})から情報GMを復元する。秘密計算方式が準同型暗号方式である場合、提供部223-1は、記憶部127-1から読み込んだ復号鍵を用いて秘匿情報[GM]を復号して情報GMを得る。提供部223-1は、制御装置13を介して、情報GMを複数のモデル学習装置2」1-n(ただし、n∈{1,…,N})に送信する(提供する)。例えば、提供部223-1は、制御装置13を介して、情報GMをすべてのモデル学習装置21-1,…,21-Nに送信する(提供する)(ステップS223-1)。
 情報GMが送られたモデル学習装置21-n(図2)の取得部212-nは、当該情報GM(集約モデルを特定する情報)を受け取る。すなわち、取得部212-nは、集約モデルを特定する情報GMを秘密連合学習装置12-1から得る。この集約モデルを特定する情報GMは、記憶部111-nに格納される(ステップS212-n)。制御部116-nは、連合学習の終了条件を満たしているか否かを判定する(ステップS116-n)。ここで、終了条件を満たしていない場合には処理がステップS113-nに戻る。この場合には、これまで述べたステップS113-nからステップS116-nまでの処理(すなわち、S113-n,S114-n,S115-n,S121-m,S131,S132,S122-m,S223-1,S212-n,S116-n)が再び実行される。一方、終了条件を満たしていた場合には、処理を終了する。その他の事項は、第1実施形態で説明した通りである。また、第2実施形態において、第1実施形態の変形例1と同じ変形が行われてもよい。
 <本実施形態の特徴>
 本実施形態でも、複数のモデル学習装置がワーカーモデルを特定する情報の秘匿情報を秘密連合学習装置に提供し、秘密連合学習装置は当該秘匿情報を用い、複数のワーカーモデルを得ることなく、当該複数のワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得る。この場合、秘密連合学習装置は、ワーカーモデル自体を得ることができないので、ワーカーモデルと集約モデルとの違いに基づいて、各モデル学習装置が保持する学習データの傾向を知ることもできない。これにより、連合学習の安全性を向上させることができる。
 [第3実施形態]
 本実施形態は、第1実施形態の変形例である。第3実施形態では、モデル学習装置が、取得した集約モデルを更新して新たにワーカーモデルを得る必要があるか否かを判定する。モデル学習装置は、この必要があると判断した場合には集約モデルを更新して新たにワーカーモデルを得るが、必要がないと判断した場合には当該集約モデルを更新して新たにワーカーモデル得ることなく、待機時間経過後に秘密連合学習装置から新たな集約モデルを特定する情報の秘匿情報を取得する。さらに第3実施形態では、秘密連合学習装置が、所定のモデル学習装置からワーカーモデルを特定する情報の秘匿情報を得たか否かを判定する。秘密連合学習装置は、所定のモデル学習装置からワーカーモデルを特定する情報の秘匿情報を得たと判定された場合に、ワーカーモデルを特定する情報の秘匿情報を用いた秘密計算によって、ワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得る。これにより、制御装置13を用いることなく、連合学習の安全性を向上させることができる。
 <構成>
 図5に例示するように、本実施形態の連合学習システム3は、モデル学習を行うN個のモデル学習装置31-1,…,31-N、および、秘密計算によって連合学習を行うM個の秘密連合学習装置32-1,…,32-Mを有する。
 図6に例示するように、本実施形態のモデル学習装置31-nは、記憶部111-n、取得部312-n、判定部317-n、学習部113-n、秘匿部114-n、提供部115-n、および制御部116-nを有する。モデル学習装置31-nは、制御部116-nの制御に基づいて各処理を実行し、入力情報及び各処理で得られた情報は記憶部111-nに格納され、必要に応じて読み出されて使用される。
 図3に例示するように、本実施形態の秘密連合学習装置32-mは、取得部121-m、判定部328-m、秘密集約処理部322-m、提供部123-m、制御部126-m、および記憶部127-mを有する。秘密連合学習装置32-mは、制御部126-mの制御に基づいて各処理を実行し、入力情報及び各処理で得られた情報は記憶部127-mに格納され、必要に応じて読み出されて使用される。
 <事前処理>
 本実施形態の事前処理は、第1実施形態と同じである。
 <学習処理>
 以下に本実施形態の学習処理を例示する。
 まず、モデル学習装置11-nに代えてモデル学習装置31-n(図6)が第1実施形態で説明したステップS113-n,S114-n,S115-nの処理を実行し、秘密連合学習装置12-mに代えて秘密連合学習装置32-m(図3)がステップS121-mの処理を実行する。ただし、本実施形態では制御装置13が設けられていないため、ステップS115-nにおいて、モデル学習装置31-nの提供部115-nは、前述の同期情報を制御装置13に送信しない。
 また、秘密連合学習装置32-mの判定部328-mは、所定の契機で、記憶部127-mに格納された秘匿情報[WM-n]を参照し、ワーカーモデルの登録が完了したか否かを判定する。例えば、判定部328-mは、定期的に当該判定を行ってもよいし、各秘匿情報[WM-n]が記憶部127-mに格納されたことをトリガーとして当該判定を行ってもよい。なお、ワーカーモデルの登録が完了したとは、所定のモデル学習装置31-n,…,31-nmax(ただし、{n,…,nmax}={1,…,N})から、新たなワーカーモデルを特定する情報の秘匿情報[WM-n,…,[WM-nmaxを得たことを意味する。すなわち、判定部328-mは、所定のモデル学習装置31-n,…,31-nmaxから、新たなワーカーモデルを特定する情報の秘匿情報[WM-n,…,[WM-nmaxを得たか否かを判定する。所定のモデル学習装置31-n,…,31-nmaxは、すべてのモデル学習装置31-1,…,31-N(つまり{n,…,nmax}={1,…,N})であってもよいし、事前に設定された一部のモデル学習装置31-n,…,31-nmax(つまり{n,…,nmax}⊂{1,…,N})であってもよい。また、新たなワーカーモデルを特定する情報の秘匿情報[WM-n,…,[WM-nmaxは、まだ秘密集約処理に用いられていない秘匿情報[WM-n,…,[WM-nmaxであってもよいし、前回の秘密集約処理の後に取得した秘匿情報[WM-n,…,[WM-nmaxであってもよい。ただし、秘匿情報[WM-n]は秘密分散方式のシェアや準同型暗号方式の暗号文等であるため、秘匿情報[WM-n]から当該秘匿情報[WM-n]を提供したモデル学習装置31-nを特定することができない場合もある。このような場合、判定部328-mは、記憶部127-mに格納された秘匿情報[WM-n]の総データ量からワーカーモデルの登録が完了したか否かを判定してもよい。例えば、判定部328-mは、記憶部127-mに格納された秘匿情報[WM-n]の総データ量が、所定のモデル学習装置31-n,…,31-nmaxから提供される秘匿情報[WM-n,…,[WM-nmaxの総データ量に一致した場合に、ワーカーモデルの登録が完了したと判定し、そうでない場合にワーカーモデルの登録が完了していないと判定してもよい。あるいは、判定部328-mは、記憶部127-mに格納された秘匿情報[WM-n]に対応する総ワーカーモデル数が、所定のモデル学習装置31-n,…,31-nmaxの総ワーカーモデル数nmaxに一致した場合に、ワーカーモデルの登録が完了したと判定し、そうでない場合にワーカーモデルの登録が完了していないと判定してもよい。例えば、ワーカーモデルを特定する情報WM-nがモデルパラメータ群であり、1つのワーカーモデルに含まれるモデルパラメータ数がNMPであり、記憶部127-mに格納された秘匿情報[WM-n]の総データ量がレコード数Nである場合、秘匿情報[WM-n]が提供された総ワーカーモデル数はN/NMPとなる。この場合、判定部328-mは、nmax=N/NMPであるときにワーカーモデルの登録が完了したと判定し、そうでない場合にワーカーモデルの登録が完了していないと判定してもよい。ここで、ワーカーモデルの登録が完了していないと判定され、かつ、基準時点から所定時間が経過していない(タイムアウトしていない)と判定された場合、判定部328-mは、所定の契機で、このワーカーモデルの登録が完了したか否かを再び判定する。例えば、判定部328-mは、所定の待機時間経過後に再び当該判定を行ってもよいし、いずれかの秘匿情報[WM-n]が記憶部127-mに格納されたことをトリガーとして当該判定を再び行ってもよい。一方、ワーカーモデルの登録が完了したと判定されたか、または、基準時点から所定時間が経過した(タイムアウトした)と判定された場合、判定部328-mは秘密集約処理の開始を指示する旨の指令を制御部126-mに送る。なお、タイムアウトの基準時点の例は、第1実施形態で説明した通りである(ステップS328-m)。
 秘密集約処理の開始を指示する旨の指令を受け取った制御部126-mは、秘密集約処理部322-mに秘密集約処理の開始を指示する。これを受けた秘密集約処理部322-mは、記憶部127-mから複数の秘匿情報[WM-n](ただし、n∈{1,…,N})(複数のワーカーモデルを特定する情報の秘匿情報)を読み込み、これらを用いた秘密計算によって、当該複数のワーカーモデルを得ることなく、当該複数のワーカーモデルを集約した集約モデルを特定する情報GMの秘匿情報[GM]を得て出力する(秘密集約処理)。すなわち、秘密集約処理部322-mは、所定のモデル学習装置31-n,…,31-nmaxからワーカーモデルを特定する情報の秘匿情報[WM-n,…,[WM-nmaxを得たと判定された場合に、当該ワーカーモデルを特定する情報の秘匿情報[WM-n,…,[WM-nmaxを用いた秘密計算によって、当該複数のワーカーモデルを集約した集約モデルを特定する情報GMの秘匿情報[GM]を得て出力する。集約モデルを特定する情報GMの秘匿情報[GM]は、提供部123-mに送られる(ステップS322-m)。
 モデル学習装置31-n(図6)の取得部312-nは、所定の契機で、秘密連合学習装置32-m(ただし、m∈{1,…,M})(図3)の提供部123-mにアクセスし、提供部123-mから集約モデルを特定する情報GMの秘匿情報[GM]を取得する。取得部312-nは、取得した秘匿情報[GM]を復元して集約モデルを特定する情報GMを得る。集約モデルを特定する情報GMは、記憶部111-nに格納される(ステップS312-n)。
 判定部317-nは、記憶部111-nに格納された情報GMに対応する集約モデルを更新して新たにワーカーモデルを得る必要があるか否かを判定する。言い換えると、判定部317-nは、当該ローカル学習データD-nを用いた機械学習によって、当該情報GMによって特定される最新の集約モデルを更新してワーカーモデルを得る必要があるか否かを判定する。例えば、判定部317-nは、当該集約モデルが既にワーカーモデルの生成(ステップS113-n)に用いられた「最新の集約モデル」と同一または近似する場合に、当該集約モデルを更新して新たにワーカーモデルを得る必要がないと判定し、そうでない場合に当該集約モデルを更新して新たにワーカーモデルを得る必要があると判定する。なお、2つの集約モデルが近似するとは、例えば、それらのモデルパラメータの距離が所定値以下あることであってもよいし、所定の入力群に対する2つの集約モデルの出力分布の違いが所定値以下あることであってもよい(ステップS317a-n)。
 ここで、集約モデルを更新して新たにワーカーモデルを得る必要がないと判定された場合、制御部116-nは、連合学習の終了条件を満たしているか否かを判定する。ここで終了条件を満たしていた場合には、処理を終了する。一方、終了条件を満たしていない場合には、学習部113-nが当該集約モデルを更新して新たにワーカーモデルを得ることなく、待機時間経過後に取得部312-nが秘密連合学習装置32-m(ただし、m∈{1,…,M})(図3)から新たな集約モデルを特定する情報の秘匿情報[GM]を取得する。すなわち、学習部113-nが新たなワーカーモデルを得ることなく、取得部312-nが当該待機時間経過後に提供部123-mにアクセスし、提供部123-mから集約モデルを特定する情報GMの秘匿情報[GM]を取得する。取得部312-nは、取得した秘匿情報[GM]を復元して集約モデルを特定する情報GMを得、これを記憶部111-nに格納し、ステップS317a-nに戻る(ステップS317b-n)。
 一方、集約モデルを更新して新たにワーカーモデルを得る必要があると判定された場合、ステップS113-nの処理に戻る(ステップS317c-n)。すなわち、学習部113-nは、記憶部111-nに格納されたローカル学習データD-nおよび最新の情報GMを読み込み、当該ローカル学習データD-nを用いた機械学習によって、当該情報GMによって特定される最新の集約モデルを更新してワーカーモデルを得、当該ワーカーモデルを特定する情報WM-nを出力する(ステップS113-n)。その後、本実施形態でこれまで説明したステップS114-n以降の処理が再び実行される。
 <本実施形態の特徴>
 本実施形態でも、複数のモデル学習装置がワーカーモデルを特定する情報の秘匿情報を秘密連合学習装置に提供し、秘密連合学習装置は当該秘匿情報を用い、複数のワーカーモデルを得ることなく、当該複数のワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得る。この場合、秘密連合学習装置は、ワーカーモデル自体を得ることができないので、ワーカーモデルと集約モデルとの違いに基づいて、各モデル学習装置が保持する学習データの傾向を知ることもできない。これにより、連合学習の安全性を向上させることができる。
 さらに、本実施形態のモデル学習装置は、集約モデルを更新して新たにワーカーモデルを得る必要があるか否かを判定する。ここで、集約モデルを更新して新たにワーカーモデルを得る必要がないと判定された場合、モデル学習装置は、当該集約モデルを更新して新たにワーカーモデルを得ることなく、待機時間経過後に新たな集約モデルを特定する情報の秘匿情報を取得する。一方、集約モデルを更新して新たにワーカーモデルを得る必要があると判定された場合、モデル学習装置は、ローカル学習データを用いた機械学習によって集約モデルを更新してワーカーモデルを得る。また秘密連合学習装置は、所定のモデル学習装置からワーカーモデルを特定する情報の秘匿情報を得たか否かを判定する。ここで、所定のモデル学習装置からワーカーモデルを特定する情報の秘匿情報を得たと判定された場合に、秘密連合学習装置は、ワーカーモデルを特定する情報の秘匿情報を用いた秘密計算によって、ワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得る。これらにより、制御装置13を用いることなく、連合学習の安全性を向上させることができる。
 また、本実施形態では、モデル学習装置がワーカーモデルの学習を終了したことを外部に伝達しないため、各モデル学習装置の性能や処理時間の情報の流出を防止できる。
 [第3実施形態の変形例1]
 第3実施形態では、秘密連合学習装置32-m(図3)の判定部328-mが、ワーカーモデルの登録が完了したと判定するか、または、基準時点から所定時間が経過したと判定した場合に、秘密集約処理の開始を指示する旨の指令を制御部126-mに送った(ステップS328-m)。しかし、判定部328-mが基準時点から所定時間が経過したか否かを判定することなく、ワーカーモデルの登録が完了したと判定した場合に、判定部328-mが秘密集約処理の開始を指示する旨の指令を制御部126-mに送ってもよい。
 [第3実施形態の変形例2]
 第3実施形態では、モデル学習装置31-n(図6)の取得部312-nが、所定の契機で、秘密連合学習装置32-m(図3)の提供部123-mから集約モデルを特定する情報GMの秘匿情報[GM]を取得し、取得した秘匿情報[GM]を復元して集約モデルを特定する情報GMを得た。しかし、モデル学習装置31-nの取得部312-nが、所定の契機で、特定の秘密連合学習装置32-1(図4)の提供部223-1から集約モデルを特定する情報GMを取得してもよい。この場合には、第2実施形態で説明したように、ステップS322-mで、集約モデルを特定する情報GMの秘匿情報[GM]が、秘密連合学習装置32-1(図4)の提供部223-1に送られる。また、M≧2の場合、さらに秘密連合学習装置32-m’の提供部323-m’(ただし、m’∈{2,…,M})が、秘匿情報[GM]m’を秘密連合学習装置32-1(図4)の提供部223-1に送信する。これにより、秘密連合学習装置32-1の提供部223-1には、秘匿情報[GM](ただし、m∈{1,・・,M})が入力される。提供部223-1は入力された秘匿情報[GM]を復元して集約モデルを特定する情報GMを得る。モデル学習装置31-nの取得部112-nは、所定の契機で、秘密連合学習装置32-1(図4)の提供部223-1から集約モデルを特定する情報GMを取得する。その他は第3実施形態と同じである。
 [第4実施形態]
 本実施形態は、第3実施形態の変形例である。第4実施形態では、モデル学習装置がワーカーモデルを特定する情報の秘匿情報を秘密連合学習装置に提供したことを表す平文の同期情報をさらに秘密連合学習装置に提供する。秘密連合学習装置は、モデル学習装置がワーカーモデルを特定する情報の秘匿情報を当該秘密連合学習装置に提供したことを表す平文の同期情報を取得し、当該同期情報を用いて、所定のモデル学習装置からワーカーモデルを特定する情報の秘匿情報を得たか否かを判定する。これにより、通信を効率化でき、性能を向上させることができる。
 <構成>
 図5に例示するように、本実施形態の連合学習システム4は、モデル学習を行うN個のモデル学習装置41-1,…,41-N、および、秘密計算によって連合学習を行うM個の秘密連合学習装置42-1,…,42-Mを有する。
 図6に例示するように、本実施形態のモデル学習装置41-nは、記憶部111-n、取得部412-n、判定部317-n、学習部113-n、秘匿部114-n、提供部415-n、および制御部116-nを有する。モデル学習装置41-nは、制御部116-nの制御に基づいて各処理を実行し、入力情報及び各処理で得られた情報は記憶部111-nに格納され、必要に応じて読み出されて使用される。
 図3に例示するように、本実施形態の秘密連合学習装置42-mは、取得部421-m、判定部428-m、秘密集約処理部322-m、提供部423-m、制御部126-m、および記憶部127-mを有する。秘密連合学習装置42-mは、制御部126-mの制御に基づいて各処理を実行し、入力情報及び各処理で得られた情報は記憶部127-mに格納され、必要に応じて読み出されて使用される。
 <事前処理>
 本実施形態の事前処理は、第1実施形態と同じである。
 <学習処理>
 以下に本実施形態の学習処理を例示する。
 まず、モデル学習装置11-nに代えてモデル学習装置41-n(図6)が、第1実施形態で説明したステップS113-n,S114-nの処理を実行する。
 ステップS114-nの処理で得られた秘匿情報[WM-n]={[WM-n],…,[WM-n]}(ワーカーモデルを特定する情報WM-nの秘匿情報)は、モデル学習装置41-n(図6)の提供部415-nに入力される。提供部415-nは、当該ワーカーモデルを特定する情報WM-nの秘匿情報[WM-n]を秘密連合学習装置42-m(図3)に送信する(提供する)(ただし、m=1,…,M)。さらに提供部415-nは、モデル学習装置41-nが秘密連合学習装置42-mに当該ワーカーモデルを特定する情報WM-nの秘匿情報[WM-n]を送信した旨(モデル学習装置41-nがワーカーモデルの学習を完了した旨)の同期情報syn-nを秘密連合学習装置42-mに送信する(提供する)(ただし、m=1,…,M)。なお、同期情報syn-nは平文である。(ステップS415-n)
 秘密連合学習装置42-m(図3)の取得部121-mは、モデル学習装置41-nから送られた秘匿情報[WM-n]および同期情報syn-nを受信し、当該秘匿情報[WM-n]および同期情報syn-nを記憶部127-mに格納する。すなわち、取得部421-mは、複数のモデル学習装置41-nから複数のワーカーモデルを特定する情報WM-nの秘匿情報[WM-n]、および、当該モデル学習装置41-nが秘密連合学習装置42-mに当該ワーカーモデルを特定する情報WM-nの秘匿情報[WM-n]を送信した旨の同期情報syn-nを取得し、これらを記憶部127-mに格納する(ステップS421-m)。
 また、秘密連合学習装置42-mの判定部428-mは、所定の契機で、記憶部127-mに格納された同期情報syn-nを用いて、ワーカーモデルの登録が完了したか否かを判定する。例えば、判定部428-mは、定期的に当該判定を行ってもよいし、各秘匿情報[WM-n]および同期情報syn-nが記憶部127-mに格納されたことをトリガーとして当該判定を行ってもよい。第3実施形態で説明した通り、ワーカーモデルの登録が完了したとは、所定のモデル学習装置41-n,…,41-nmax(ただし、{n,…,nmax}⊆{1,…,N})から、新たなワーカーモデルを特定する情報の秘匿情報[WM-n,…,[WM-nmaxを得たことを意味する。判定部428-mは、同期情報syn-nを用いることで、どのモデル学習装置41-nが当該秘密連合学習装置42-mに秘匿情報[WM-n]を提供したのかを知ることができる。そのため、判定部428-mは、この同期情報syn-nを用いることで、ワーカーモデルの登録が完了したか否かを正確に判定できる。ここで、ワーカーモデルの登録が完了していないと判定され、かつ、基準時点から所定時間が経過していない(タイムアウトしていない)と判定された場合、判定部428-mは、所定の契機で、このワーカーモデルの登録が完了したか否かを再び判定する。一方、ワーカーモデルの登録が完了したと判定されたか、または、基準時点から所定時間が経過した(タイムアウトした)と判定された場合、判定部428-mは秘密集約処理の開始を指示する旨の指令を制御部126-mに送る。なお、タイムアウトの基準時点の例は、第1実施形態で説明した通りである(ステップS421-m)。
 秘密集約処理の開始を指示する旨の指令を受け取った制御部126-mは、秘密集約処理部322-mに秘密集約処理の開始を指示する。これを受けた秘密集約処理部322-mは、記憶部127-mから複数の秘匿情報[WM-n](ただし、n∈{1,…,N})(複数のワーカーモデルを特定する情報の秘匿情報)を読み込み、これらを用いた秘密計算によって、当該複数のワーカーモデルを得ることなく、当該複数のワーカーモデルを集約した集約モデルを特定する情報GMの秘匿情報[GM]を得て出力する(秘密集約処理)。集約モデルを特定する情報GMの秘匿情報[GM]は、提供部423-mに送られる(ステップS322-m)。
 提供部423-mには秘匿情報[GM]が入力される。提供部423-mは、取得部121-mがモデル学習装置41-nから受け取った秘匿情報[WM-n]および同期情報syn-n(ステップS421-m)に対する戻り値として、集約モデルを特定する情報GMの秘匿情報[GM]をモデル学習装置41-nに送信する(提供する)(ステップS423-m)。
 モデル学習装置41-n(図6)の取得部412-nには、戻り値として秘密連合学習装置42-m(ただし、m∈{1,…,M})から提供された秘匿情報[GM]が入力される。取得部412-nは、取得した秘匿情報[GM]を復元して集約モデルを特定する情報GMを得る。集約モデルを特定する情報GMは、記憶部111-nに格納される(ステップS412-n)。
 判定部317-nは、記憶部111-nに格納された情報GMに対応する集約モデルを更新して新たにワーカーモデルを得る必要があるか否かを判定する。言い換えると、判定部317-nは、当該ローカル学習データD-nを用いた機械学習によって、当該情報GMによって特定される最新の集約モデルを更新してワーカーモデルを得る必要があるか否かを判定する(ステップS317a-n)。
 ここで、集約モデルを更新して新たにワーカーモデルを得る必要がないと判定された場合、モデル学習装置41-n(図6)の制御部116-nが、連合学習の終了条件を満たしているか否かを判定する。ここで終了条件を満たしていた場合には、処理を終了する。一方、終了条件を満たしていない場合には、学習部113-nが当該集約モデルを更新して新たにワーカーモデルを得ることなく、待機時間経過後に取得部412-nが秘密連合学習装置42-m(ただし、m∈{1,…,M})(図3)から新たな集約モデルを特定する情報の秘匿情報[GM]を取得する。取得部412-nは、取得した秘匿情報[GM]を復元して集約モデルを特定する情報GMを得、これを記憶部111-nに格納し、ステップS317a-nに戻る(ステップS417b-n)。
 一方、集約モデルを更新して新たにワーカーモデルを得る必要があると判定された場合、ステップS113-nの処理に戻る(ステップS317c-n)。その後、本実施形態でこれまで説明したステップS114-n以降の処理が再び実行される。
 <本実施形態の特徴>
 本実施形態でも、複数のモデル学習装置がワーカーモデルを特定する情報の秘匿情報を秘密連合学習装置に提供し、秘密連合学習装置は当該秘匿情報を用い、複数のワーカーモデルを得ることなく、当該複数のワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得る。この場合、秘密連合学習装置は、ワーカーモデル自体を得ることができないので、ワーカーモデルと集約モデルとの違いに基づいて、各モデル学習装置が保持する学習データの傾向を知ることもできない。これにより、連合学習の安全性を向上させることができる。
 さらに、本実施形態のモデル学習装置は、集約モデルを更新して新たにワーカーモデルを得る必要があるか否かを判定する。ここで、集約モデルを更新して新たにワーカーモデルを得る必要がないと判定された場合、モデル学習装置は、当該集約モデルを更新して新たにワーカーモデルを得ることなく、待機時間経過後に新たな集約モデルを特定する情報の秘匿情報を取得する。一方、集約モデルを更新して新たにワーカーモデルを得る必要があると判定された場合、モデル学習装置は、ローカル学習データを用いた機械学習によって集約モデルを更新してワーカーモデルを得る。また秘密連合学習装置は、所定のモデル学習装置からワーカーモデルを特定する情報の秘匿情報を得たか否かを判定する。ここで、所定のモデル学習装置からワーカーモデルを特定する情報の秘匿情報を得たと判定された場合に、秘密連合学習装置は、ワーカーモデルを特定する情報の秘匿情報を用いた秘密計算によって、ワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得る。これらにより、制御装置13を用いることなく、連合学習の安全性を向上させることができる。
 また、さらに、本実施形態のモデル学習装置は、当該モデル学習装置がワーカーモデルを特定する情報の秘匿情報を秘密連合学習装置に提供したことを表す平文の同期情報をさらに秘密連合学習装置に提供する。秘密連合学習装置は、当該同期情報を用いて、所定のモデル学習装置からワーカーモデルを特定する情報の秘匿情報を得たか否かを判定する。これにより、ワーカーモデルの登録が完了したか否かを正確に判定できる。その結果、通信を効率化でき、性能を向上させることができる。
 [第4実施形態の変形例1]
 第4実施形態では、秘密連合学習装置42-m(図3)の判定部428-mが、ワーカーモデルの登録が完了したと判定するか、または、基準時点から所定時間が経過したと判定した場合に、秘密集約処理の開始を指示する旨の指令を制御部126-mに送った(ステップS428-m)。しかし、判定部428-mが基準時点から所定時間が経過したか否かを判定することなく、ワーカーモデルの登録が完了したと判定した場合に、判定部428-mが秘密集約処理の開始を指示する旨の指令を制御部126-mに送ってもよい。
 [第4実施形態の変形例2]
 第4実施形態では、モデル学習装置41-n(図6)の取得部412-nが、戻り値として、秘密連合学習装置42-m(図3)の提供部423-mから集約モデルを特定する情報GMの秘匿情報[GM]を取得し、取得した秘匿情報[GM]を復元して集約モデルを特定する情報GMを得た。しかし、モデル学習装置31-nの取得部112-nが、戻り値として、特定の秘密連合学習装置42-1(図4)の提供部223-1から集約モデルを特定する情報GMを取得してもよい。この場合には、第2実施形態で説明したように、ステップS322-mで、集約モデルを特定する情報GMの秘匿情報[GM]が秘密連合学習装置42-1(図4)の提供部223-1に送られる。また、M≧2の場合、さらに秘密連合学習装置42-m’の提供部423-m’(ただし、m’∈{2,…,M})が、秘匿情報[GM]m’を秘密連合学習装置42-1(図4)の提供部223-1に送信する。これにより、秘密連合学習装置42-1の提供部223-1には、秘匿情報[GM](ただし、m∈{1,・・,M})が入力される。提供部223-1は入力された秘匿情報[GM]を復元して集約モデルを特定する情報GMを得、これを戻り値として、モデル学習装置41-nに送信する。モデル学習装置41-nの取得部412-nは、戻り値として、秘密連合学習装置42-1(図4)の提供部223-1から集約モデルを特定する情報GMを取得する。その他は第4実施形態と同じである。
 [ハードウェア構成]
 各実施形態におけるモデル学習装置11-n,21-n,31-n,41-nおよび秘密連合学習装置12-m,22-1,32-m,42-mは、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。すなわち、各実施形態におけるモデル学習装置11-n,21-n,31-n,41-nおよび秘密連合学習装置12-m,22-1,32-m,42-mは、例えば、それぞれが有する各部を実装するように構成された処理回路(processing circuitry)を有する。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
 図7は、各実施形態におけるモデル学習装置11-n,21-n,31-n,41-nおよび秘密連合学習装置12-m,22-1,32-m,42-mのハードウェア構成を例示したブロック図である。図7に例示するように、この例のモデル学習装置11-n,21-n,31-n,41-nおよび秘密連合学習装置12-m,22-1,32-m,42-mは、CPU(Central Processing Unit)10a、入力部10b、出力部10c、RAM(Random Access Memory)10d、ROM(Read Only Memory)10e、補助記憶装置10f、通信部10h及びバス10gを有している。この例のCPU10aは、制御部10aa、演算部10ab及びレジスタ10acを有し、レジスタ10acに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部10bは、データが入力される入力端子、キーボード、マウス、タッチパネル等である。また、出力部10cは、データが出力される出力端子、ディスプレイ等である。通信部10hは、所定のプログラムを読み込んだCPU10aによって制御されるLANカード等である。また、RAM10dは、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、所定のプログラムが格納されるプログラム領域10da及び各種データが格納されるデータ領域10dbを有している。また、補助記憶装置10fは、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、所定のプログラムが格納されるプログラム領域10fa及び各種データが格納されるデータ領域10fbを有している。また、バス10gは、CPU10a、入力部10b、出力部10c、RAM10d、ROM10e、通信部10h及び補助記憶装置10fを、情報のやり取りが可能なように接続する。CPU10aは、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置10fのプログラム領域10faに格納されているプログラムをRAM10dのプログラム領域10daに書き込む。同様にCPU10aは、補助記憶装置10fのデータ領域10fbに格納されている各種データを、RAM10dのデータ領域10dbに書き込む。そして、このプログラムやデータが書き込まれたRAM10d上のアドレスがCPU10aのレジスタ10acに格納される。CPU10aの制御部10aaは、レジスタ10acに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM10d上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部10abに順次実行させ、その演算結果をレジスタ10acに格納していく。このような構成により、モデル学習装置11-n,21-n,31-n,41-nおよび秘密連合学習装置12-m,22-1,32-m,42-mの機能構成が実現される。
 上述のプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
 このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。上述のように、このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 各実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 [その他の変形例]
 なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の実施形態において、全部または一部のモデル学習装置が合意形成手法によってワーカーモデルの学習を終了し、当該ワーカーモデルを特定する情報の秘匿情報を秘密連合学習装置に提供した旨を合意し、その旨を秘密連合学習装置に提供してもよい。これにより、秘密連合学習装置は当該全部または一部のモデル学習装置のワーカーモデルを特定する情報の秘匿情報を受け取ってから当該ワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得ることができる。
 また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
1~4 連合学習システム
11-n,21-n,31-n,41-n モデル学習装置
111-n 記憶部
112-n,212-n,312-n,412-n 取得部
113-n 学習部
114-n 秘匿部
115-n,415-n 提供部
317-n 判定部
12-m,22-1,32-m,42-m 秘密連合学習装置
121-m,421-m 取得部
122-m,322-m 秘密集約処理部
123-m,223-1,423-m 提供部
127-m 記憶部
328-m,428-m 判定部

Claims (9)

  1.  ローカル学習データを格納する記憶部と、
     集約モデルを特定する情報または前記集約モデルを特定する情報の秘匿情報を秘密連合学習装置から得る取得部と、
     前記ローカル学習データを用いた機械学習によって前記集約モデルを更新してワーカーモデルを得る学習部と、
     前記ワーカーモデルを特定する情報の秘匿情報を得る秘匿部と、
     前記ワーカーモデルを特定する情報の秘匿情報を前記秘密連合学習装置に提供する提供部と、
    を有するモデル学習装置。
  2.  請求項1のモデル学習装置であって、
     前記集約モデルを更新して新たに前記ワーカーモデルを得る必要があるか否かを判定する判定部をさらに有し、
     前記集約モデルを更新して新たに前記ワーカーモデルを得る必要がないと判定された場合、前記学習部が前記集約モデルを更新して新たに前記ワーカーモデルを得ることなく、待機時間経過後に前記取得部が前記秘密連合学習装置から新たな集約モデルを特定する情報または前記新たな集約モデルを特定する情報の秘匿情報を取得し、
     前記集約モデルを更新して新たに前記ワーカーモデルを得る必要があると判定された場合、前記学習部が前記ローカル学習データを用いた機械学習によって前記集約モデルを更新して前記ワーカーモデルを得る、モデル学習装置。
  3.  請求項1または2のモデル学習装置であって、
     前記提供部は、当該モデル学習装置が前記ワーカーモデルを特定する情報の秘匿情報を前記秘密連合学習装置に提供したことを表す平文の同期情報をさらに前記秘密連合学習装置に提供する、モデル学習装置。
  4.  複数のモデル学習装置から複数のワーカーモデルを特定する情報の秘匿情報を得る取得部と、
     前記複数のワーカーモデルを特定する情報の秘匿情報を用いた秘密計算によって、前記複数のワーカーモデルを得ることなく、前記複数のワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得る秘密集約処理部と、
     前記集約モデルを特定する情報または前記集約モデルを特定する情報の秘匿情報を前記複数のモデル学習装置に提供する提供部と、
    を有する秘密連合学習装置。
  5.  請求項4の秘密連合学習装置であって、
     前記取得部が所定のモデル学習装置から前記ワーカーモデルを特定する情報の秘匿情報を得たか否かを判定する判定部をさらに有し、
     前記秘密集約処理部は、前記所定のモデル学習装置から前記ワーカーモデルを特定する情報の秘匿情報を得たと判定された場合に、前記ワーカーモデルを特定する情報の秘匿情報を用いた秘密計算によって、前記ワーカーモデルを集約した前記集約モデルを特定する情報の秘匿情報を得る、秘密連合学習装置。
  6.  請求項5の秘密連合学習装置であって、
     前記取得部は、前記モデル学習装置が前記ワーカーモデルを特定する情報の秘匿情報を当該秘密連合学習装置に提供したことを表す平文の同期情報を取得し、
     前記判定部は、前記同期情報を用いて、前記所定のモデル学習装置から前記ワーカーモデルを特定する情報の秘匿情報を得たか否かを判定する、秘密連合学習装置。
  7.  モデル学習装置によるモデル学習方法であって、
     取得部において、集約モデルを特定する情報または前記集約モデルを特定する情報の秘匿情報を秘密連合学習装置から得る取得ステップと、
     学習部において、記憶部に格納されたローカル学習データを用いた機械学習によって前記集約モデルを更新してワーカーモデルを得る学習ステップと、
     秘匿部において、前記ワーカーモデルを特定する情報の秘匿情報を得る秘匿ステップと、
     提供部において、前記ワーカーモデルを特定する情報の秘匿情報を前記秘密連合学習装置に提供する提供ステップと、
    を有するモデル学習方法。
  8.  秘密連合学習装置による秘密連合学習方法であって、
     取得部において、複数のモデル学習装置から複数のワーカーモデルを特定する情報の秘匿情報を得る取得ステップと、
     秘密集約処理部において、前記複数のワーカーモデルを特定する情報の秘匿情報を用いた秘密計算によって、前記複数のワーカーモデルを得ることなく、前記複数のワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得る秘密集約処理ステップと、
     提供部において、前記集約モデルを特定する情報または前記集約モデルを特定する情報の秘匿情報を前記複数のモデル学習装置に提供する提供ステップと、
    を有する秘密連合学習方法。
  9.  請求項1または2のモデル学習装置、または、請求項4から6のいずれかの秘密連合学習装置としてコンピュータを機能させるためのプログラム。
PCT/JP2022/016500 2022-03-31 2022-03-31 モデル学習装置、秘密連合学習装置、それらの方法、およびプログラム WO2023188256A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/016500 WO2023188256A1 (ja) 2022-03-31 2022-03-31 モデル学習装置、秘密連合学習装置、それらの方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/016500 WO2023188256A1 (ja) 2022-03-31 2022-03-31 モデル学習装置、秘密連合学習装置、それらの方法、およびプログラム

Publications (1)

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

Family

ID=88199826

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/016500 WO2023188256A1 (ja) 2022-03-31 2022-03-31 モデル学習装置、秘密連合学習装置、それらの方法、およびプログラム

Country Status (1)

Country Link
WO (1) WO2023188256A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018032344A (ja) * 2016-08-26 2018-03-01 日本電信電話株式会社 分散同期処理システムおよび分散同期処理方法
JP2020115311A (ja) * 2019-01-18 2020-07-30 オムロン株式会社 モデル統合装置、モデル統合方法、モデル統合プログラム、推論システム、検査システム、及び制御システム
WO2020229684A1 (en) * 2019-05-16 2020-11-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concepts for federated learning, client classification and training data similarity measurement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018032344A (ja) * 2016-08-26 2018-03-01 日本電信電話株式会社 分散同期処理システムおよび分散同期処理方法
JP2020115311A (ja) * 2019-01-18 2020-07-30 オムロン株式会社 モデル統合装置、モデル統合方法、モデル統合プログラム、推論システム、検査システム、及び制御システム
WO2020229684A1 (en) * 2019-05-16 2020-11-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concepts for federated learning, client classification and training data similarity measurement

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 *
STRIPELIS DIMITRIS; SALEEM HAMZA; GHAI TANMAY; DHINAGAR NIKHIL; GUPTA UMANG; ANASTASIOU CHRYSOVALANTIS; VER STEEG GREG; RAVI SRIVA: "Secure neuroimaging analysis using federated learning with homomorphic encryption", PROCEEDINGS OF THE SPIE, SPIE, US, vol. 12088, 10 December 2021 (2021-12-10), US, pages 1208814-1 - 1208814-9, XP060150582, ISSN: 0277-786X, ISBN: 978-1-5106-5738-0, DOI: 10.1117/12.2606256 *

Similar Documents

Publication Publication Date Title
CN111598186B (zh) 基于纵向联邦学习的决策模型训练方法、预测方法及装置
US20210158216A1 (en) Method and system for federated learning
US11836583B2 (en) Method, apparatus and system for secure vertical federated learning
JP5411994B2 (ja) 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム
CN111898137A (zh) 一种联邦学习的隐私数据处理方法、设备及系统
US9893896B1 (en) System and method for remote storage auditing
CN111428887B (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
KR20190141576A (ko) 동적 규칙 기반의 블록 체인을 이용하는 군집 제어 장치 및 방법
EP4208808A1 (en) Privacy preserving machine learning using secure multi-party computation
CN112799708A (zh) 联合更新业务模型的方法及系统
US11991156B2 (en) Systems and methods for secure averaging of models for federated learning and blind learning using secure multi-party computation
EP3327702B1 (en) Secure computation device, method therefor, and program
CN108076103A (zh) 一种消息处理方法、系统及消息生产者集群
CN103455760A (zh) 信息处理装置和信息处理方法
JP7422892B2 (ja) 分類の正確さを改善するための機械学習モデリングデータの処理
CN115087979A (zh) 隐私保护机器学习标记
WO2023188256A1 (ja) モデル学習装置、秘密連合学習装置、それらの方法、およびプログラム
WO2023188260A1 (ja) 制御装置、モデル学習装置、秘密連合学習装置、それらの方法、およびプログラム
CN114598700B (zh) 通信方法及通信系统
US20220164712A1 (en) Systems and methods for federated learning using distributed messaging with entitlements for anonymous computation and secure delivery of model
WO2023188258A1 (ja) 計算装置、計算方法、およびプログラム
WO2023038930A1 (en) Systems and methods for averaging of models for federated learning and blind learning using secure multi-party computation
KR102056849B1 (ko) 가상 사설 네트워크 시스템
KR20220094012A (ko) 블록 체인의 뉴럴 블록 클러스터 기반의 유통이력 관리 및 제품 인증 서비스제공 장치 및 그 동작 방법
da Costa et al. DLCP: A protocol for securing light client operation in blockchains

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

Country of ref document: EP

Kind code of ref document: A1