User terminal device, secure calculation method, secure calculation device, and secure calculation system
The secure computing system addresses inefficiencies in secure computation by distributing learning data and conditions across multiple devices, achieving efficient and confidential machine learning through secret sharing or encryption, enabling secure hyperparameter tuning and model selection.
Patent Information
- Application Number
- PCT/JP2024/022755
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-24
- Publication Date
- 2026-01-02
AI Technical Summary
Existing secure computation methods for machine learning, such as Automated Machine Learning (AutoML), are inefficient due to high computational costs and long computation times, making it impractical to adjust hyperparameters through trial and error while maintaining data confidentiality.
A secure computing system that distributes learning data and conditions across multiple secure computing devices, using secret sharing or encryption to perform machine learning securely, allowing for efficient hyperparameter tuning and model selection without decrypting the data.
Reduces computational costs and maintains data confidentiality by performing machine learning efficiently, enabling secure and efficient hyperparameter tuning and model selection, while keeping the learning data secret.
Smart Images

Figure JP2024022755_02012026_PF_FP_ABST
Abstract
Description
User terminal device, secure computation method, secure computation device, and secure computation system
[0001] The present disclosure relates to information security technology that applies cryptographic technology, and in particular to data utilization technology in AI (Artificial Intelligence) analysis using secure computation.
[0002] In recent years, there has been growing momentum for data utilization using AI. At the same time, there is also a growing demand for privacy protection, and there is a demand for an environment where highly confidential data can be analyzed using proven AI algorithms, for example in the medical field. Secure computing AI is a technology that brings together data accumulated by multiple companies and makes it possible to safely utilize it. It enables the creation of models and inference using a variety of extremely secure AI algorithms, while keeping the data encrypted and never decrypting it.
[0003] Machine learning is a technology that supports AI. To use secure computation with machine learning in actual analyses and services, it is necessary to appropriately determine hyperparameters, such as the type and method of learning to be used. However, secure computation is less efficient than computation using plaintext, and it is not realistic to repeat machine learning to adjust hyperparameters little by little and search and determine them through trial and error.
[0004] For example, Automated Machine Learning (AutoML) is a known technology for automating the tuning of AI models, as described in Non-Patent Document 1. Therefore, as a method for performing machine learning securely, it is conceivable to perform AutoML as described in Non-Patent Document 1 using secure computation.
[0005] Yao, Quanming & Wang, Mengshuo & Escalante, Hugo Jair & Isabelle, Guyon & Hu, Yi-Qi & Yu-Feng, Li & Tu, Wei-Wei & Qiang, Yang & Yang, Yu. "Taking Human out of Learning Applications: A Survey on Automated Machine Learning", 2018, <URL: https: / / doi.org / 10.48550 / arXiv.1810.13306>
[0006] However, the automated machine learning described in Non-Patent Document 1 involves automatic tuning while repeating various machine learning multiple times, which has the problem that the computational cost is too high to directly implement using secure computation. Abstracting all of the model type, parameter depth, structural information, etc. requires long computation times, which impairs usability.
[0007] Therefore, the present disclosure has been made to solve the above-mentioned problems, and aims to provide a technology that can reduce the computational costs of machine learning by achieving both efficiency and data confidentiality.
[0008] In order to solve the above problem, a user terminal device of one embodiment of the present disclosure has a learning request unit that distributes input first learning conditions to n secure computing devices, where n is an integer greater than or equal to 1; a result restoration unit that restores the learning results using encrypted learning results received from at least the number of secure computing devices required for decryption out of the n secure computing devices; an evaluation request unit that creates a performance index based on the learning results and sends it to the automatic machine learning device; and a learning condition update unit that updates the second learning conditions received from the automatic machine learning device as the first learning conditions when the evaluation results evaluated by the received automatic machine learning device meet predetermined conditions.
[0009] According to the present disclosure, automatic machine learning processing can be controlled using plain text and machine learning processing can be performed using secret computation, thereby achieving both efficiency and data confidentiality while reducing the computational costs of machine learning.
[0010] FIG. 1 is a diagram showing an example of the functional configuration of a secure computing system according to the first embodiment. i 3 is a diagram showing an example of the functional configuration of the registrant terminal device 2. FIG. 4 is a diagram showing an example of the functional configuration of the user terminal device 3. FIG. 5 is a diagram showing an example of the functional configuration of the automated machine learning device 4. FIG. 6 is a diagram showing an example of the processing flow of a method for registering data to be learned. FIG. 7 is a diagram showing an example of the processing flow of a secure computation method of the secure computation system according to the first embodiment. FIG. 8 is a diagram showing an example of the functional configuration of a secure computation system according to the second embodiment. FIG. 9 is a diagram showing an example of the functional configuration of the secure computation device 1B. i FIG. 10 is a diagram showing an example of the functional configuration of a registrant terminal device 2B. FIG. 11 is a diagram showing an example of the functional configuration of a user terminal device 3B. FIG. 12 is a diagram showing an example of the processing flow of a method for registering data to be learned in the second embodiment. FIG. 13 is a diagram showing an example of the processing flow of a secure computation method of a secure computation system in the second embodiment. FIG. 14 is a diagram illustrating the functional configuration of a computer.
[0011] Prior to describing the embodiments, the basic technical concepts used in the present disclosure will be described.
[0012] [Secret Sharing Technology] Secret sharing is a technology that converts data into multiple shares, allowing the original data to be restored using a certain number of shares or more, but making it impossible to restore the original data using shares less than the certain number. (k,n)-secret sharing, a type of secret sharing, divides an input plaintext into n shares, distributes the shares to n computing entities, and allows the plaintext to be restored using any k shares, but no information about the plaintext can be obtained using shares less than k. Here, n and k are integers greater than or equal to 1, and n≧k. A typical example of (k,n)-secret sharing is Shamir secret sharing, described in "A. Shamir, "How to share a secret," Communications of the ACM, Volume 22, Issue 11, pp. 612-613, 1979 (Reference 1)." The secret sharing used in this disclosure may be any method that can utilize secure computation, as described below.
[0013] [Secure computation technology] Secure computation is a technology in which data to be computed is secretly shared and stored among multiple computing entities, and the computing entities cooperate with each other to compute the shared values of a function of the original data without restoring the original data.Secure computation uses secret sharing as an elemental technology.
[0014] The secure computation used in the first embodiment of the present disclosure may be one that allows various computations required for desired data processing to be performed on shared values obtained by a specific secret sharing method. A secure computation technique that performs basic computations such as addition and multiplication on secret shared values is described, for example, in "Koji Senda, Hiroki Hamada, Dai Igarashi, and Katsumi Takahashi, 'Rethinking Lightly Verifiable Three-Party Secure Function Computation,' Computer Security Symposium 2010, 2010 (Reference 2)." A secret matching technique that searches for information from secret shared values of a data string while keeping it secret is described, for example, in "Koji Senda, Masayuki Terada, Takayasu Yamaguchi, Dai Igarashi, Hiroki Hamada, and Katsumi Takahashi, 'Secure Matching Protocol Considering Statistical Disclosure Control,' Information Processing Society of Japan Research Report, 2011-CSEC-52(12), 2011 (Reference 3)." A secret sorting technique for sorting a data string while keeping the secret sharing values of the data string secret is described, for example, in "Hiroki Hamada, Dai Igarashi, Koji Senda, Katsumi Takahashi, "Linear Time Sorting on Secure Function Computation," Computer Security Symposium 2011, 2011 (Reference 4)."
[0015] Hereinafter, an embodiment of the present disclosure will be described in detail. In the drawings, components having the same functions are denoted by the same numbers, and duplicated explanations will be omitted. In addition, the data variance value d described later is, for example, a data variance value d 1 , d 2 , ..., d n However, in the present disclosure, unless otherwise specified, the data variance value d is used even when indicating individual elements. Similarly, the learning result variance value r described later is used, for example, as the learning result variance value r in order to identify each element. 1 , r 2 , ..., r nHowever, in the present disclosure, unless otherwise specified, the learning result variance value r will be used even when indicating individual elements.
[0016] First Embodiment An example of the configuration of a secure computing system according to a first embodiment will be described with reference to Fig. 1. The secure computing system 100 shown in Fig. 1 includes n (≥ 3) secure computing devices 1 1 ,…,1 n , at least one registrant terminal device 2, at least one user terminal device 3, an automated machine learning device 4, and a network 9. 1 ,…,1 n The registrant terminal device 2 and the user terminal device 3 are each connected to a network 9. The user terminal device 3 and the automated machine learning device 4 are configured to be able to communicate with each other. The network 9 is 1 ,…,1 n During each period, the secure computing device 1 1 ,…,1 n Between each of them and the registrant terminal device 2, the secure computing device 1 1 ,…,1 n The secure computing device 1 may be configured to communicate with the user terminal device 3 via, for example, the Internet, a local area network (LAN), or a wide area network (WAN). 1 ,…,1 n It is desirable that the communication paths between them are realized with high confidentiality using encryption technology or the like. 1 ,…,1 n The registrant terminal device 2 and the user terminal device 3 do not necessarily need to be able to communicate online via the network 9. For example, the information output by the registrant terminal device 2 may be stored in a portable recording medium such as a USB memory, and the information may be read from the portable recording medium to one of the secure computing devices 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, i (i=1, . . . , n) offline. In addition, the automated machine learning device 4 and the user terminal device 3 may be integrated, and the secure computing device 1 may be configured to receive the information from the functions related to the automated machine learning device 4. i It may also be configured to communicate directly with
[0017] Referring to FIG. 2, a secure computing device 1 included in the secure computing system i A configuration example of the secure computing device 1 will be described. i includes a registration execution unit 11, a secure calculation unit 12, and a storage unit 13.
[0018] An example of the configuration of the registrant terminal device 2 included in the secure computing system will be described with reference to Fig. 3. The registrant terminal device 2 includes a data input unit 21, a secret sharing unit 22, and a registration request unit 23.
[0019] An example of the configuration of a user terminal device 3 included in the secure computing system will be described with reference to Fig. 4. The user terminal device 3 includes a learning condition input unit 31, a learning request unit 32, a result restoration unit 33, an evaluation request unit 34, and a learning condition update unit 35.
[0020] An example of the configuration of the automated machine learning device 4 included in the secure computation system will be described with reference to Fig. 5. The automated machine learning device 4 includes a learning condition output unit 41 and an evaluation execution unit 42.
[0021] Referring to FIG. 6, the registrant terminal device 2 transmits the learning data to the secure computing device 1. i An example of a processing flow for registering data to be learned will be described in the order of procedures in Fig. 6.
[0022] In step S21, the data input unit 21 of the registrant terminal device 2 receives input of training data (hereinafter also referred to as “training data D”) for training a machine learning model from the information provider. The input training data D is transmitted to the secret sharing unit 22.
[0023] In step S22, the secret sharing unit 22 of the registrant terminal device 2 secretly shares each of the input training data D into n pieces to generate data share values d. The method for secretly sharing the data used for training needs to be a secret sharing method that can utilize the above-mentioned secure computation technology. For example, the secret sharing method described in any of the above-mentioned references 2 to 4 can be applied. The generated data share values d are transmitted to the registration request unit 23.
[0024] In step S23, the registration request unit 23 of the registrant terminal device 2 transmits the data sharing value d to the n secure computing devices 1 1 ,…,1 n The distribution is a process of distributing the i-th data share value d to the i-th secure computing device 1 by distributing the i-th data share value d to the i-th secure computing device 2. i The request for registration of the data distribution value d may be configured to be a request for registration by distributing the data distribution value d, or the request for distribution of the data distribution value d and the request for registration may be configured to be separate.
[0025] The transmission path is n secure computing devices 1 1 ,…,1 n Any method may be used as long as all of the registrant terminal devices 2 can receive the data share value d. For example, 1 ,…,1 n Alternatively, the secure computing device 1 may transmit the information to each of the users individually. i and secure computing device 1 i The secure computing apparatus 1 may be configured to distribute the received data to other secure computing apparatuses 1 in turn, so that the received data is distributed to the secure computing apparatus 1 j (j≠i).
[0026] In step S11, the secure computing device 1 1 ,…,1 n The registration execution unit 11 of the secure computing device 1 registers the data share value d received from the registrant terminal device 2. 1 ,…,1 n The data is stored in the storage unit 13.
[0027] By repeating the above-mentioned processing (steps S21-23, S11), the registrant terminal device 2 transmits the secret key to the secure computing device 1. 1 ,…,1 n The following description is given of the secure computing device 1. 1 ,…,1 n In the following description, it is assumed that data variance values d generated from a plurality of learning data D that can be used for learning are registered.
[0028] 7, the secure computing device 1 uses the data sharing value d. 1,…,1 n This section explains the steps for performing machine learning.
[0029] In step S31, the learning condition request unit 31 of the user terminal device 3 requests the automated machine learning device 4 to send learning conditions. In the present disclosure, a "request to send learning conditions" is also simply referred to as a "request for learning conditions."
[0030] In step S41, the learning condition output unit 41 of the automated machine learning device 4 transmits the first learning condition C1 to the user terminal device 3 as a response to the received request for the learning requirement. 1 ,…,1 n are the type of model, hyperparameters, and learning algorithm when performing machine learning. The first learning condition C1 is determined by the learning condition output unit 41 randomly or according to a predetermined algorithm.
[0031] In step S32, the learning request unit 32 of the user terminal device 3 applies the input first learning condition C1 to the n secure computing devices 1. 1 ,…,1 n The learning process is requested by distributing the first learning condition C1. The request for the learning process may also serve as a request for the learning process by distributing the first learning condition C1, or the distribution of the first learning condition C1 and the request for the learning process may be configured separately.
[0032] The transmission path is n secure computing devices 1 1 ,…,1 n Any method may be used as long as all of the user terminal devices 3 can receive the first learning condition C1. For example, if the user terminal device 3 has n secure computing devices 1 1 ,…,1 n Alternatively, the user terminal device 3 may transmit the information to any one of the secure computing devices 1. i and the secure computing device 1 i to another secure computing device 1 j (j=1, . . . , n, i≠j).
[0033] In step S12a, the secure computing device 1 iThe secure computation unit 12 generates a learning result (learning result R) by learning through secure computation (machine learning of an AI model) using the first learning condition C1 received from the user terminal device 3 and the data share value d stored in the storage unit 13, and secretly shares the learning result R among n pieces to generate a learning result share value r. i performs machine learning from the data share value d in cooperation with other secure computing devices under the learning conditions specified by the first learning conditions C1 without restoring the learning data D, and obtains a learning result R, which is the learning result. Then, the learning result R is secretly shared among n devices to generate a learning result share value r. In step S12a, n secure computing devices 1 1 ,…,1 n Some or all of the computers will execute the calculation in cooperation. The number of computers used for the calculation will vary depending on the actual processing content.
[0034] In step S12b, the secure computing device 1 i The secure computing unit 12 transmits the learning result share r to the user terminal device 3. Note that step S12b may be configured in two stages, where a learning completion notification is first transmitted to the user terminal device 3, and then transmission of the learning result share r is performed after a request from the user terminal device 3.
[0035] In step S33, the result restoration unit 33 of the user terminal device 3 restores the n secure computing devices 1 1 ,…,1 n The learning result R is restored using at least k learning result shares r received from the n secure computing devices 1. 1 ,…,1 n It is not necessary to receive the processing result shares from all of them; as long as k or more processing result shares are received from at least k secure computing devices 1, the learning result R can be restored.
[0036] In step S34, the evaluation request unit 34 of the user terminal device 3 creates a performance index A based on the learning result R and transmits it to the automated machine learning device, thereby requesting an evaluation of the learning result. Here, the performance index A is the learning accuracy. However, the performance index A may also be configured as a learning likelihood. Furthermore, the performance index A, which is the learning accuracy, may be, for example, the accuracy rate, but other learning accuracies such as the precision rate or the recall rate may also be used. Note that the request for evaluation of the learning result may also serve as a request for evaluation by transmitting the performance index A, or the transmission of the performance index A and the request for evaluation may be configured to be separate.
[0037] In step S42a, the evaluation execution unit 42 of the automated machine learning device 4 evaluates the type of model, hyperparameters, and learning algorithm selected by the automated machine learning device 4 based on the received performance index A. That is, based on the learning accuracy, the evaluation execution unit 42 judges the quality of the model returned by the automated machine learning device 4 in step S41, and determines whether candidates for subsequent hyperparameters are eligible or not eligible, or the level of priority for selection as subsequent hyperparameters, and the quality of the learning algorithm.
[0038] In step S42b, the evaluation execution unit 42 of the automated machine learning device 4 transmits the evaluation result E, which is the result of the evaluation, to the user terminal device 3. Here, the evaluation result E is the accuracy (or likelihood) of the evaluation result.
[0039] In step S35, the learning condition update unit 35 of the user terminal device 3 determines whether the evaluation result E received from the automated machine learning device 4 satisfies the learning termination condition. The termination condition may be, for example, termination when the number of trials (the series of steps from making a learning request to receiving the evaluation result) exceeds a predetermined number or when a predetermined execution time is exceeded. Alternatively, the determination may be made based on whether the evaluation result satisfies a predetermined accuracy (or likelihood). As a result, if the learning condition update unit 35 determines that the learning termination condition is satisfied (Y in step S35), the processing of the secure computing system of the first embodiment is terminated.
[0040] On the other hand, if the learning condition update unit 35 determines that the learning termination condition is not satisfied (N in step S35), the process returns to step S31, and the learning condition request unit 31 requests a new learning condition (hereinafter also referred to as the "second learning condition C2"). Following step S31, the new learning condition (second learning condition C2) obtained in step S41 is updated in the secure computing device 1. 1 ,…,1 n are treated as learning conditions (i.e., first learning conditions C1) when performing machine learning. That is, in step S32, the learning request unit 32 of the user terminal device 3 sets the information of the second learning conditions C2 as the first learning conditions C1, and 1 ,…,1 n Requests learning processing.
[0041] The process of sending the information on the second learning condition C2 to the learning request unit 32 as the first learning condition C1 may be configured to be performed by the learning condition update unit 35. That is, the learning condition update unit 35 is configured to receive the second learning condition C2 from the automated machine learning device 4 when the evaluation result E received from the automated machine learning device 4 satisfies a predetermined condition (N in step S35). The learning condition update unit 35 may transmit the second learning condition C2 received from the automated machine learning device 4 to the learning request unit 32 as the learning condition (first learning condition C1) to be performed by the secure computing device 1. Therefore, it can also be said that the learning condition update unit 35 updates the first learning condition C1 under the predetermined condition.
[0042] As a result, the user terminal device 3 repeats the above-mentioned processing (steps S31, S41, S32, S12a, S12b, S33, S34, S42a, S42b, S35) until it determines that the evaluation result E received from the automatic machine learning device 4 satisfies the learning termination condition.
[0043] In this way, according to the secure computing system 100 of the present disclosure, the secure computing device 1 uses the data share value d obtained by secretly sharing the training data D by the registrant terminal. i By registering the learning data D in the above, it is possible to register the learning data D while keeping it confidential.
[0044] According to the secure computation system 100 of the present disclosure, learning is performed using the first learning condition C1, which is plain text, and the data share value d obtained by secretly sharing the learning data D, thereby performing machine learning of the AI model while keeping the learning data D secret, and returning the learning result share value r of the learning result R to the user terminal device 3. In this way, the secure computation system 100 can keep the learning data D and the secure computation device 1 i Machine learning can be performed without restoring the training data D while keeping the parameters of the trained model secret.
[0045] According to the secure computing system 100 of the present disclosure, the first learning condition C1 (type of model, hyperparameters, learning accuracy) is disclosed to the user of the user terminal device 3, and the accuracy (or likelihood) is used as an evaluation function, so that the processing of the automated machine learning device 4 is controlled by plaintext, and the type of model and hyperparameters are determined. In addition, the machine learning processing is performed by the secure computing device 1 using the secretly shared data share value d. 1 ,…,1 n Therefore, it is possible to reduce the computational costs of machine learning by achieving both efficiency and data confidentiality.
[0046] For the training data D using the secure computation system 100 of the present disclosure, in some cases, the number of records, the number of attributes, and the learning result R are not kept secret, but the content of the training data D itself can be kept secret while training is performed. Therefore, data accumulated by multiple companies can be pooled and used safely, expanding the applicability of secure computation AI for data analysis using AI, improving the ease of introducing secure computation AI for business asset collaboration, and broadening the range of users.
[0047] Second Embodiment A second embodiment of the present disclosure will now be described. In the following description, the same parts as those in the first embodiment described above will be denoted by the same reference numerals, and overlapping descriptions will be omitted.
[0048] The first embodiment has been described using a method of secure computation, particularly a secret sharing method. However, the secure computation system of the present disclosure is not limited to the secret sharing method, and may be a secure computation system 100B shown below that uses other secure computation methods, such as homomorphic encryption or Garbled Circuit.
[0049] FIG. 8 is a diagram showing an example of the functional configuration of a secure computing system according to the second embodiment. i Fig. 10 is a diagram showing an example of the functional configuration of a registrant terminal device 2B. Fig. 11 is a diagram showing an example of the functional configuration of a user terminal device 3B.
[0050] The secure computing system 100B shown in FIG. 8 has the following advantages over the secure computing system 100 shown in FIG. i is the secure computing device 1B i , registrant terminal device 2 is changed to registrant terminal device 2B, and user terminal device 3 is changed to user terminal device 3B.
[0051] The secure computing device 1B shown in FIG. i 2, the secure computing unit 12 is replaced with a secure computing unit 12B. The number of secure computing units 1B in the secure computing system 100B may be adjusted appropriately in accordance with the secure computing method adopted by the secure computing system 100B. Therefore, the number of secure computing units 1B is at least one. In other words, n is an integer equal to or greater than 1.
[0052] In comparison with the registrant terminal device 2 shown in FIG. 3, the registrant terminal device 2B shown in FIG. 10 has the secret sharing unit 22 replaced with an encryption unit 22B.
[0053] In comparison with the user terminal device 3 shown in FIG. 4, the user terminal device 3B shown in FIG. 11 has a result reconstruction unit 33B instead of the result reconstruction unit 33.
[0054] Referring to FIG. 12, the registrant terminal device 2B transmits the learning data to the secure computing device 1B. iAn example of a processing flow for registering data to be learned will be described, focusing on differences from the first embodiment. Fig. 12 is a diagram showing an example of a processing flow for registering data to be learned.
[0055] In step S21, the data input unit 21 of the registrant terminal device 2B accepts input of learning data D by the information provider. The input learning data D is transmitted to the encryption unit 22B.
[0056] In step S22B, the encryption unit 22B of the registrant terminal device 2B encrypts each of the input learning data D to generate encrypted data d B Here, encryption refers to secret sharing of data used for learning when the secret sharing method of the first embodiment is adopted. When a method that does not share data, such as a non-homomorphic encryption method, is adopted, encryption refers to encryption using an encryption method corresponding to the method. The generated encrypted data d B is transmitted to the registration request unit 23.
[0057] In step S23, the registration request unit 23 of the registrant terminal device 2B receives the encrypted data d B n secure computing devices 1 1 ,…,1 n By distributing to B Request registration of.
[0058] In step S11, the secure computing device 1B 1 ,…,1B n The registration execution unit 11 of the B Secure computing device 1B 1 ,…,1B n The data is stored in the storage unit 13.
[0059] By repeating the above-described processes (steps S21, S22B, S23, S11), the registrant terminal device 2B transmits the secret key to the secure computing device 1B. 1 ,…,1B n A plurality of learning data D that enables learning of the above is registered.
[0060] Referring to FIG. 13, the encrypted data d B Using the above, the secure computing device 1B1 ,…,1B n This section explains the steps for performing machine learning.
[0061] In step S31, the learning condition request unit 31 of the user terminal device 3B requests the automated machine learning device 4 to send learning conditions.
[0062] In step S41, the learning condition output unit 41 of the automated machine learning device 4 transmits the first learning condition C1 to the user terminal device 3B as a response to the received request for learning requirements.
[0063] In step S32, the learning request unit 32 of the user terminal device 3B applies the input first learning condition C1 to the n secure computing devices 1B. 1 ,…,1B n , which requests the learning process.
[0064] In step S12Ba, the secure computing apparatus 1B i The secure computation unit 12B receives the first learning condition C1 from the user terminal device 3B and the encrypted data d stored in the storage unit 13 in the number necessary to obtain the learning result R. B The encrypted learning result r is the learning result R encrypted by learning using secure computation. B That is, the secure computing device 1B generates i is the encrypted data d B Then, machine learning is performed under the learning conditions specified by the first learning conditions C1 without restoring the learning data D, and the encrypted learning result r B When the secure computing device 1B employs, for example, a secret sharing scheme, it cooperates with other secure computing devices to obtain the encryption learning result r B When the secure computing device 1B employs, for example, a homomorphic encryption method, the encryption learning result r is obtained by one or more secure computing devices 1B. B In other words, the number of secure computing devices 1B used for the calculation varies depending on the actual processing content. 1 ,…,1B n Some or all of the machines will be running.
[0065] In step S12Bb, the secure computing apparatus 1B i The secure computation unit 12B of B is transmitted to the user terminal device 3B.
[0066] In step S33B, the result restoration unit 33B of the user terminal device 3B restores the n secure computing devices 1B 1 ,…,1B n Among these, the encryption learning results r received from at least the number of the secure computing devices required for decryption are B The training result R is restored using
[0067] In step S34, the evaluation request unit 34 of the user terminal device 3B creates a performance index A based on the learning result R and transmits it to the automated machine learning device 4, thereby requesting an evaluation of the learning result.
[0068] In step S42a, the evaluation execution unit 42 of the automated machine learning device 4 evaluates the type of model, hyperparameters, and learning algorithm selected by the automated machine learning device 4 based on the received performance index A.
[0069] In step S42b, the evaluation execution unit 42 of the automated machine learning device 4 transmits the evaluation result E, which is the result of the evaluation, to the user terminal device 3B.
[0070] In step S35, the learning condition update unit 35 of the user terminal device 3B determines whether the evaluation result E received from the automated machine learning device 4 satisfies the learning termination condition. As a result, if the learning condition update unit 35 determines that the learning termination condition is satisfied (Y in step S35), the processing of the secure computing system of the second embodiment ends.
[0071] On the other hand, if the learning condition update unit 35 determines that the learning termination condition is not satisfied (N in step S35), the process returns to step S31, and the learning condition request unit 31 requests the second learning condition C2. 1 ,…,1B nis treated as a learning condition (i.e., the first learning condition C1) when performing machine learning. That is, in step S32, the learning request unit 32 of the user terminal device 3B sets the information of the second learning condition C2 as the first learning condition C1, and 1 ,…,1B n Requests learning processing.
[0072] Similar to the first embodiment, the process of sending the information on the second learning condition C2 as the first learning condition C1 to the learning request unit 32 may be configured to be performed by the learning condition update unit 35. Therefore, it can be said that the learning condition update unit 35 updates the first learning condition C1 under predetermined conditions.
[0073] As a result, the user terminal device 3B repeats the above-mentioned processing (steps S31, S41, S32, S12Ba, S12Bb, S33B, S34, S42a, S42b, S35) until it determines that the evaluation result E received from the automatic machine learning device 4 satisfies the learning termination condition.
[0074] In this way, according to the secure computation system 100B of the present disclosure, the encrypted data d obtained by encrypting the learning data D by the registrant terminal is B Using the secure computing device 1B i By registering the learning data D in the above, it is possible to register the learning data D while keeping it confidential.
[0075] The secure computation system 100B of the present disclosure, like the secure computation system 100, i Machine learning can be performed without restoring the learning data D, while keeping the parameters of the model learned by the system secret. The secure computing system 100B can reduce the computational costs of machine learning by achieving both efficiency and data confidentiality. The secure computing system 100B can bring together data accumulated by multiple companies and safely utilize the data, thereby expanding the applicability of secure computing AI, such as AI-based data analysis, and improving the ease of introducing secure computing AI, such as business asset collaboration, thereby broadening the range of users.
[0076] The first and second embodiments of the present disclosure have been described above. The various processes in the above-described embodiments may not only be executed in chronological order as described, but may also be executed in parallel or individually depending on the processing capabilities of the devices that execute the processes or as needed. It goes without saying that other appropriate modifications are possible without departing from the spirit of the present disclosure.
[0077] [Processor, Program, Recording Medium] The functions performed by the components described herein may be implemented in circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), CPUs (Central Processing Units), conventional circuits, and / or combinations thereof, programmed to perform the described functions. A processor includes transistors and other circuits and is considered to be circuitry or processing circuitry. A processor may also be a programmed processor that executes a program stored in a memory.
[0078] In this specification, a circuitry, unit, or means is hardware that is programmed to realize or performs the described functions, which may be any hardware disclosed herein or any hardware known to be programmed to realize or perform the described functions.
[0079] If the hardware is a processor considered to be a type of circuitry, the circuitry, means, or unit is a combination of the hardware and software used to configure the hardware and / or processor.
[0080] The various processes described above can be implemented by loading a program that executes each step of the above method into the recording unit 2020 of the computer 2000 shown in Figure 14, and operating the control unit 2010, input unit 2030, output unit 2040, display unit 2050, etc.
[0081] The program describing the processing contents can be recorded on a computer-readable recording medium, which may be, for example, a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, or any other suitable recording medium.
[0082] The program may be distributed by, for example, selling, transferring, lending, etc. portable recording media such as DVDs and CD-ROMs 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 other computers via a network, thereby distributing the program.
[0083] A computer that executes such a program may first temporarily store the program recorded on a portable recording medium or transferred from a server computer in its own storage device. Then, when executing a process, the computer reads the program stored on its own recording medium and executes the process in accordance with the read program. Alternatively, the computer may read the program directly from a portable recording medium and execute the process in accordance with the program. Furthermore, the computer may execute the process in accordance with the received program each time a program is transferred from a server computer to the computer. Alternatively, the server computer may not transfer the program to the computer, but may instead execute the process through a so-called ASP (Application Service Provider) service, which realizes the processing function by issuing an execution instruction and obtaining the results. Furthermore, the server computer may execute the process at the terminal using a so-called SaaS (Software as a Service) service, which allows users to use part of a server computer along with the program. In this embodiment, the program includes information used for processing by an electronic computer that is equivalent to a program (such as data that is not a direct instruction to a computer but has properties that dictate computer processing).
[0084] 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. The following notes are disclosed regarding the first and second embodiments.
[0085] (Supplementary Item 1) A user terminal device comprising: n is an integer greater than or equal to 1; a learning request unit that distributes input first learning conditions to n secure computing devices; a result restoration unit that restores the learning results using encrypted learning results received from at least the number of secure computing devices required for decryption out of the n secure computing devices; an evaluation request unit that creates a performance index based on the learning results and sends it to an automated machine learning device; and a learning condition update unit that updates the second learning conditions received from the automated machine learning device as the first learning conditions when the received evaluation results evaluated by the automated machine learning device satisfy a predetermined condition.
[0086] (Supplementary Item 2) A secure computation method, in which n is an integer greater than or equal to 1, a learning request unit of a user terminal device distributes input first learning conditions to n secure computing devices, a result restoration unit of the user terminal device restores the learning results using encrypted learning results received from at least as many of the n secure computing devices as are necessary for decryption, an evaluation request unit of the user terminal device creates a performance index based on the restored learning results and transmits it to an automated machine learning device, and a learning condition update unit of the user terminal device updates the second learning conditions received from the automated machine learning device as the first learning conditions when the received evaluation results evaluated by the automated machine learning device satisfy a predetermined condition.
[0087] (Supplementary Item 3) A secure computing device having: n is an integer greater than or equal to 1; a memory unit for storing encrypted data obtained by encrypting data used for learning; a registration execution unit for storing the encrypted data in the memory unit; and a secure computing unit for generating an encrypted learning result, which is the encrypted learning result, using an input first learning condition and the encrypted data in the number required to obtain a learning result.
[0088] (Supplementary Item 4) A secure computing system including n secure computing devices, at least one registrant terminal device, and at least one user terminal device, where n is an integer equal to or greater than 1, wherein the registrant terminal device has an encryption unit that generates encrypted data by encrypting input data used for learning, and a registration request unit that distributes the encrypted data to each of the n secure computing devices, wherein the user terminal device has a learning request unit that distributes input first learning conditions to the n secure computing devices, a result restoration unit that restores the learning results using encrypted learning results received from at least the number of secure computing devices necessary for decryption among the n secure computing devices, an evaluation request unit that creates a performance index based on the learning results and transmits it to an automated machine learning device, and a learning condition update unit that updates the second learning condition received from the automated machine learning device as the first learning condition when the evaluation result received from the automated machine learning device satisfies a predetermined condition, wherein each of the secure computing devices has a registration execution unit that stores the input encrypted data in a memory unit of the secure computing device, a secure computation unit that generates the encrypted learning result by learning through secure computation using the input first learning condition and the number of encrypted data pieces required to obtain the learning result.
[0089] (Supplementary Item 5) A user terminal device comprising: n is an integer greater than or equal to 3, k is an integer greater than or equal to 2, and n≧2k-1; a learning request unit that distributes input first learning conditions to n secure computing devices; a result restoration unit that restores a learning result using at least k learning result distribution values received from the n secure computing devices; an evaluation request unit that creates a performance index based on the learning result and sends it to an automated machine learning device; and a learning condition update unit that updates the second learning conditions received from the automated machine learning device as the first learning conditions when the received evaluation result evaluated by the automated machine learning device satisfies a predetermined condition.
[0090] (Supplementary Item 6) A secure computation method, in which n is an integer equal to or greater than 3, k is an integer equal to or greater than 2, and n≧2k-1, a learning request unit of a user terminal device distributes input first learning conditions to n secure computing devices, a result restoration unit of the user terminal device restores the learning results using at least k learning result distribution values received from the n secure computing devices, an evaluation request unit of the user terminal device creates a performance index based on the learning results and transmits it to an automated machine learning device, and a learning condition update unit of the user terminal device updates the second learning conditions received from the automated machine learning device as the first learning conditions when the received evaluation result evaluated by the automated machine learning device satisfies a predetermined condition.
[0091] (Supplementary Item 7) A secure computing device comprising: a memory unit that stores data shares used for learning, where n is an integer equal to or greater than 3, and that stores data shares used for learning that are secretly shared into n pieces using Shamir secret sharing; a registration execution unit that stores the data shares in the memory unit; and a secure computation unit that generates a learning result by learning using input first learning conditions and the data shares, and secretly shares the learning result into n pieces to generate learning result shares.
[0092] (Supplementary Item 8) A secure computing system including n secure computing devices, at least one registrant terminal device, and at least one user terminal device, wherein n is an integer equal to or greater than 3, k is an integer equal to or greater than 2, and n≧2k-1, wherein the registrant terminal device has: a secret sharing unit that secretly shares input data used for learning into n pieces to generate data shares, and a registration request unit that distributes the data shares to the n secure computing devices, wherein the user terminal device has: a learning request unit that distributes input first learning conditions to the n secure computing devices, a result reconstruction unit that reconstructs a learning result using at least k learning result shares received from the n secure computing devices, an evaluation request unit that creates a performance index based on the learning result and transmits it to an automated machine learning device, and a learning condition update unit that updates the second learning condition received from the automated machine learning device as the first learning condition when the evaluation result received from the automated machine learning device satisfies a predetermined condition, wherein each of the secure computing devices has: a registration execution unit that stores the input data share value in a memory unit of the secure computing device; and a secure computing unit that uses the input first learning condition and the input data share value to generate a learning result by learning through secure computation and secretly sharing the learning result into n pieces to generate the learning result share value.
Claims
1. A user terminal device comprising: a learning request unit that distributes input first learning conditions to n secure computing devices, where n is an integer greater than or equal to 1; a result restoration unit that restores the learning results using encrypted learning results received from at least the number of secure computing devices required for decryption out of the n secure computing devices; an evaluation request unit that creates a performance index based on the learning results and sends it to an automated machine learning device; and a learning condition update unit that updates the second learning conditions received from the automated machine learning device as the first learning conditions when the evaluation results received by the automated machine learning device satisfy predetermined conditions.
2. A secure computation method, in which n is an integer greater than or equal to 1, a learning request unit of a user terminal device distributes input first learning conditions to n secure computing devices, a result restoration unit of the user terminal device restores the learning results using encrypted learning results received from at least the number of secure computing devices required for decryption out of the n secure computing devices, an evaluation request unit of the user terminal device creates a performance index based on the restored learning results and transmits it to an automated machine learning device, and a learning condition update unit of the user terminal device updates the second learning conditions received from the automated machine learning device as the first learning conditions when the evaluation results received by the automated machine learning device satisfy predetermined conditions.
3. A secure computing device having: n is an integer greater than or equal to 1; a memory unit for storing encrypted data obtained by encrypting data used for learning; a registration execution unit for storing the encrypted data in the memory unit; and a secure computing unit for generating an encrypted learning result, which is the encrypted learning result, using an input first learning condition and the number of encrypted data required to obtain a learning result.
4. A secure computing system including n secure computing devices, at least one registrant terminal device, and at least one user terminal device, where n is an integer greater than or equal to 1, wherein the registrant terminal device has an encryption unit that generates encrypted data by encrypting input data used for learning, and a registration request unit that distributes the encrypted data to each of the n secure computing devices, wherein the user terminal device has a learning request unit that distributes input first learning conditions to the n secure computing devices, a result restoration unit that restores the learning results using encrypted learning results received from at least the number of secure computing devices necessary for decryption out of the n secure computing devices, an evaluation request unit that creates a performance index based on the learning results and transmits it to an automated machine learning device, and a learning condition update unit that updates the second learning conditions received from the automated machine learning device as the first learning conditions when the evaluation result received from the automated machine learning device satisfies a predetermined condition, wherein each of the secure computing devices has a registration execution unit that stores the input encrypted data in a memory unit of the secure computing device, a secure computation unit that generates the encrypted learning result by learning through secure computation using the input first learning condition and the number of encrypted data pieces required to obtain the learning result.
Citation Information
Patent Citations
Learning control system and learning control method
JP2019046422A
Learning system, model generation device, learning method, and program
JP2022012178A
Computation device, computation method, and program
WO2023188258A1