Method, apparatus, device and storage medium for updating machine learning model

EP4736076A1Pending Publication Date: 2026-05-06KONINKLIJKE PHILIPS NV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
KONINKLIJKE PHILIPS NV
Filing Date
2024-06-19
Publication Date
2026-05-06

AI Technical Summary

Technical Problem

In Federated Learning, existing methods face challenges in ensuring data privacy and security of participants' data during model training, as updates of model parameters can be decrypted or calculated reversely by other participants or the central server, and the selection of clipping thresholds affects the performance of the machine learning model.

Method used

The method involves determining model parameters for each node, splitting them into slices, and sharing these slices with other nodes to generate target model parameters, using random Gaussian noise and statistical methods to ensure privacy and accuracy, while avoiding exposure of local data to other participants or the central server.

Benefits of technology

This approach guarantees the privacy and security of participants' data and maintains the accuracy of the machine learning model by using random Gaussian noise and appropriate clipping thresholds, ensuring efficient model training across multiple participants.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024067014_02012025_PF_FP_ABST
    Figure EP2024067014_02012025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a solution for updating machine learning model. In a solution in accordance with the embodiments of the present disclosure, a certain node of a plurality of nodes locally determines a plurality of slices of a model parameter corresponding to the certain node, and uses a slice of the model parameter corresponding to the certain node and at least one slice of the model parameter corresponding to other nodes of the plurality of nodes to determine a target model parameter for the certain node. In this way, it can ensure the data privacy and security of a single participant without being exposed or derived by other participants during the model training for the machine learning system.
Need to check novelty before this filing date? Find Prior Art

Description

2023PF00230 METHOD, APPARATUS, DEVICE AND STORAGE MEDIUM FOR UPDATING MACHINE LEARNING MODEL FIELD

[0001] Embodiments of the present disclosure generally relate to the field of computer technology, and in particular to a method, an apparatus, a device and a computer-readable storage medium for updating machine learning model. BACKGROUND

[0002] Machine learning is a branch of artificial intelligence (AI) in the field of computer science technology, which focuses on the use of data and algorithms to train machine learning models. The machine learning models can be used to imitate the way that humans learn to conduct computation and prediction. For obtaining a high-quality model, it requires multiple iterations of training the machine learning models using training data.

[0003] Federated Learning (FL) is a machine learning setting where the goal is to train a high-quality centralized model with training data distributed over a large number of participants. The Federated Learning enables the participants to collaboratively train the machine learning models while keeping the raw training data on each user’s device, decoupling the ability to conduct the machine learning from the need to store the data in the a centralized storage. SUMMARY

[0004] In general, embodiments of the present disclosure provide a solution for updating machine learning model.

[0005] In a first aspect, the present disclosure provides a method. The method comprises: determining a set of model parameters corresponding to a first node, the first node being a medical node of a plurality of nodes; determining a plurality of slices of a model parameter in the set of model parameters corresponding to the first node, the plurality of slices of the model parameter including at least a first slice and a second slice of the model parameter corresponding to the first node; and generating a first target model parameter corresponding to the first node based on the first slice of the model parameter corresponding to the first node and a second slice of a model parameter corresponding to a2023PF00230 second node of the plurality of nodes. In this way, the present disclosure can ensure the data privacy and security of a single participant without being exposed or derived by other participants during the model training for the machine learning system.

[0006] In some embodiments of the first aspect, generating the first target model parameter corresponding to the first node comprises: determining a random Gaussian noise corresponding to the first node based on a Gaussian distribution; and generating the first target model parameter corresponding to the first node based on the determined random Gaussian noise corresponding to the first node, the first slice of the model parameter corresponding to the first node being reserved at the first node, and the second slice of the model parameter corresponding to the second node being received from the second node. In this way, the present disclosure can not only guarantee the privacy and security of the data from the multiple participants by using the random Gaussian noise, but also not affect the accuracy of the output of the machine learning system.

[0007] In some embodiments of the first aspect, determining the model parameter corresponding to the first node comprises: receiving a model for an iteration; updating the received model with local sample data at the first node; and determining the model parameter corresponding to the first node based on a difference between parameters of the received model and corresponding parameters of the updated model. In this way, the present disclosure can be accurately suitable for updating the machine learning models involving multiple participants for each iteration.

[0008] In some embodiments of the first aspect, determining the plurality of slices of the model parameter corresponding to the first node comprises: splitting, at the first node, the model parameter corresponding to the first node into the plurality of slices of the model parameter corresponding to the first node, the number of the plurality of slices of the model parameter corresponding to the first node being equal to the number of the plurality of nodes; reserving, at the first node, the first slice of the model parameter corresponding to the first node; transmitting, to the second node, the second slice of the model parameter corresponding to the first node; and receiving, from the second node, the second slice of the model parameter corresponding to the second node. In this way, the present disclosure can enable multiple participants to share model parameters with each other, while avoiding local data being exposed to or derived by either other participants or the central server.

[0009] In some embodiments of the first aspect, determining the model parameter2023PF00230 corresponding to the first node comprises: determining a first model parameter corresponding to the first node based on a norm value of a gradient corresponding to the first node; and determining a second model parameter corresponding to the first node based on a product of multiplying the gradient corresponding to the first node and the reverse of the first model parameter corresponding to the first node. In this way, the present disclosure can collectively use the norm value of the model parameter and the product of multiplying model parameter and the reverse of the norm value, such that the model parameter to be clipped remains secret from any single node while ensuring the machine learning system effective and efficient.

[0010] In some embodiments of the first aspect, determining the plurality of slices of the model parameter corresponding to the first node comprises: splitting the first model parameter corresponding to the first node into a plurality of slices of the first model parameter corresponding to the first node, the plurality of slices of the first model parameter including at least a first slice and a second slice of the first model parameter, and the number of the plurality of slices of the first model parameter corresponding to the first node being equal to the number of the plurality of nodes; and splitting the second model parameter corresponding to the first node into a plurality of slices of the second model parameter corresponding to the first node, the plurality of slices of the second model parameter including at least a first slice and a second slice of the second model parameter, and the number of the plurality of slices of the second model parameter corresponding to the first node being equal to the number of the plurality of nodes. In some embodiments of the first aspect, the method further comprises: reserving, at the first node, the first slice of the first model parameter corresponding to the first node and the first slice of the second model parameter corresponding to the first node; transmitting, to the second node, the second slice of the first model parameter corresponding to the first node and the second slice of the second model parameter corresponding to the first node; and receiving, from the second node, a second slice of a first model parameter corresponding to the second node and a second slice of a second model parameter corresponding to the second node. In this way, the present disclosure can enable multiple participants to share the norm value of the model parameter and the product of multiplying model parameter and the reverse of the norm value with each other, while avoiding local data or specific model parameters being exposed to or derived by either other participants or the central server.

[0011] In some embodiments of the first aspect, the method further comprises:2023PF00230 determining a third model parameter based on a statistic of a plurality of slices of the first model parameters corresponding to the plurality of nodes, the plurality of slices of the first model parameters corresponding to the plurality of nodes including at the plurality of slices of the first model parameter corresponding to the first node and a plurality of slices of a first model parameter corresponding to the second node; and determining a plurality of slices of the third model parameter based on the third model parameter, the plurality of slices of the third model parameter including at least a first slice of the third model parameter corresponding to the first node and a second slice of the third model parameter corresponding to the second node, wherein the number of the plurality of slices of the third model parameter corresponds to the number of the plurality of nodes, and the third model parameter is based on at least one of a maximum value, a median value, an average value, or quantile value. In some embodiments of the first aspect, generating the first target model parameter corresponding to the first node comprises: determining a set of slices of the second model parameter at the first node, the set of slices of the second model parameter including at least the first slice of the second model parameter reserved at the first node and the second slice of the second model parameter received from the second node; determining, for each slice in the set of slices of the second model parameter at the first node, a product of multiplying the first slice of the third model parameter corresponding to the first node and the slice of the second model parameter at the first node; and determining a product sum for the first node based on the product of multiplying the first slice of the third model parameter corresponding to the first node and each slice in the set of slices of the second model parameter at the first node. In this way, the clipping threshold is selected based on a statistic of the norm values corresponding to the plurality of nodes, such as a maximum value, a median value, an average value, or quantile value of the norm values, the clipped model parameter can be appropriately to be used for model training while ensuring the output of the machine learning system accurate and proper.

[0012] In some embodiments of the first aspect, generating the first target model parameter corresponding to the first node further comprises: locally determining a random Gaussian noise corresponding to the first node based on a Gaussian distribution for the plurality of nodes, the additivity of the determined random Gaussian noises of the plurality of nodes matching the Gaussian distribution; and generating the first target model parameter corresponding to the first node by adding the determined random Gaussian noise corresponding to the first node and the determined product sum for the first node. In this2023PF00230 way, the random Gaussian noise is locally added to the processed model parameter of a specific node, further avoiding the model parameter and related local data being descripted or derived by other participants or the center server.

[0013] In some embodiments of the first aspect, the method further comprises at least one of the following: determining a second target model parameter based on a threshold number of multiple first target model parameters corresponding to the plurality of nodes, the multiple first target model parameters corresponding to the plurality of nodes including at least the first target model parameter corresponding to the first node and a first target model parameter corresponding to the second node; transmitting the first target model parameter corresponding to the first node to the second node, such that the second node determines the second target model parameter based on the threshold number of the multiple first target model parameters corresponding to the plurality of nodes; or transmitting the first target parameter corresponding to the first node to a server, such that the server determines the second target model parameter based on the threshold number of the multiple first target model parameters corresponding to the plurality of nodes, wherein the threshold number is equal or less than the number of the multiple first target model parameters corresponding to the plurality of nodes. In some embodiments of the first aspect, the method further comprises: determining a second target model parameter based on the Gaussian distribution; updating a model for a next iteration based on the determined second target model parameter; and transmitting the updated model for the next iteration to the first node. In this way, benefit from the nature of the Gaussian distribution, the sum of independent Gaussian noises from multiple participants can be jointly utilized to function as an entire value involving the model parameters having not been added noises for the multiple participants. Thereby, in the machine learning system involving multiple participants sharing model parameters with each other, the present disclosure can not only guarantee the privacy and security of the data from the multiple participants, but also not affect the accuracy of the output of the machine learning system.

[0014] In a second aspect, the present disclosure further provides an apparatus. The apparatus comprises: means for determining a set of model parameters corresponding to the apparatus, the apparatus being a medical node of a plurality of nodes; means for determining a plurality of slices of the model parameter corresponding to the apparatus, the plurality of slices of the model parameter including at least a first slice and a second slice of the model parameter corresponding to the apparatus; and means for generating a first2023PF00230 target model parameter corresponding to the apparatus based on the first slice of the model parameter corresponding to the apparatus and a second slice of a model parameter corresponding to a second node of the plurality of nodes.

[0015] In a third aspect, the present disclosure further provides a device. The device comprises at least one processor and a memory coupled to the at least one processor and having instructions stored thereon, the instructions, when executed by the at least one processor, causing the device to perform the method according to the first aspect.

[0016] In a fourth aspect, the present disclosure further provides a computer readable medium. The computer readable medium has instructions stored thereon. The instructions, when executed on at least one processor of a device, cause the device to perform the method of the first aspect.

[0017] In a fifth aspect, the present disclosure further provides a computer program product. The computer program product is tangibly stored on a non-stationary computer readable medium and comprises computer-executable instructions. The computer-executable instructions, when executed, cause a computer to perform the method of the first aspect.

[0018] It is to be understood that the summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Some embodiments will now be described with reference to the accompanying drawings, in which:

[0020] FIG. 1 illustrates an example machine learning system in which some embodiments of the present disclosure can be implemented;

[0021] FIG. 2 illustrates a flowchart of an example method implemented at a node in accordance with some embodiments of the present disclosure;

[0022] FIG.3 further illustrates a flowchart of an example method implemented at a node in accordance with some embodiments of the present disclosure;

[0023] FIG. 4A illustrates a schematic diagram of a process for splitting the model2023PF00230 parameter in accordance with some example embodiments of the present disclosure;

[0024] FIG. 4B illustrates a schematic diagram of a process for splitting the model parameter in accordance with some example embodiments of the present disclosure;

[0025] FIG. 5 illustrates a schematic diagram of a process for a node sharing the model parameter with the other nodes in accordance with some example embodiments of the present disclosure;

[0026] FIG. 6 illustrates a schematic diagram of a process for generating a first target model parameter in accordance with some example embodiments of the present disclosure;

[0027] FIGS. 7A and 7B collectively illustrate a flowchart of another example method implemented at a node in accordance with some embodiments of the present disclosure;

[0028] FIG.8 illustrates a flowchart of another example method in accordance with some embodiments of the present disclosure;

[0029] FIG. 9 illustrates a schematic block diagram of an apparatus implemented on a node that can be used to enable the model training in accordance with some embodiments of the present disclosure

[0030] FIG. 10 illustrates an example computing architecture on a node that can be used to enable the model training using machine learning algorithms in accordance with some embodiments of the present disclosure; and

[0031] FIG. 11 is a block diagram of a computing system in accordance with some embodiments of the present disclosure.

[0032] Throughout the drawings, the same or similar reference numerals represent the same or similar elements. DETAILED DESCRIPTION

[0033] Principles of the present disclosure will now be described with reference to some embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. The disclosure described herein can be implemented in various manners other than the ones described below. In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood2023PF00230 by one of ordinary skills in the art to which this disclosure belongs.

[0034] References in the present disclosure to “one embodiment,” “an example embodiment,” “an embodiment,” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

[0035] It shall be understood that although the terms “first” and “second” or the like may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. For example, a first element could also be termed as a second element, and similarly, a second element could also be termed as a first element, without departing from the scope of embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms. In some examples, values, procedures, or apparatus are referred to as “best,” “lowest,” “highest,” “minimum,” “maximum,” or the like. It will be appreciated that such descriptions are intended to indicate that a selection among many used functional alternatives can be made, and such selections need not be better, smaller, higher, or otherwise preferable to other selections.

[0036] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of embodiments. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “has,” “having,” “includes” and / or “including,” when used herein, specify the presence of stated features, elements, components and / or the like, but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof. For example, the term “includes” and its variants are to be read as open terms that mean “includes, but is not limited to.” The term “based on” is to be read as “based at least in part on.” The term “one embodiment” and “an embodiment” are to be read as “at least one embodiment.” The term “another embodiment” is to be read as “at least one other embodiment.” Other definitions, explicit and implicit, may be2023PF00230 included below.

[0037] It should be noted that the term “approximately” or “substantially” may be used herein and may be interpreted as “as nearly as practicable,” “within technical limitations,” and the like. In some example embodiments, the use of the term “or” indicates an inclusive or (e.g. and / or) unless otherwise specified.

[0038] In each of the multiple iterations for training the machine learning models by using the Federated Learning, each participant among the multiple participants computes an update of model parameters to the current machine learning model based on its local data, and communicates this update to a central server, where the respective updates from the multiple participants are aggregated to create a new global model. In many situations, it is desirable to train the machine learning model with the local data of the respective participants while keeping their data private from each other and from the central server. For example, in a medical scenario, each participant is a hospital institution, which stores a large number of diagnostic samples or detection sample data locally, and the central server is located remotely, which is used to update and train machine learning models for medical sample data analysis. However, in this medical scenario, due to the privacy and security of medical sample data, each participant requires not exposing its own sample data to other participants or the center server in the update of the machine learning model.

[0039] Inventors of the present disclosure find that even if the updates of the model parameters from the participants are encrypted in the communications, there are risks that the updates of the model parameters or local data of the participant can be decrypted by the other participants or the central server, or can be calculated reversely based on the next global model received from the central server. Therefore, it is required that the individual update from any participants should never be exposed to or derived by either other participants or the central server, so as to ensure the safety of the model parameters and the local data of the participants.

[0040] Furthermore, in the machine learning system involving multiple participants jointly updating the model parameter such as gradient, the selection of the clipping threshold for the model parameter is critical to the performance. If the clipping threshold is too small, all model parameters will be bounded, which for example will lead to the model parameters falling into the interval of (0, 1). If the clipping threshold is too large, all gradients will remain unchanged, which will lead to a large deviation in the newly2023PF00230 created global model. Therefore, it is further desired to design an appropriate way to choose an appropriate value related to the update of the model parameters, so as to ensure the efficiency and accuracy of the aggregated updates of the model parameters and the global model created using the aggregated updates.

[0041] In view of the above findings by the inventors and in order to solve the problems in the traditional solutions, embodiments of the present disclosure provide a solution for updating machine learning models. According to the present disclosure, a certain node of a plurality of nodes locally determines a plurality of slices of a model parameter corresponding to the certain node, and uses a slice of the model parameter corresponding to the certain node and at least one slice of the model parameter corresponding to other nodes of the plurality of nodes to determine a target model parameter for the certain node. In other words, in the machine learning system involving multiple participants, each participant can use part of its private data and part of data from other participants, such that all participants jointly complete the model training for the machine learning system. Thereby, it can ensure the data privacy and security of a single participant without being exposed or derived by other participants during the model training for the machine learning system. For example, in a medical scenario, each participant is a hospital institution, which stores a large number of diagnostic samples or detection sample data locally, and the central server is located remotely, which is used to update and train machine learning models for medical sample data analysis. According to the present disclosure, each participant can locally compute the gradient based on the model received from the center server and the locally stored medical sample data, and determine the processed gradient based on the gradient locally computed itself and the gradients shared by other gradients. Accordingly, the center server can collect respective processed gradients from the participants to compute a global gradient for updating the machine learning model, and generate an updated machine learning model for the next iteration which will be distributed to the multiple participants. Thereby, it can ensure the privacy and security of medical sample data for the participants without exposing its own sample data to other participants or the center server in the update of the machine learning model, and improving the accuracy of model training for medical sample data analysis.

[0042] Principles and implementations of embodiments of the present disclosure will be described in detail below with reference to the figures.

[0043] FIG. 1 illustrates an example machine learning system 100 in which some2023PF00230 embodiments of the present disclosure can be implemented. The machine learning system 100 includes at least a plurality of nodes 110-1, 110-2…110-n, and a center server 120. In some example embodiments, the machine learning system 100 may apply Federated Learning based architecture. In the Federated Learning based architecture, each of the plurality of nodes 110-1, 110-2…110-N (collectively referred to as “nodes 110”) functions as a participant among multiple participants that can provide local datasets for training, and the center server 120 functions as a central aggregation entity that can receive model parameters from each participant for model aggregation. In some example embodiments, the Federated Learning applied in the machine learning system 100 may be Horizontal Federated Learning (HFL), in which the datasets shared by the multiple participants may have large overlap in data feature space and small overlap in sample space. In some example embodiments, for certain scenarios, Longitudinal Federated Learning with small overlap in data feature space and large overlap in sample space can also applied in accordance with some embodiments of the present disclosure. It is to be understood that the machine learning system 100 is not limited to Federated Learning, but any architecture involving multiple participants with overlapping data feature spaces.

[0044] It is to be understood that the use case of the nodes 110 or the center server 120 in the present disclosure is for the purpose of illustration without suggesting any limitation. In some example embodiments, the nodes 110 may include at least one medical node locally storing medical data including patient status data, physical examination data, and disease diagnosis data, for clinical-oriented use cases to conduct related predictions.

[0045] It is to be understood that the numbers of devices (i.e., the plurality of nodes 110-1, 110-2…110-n and the center server 120) and their connection relationships and types shown in FIG.1 are for the purpose of illustration without suggesting any limitation. The machine learning system 100 may include any suitable numbers of devices adapted for implementing embodiments of the present disclosure.

[0046] Reference is further made to FIG. 2, which illustrates a flowchart of an example method 200 implemented at a node in accordance with some embodiments of the present disclosure. For the purpose of discussion, the method 200 will be described with reference to FIG.1. The method 200 may involve the plurality of nodes 110, and a center server 120. In the following, it is assumed that the node 110-1 will be referred to as “first node” and the other nodes of the plurality of nodes 110 (including the nodes 110-2…110-n) will be referred to as “second node”, but it is to be understood that the first node can be any2023PF00230 node of the plurality of nodes 110, and the second node is merely intended to distinguish the first node from the other nodes of the plurality of nodes 110 for the purpose of illustration without suggesting any limitation.

[0047] Referring to FIG. 2, at block 210, the first node determines a set of model parameters corresponding to the first node. For example, the first node can be the node 110-1, which is located at a medical research institute that locally stores samples of medical inspection data. During the iteration of model training, the first node receives a medical analysis model from the center server 120 and trains the received medical analysis model with the samples of medical inspection data. The first node determines a set of model parameters related to gradient corresponding to the first node by computing a gradient based on a difference between parameters of the received model and corresponding parameters of the updated model.

[0048] At block 220, the first node determines a plurality of slices of a model parameter in the set of model parameters corresponding to the first node, the plurality of slices of the model parameter including at least a first slice and a second slice of the model parameter corresponding to the first node. In some example embodiments, the first node further splits the model parameter corresponding to the first node into the plurality of slices of the model parameter corresponding to the first node, wherein the number of the plurality of slices of the model parameter corresponding to the first node is equal to the number of the plurality of nodes. In some further example embodiments, the first node may reserve at the first node the first slice of the model parameter corresponding to the first node. The first node may transmit to the second node the second slice of the model parameter corresponding to the first node, and receive from the second node the second slice of the model parameter corresponding to the second node.

[0049] At block 230, the first node generates a first target model parameter corresponding to the first node based on the first slice of the model parameter corresponding to the first node and a second slice of a model parameter corresponding to the second node of the plurality of nodes, wherein the second node is any node different from the first node. For example, at block 230, the node 110-1 may generate a first target model parameter corresponding to the first node based on the first slice of the model parameter corresponding to the node 110-1 and a second slice of a model parameter corresponding to the node 110-2 of the plurality of nodes 110. For another example, at block 230, the node 110-1 may generate a first target model parameter corresponding to the first node based on2023PF00230 the first slice of the model parameter corresponding to the node 110-1 and a second slice of a model parameter corresponding to the node 110-N of the plurality of nodes 110.

[0050] According to the present disclosure, in the machine learning system involving multiple participants, each participant can use part of its private data and part of data from other participants, such that all participants jointly complete the model training for the machine learning system. Thereby, it can ensure the data privacy and security of a single participant without being exposed or derived by other participants during the model training for the machine learning system.

[0051] FIG. 3 further illustrates a flowchart of an example method 300 implemented at a node in accordance with some embodiments of the present disclosure. At block 310, the first node receives from the center server 120 a model in iteration. At block 320, the first node updates the received model with local sample data at the first node. At block 330, the first node determines a set of model parameters corresponding to the first node, including the model parameter corresponding to the first node, based on a difference between parameters of the received model and corresponding parameters of the updated model. At block 340, the first node determines a plurality of slices of a model parameter in the set of model parameters corresponding to the first node, the plurality of slices of the model parameter including at least a first slice and a second slice of the model parameter corresponding to the first node. At block 350, the first node determines a random Gaussian noise corresponding to the first node based on a Gaussian distribution. At block 360, the first node generates the first target model parameter corresponding to the first node based on the determined random Gaussian noise corresponding to the first node, the first slice of the model parameter corresponding to the first node being reserved at the first node, and the second slice of the model parameter corresponding to the second node being received from the second node of the plurality of nodes 110.

[0052] In some example embodiments, the first node at block 340 further splits the model parameter corresponding to the first node into the plurality of slices of the model parameter corresponding to the first node, wherein the number of the plurality of slices of the model parameter corresponds to the first node being equal to the number of the plurality of nodes.

[0053] In some further example embodiments, the first node may reserve, at the first node, the first slice of the model parameter corresponding to the first node. The first node may transmit to the second node the second slice of the model parameter corresponding to the2023PF00230 first node and receive from the second node the second slice of the model parameter corresponding to the second node.

[0054] It is to be understood that the second slice of the model parameter is not limited to that corresponding to the second node, but can be any slice of the model parameter corresponding to any node of the plurality of nodes 110 expect for the first node. For example, at block 230, the first node may generate a first target model parameter corresponding to the first node based on the first slice of the model parameter corresponding to the first node and a second slice of a model parameter corresponding to the node 110-2 of the plurality of nodes 110.

[0055] According to the present disclosure, in the machine learning system involving multiple participants, each participant can add noise to further ensure the data privacy and security of a single participant. Meanwhile, benefit from the nature of the Gaussian distribution, the sum of independent Gaussian noises from multiple participants can be jointly utilized to function as an entire value involving the model parameters having not been added noises for the multiple participants. Thereby, it can not only guarantee the privacy and security of the data from the multiple participants, but also not affect the accuracy of the output of the machine learning system.

[0056] FIG. 4A illustrates a schematic diagram of a process 410 for splitting the model parameter in accordance with some example embodiments of the present disclosure. As a non-limiting example, the first node determines the set of model parameters 41 corresponding to the first node, including the model parameters 411, 412…41N corresponding to the first node. Then, the first node determines a plurality of slices of a model parameter of the set of model parameters 41 corresponding to the first node, wherein the modal parameter of the set of model parameters 41 corresponding to the first node may be any of the model parameters 411, 412…41N. For example, in the case of determining a plurality of slices of the model parameter 411 corresponding to the first node, the first node may split the model parameter 411 into a plurality of slices 411-1, 411-2…411-N. For another example, in the case of determining a plurality of slices of the model parameter 412 corresponding to the first node, the first node splits the model parameter 412 into a plurality of slices 412-1, 412-2…412-N, and for determining a plurality of slices of the model parameter 41N corresponding to the first node, the first node splits the model parameter 41N into a plurality of slices 41N-1, 41N-2…41N-N.2023PF00230

[0057] FIG. 4B illustrates a schematic diagram of a process 420 for splitting the model parameter in accordance with some example embodiments of the present disclosure. As a non-limiting example, the second node determines the set of model parameters 42 corresponding to the second node, including the model parameters 421, 422…42N corresponding to the second node. Then, the second node determines a plurality of slices of a model parameter of the set of model parameters 42 corresponding to the second node, wherein the modal parameter of the set of model parameters 42 corresponding to the second node may be any of the model parameters 421, 422…42N. For example, in the case of determining a plurality of slices of the model parameter 421 corresponding to the second node, the second node may split the model parameter 421 into a plurality of slices 421-1, 421-2…421-N. For another example, in the case of determining a plurality of slices of the model parameter 422 corresponding to the second node, the second node splits the model parameter 422 into a plurality of slices 422-1, 422-2…422-N, and for determining a plurality of slices of the model parameter 42N corresponding to the second node, the second node splits the model parameter 42N into a plurality of slices 42N-1, 42N-2…42N-N.

[0058] It is to be understood that the second node can be any node different from the first node in the plurality of nodes 110, which can be the node 110-2…or the node 110-N. In some example embodiments, at least one node in the plurality of nodes 110 splits the model parameter. In some further example embodiments, all of the plurality of nodes 110 splits the model parameter.

[0059] In some example embodiments, a model parameter at the first node and a model parameter at the second node, which may be the same type parameter which may have overlaps in data feature space, can be further shared with each other in the machine learning system 100. For example, the model parameter 411 as shown in FIG.4A and the model parameter 421 as shown in FIG. 4B may be the same type parameter which may have overlaps in data feature space, the model parameter 412 as shown in FIG.4A and the model parameter 422 as shown in FIG. 4B may be the same type parameter which may have overlaps in data feature space and so forth.

[0060] FIG. 5 illustrates a schematic diagram of a process 500 for a node sharing the model parameter with the other nodes in accordance with some example embodiments of the present disclosure. In some example embodiments, the plurality of the nodes 110 share each of the split model slices of the model parameter corresponding to the respective2023PF00230 nodes. As a non-limiting example embodiment, the first node may reserve at the first node the split slice 411-1 of the model parameter 411 corresponding to the first node. The first node may transmit to the second node the split slice 411-2 of the model parameter 411 corresponding to the first node, and receive from the second node the split slice 421-2 of the model parameter 421 corresponding to the second node. In a similar way, the second node shares the model parameter 421 corresponding to the second node with the other nodes of the plurality of nodes 110. For example, the second node may reserve at the second node the split slice 421-1 of the model parameter 421 corresponding to the second node. The second node may transmit to the first node the split slice 421-2 of the model parameter 421 corresponding to the second node, and receive from the first node the split slice 411-2 of the model parameter 411 corresponding to the first node. As illustrated in FIG.5, after the process of sharing among the plurality of nodes 110, at the first node, there are the split slice 411-1 of the model parameter 411 corresponding to the first node and the split slices received from the other nodes of the plurality of nodes 110, for example, the split slice 421-2 of the model parameter 421 corresponding to the second node. At the second node, there are the split slice 421-1 of the model parameter 421 corresponding to the second node and the split slices received from the other nodes of the plurality of nodes 110, for example, the split slice 411-2 of the model parameter 411 corresponding to the first node.

[0061] FIG.6 illustrates a schematic diagram of a process 600 for generating a first target model parameter in accordance with some example embodiments of the present disclosure. In some example embodiments, the first node may generate a first target model parameter 61 corresponding to the first node based on the split slice 411-1 of the model parameter 411 corresponding to the first node and the split slices received from the other nodes of the plurality of nodes 110, for example, the split slice 421-2 of the model parameter 421 corresponding to the second node. The second node may generate a first target model parameter 62 corresponding to the second node based on the split slice 421-1 of the model parameter 421 corresponding to the second node and the split slices received from the other nodes of the plurality of nodes 110, for example, the split slice 411-2 of the model parameter 411 corresponding to the first node.

[0062] FIGS. 7A and 7B collectively illustrate a flowchart of another example method 700 implemented at a node in accordance with some embodiments of the present disclosure. At block 701, the first node receives a model for iteration. At block 703, the first node2023PF00230 updates the received model with local sample data at the first node. At block 705, the first node determines a set of model parameters corresponding to the first node based on a difference between parameters of the received model and corresponding parameters of the updated model, wherein the set of model parameters corresponding to the first node includes a first model parameter and a second model parameter corresponding to the first node. As a non-limiting example embodiment, the first node is located at a medical research institute that locally stores samples {^^ ^^^, ⋯ , ^^ } of medical inspection data, wherein the variable ^ is used to identify the first node. During the iteration of model training, the first node receives a medical analysis model from the center server 120 and trains the received medical analysis model with the samples {^^ ^^^, ⋯ , ^^ } of medical inspection data. The first node determines a set of model parameters related to gradient corresponding to the first node by computing a gradientbased on a difference between parameters of the received model and corresponding parameters of the updated model. As an example, the gradient {^^may be computed based on a slope or directional derivative of a function at a certain point for the samples {^^ ^ , ⋯ , ^ ^^^ } of medical inspection data. In some example embodiments, the gradient {^^(^^ ^), ⋯ , ^^(^ ^^^)} may be a set of vectors that point in the direction in which a function rises fastest at a certain point. However, it is not limited thereto, and the gradient or any parameter related to gradient may be calculated in any manner in the present disclosure.

[0063] At block 707, the first node determines the first model parameter corresponding to the first node based on a norm value of a gradient corresponding to the first node. As a non-limiting example, the first node applies a L2 normalization algorithm to the gradient {^ (^^), ⋯ , ^^^ ^^^(^^)} to computes the L2 norm of the gradientas the first model parameter corresponding to the first node. It is to be understood that the L2 norm of the gradient is for the purpose of illustration without suggesting any limitation and any other normalization algorithm or norm type can be applied in accordance with the embodiments of the present disclosure.

[0064] At block 709, the first node determines the second model parameter corresponding to the first node based on a product of multiplying the gradient corresponding to the first node and the reverse of the first model parameter corresponding to the first node. As a non-limiting example, the first node multiplies the gradientand the reverse of the L2 norm of the gradientto computes the2023PF00230 product second model parameter corresponding to thefirst node.

[0065] At block 711, the first node splits the first model parameter corresponding to the first node into a plurality of slices of the first model parameter corresponding to the first node, and splits the second model parameter corresponding to the first node into a plurality of slices of the second model parameter corresponding to the first node. In some example embodiments, the plurality of slices of the first model parameter includes at least a first slice and a second slice of the first model parameter, and the number of the plurality of slices of the first model parameter corresponding to the first node is equal to the number of the plurality of nodes. In some example embodiments, the plurality of slices of the second model parameter includes at least a first slice and a second slice of the second model parameter, and the number of the plurality of slices of the second model parameter corresponding to the first node is equal to the number of the plurality of nodes. As a non-limiting example, the first node may apply the process 410 as described in FIG. 4A. For example, the first node may split the first model parameter| ] as the plurality slices of the first ^ ^^ ^ parameter, and split the second model parameter { ||^ (^| ^asthe plurality slices of the second model parameter, wherein the variable ^ is determined from 1 to |^^|, and the variable |^^| refers to a random sample for the t-th iteration.

[0066] At block 713, the first node shares the first model parameter and the second model parameter corresponding to the first node with the other nodes of the plurality of nodes. The first node reserves at the first node the first slice of the first model parameter corresponding to the first node and the first slice of the second model parameter corresponding to the first node. The first node transmits to the second node the second slice of the first model parameter corresponding to the first node and the second slice of the second model parameter corresponding to the first node and receives from the second node, a second slice of a first model parameter corresponding to the second node and a second slice of a second model parameter corresponding to the second node. As a non-limiting example, the first node may apply the process 500 as described in FIG. 5. For example, the first node may reserve, at the first node, one of the plurality slices of the first model parametercorresponding to the first node, and one of the plurality slices2023PF00230 ^ arameter [^^^ ^ the second model p^||^^(^^)||^] corresponding to the first node. The first node may respectively transmit, to the other nodes of the plurality of nodes 110, the remaining of the plurality slices of the first model parameter [||^^(^^)||^] corresponding to the first ^^^^^^ node and the remaining of the plurality slices of the second model parameter [ ||^^(^^)||^] corresponding to the first node. The first node may respectively receive, from the other nodes of the plurality of nodes 110, the slices of the first model parameter [||^^(^^)||^] corresponding to the other nodes of the plurality of nodes 110 and the slices of the second ^^^^^^ model parameter [ ||^^(^^)||^] corresponding to the other nodes of the plurality of nodes 110. Thereby, at the first node, there are a slice of the first model parameter [||^^(^^)||^] and a ^^^^^^ slice of the second model parameter [ ||^^(^^)||^] corresponding to the first node and multiple slices of the first model parameter [||^^(^^)||^] and multiple slices of the second model ^ ameter [^^^ ^ par^||^^(^^)||^], which are respectively corresponding to the other nodes of the plurality of nodes 110.

[0067] At block 715, the first node determines a third model parameter based on a statistic of a plurality of slices of the first model parameters corresponding to the plurality of nodes, wherein the plurality of slices of the first model parameters corresponding to the plurality of nodes include at the plurality of slices of the first model parameter corresponding to the first node and a plurality of slices of a first model parameter corresponding to the second node. In some example embodiments, the third model parameter is based on at least one of a maximum value, a median value, an average value, or quantile value. As a non-limiting example, the first node may participate in a statistical analysis and calculation for all of the slices of the first model parameters [||^^(^^)||^] corresponding to all of the plurality of nodes 110, to compute at least one of their maximum value, median value, average value, quantile value. For example, a maximum value among all of the slices of the first model parameters [||^^(^^)||^]corresponding to all of the plurality of nodes 110 may be determined as the third model parameter ^^^^.

[0068] At block 717, the first node may participate in a determination of a plurality of slices of the third model parameter based on the third model parameter, wherein the number2023PF00230 of the plurality of slices of the third model parameter corresponds to the number of the plurality of nodes, and the plurality of slices of the third model parameter includes at least a first slice of the third model parameter corresponding to the first node and a second slice of the third model parameter corresponding to the second node. In some example embodiments. As a non-limiting example, the third model parameter ^^^^is split to a plurality of slicesfor the plurality of nodes 110, and each of the plurality of nodes 110 may determine a corresponding slice of the third model parameter[^^^^]. For example, the first node determines the first slice of the third model parameter[^^^^]corresponding to the first node.

[0069] At block 719, the first node determines a set of slices of the second model parameter at the first node, wherein the set of slices of the second model parameter includes at least the first slice of the second model parameter reserved at the first node and the second slice of the second model parameter received from the second node. As a non-limiting example, further to the block 713, the first node may determine the set of slices of the second model parameter including a slice of the second model parameter to the first node and multiple slices of the second model which are respectively corresponding to the other nodes of theplurality of nodes 110.

[0070] At block 721, the first node determines, for each slice in the set of slices of the second model parameter at the first node, a product of multiplying the first slice of the third model parameter corresponding to the first node and the slice of the second model parameter at the first node. As a non-limiting example, the first node may apply the following Equation (1) to multiply the first slice of the third model parametercorresponding to the first node and each of the set of slices of the second model parameter including a slice of the second model parameter corresponding to the first nodeand multiple slices of the second model parameter which are respectivelycorresponding to the other nodes of the plurality of nodes 110, so as to compute a plurality of products [^^(^^)]. Equation (1)2023PF00230

[0071] At block 723, the first node determines a product sum for the first node based on the product of multiplying the first slice of the third model parameter corresponding to the first node and each slice in the set of slices of the second model parameter at the first node. As a non-limiting example, the first node may add the plurality of productsobtained at block 721 to compute a product sumfor the first node.

[0072] If the clipping threshold is too small, all model parameters will be bounded, which for example will lead to the model parameters falling into the interval of (0, 1). If the clipping threshold is too large, all gradients will remain unchanged, which will lead to a large deviation in the newly created global model. Therefore, it is further desired to design an appropriate way to choose an appropriate value related to the update of the model parameters, so as to ensure the efficiency and accuracy of the aggregated updates of the model parameters and the global model created using the aggregated updates.

[0073] At block 725, the first node locally determines a random Gaussian noise corresponding to the first node based on a Gaussian distribution for the plurality of nodes, wherein the additivity of the determined random Gaussian noises of the plurality of nodes matches the Gaussian distribution. As a non-limiting example, the first node may locally determine a random Gaussian noise ^^corresponding to the first node, following a Gaussian distribution for the plurality of nodes, such that the additivity of the random Gaussian noisesdetermined by each of the plurality of nodes 110 matches the Gaussian distribution.

[0074] At block 727, the first node generates the first target model parameter corresponding to the first node by adding the determined random Gaussian noise corresponding to the first node and the determined product sum for the first node. As a non-limiting example, the first node may apply the following Equation (2) to add the random Gaussian noise ^^corresponding to the first node determined at block 725 and the product sumthe first node determined at block 723 to generate the first target model parameter ^^corresponding to the first node.Equation (2)

[0075] As described above, in the machine learning system involving multiple participants sharing model parameters with each other, the local data might be exposed to or derived by either other participants or the central server. According to the present2023PF00230 disclosure, by a combination of the norm value of the model parameter and the product of multiplying model parameter and the reverse of the norm value, the model parameter to be clipped remains secret from any single node while ensuring the machine learning system effective and efficient.

[0076] Furthermore, in the machine learning system involving multiple participants jointly updating the model parameter such as gradient, the selection of the clipping threshold for the model parameter is critical to the performance. According to the present disclosure, the clipping threshold is selected based on a statistic of the norm values corresponding to the plurality of nodes, such as a maximum value, a median value, an average value, or quantile value of the norm values, the clipped model parameter can be appropriately to be used for model training while ensuring the output of the machine learning system accurate and proper.

[0077] FIG. 8 illustrates a flowchart of another example method 800 in accordance with some embodiments of the present disclosure. At block 810, the first node transmits the first target parameter corresponding to the first node to the server, such that the server determines the second target model parameter based on the threshold number of the multiple first target model parameters v^corresponding to the plurality of nodes. At block 820, the center server 120 determines the second target model parameter based on the Gaussian distribution. In some example embodiments, the threshold number is equal or less than the number of the multiple first target model parameters corresponding to the plurality of nodes. For example, the threshold number can be determined based on the security relationships between nodes. Only when the number of the received first target model parameters is equal or greater than the threshold number, it is considered to meet the security requirements of the model learning system 100, and then the determination of the second target model parameter can be performed at block 810.

[0078] As a non-limiting example, the first node may transmit the first target parameter corresponding to the first node to the center server 120. The center server 120 may apply the following Equation (3) to compute the second target model parameter ^^^based on the threshold number of the multiple first target model parameterscorresponding to the plurality of nodes 110, and based on the Gaussian distribution.Equation (3)2023PF00230

[0079] At block 830, the center server 120 updates a model for a next iteration based on the determined second target model parameter. At block 840, the center server 120 transmits the updated model for the next iteration. As a non-limiting example, the center server 120 may update the model that has been transmitted to the plurality of nodes 110 with the second target model parameter ^^^determined at block 830, to obtain an updated model that will be transmitted to the plurality of nodes 110 for the next iteration of model training. In some example embodiments, upon receiving the updated model from the center server 120, the first node will perform new model training with the local data of the first node in accordance with the embodiments of the present disclosure.

[0080] Additionally or alternatively, the center server 120 may transmit the second target model parameter ^^^to the plurality of nodes 110 at block 840, such that the respective nodes can locally update the model for the next iteration of model training.

[0081] According to the present disclosure, the random Gaussian noise is locally added to the processed model parameter of a specific node, further avoiding the model parameter and related local data being descripted or derived by other participants or the center server. Furthermore, benefit from the nature of the Gaussian distribution, the sum of independent Gaussian noises from multiple participants can be jointly utilized to function as an entire value involving the model parameters having not been added noises for the multiple participants. In other words, in the server’s final results that reflect the overall data from the multiple participants, the influence of noises can substantially be removed by all participants following the Gaussian distribution. Thereby, according to the present disclosure, in the machine learning system involving multiple participants sharing model parameters with each other, it can not only guarantee the privacy and security of the data from the multiple participants, but also not affect the accuracy of the output of the machine learning system.

[0082] In some example embodiments, the first node may determine a second target model parameter based on a threshold number of multiple first target model parameters corresponding to the plurality of nodes, wherein the multiple first target model parameters corresponding to the plurality of nodes includes at least the first target model parameter corresponding to the first node and a first target model parameter corresponding to the second node. The first node determines a second target model parameter based on the2023PF00230 Gaussian distribution. The first node updates the model for a next iteration based on the determined second target model parameter, and transmits the updated model for the next iteration to the other nodes.

[0083] In some example embodiments, the first node may transmit the first target model parameter corresponding to the first node to the second node, such that the second node determines the second target model parameter based on the threshold number of the multiple first target model parameters corresponding to the plurality of nodes. The second node may determine a second target model parameter based on the Gaussian distribution. The second node may update the model for a next iteration based on the determined second target model parameter transmits the updated model for the next iteration to the other nodes.

[0084] FIG. 9 illustrates a schematic block diagram of an apparatus implemented on a node that can be used to enable the model training in accordance with some embodiments of the present disclosure. As illustrated in FIG.9, an apparatus 900 comprises parameter determination module 910, slice determination module 920 and parameter generation module 930. The parameter determination module 910 is configured to determine a set of model parameters corresponding to the apparatus 900, wherein the apparatus 900 is a medical node of a plurality of nodes in the machine learning system 100. The slice determination module 920 is configured to determine a plurality of slices of the model parameter corresponding to the apparatus 900, the plurality of slices of the model parameter including at least a first slice and a second slice of the model parameter corresponding to the apparatus 900. The parameter generation module 930 is configured to generate a first target model parameter corresponding to the apparatus 900 based on the first slice of the model parameter corresponding to the apparatus 900 and a second slice of a model parameter corresponding to a second node of the plurality of nodes in the machine learning system 100.

[0085] In some example embodiments, the parameter generation module 930 is further configured to determine a random Gaussian noise corresponding to the first node based on a Gaussian distribution, and generate the first target model parameter corresponding to the first node based on the determined random Gaussian noise corresponding to the first node, wherein the first slice of the model parameter corresponding to the first node is reserved at the first node, and the second slice of the model parameter corresponding to the second node is received from the second node.2023PF00230

[0086] In some example embodiments, the parameter determination module 910 is further configured to receive a model for an iteration; updating the received model with local sample data at the first node; and determine the model parameter corresponding to the first node based on a difference between parameters of the received model and corresponding parameters of the updated model.

[0087] In some example embodiments, the slice determination module 920 is further configured to split, at the first node, the model parameter corresponding to the first node into the plurality of slices of the model parameter corresponding to the first node, wherein the number of the plurality of slices of the model parameter corresponding to the first node is equal to the number of the plurality of nodes; reserve, at the first node, the first slice of the model parameter corresponding to the first node; transmit, to the second node, the second slice of the model parameter corresponding to the first node; and receive, from the second node, the second slice of the model parameter corresponding to the second node.

[0088] In some example embodiments, the parameter determination module 910 is further configured to determine a first model parameter corresponding to the first node based on a norm value of a gradient corresponding to the first node; and determine a second model parameter corresponding to the first node based on a product of multiplying the gradient corresponding to the first node and the reverse of the first model parameter corresponding to the first node.

[0089] In some example embodiments, the slice determination module 920 is further configured to split the first model parameter corresponding to the first node into a plurality of slices of the first model parameter corresponding to the first node, wherein the plurality of slices of the first model parameter include at least a first slice and a second slice of the first model parameter, and the number of the plurality of slices of the first model parameter corresponding to the first node being equal to the number of the plurality of nodes; and split the second model parameter corresponding to the first node into a plurality of slices of the second model parameter corresponding to the first node, wherein the plurality of slices of the second model parameter include at least a first slice and a second slice of the second model parameter, and the number of the plurality of slices of the second model parameter corresponding to the first node being equal to the number of the plurality of nodes.

[0090] In some embodiments, the apparatus 900 is further configured to reserve, at the first node, the first slice of the first model parameter corresponding to the first node and the2023PF00230 first slice of the second model parameter corresponding to the first node; transmit, to the second node, the second slice of the first model parameter corresponding to the first node and the second slice of the second model parameter corresponding to the first node; and receive, from the second node, a second slice of a first model parameter corresponding to the second node and a second slice of a second model parameter corresponding to the second node.

[0091] In some embodiments, the apparatus 900 is further configured to determine a third model parameter based on a statistic of a plurality of slices of the first model parameters corresponding to the plurality of nodes, wherein the plurality of slices of the first model parameters corresponding to the plurality of nodes include at the plurality of slices of the first model parameter corresponding to the first node and a plurality of slices of a first model parameter corresponding to the second node; and determine a plurality of slices of the third model parameter based on the third model parameter, wherein the plurality of slices of the third model parameter include at least a first slice of the third model parameter corresponding to the first node and a second slice of the third model parameter corresponding to the second node, and wherein the number of the plurality of slices of the third model parameter corresponds to the number of the plurality of nodes, and the third model parameter is based on at least one of a maximum value, a median value, an average value, or quantile value.

[0092] In some example embodiments, the parameter generation module 930 is further configured to determine a set of slices of the second model parameter at the first node, the set of slices of the second model parameter including at least the first slice of the second model parameter reserved at the first node and the second slice of the second model parameter received from the second node; determine, for each slice in the set of slices of the second model parameter at the first node, a product of multiplying the first slice of the third model parameter corresponding to the first node and the slice of the second model parameter at the first node; and determine a product sum for the first node based on the product of multiplying the first slice of the third model parameter corresponding to the first node and each slice in the set of slices of the second model parameter at the first node.

[0093] In some example embodiments, the parameter generation module 930 is further configured to determine a random Gaussian noise corresponding to the first node locally based on a Gaussian distribution for the plurality of nodes, wherein the additivity of the determined random Gaussian noises of the plurality of nodes match the Gaussian2023PF00230 distribution; and generate the first target model parameter corresponding to the first node by adding the determined random Gaussian noise corresponding to the first node and the determined product sum for the first node.

[0094] In some embodiments, the apparatus 900 is further configured to perform at least one of the following: determining a second target model parameter based on a threshold number of multiple first target model parameters corresponding to the plurality of nodes, wherein the multiple first target model parameters corresponding to the plurality of nodes include at least the first target model parameter corresponding to the first node and a first target model parameter corresponding to the second node; transmitting the first target model parameter corresponding to the first node to the second node, such that the second node determines the second target model parameter based on the threshold number of the multiple first target model parameters corresponding to the plurality of nodes; or transmitting the first target parameter corresponding to the first node to a server, such that the server determines the second target model parameter based on the threshold number of the multiple first target model parameters corresponding to the plurality of nodes, wherein the threshold number is equal or less than the number of the multiple first target model parameters corresponding to the plurality of nodes.

[0095] In some embodiments, the apparatus 900 is further configured to determine a second target model parameter based on the Gaussian distribution; update a model for a next iteration based on the determined second target model parameter; and transmit the updated model for the next iteration to the first node.

[0096] According to the present disclosure, a certain apparatus of a plurality of apparatuses locally determines a plurality of slices of a model parameter corresponding to the certain apparatus, and uses a slice of the model parameter corresponding to the certain apparatus and at least one slice of the model parameter corresponding to other apparatuses of the plurality of apparatuses to determine a target model parameter for the certain apparatus. In other words, in the machine learning system involving multiple apparatuses, each apparatus can use part of its private data and part of data from other apparatuses, such that all apparatuses jointly complete the model training for the machine learning system. Thereby, it can ensure the data privacy and security of a single apparatus without being exposed or derived by other apparatuses, while improving the accuracy of model training for the machine learning system.2023PF00230

[0097] FIG. 10 illustrates an example computing architecture on an apparatus that can be used to enable the model training using machine learning algorithms in accordance with some embodiments of the present disclosure. In some example embodiments, computing architecture 1000 includes a machine learning framework 1010 that can be configured to leverage a processing system 1050 on an apparatus. In some example embodiments, the machine learning framework 1010 may include an image processing framework, a language processing framework, and one or more other frameworks. The machine learning framework 1010 can access resources provided via a CPU (Central Processing Unit) acceleration layer 1020, a GPU (Graphics Processing Unit) acceleration layer 1030, a NNP (Neural Network Processor) acceleration layer 1040, each of which can facilitate access to a processing system 720 on the various apparatuses described herein.

[0098] In some example embodiments, the processing system 1050 includes at least one application processor 1025, at least one graphics processor 1035 and at least one neural network processor 1045, each of which can be used to accelerate operations of the machine learning framework 1010 and the various frameworks thereof. The application processor 1025 and graphics processor 1035 include hardware that can be used to perform general-purpose processing and graphics specific processing for the machine learning framework 1010. The neural network processor 1045 can include hardware that can be tuned specifically to accelerate processing operations for artificial neural networks. The neural network processor 1045 can increase speed at which neural network operations are performed. It is to be understood that training can also be performed by the application processor 1025 and / or the graphics processor 1035.

[0099] In some example embodiments, the various frameworks and hardware resources of the computing architecture 1000 can be used for inferencing operations and training operations. For example, an apparatus can use the computing architecture 1000 to perform supervised learning via a machine learning model as described herein, such as but not limited to a CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), or LSTM (Long Short-Term Memory) model. The apparatus can then use the trained machine learning model to perform classification operations for one or a variety of predictive models including but not limited to a natural language processing model, a predictive text model, an application suggestion model, and application activity suggestion model, a voice classification model, and an image classification model.

[0100] FIG. 11 is a block diagram of a computing system 1110 in accordance with some2023PF00230 embodiments of the present disclosure. The illustrated computing system 1110 is intended to represent a range of computing systems (either wired or wireless) including, for example, desktop computer systems, laptop computer systems, tablet computer systems, cellular telephones, personal digital assistants (PDAs) including cellular-enabled PDAs, set top boxes, entertainment systems or other consumer electronic devices, smart appliance devices, or one or more implementations of a smart media playback device. Alternative computing systems may include more, fewer and / or different components. The computing system 1110 can be used to provide the computing device and / or a server device to which the computing device may connect.

[0101] The computing system 1110 includes bus 1140 or other communication device to communicate information, and processor(s) 1111 coupled to bus 1140 that may process information. While the computing system 1110 is illustrated with a single processor, the computing system 1110 may include multiple processors and / or co-processors. The computing system 1110 further may include memory 1120, such as random-access memory (RAM) or other dynamic storage device coupled to the bus 1140. The memory 1120 may store information and instructions that may be executed by processor(s) 1111. The memory 1120 may also be used to store temporary variables or other intermediate information during execution of instructions by the processor(s) 1111. The computing system 1110 may also include read only memory (ROM) 1130 coupled to the bus 1140 that may store information and instructions for the processor(s) 1111.

[0102] The computing system 1110 may also be coupled, via the bus 1140, to at least one output unit 1150 to output information to a user. The computing system 1110 can also include at least one input unit 1160, which may be coupled to the bus 1140 to communicate information and command selections to processor(s) 1111. Another type of user input device includes a cursor control device, such as a touchpad, a mouse, a trackball, or cursor direction keys to communicate direction information and command selections to processor(s) 1111 and to control cursor movement on the output unit 1150. The computing system 1110 may also include a storage unit 1170 coupled to the bus 1140 that may store information and instructions for the processor(s) 1111. The storage unit 1170 can be or include a variety of storage devices, such as a flash memory device, a magnetic disk, or an optical disc and may be coupled to computing system 1110 via the bus 1140 or via a remote peripheral interface.

[0103] The computing system 1110 may also receive input from a remote device that is2023PF00230 communicatively coupled via at least one communication unit 1180. The computing system 1110 further may include one or more communication unit 1180 to provide access to a network, such as a local area network. The communication unit 1180 may include, for example, a wireless network interface having antenna, which may represent at least one antenna. The computing system 1110 can include multiple wireless network interfaces such as a combination of Wi-Fi, Bluetooth®, near field communication (NFC), and / or cellular telephony interfaces. The communication unit 1180 may also include, for example, a wired network interface to communicate with remote devices via network cable, which may be, for example, an Ethernet cable, a coaxial cable, a fiber optic cable, a serial cable, or a parallel cable.

[0104] In some example embodiments, the communication unit 1180 may provide access to a local area network, for example, by conforming to IEEE 802.11 standards, and / or the wireless network interface may provide access to a personal area network, for example, by conforming to Bluetooth standards. Other wireless network interfaces and / or protocols can also be supported. In addition to, or instead of, communication via wireless LAN standards, communication unit 1180 may provide wireless communications using, for example, Time Division, Multiple Access (TDMA) protocols, Global System for Mobile Communications (GSM) protocols, Code Division, Multiple Access (CDMA) protocols, Long Term Evolution (LTE) protocols, and / or any other type of wireless communications protocol.

[0105] In some embodiments, the functions described herein can utilize specialized hardware circuitry (or firmware) of the system (client device or server). For example, the function can be a hardware-accelerated function. In some example embodiments, in some embodiments, the system can use a function that is part of a specialized instruction set. For example, the hardware can use an instruction set which may be an extension to an instruction set architecture for a particular type of microprocessors. Accordingly, in an embodiment, the system can provide a hardware-accelerated mechanism for performing cryptographic operations to improve the speed of performing the functions described herein using these instruction sets.

[0106] In some example embodiments, the hardware-accelerated engines / functions are contemplated to include any implementations in hardware, firmware, or combination thereof, including various configurations which can include hardware / firmware integrated into the SoC (System on a chip) as a separate processor, or included as special purpose2023PF00230 CPU (or core), or integrated in a coprocessor on the circuit board, or contained on a chip of an extension circuit board, etc.

[0107] It is to be understood that the data involved in the present technology is from various specific and legitimate sources, including demographic data, location-based data, online identifiers, telephone numbers, email addresses, social media IDs, home addresses, health or fitness-related data (such as vital signs, medication information, and exercise data), date of birth, and other identifying or sample data. It is also to be understood that utilizing sample data in this technology can benefit users in several ways. For instance, health and fitness data, based on user preferences, can provide insights into general wellness or serve as positive feedback for individuals striving to achieve wellness goals using technology.

[0108] It is to be understood that entities responsible for collecting, analyzing, disclosing, transferring, storing, or otherwise using such sample data should adhere to established privacy policies and practices. These entities are expected to implement and consistently follow privacy practices that meet or surpass industry or governmental requirements for safeguarding user privacy. Information about the use of private data should be easily accessible to users and updated as data collection and use evolve. Sample data should only be collected for legitimate purposes and with the consent of users or on another legitimate basis specified by applicable law. Furthermore, entities should take necessary measures to protect and secure access to sample data, ensuring that those with access adhere to privacy policies and procedures. They may also undergo evaluation by third parties to certify their compliance with widely accepted privacy policies and practices. Policies and practices should be tailored to the specific types of sample data collected or accessed, and they should be adapted to relevant laws and standards, including jurisdiction-specific considerations that may impose stricter requirements. For example, in the United States, the collection or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA), while other countries may have different regulations and policies that must be followed when handling health data.

[0109] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other2023PF00230 computing device. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representation, it will be appreciated that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

[0110] The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer readable storage medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target real or virtual processor, to carry out the process or method as described above. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.

[0111] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.

[0112] The above program code may be embodied on a machine readable medium, which may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine readable medium may be a machine readable signal medium or a machine readable storage medium. A machine readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine readable storage medium would include an electrical connection having one or more wires,2023PF00230 a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0113] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.

[0114] Although the present disclosure has been described in language specific to structural features and / or methodological acts, it is to be understood that the present disclosure defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims

2023PF00230 WHAT IS CLAIMED IS:

1. A method comprising: determining a set of model parameters corresponding to a first node, the first node being a medical node of a plurality of nodes; determining a plurality of slices of a model parameter in the set of model parameters corresponding to the first node, the plurality of slices of the model parameter including at least a first slice and a second slice of the model parameter corresponding to the first node; and generating a first target model parameter corresponding to the first node based on the first slice of the model parameter corresponding to the first node and a second slice of a model parameter corresponding to a second node of the plurality of nodes.

2. The method according to claim 1, wherein generating the first target model parameter corresponding to the first node comprises: determining a random Gaussian noise corresponding to the first node based on a Gaussian distribution; and generating the first target model parameter corresponding to the first node based on the determined random Gaussian noise corresponding to the first node, the first slice of the model parameter corresponding to the first node being reserved at the first node, and the second slice of the model parameter corresponding to the second node being received from the second node.

3. The method according to claim 1, wherein determining the model parameter corresponding to the first node comprises: receiving a model for an iteration; updating the received model with local sample data at the first node; and determining the model parameter corresponding to the first node based on a difference between parameters of the received model and corresponding parameters of the updated model.

4. The method according to claim 1, wherein determining the plurality of slices of the model parameter corresponding to the first node comprises: splitting, at the first node, the model parameter corresponding to the first node into2023PF00230 the plurality of slices of the model parameter corresponding to the first node, the number of the plurality of slices of the model parameter corresponding to the first node being equal to the number of the plurality of nodes; reserving, at the first node, the first slice of the model parameter corresponding to the first node; transmitting, to the second node, the second slice of the model parameter corresponding to the first node; and receiving, from the second node, the second slice of the model parameter corresponding to the second node.

5. The method according to claim 1, wherein determining the model parameter corresponding to the first node comprises: determining a first model parameter corresponding to the first node based on a norm value of a gradient corresponding to the first node; and determining a second model parameter corresponding to the first node based on a product of multiplying the gradient corresponding to the first node and the reverse of the first model parameter corresponding to the first node.

6. The method according to claim 5, wherein determining the plurality of slices of the model parameter corresponding to the first node comprises: splitting the first model parameter corresponding to the first node into a plurality of slices of the first model parameter corresponding to the first node, the plurality of slices of the first model parameter including at least a first slice and a second slice of the first model parameter, and the number of the plurality of slices of the first model parameter corresponding to the first node being equal to the number of the plurality of nodes; and splitting the second model parameter corresponding to the first node into a plurality of slices of the second model parameter corresponding to the first node, the plurality of slices of the second model parameter including at least a first slice and a second slice of the second model parameter, and the number of the plurality of slices of the second model parameter corresponding to the first node being equal to the number of the plurality of nodes.

7. The method according to claim 6, further comprising: reserving, at the first node, the first slice of the first model parameter corresponding2023PF00230 to the first node and the first slice of the second model parameter corresponding to the first node; transmitting, to the second node, the second slice of the first model parameter corresponding to the first node and the second slice of the second model parameter corresponding to the first node; and receiving, from the second node, a second slice of a first model parameter corresponding to the second node and a second slice of a second model parameter corresponding to the second node.

8. The method according to claim 7, further comprising: determining a third model parameter based on a statistic of a plurality of slices of the first model parameters corresponding to the plurality of nodes, the plurality of slices of the first model parameters corresponding to the plurality of nodes including at the plurality of slices of the first model parameter corresponding to the first node and a plurality of slices of a first model parameter corresponding to the second node; and determining a plurality of slices of the third model parameter based on the third model parameter, the plurality of slices of the third model parameter including at least a first slice of the third model parameter corresponding to the first node and a second slice of the third model parameter corresponding to the second node, wherein the number of the plurality of slices of the third model parameter corresponds to the number of the plurality of nodes, and the third model parameter is based on at least one of a maximum value, a median value, an average value, or quantile value.

9. The method according to claim 8, wherein generating the first target model parameter corresponding to the first node comprises: determining a set of slices of the second model parameter at the first node, the set of slices of the second model parameter including at least the first slice of the second model parameter reserved at the first node and the second slice of the second model parameter received from the second node; determining, for each slice in the set of slices of the second model parameter at the first node, a product of multiplying the first slice of the third model parameter corresponding to the first node and the slice of the second model parameter at the first node; and determining a product sum for the first node based on the product of multiplying the2023PF00230 first slice of the third model parameter corresponding to the first node and each slice in the set of slices of the second model parameter at the first node.

10. The method according to claim 9, wherein generating the first target model parameter corresponding to the first node further comprises: determining a random Gaussian noise corresponding to the first node locally based on a Gaussian distribution for the plurality of nodes, the additivity of the determined random Gaussian noises of the plurality of nodes matching the Gaussian distribution; and generating the first target model parameter corresponding to the first node by adding the determined random Gaussian noise corresponding to the first node and the determined product sum for the first node.

11. The method according to claim 1, further comprising at least one of the following: determining a second target model parameter based on a threshold number of multiple first target model parameters corresponding to the plurality of nodes, the multiple first target model parameters corresponding to the plurality of nodes including at least the first target model parameter corresponding to the first node and a first target model parameter corresponding to the second node; transmitting the first target model parameter corresponding to the first node to the second node, such that the second node determines the second target model parameter based on the threshold number of the multiple first target model parameters corresponding to the plurality of nodes; or transmitting the first target parameter corresponding to the first node to a server, such that the server determines the second target model parameter based on the threshold number of the multiple first target model parameters corresponding to the plurality of nodes, wherein the threshold number is equal or less than the number of the multiple first target model parameters corresponding to the plurality of nodes.

12. The method according to claim 1, further comprising: determining a second target model parameter based on the Gaussian distribution; updating a model for a next iteration based on the determined second target model parameter; and2023PF00230 transmitting the updated model for the next iteration to the first node.

13. An apparatus comprising: means for determining a set of model parameters corresponding to the apparatus, the apparatus being a medical node of a plurality of nodes; means for determining a plurality of slices of the model parameter corresponding to the apparatus, the plurality of slices of the model parameter including at least a first slice and a second slice of the model parameter corresponding to the apparatus; and means for generating a first target model parameter corresponding to the apparatus based on the first slice of the model parameter corresponding to the apparatus and a second slice of a model parameter corresponding to a second node of the plurality of nodes.

14. A device comprising: at least one processor; and a memory coupled to the at least one processor and having instructions stored thereon, the instructions, when executed by the at least one processor, causing the device to perform the method according to any of claims 1 to 12.

15. A computer-readable storage medium storing computer-readable instructions thereon which, when executed, cause a computer to perform the method according to any of claims 1 to 12.

16. A computer program product being tangibly stored on a non-stationary computer readable medium and comprising computer-executable instructions which, when executed, cause a computer to perform the method according to any of claims 1 to 12.