Enabling a boosting protocol for encrypted data
By using simpler models and boosting protocols with homomorphic encryption, the training of machine learning models on encrypted data is made efficient and secure, addressing privacy and intellectual property concerns in regulated sectors.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-10-13
- Publication Date
- 2026-04-10
AI Technical Summary
Existing methods for training complex machine learning models on encrypted data, such as deep learning neural networks, are inefficient and pose challenges in maintaining data privacy and protecting intellectual property, especially in regulated sectors like healthcare.
Employing simpler models like logical regression and boosting protocols, such as adaptive boosting and gradient boosting, under strong privacy and computational constraints, while using homomorphic encryption to train machine learning models on encrypted data without decryption.
Enables secure and efficient training of machine learning models on encrypted data, ensuring client data remains encrypted and cloud platform models are protected, supporting advanced machine learning ensembles like adaptive boosting and gradient boosting.
Smart Images

Figure 0007843699000008 
Figure 0007843699000009 
Figure 0007843699000010
Abstract
Description
[Technical Field]
[0001] This invention relates to the field of encrypted data in general, and more specifically to enabling a boosting protocol for encrypted data. [Background technology]
[0002] Data encryption translates data into another form, or code, so that it can be read by anyone with access to a secret key (more formally called an encryption key) or password. Encrypted data is commonly referred to as ciphertext, while unencrypted data is called plaintext. Currently, encryption is one of the most widespread and effective data security methods used by organizations. There are two main types of data encryption: asymmetric encryption and symmetric encryption, also known as public-key cryptography. The purpose of data encryption is to protect the confidentiality of digital data when stored on computer systems and when transmitted over the Internet or other computer networks.
[0003] Homomorphic encryption is a form of cryptography that has additional evaluation properties for computations beyond encrypted data without accessing the private key. The results of such computations remain encrypted. Homomorphic encryption can be seen as an extension of either symmetric-key or public-key cryptography. Homomorphic encryption can be used for outsourced storage and computations that preserve privacy. This allows data to be encrypted and outsourced to cloud environments on the market for processing while keeping everything encrypted. In highly regulated manufacturing sectors such as healthcare, homomorphic encryption can be used to enable new services by removing privacy barriers that prohibit data sharing. For example, predictive analytics in healthcare is difficult to apply due to privacy concerns regarding medical data, but these privacy concerns are reduced if the predictive analytics service provider can instead manipulate encrypted data. [Overview of the project]
[0004] Aspects of embodiments of the present invention disclose the method claimed in claim 1, and corresponding computer systems and computer program products claimed in claims 8 and 9, for training a machine learning model using encrypted data. [Brief explanation of the drawing]
[0005] [Figure 1] Figure 1 shows a block diagram of a distributed data processing environment according to an embodiment of the present invention. [Figure 2] Figure 2 shows a flowchart of the steps of a training program for encrypted data according to an embodiment of the present invention. [Figure 3] Figure 3 shows the data flow between a client environment and a cloud computing environment according to an embodiment of the present invention. [Figure 4] Figure 4 shows a block diagram of a computing device for a distributed data processing environment according to an embodiment of the present invention. [Modes for carrying out the invention]
[0006] Embodiments of the present invention recognize that clients want to protect their data, and cloud platform operators want to protect their intellectual property, i.e., machine learning models. Therefore, there is a need to enable training machine learning models on encrypted data without a decryption key. Homomorphic encryption emerged as a technique to enable computational functions on encrypted data, but applying homomorphic encryption to complex problems, such as machine learning training of complex deep learning neural networks, is highly inefficient. Embodiments of the present invention enable training of complex machine learning models on encrypted data, such as homomorphic encrypted data.
[0007] Embodiments of the present invention aim to use simpler models, such as logical regression, and to use boosting protocols under strong privacy and computational constraints. Embodiments of the present invention ensure that client data is never absolutely decrypted by the cloud platform and that the cloud platform's models are never revealed to the client. Embodiments of the present invention use the cloud platform to perform most of the computationally intensive tasks. Embodiments of the present invention support meta-algorithms of several modern machine learning ensembles, such as adaptive boosting, gradient boosting, and voting methods.
[0008] In embodiments of the present invention, a client possesses highly confidential data that cannot be stored in its raw form. The client wishes to share this highly confidential data on a cloud platform as homomorphic encrypted data that cannot be decrypted. The cloud platform performs certain calculations on the homomorphic encrypted data, i.e., diagnostics, model training, estimation, etc. The cloud platform model includes intellectual property that is confidential to the cloud platform. The cloud platform can send the encrypted results to a client who is able to decrypt the encrypted results.
[0009] The present invention will now be described in detail with reference to the drawings.
[0010] Figure 1 is a functional block diagram showing a distributed data processing environment 100 in an embodiment of the present invention. Figure 1 illustrates only one embodiment of the present invention and does not imply any limitation to environments in which different embodiments can be implemented. In the illustrated embodiment, the distributed data processing environment 100 includes a server 110 and client computing devices 130 interconnected by a network 120. The network 120 may include, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of the two, and wired, wireless, or fiber optic connections. Generally, the network 120 can be any combination of connections and protocols that support communication between the server 110 and the client computing devices 130. The distributed data processing environment 100 may include additional servers, computers, or other devices not shown.
[0011] Server 110 operates to run the encrypted data training program 112 and to store, send, or both the data using the database 114. In the illustrated embodiment, Server 110 houses the encrypted data training program 112 and the database 114. In other embodiments (not shown), the encrypted data training program 112 and the database 114 may be housed on separate computing devices. In some embodiments, Server 110 represents a server computing system using many computers, such as a server system within a cloud computing environment, such as a private or public cloud platform. In some embodiments, Server 110 may be a management server, a web server, or any other electronic device or computing system capable of receiving and sending data. In some embodiments, Server 110 may be a laptop computer, tablet computer, netbook computer, personal computer (PC), desktop computer, smartphone, or any programmable electronic device capable of communicating with client computing devices 130 via the network 120. Server 110 may include components as described in more detail in Figure 4.
[0012] The encrypted data training program 112 operates as a program for training a machine learning model on encrypted data. In one embodiment, the encrypted data training program 112 receives encrypted data. In another embodiment, the encrypted data training program 112 trains a machine learning model using a boosting algorithm. In another embodiment, the encrypted data training program 112 performs classification of the encrypted data. In yet another embodiment, the encrypted data training program 112 sends the encrypted results to the client. In yet another embodiment, the encrypted data training program 112 receives boosting updates from the client. In yet another embodiment, the encrypted data training program 112 applies the boosting updates to the machine learning model. In yet another embodiment, the encrypted data training program 112 resides on server 110. In yet another embodiment, the encrypted data training program 112 may reside on another computing device (not shown) that has access to network 120.
[0013] The database 114 receives, uses, or outputs data received, used, or generated by the encrypted data training program 112, or a combination thereof, and operates as a repository for such data. The data received, used, or generated by the encrypted data training program 112, or a combination thereof, can include, but is not limited to, encrypted data, homomorphic encrypted data, and encrypted results from machine learning. The database 114 can be implemented on any type of storage device that can store data and configuration files that can be accessed and used by the server 110, such as a database server, hard disk drive, or flash memory. In an embodiment, the database 114 is accessed from the encrypted data training program 112, or the server 110, or both, to store, access, or both data. In the described embodiment, the database 114 resides on the server 110. In another embodiment, the database 114 can reside anywhere within the distributed data processing environment 100 where the database 114 has access to the network 120.
[0014] The client computing device 130 operates to run the user interface 132 and the client database 134. In some embodiments, the client computing device 130 can be, but is not limited to, an electronic device that runs the user interface 132 and can communicate (i.e., send and receive data) with the server 110 and the encrypted data training program 112 via the network 120, such as a laptop computer, tablet computer, netbook computer, personal computer (PC), desktop computer, smartphone, or any programmable electronic device. In some embodiments, the client computing device 130 represents one or more programmable electronic devices, or a combination of programmable electronic devices, that can execute machine-readable program instructions and communicate with the server 110, or other computing devices (not shown) in the distributed data processing environment 100, or both, via the network 120. In embodiments, the client computing device 130 represents one or more devices accompanying the user. In the illustrated embodiment, the client computing device 130 includes an instance of the user interface 132. The client computing device 130 may include components as described in more detail in Figure 4.
[0015] The user interface 132 operates as a local user interface on the client computing device 130, through which the user can select encrypted data to send to the encrypted data training program 112 on the server 110 and run it through a machine learning model, send boosting updates to the encrypted data training program 112, view encrypted results sent by the encrypted data training program 112, or a combination thereof. In some embodiments, the user interface 132 is a graphical user interface (GUI), web user interface (WUI), or voice user interface (VUI) that can display (i.e., visually) or present (i.e., audiorily) information (graphics, text, or sound or a combination thereof) sent from the encrypted data training program 112 to the user via the network 120. In embodiments, the user interface 132 allows the user to select encrypted data to send to the encrypted data training program 112 on the server 110, run it through a machine learning model, send boosting updates to the encrypted data training program 112, or view encrypted results sent by the encrypted data training program 112, or a combination thereof. In embodiments, the user interface 132 is capable of sending and receiving data (i.e., to and from the encrypted data training program 112 via the network 120, respectively).
[0016] The client database 134 operates as a repository of data received, used, or output by, or combinations of, the client computing device 130. The data received, used, generated, or combinations of these by the client computing device 130 can include, without limitation, private raw data, encrypted data, homomorphic encrypted data, and encrypted results received from the encrypted training program 112. The client database 134 can be implemented on any type of storage device that can store data and configuration files that can be accessed and used by the client computing device 130, such as a database server, hard disk drive, or flash memory. In an embodiment, the client database 134 is accessed by the client computing device 130 to store, access, or both. In the illustrated embodiment, the client database 134 resides on the client computing device 130. In other embodiments, the client database 134 can reside anywhere within the distributed data processing environment 100 where the client database 134 has access to the network 120.
[0017] Figure 2 shows a flowchart 200 of the steps of the encrypted data training program 112 according to an embodiment of the present invention. In the illustrated embodiment, the encrypted data training program 112 receives a set of encrypted data, trains a machine learning model using a boosting algorithm, performs classification on the encrypted data, sends the encrypted results to the client, receives boosting updates from the client, and applies the boosting updates to the machine learning model. It should be recognized that the process illustrated in Figure 2 illustrates one possible iteration of a process flow that is repeated for each set of encrypted data received by the encrypted data training program 112. Figure 3 illustrates the data flow between the client environment and the cloud computing environment during the duration of the encrypted data training program 112 according to an embodiment of the present invention.
[0018] In step 210, the encrypted data training program 112 receives encrypted data from the client. In an embodiment, the encrypted data training program 112 in a cloud computing environment receives encrypted data from the client as shown in Figure 3. In an embodiment, the encrypted data training program 112 receives encrypted data from the client computing device 130. In an embodiment, the encrypted data training program 112 receives a homomorphic encryption instance (sk, pk) ← KeyGen(λ, τ), where λ and τ are security parameters generated through the user interface 132 on the client computing device 130. In an embodiment, the encrypted data training program 112 receives the public key pk from the client through the user interface 132 on the client computing device 130. In an embodiment, the private key sk is held by the client in the client database 134 on the client computing device 130. In one embodiment, the encrypted data training program 112 allows a client to encrypt a set of data D using a public key pk through the user interface 132, and D enc ←Enables the generation of Encrypt(pk,D). In this embodiment, the encrypted data training program 112 trains the data D in the database 114 on the server 110. enc Stores the encryption set.
[0019] In step 220, the encrypted data training program 112 trains a machine learning model on encrypted data using a boosting program. In an embodiment, the encrypted data training program 112 trains a machine learning model on encrypted data in a cloud computing environment using a boosting algorithm, as shown in Figure 3. In an embodiment, the encrypted data training program 112 trains data D encThe machine learning model of server 110 is trained on the encrypted set. In an embodiment, the encrypted data training program 112 trains a weak classifier, such as logical regression or a decision tree with a depth of 1, on the encrypted data set. In an embodiment, the encrypted data training program 112 trains data D enc Classifier W for the encryption set i The program 112 trains the encrypted data training program 112 using a boosting algorithm, i.e., adaptive boosting, gradient boosting, or voting, or a combination thereof. Embodiments using adaptive boosting and gradient boosting will be described after step 260 below.
[0020] In step 230, the encrypted data training program 112 performs classification on the encrypted data. In one embodiment, the encrypted data training program 112 performs classification using the trained machine learning model shown in Figure 3. In one embodiment, the encrypted data training program 112 performs classification on the encrypted data D enc Classification is performed using a machine learning model or classifier trained on the set. In an embodiment, the encrypted data training program 112 receives the classification results from the trained machine learning model or classifier. In an embodiment, the encrypted data training program 112 receives the shuffled and encrypted results from the trained machine learning model or classifier, where shuffled means that the array of results is arranged in a random manner or order. The randomly arranged order is known only to the encrypted data training program 112 and not to the client, so the true results are not revealed to the client.
[0021] In step 240, the encrypted data training program 112 sends the encrypted results to the client. In one embodiment, the encrypted data training program 112 sends the shuffled and encrypted results of the classifier to the client, as shown in Figure 3. In another embodiment, the encrypted data training program 112 sends the shuffled and encrypted results of the classifier to the client computing device 130. In yet another embodiment, the encrypted data training program 112 sends the encrypted results of the classification in a randomly mixed order.
[0022] In step 250, the encrypted data training program 112 receives a boosting update from the client. In one embodiment, the encrypted data training program 112 receives a boosting update from the client as shown in Figure 3. In one embodiment, the encrypted data training program 112 receives a boosting update from the client computing device 130 in the form of boosting such as sampling probability and improved target labels. In one embodiment, the encrypted training program 112 receives a boosting update for the shuffled and encrypted results. In one embodiment, the client receives the encrypted results, decrypted results, and boosting updates through the user interface 132 on the client computing device 130 and sends them back to the server 110.
[0023] In step 260, the encrypted data training program 112 applies a boosting update. In an embodiment, the encrypted data training program 112 applies a boosting update from the client shown in Figure 3. In an embodiment, the encrypted data training program 112 unshuffles the encrypted results from the client computing device 130 by reversing the random order from step 230 and obtains them in their unshuffled order. In an embodiment, the encrypted data training program 112 continues training the machine learning model or classifier by applying the boosting update received from the client computing device 130. The encrypted data training program 112 applies the boosting update according to the boosting algorithm used, which is described below. In one embodiment, in response to the training program 112 for encrypted data to which a boosting update is applied, the training program 112 repeats steps 230 to 260 for a predefined number of iterations, where the predefined number can be defined by the user via the user interface 132. In another embodiment, in response to the training program 112 for encrypted data to which a boosting update is applied, the training program 112 repeats steps 230 to 260 until i ≤ K, where i refers to the current number of iterations and K refers to the total number of classifiers being trained or the maximum number of iterations to be performed.
[0024] In this embodiment, the training program 112 for encrypted data uses an adaptive boosting algorithm. In step 210, the training program 112 for encrypted data uses a homomorphic encryption instance (sk, pk) ← KeyGen(λ, τ), a public key, and encrypted data D. encReceives a set. In this embodiment, the encrypted data training program 112 additionally receives the weight function
[0025]
Number
[0026] and K from the client computing device 130. In step 220, the encrypted data training program 112 trains the weight classifier W enc for the set of encrypted data D i with weights w. In step 230, the encrypted data training program 112 performs classification for the set of encrypted data D enc . In step 240, the encrypted data training program 112 sends the encrypted result to the client computing device 130. In step 250, the encrypted data training program 112 receives the weights updated from the client,
[0027]
Number
[0028] where the client calculates the misclassification rate δ i and calculates the updated weights using
[0029]
Number
[0030] where err(x) is 0 if the classification is correct and 1 if it is incorrect. In this embodiment, the encrypted data training program 112 repeats from step 230 to step 260 until i ≤ K.
[0031] In another embodiment, the training program 112 for encrypted data uses a gradient boosting algorithm. In step 210, the training program 112 for encrypted data uses a homomorphic encryption instance (sk,pk) ← KeyGen(λ,τ), public key, and D enc =( X enc ,Y enc Encrypted data D stored as ) enc Receive the set of X. Here, enc This is an encrypted data point, Y enc This is the encrypted label of the data point. In this embodiment, the training program 112 for encrypted data additionally targets the gradient T=Y enc Initialize the target model to be trained as f0←φ. In step 220, the training program 112 for encrypted data is h k enc (X enc Weight classifier W (for T) i To train the model. In step 230, the training program 112 for the encrypted data, after k iterations,
[0032]
number
[0033] The classification is performed and returns. In step 240, the encrypted data training program 112 sends the encrypted result to the client computing device 130. In step 250, the encrypted data training program 112 receives the target gradient T from the client, where the client is f k enc Decode f k Obtain the following gradient step (1),
[0034]
number
[0035] The data is then encrypted. In this embodiment, the training program 112 for the encrypted data iterates through steps 230 to 260 while k ≤ K.
[0036]
number
[0037] In another embodiment, the encrypted data training program 112 uses an adaptive boosting algorithm, and the server 110 is a private cloud environment. In step 210, the encrypted data training program 112 uses homomorphic encryption instance (sk, pk) ← KeyGen (λ, τ), public key, and encrypted data D enc The set is received. In this embodiment, the training program 112 for encrypted data is additionally D enc The domain initializes a secret weight function w, which is set to K, a hyperparameter about the number of classifiers to train. In step 220, the program 112 trains encrypted data D enc For a set of weights, use weights w to create a weight classifier W. i To train it. In step 230, the encrypted data training program 112 uses encrypted data D enc Classification is performed on the set. In step 240, the training program 112 of the encrypted data is shuffled and sent to the client computing device 130, and the encrypted results are sent. In step 250, the training program 112 of the encrypted data receives the results Δ(x) from the client in the shuffled order, where the client is the misclassification rate δ. i Calculate,
[0038]
number
[0039] The following is calculated: Here, err(x) is 0 if the classification is correct and 1 if it is incorrect. In step 260, the encrypted data training program 112 unshuffles the results and updates the weight vector w to w(x) ← w(x)Δ(x). In this embodiment, the encrypted data training program 112 repeatedly iterates through steps 230 to 260 for i ≤ K.
[0040] Figure 4 shows a block diagram of a computer 400 suitable for a server 110 and a client computing device 130 according to an exemplary embodiment of the present invention. It should be recognized that Figure 4 is merely an example of one implementation and does not imply any limitation to the environment in which different embodiments can be implemented. Many modifications to the illustrated environment are possible.
[0041] Computer 400 includes a communication function 402, which provides communication between a cache 416, memory 406, persistent storage 408, communication unit 410, and input / output (I / O) interface(s) 412. The communication function 402 can be implemented in any architecture designed to pass data, control information, or both, to and from a processor (such as a microprocessor, communication and network processor), system memory, peripheral devices, and any other hardware in the system. For example, the communication function 402 can be implemented with one or more buses or crossbar switches.
[0042] Memory 406 and persistent storage 408 are computer-readable storage media. In this embodiment, memory 406 includes random-access memory (RAM). Generally, memory 406 may include any suitable volatile or non-volatile computer-readable recording medium. Cache 416 is a high-speed memory that improves the performance of computer processor(s) 404 by holding recently accessed data and data close to recently accessed data from memory 406.
[0043] The encrypted data training program 112 can be stored in persistent storage 408 and memory 406 for execution, access, or both by one or more of the respective computer processors 404 via the cache 416. In embodiments, persistent storage 408 includes a magnetic hard disk drive. Alternatively or in addition to the magnetic hard disk drive, persistent storage 408 may include a solid-state hard drive, a semiconductor storage device, read-on-low memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0044] The media used by the persistent storage 408 can also be removable. For example, a removable hard drive can be used for the persistent storage 408. Other embodiments may include magneto-optical disks, thumb drives (trademarks), and smart cards inserted into the drive for transfer to another computer-readable recording medium, which is also the weapon of the persistent storage 408.
[0045] In these embodiments, the communication unit 410 provides communication with other data processing systems or devices. In these embodiments, the communication unit 410 includes one or more network interface cards. The communication unit 410 can provide communication through the use of either or both physical and wireless communication links. Programs such as the encrypted data training program 112 can be downloaded to the persistent storage 408 through the communication unit 410.
[0046] The I / O interface(s) 412 allows input and output of data to and from other devices that enable connection between the computing device 130 and the server 110. For example, the I / O interface(s) 412 allows connection to an external device(s) 418 such as a keyboard, keypad, touchscreen, or several other suitable input devices. The external device(s) 418 may also include, for example, a thumb drive, a portable optical or magnetic disk, or a memory card, which is a portable computer-readable recording medium. Software and data used to implement embodiments of the present invention can be stored on such a portable computer-readable recording medium and loaded onto persistent storage(s) 408 via the I / O interface(s) 412. The I / O interface(s) 412 also connects to a display(s) 420.
[0047] The display 420 provides a mechanism for displaying data to the user and can, for example, function as a computer monitor.
[0048] The programs described herein are identified based on the applications for which they are implemented in particular embodiments of the present invention. However, it should be recognized that any term for any particular program herein is used solely for convenience and is therefore not limited to any particular application identified or implied by such term.
[0049] The present invention may be a system, method, or computer program product, or a combination thereof. The computer program product includes a computer-readable recording medium (or a set of media) having computer-readable program instructions thereon for causing a processor to perform the features of the present disclosure.
[0050] A computer-readable recording medium can be a tangible device capable of holding and storing multiple instructions for use by an instruction execution device. Computer-readable media can be, for example, but are not limited to, electrical recording devices, magnetic recording devices, optical recording devices, electromagnetoelectric recording devices, semiconductor recording devices, or any preferred combination thereof. More specific embodiments of computer-readable recording media include portable computer disks, hard disks, random-access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory®), static random-access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital multipurpose disk (DVD), memory stick, floppy disk®, punch cards, or mechanically encoded devices having structures protruding into grooves on which instructions are recorded, and any preferred combination thereof. As used herein, computer-readable recording media are not interpreted as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, waveguides or other communication media (e.g., light pulses passing through optical fiber cables), or electrical signals transmitted through wires.
[0051] The computer program instructions described herein can be downloaded from a computer-readable recording medium to each computing / processing device, or downloaded to an external computer or external recording device via a network such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper communication cables, optical communication fibers, wireless communications, routers, firewalls, switches, gateway computers, and edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives computer-readable program instructions from the network and transfers these computer-readable program instructions to a computer-readable recording medium within the computing / processing device for storage.
[0052] Computer-readable program instructions for performing the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine language instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source code or object code written in any combination of programming languages, including object-oriented programming languages such as Smalltalk®, C++, the “C” programming language, or similar programming languages. Computer-readable program instructions may be executed entirely on a user computer, partially as a standalone software package on a user computer, partially on a user computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user computer through any type of network, including a local area network (LAN) or wide area network (WAN), or the connection may be made to an external computer (e.g., through an Internet service provider). In some embodiments, an electrical circuit including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer-readable program instructions, and the electrical circuit can be personalized to perform features of the present invention using computer-readable program instruction state information.
[0053] Aspects of the present invention described herein have been illustrated with reference to flowchart instructions and block diagrams of methods, or both, apparatus (systems), and computer-readable recording media and computer program products, in accordance with embodiments of the invention. It should be understood that any combination of flowchart illustrations and block diagrams, or both, and blocks and block diagrams in flowchart illustrations, or both, can be implemented by computer-readable program instructions.
[0054] Computer-readable program instructions can be provided to general-purpose computers, specific-purpose computers, or other programmable data processing devices for generating other processors or machines, which are executed by the computer's processor or other programmable data processing device to generate means for implementing functions / operations specified by blocks or combinations thereof in flowcharts and block diagrams. These computer-readable program instructions, which instruct computers, programmable data processing devices, and other devices or combinations thereof to function in a particular way, can also be stored in computer-readable recording media, and a computer-readable recording media containing instructions constitutes a product containing instructions that implement the features of functions / operations specified by blocks or combinations thereof in flowcharts and block diagrams.
[0055] Computer-readable program instructions are also loaded onto a computer, other programmable data processing device, or other device, causing a computer implementation process for a series of operation steps on the computer, other programmable device, or other device, thereby implementing functions / operations specified by blocks or multiple blocks or combinations thereof in flowcharts and block diagrams on the computer, other programmable device, or other device.
Claims
1. A computer implementation method for training a machine learning model on encrypted data, which is performed by one or more processors, wherein the computer implementation method is Receiving a set of encrypted data from a client computing device using one or more processors, Training a machine learning model using a boosting algorithm on one or more processors, wherein the machine learning model is stored on a cloud platform and is not shared with the client computing devices. One or more processors perform a first classification on the set of encrypted data using the trained machine learning model. One or more processors shuffle the first set of encrypted results of the first classification in a random order unknown to the client computing device. Sending a first set of encrypted results of the shuffled first classification to the client computing device by one or more processors, One or more processors receive a first set of boosting updates from the client computing device, and Applying the first set of boosting updates to the machine learning model using one or more processors Methods that include...
2. The computer implementation method according to claim 1, wherein the boosting algorithm is selected from the group consisting of adaptive boosting algorithms and gradient boosting algorithms.
3. The computer implementation method according to claim 1, wherein the one or more processors are part of a cloud computing environment.
4. The computer implementation method according to claim 3, wherein the cloud computing environment is a private cloud platform.
5. moreover, The computer implementation method according to claim 1, comprising using one or more processors to unshuffle the first set of boosting updates by reversing the random arrangement order.
6. moreover, Using one or more processors, perform a second classification on the set of encrypted data using the machine learning model. Sending a second set of encrypted results of the second classification to the client computing device by one or more processors, One or more processors receive a second set of boosting updates from the client computing device. Applying a second set of the boosting updates to the machine learning model using one or more processors, and One or more processors perform the execution, sending, receiving, and applying repeatedly for a predefined number of repetitions. The computer implementation method according to claim 1, including the method described in claim 1.
7. A system comprising means adapted to perform all steps of the method according to any one of claims 1 to 6.
8. A computer system including one or more processors for training a machine learning model on encrypted data, Receiving a set of encrypted data from a client computing device, Training a machine learning model using a boosting algorithm, wherein the machine learning model is stored on a cloud platform and is not shared with the client computing device. Performing a first classification on the set of encrypted data using the trained machine learning model, Shuffle the first set of encrypted results of the first classification in a random order unknown to the client computing device. Sending a first set of encrypted results of the shuffled first classification to the client computing device, Receiving a first set of boosting updates from the client computing device, and Applying the first set of the boosting updates to the machine learning model. A computer system that includes [a certain feature].
9. The computer system according to claim 8, wherein the boosting algorithm is selected from the group consisting of adaptive boosting algorithms and gradient boosting algorithms.
10. The computer system according to claim 8, wherein the one or more processors are part of a cloud computing environment.
11. The computer system according to claim 10, wherein the cloud computing environment is a private cloud platform.
12. moreover, The computer system according to claim 8, comprising unshuffling the first set of boosting updates by reversing the random arrangement order.
13. moreover, Performing a second classification on the set of encrypted data using the aforementioned machine learning model, Sending a second set of encrypted results of the second classification to the client computing device, Receiving a second set of boosting updates from the aforementioned client computing device, Applying the second set of boosting updates to the machine learning model, The actions described above—executing, sending, receiving, and applying—are performed repeatedly for a predefined number of iterations. The computer system according to claim 8, including the following:
14. A computer program for a computer to execute the computer implementation method described in any one of claims 1 to 6.