Method and system for joint learning with local predictor
By combining local predictors and global models on the client, a local model is formed, which solves the problem that the existing technology cannot be incorporated into the knowledge of this domain, and realizes the adaptability and privacy protection of the model.
Patent Information
- Application Number
- CN202280098976.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-11
- Publication Date
- 2025-04-18
AI Technical Summary
Existing federated learning techniques cannot incorporate local domain knowledge represented by local predictors in individual clients, resulting in the inability to effectively use local data to train models.
By combining local predictors on the client with a collaboratively learned global model, a local model is formed so that the client can collaboratively train and benefit from it while maintaining the privacy of local data.
It realizes the incorporation of knowledge in this domain into individual clients, enhances the adaptability and accuracy of the model, and protects the local data privacy of the client.
Smart Images

Figure CN119856187A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to methods and apparatus for training and deploying machine learning based models using federated learning that adapts local predictors implemented by individual local clients. Background Art
[0002] Machine learning systems, sometimes referred to as artificial intelligence (AI) systems, typically rely on large amounts of data, which are used to train task-related machine learning-based models. This training data can come from large decentralized datasets with various types of data. Conventional machine learning techniques typically assume that these datasets are accessible from data centers. However, in many industry-scale applications, the training data may be obtained and maintained by different data owners rather than centralized in a data center, and data sharing between different data owners is often difficult or impossible (e.g., due to privacy requirements).
[0003] Another challenge with machine learning-based models is that they are purely data-driven models (i.e., the parameters of the model are learned from the training data without any human engineering) and may not satisfy constraints not defined in the training data (e.g., external constraints defined by laws of nature or safety guidelines). Purely data-driven models may also fail to leverage human know-how and craftsmanship that may not be learned from the training data.
[0004] Federated learning is a machine learning technique in which multiple clients (also called users, data owners, or nodes) participate in training a task-related model (i.e., learning the parameters of the model) in a collaborative manner without sharing their local data with each other. Therefore, there has been interest in federated learning as a solution that allows training task-related models using large amounts of local data without violating data privacy. However, current federated learning techniques are unable to leverage the domain knowledge represented by local predictors in individual clients.
[0005] It would be useful to have a solution for federated learning that can take into account and benefit from local predictors at individual clients. Summary of the invention
[0006] In various examples, the present invention describes methods and systems for federated learning, in which a client's local predictor representing the client's domain-specific knowledge is incorporated into the local model along with a collaboratively learned global model. In this way, the client can collaboratively train the global model and benefit from adapting the global model to its own domain knowledge. In addition, the privacy of the client's local dataset and the client's local predictor can be maintained.
[0007] In an exemplary aspect, the present invention describes a computing system comprising a processing unit configured to execute instructions to cause the computing system to: receive a set of global parameters from a central server; update a local model using the set of global parameters, the local model being a combination of a global model applying the set of global parameters and at least one local predictor; calculate a model update using the updated local model and a local data set; and transmit the model update to the central server.
[0008] In the example of the aforementioned exemplary aspect of the computing system, the processing unit can also be used to execute instructions to cause the computing system to: receive a set of trained global parameters from the central server after transmitting the model update to the central server; update the local model by applying the set of trained global parameters to the global model within the local model; and execute the updated local model to generate predictions.
[0009] In an example of any of the foregoing exemplary aspects of the computing system, the at least one local predictor may include at least one of: a local value predictor that predicts a class label for a given input; or a local range predictor that predicts one or more class labels for the given input.
[0010] In an example of the aforementioned exemplary aspects of the computing system, the at least one local predictor may include the local value predictor and the local range predictor, and the local model may be used to: process the given input using the global model, the local range predictor, and the local value predictor to generate a corresponding output; restrict the output from the global model to one or more category labels output by the local range predictor; weight the restricted output from the global model based on a hyperparameter and weight the output from the local value predictor; sum the weighted restricted output from the global model with the weighted output from the local value predictor to generate a probability prediction as an output of the local model.
[0011] In an example of the aforementioned exemplary aspect of the computing system, the local model may be mathematically defined as:
[0012] f m (θ; x) = λ m ·softmax(f(θ;x)+∞·(h m (x)-1 k ))+(1-λ m )·g m (x)
[0013] where f m is the local model, θ is the set of global parameters, x is the given input, λ m is the hyperparameter, f is the global model, h m is the local range predictor, g m is the local value predictor, 1 k is a k-dimensional vector with all entries equal to 1, where k is the number of possible class labels.
[0014] In an example of the aforementioned exemplary aspect of the computing system, the at least one local predictor may be the local value predictor, and the local model may be used to: process the given input using the global model and the local value predictor to generate a corresponding output; weight the output from the global model based on a hyperparameter and weight the output from the local value predictor; sum the weighted output from the global model with the weighted output from the local value predictor to generate a probabilistic prediction as an output of the local model.
[0015] In an example of the aforementioned exemplary aspect of the computing system, the at least one local predictor may be the local range predictor, and the local model may be used to: process the given input using the global model and the local range predictor to generate a corresponding output; restrict the output from the global model to one or more category labels output by the local range predictor; apply a softmax function to the restricted output from the global model to generate a probabilistic prediction as an output of the local model.
[0016] In an example of any of the aforementioned exemplary aspects of the computing system, the processing unit may also be used to execute instructions to cause the computing system to: before updating the local model, receive from the central server a local model definition that defines the local model as the combination of the global model and the at least one local predictor.
[0017] In another exemplary aspect, the present invention describes a method comprising: receiving a set of global parameters from a central server; updating a local model using the set of global parameters, wherein the local model is a combination of a global model applying the set of global parameters and at least one local predictor; calculating a model update using the updated local model and a local data set; and transmitting the model update to the central server.
[0018] In an example of the aforementioned exemplary aspect of the method, the method may also include: after transmitting the model update to the central server, receiving a set of trained global parameters from the central server; updating the local model by applying the set of trained global parameters to the global model within the local model; and executing the updated local model to generate predictions.
[0019] In an example of any of the foregoing exemplary aspects of the method, the at least one local predictor may include at least one of: a local value predictor that predicts a class label for a given input; or a local range predictor that predicts one or more class labels for the given input.
[0020] In an example of the aforementioned exemplary aspect of the method, the at least one local predictor may include the local value predictor and the local range predictor, and the local model may be used to: process the given input using the global model, the local range predictor, and the local value predictor to generate a corresponding output; restrict the output from the global model to one or more category labels predicted by the local range predictor; weight the restricted output from the global model based on a hyperparameter and weight the output from the local value predictor; sum the weighted restricted output from the global model with the weighted output from the local value predictor to generate a probability prediction as an output of the local model.
[0021] In an example of the aforementioned exemplary aspect of the method, the local model may be mathematically defined as:
[0022] f m (θ; x) = λ m ·softmax(f(θ;x)+∞·(h m (x)-1 k ))+(1-λ m )·g m (x)
[0023] where f m is the local model, θ is the set of global parameters, x is the given input, λ m is the hyperparameter, f is the global model, h m is the local range predictor, g m is the local value predictor, 1 k is a k-dimensional vector with all entries equal to 1, where k is the number of possible class labels.
[0024] In an example of the aforementioned exemplary aspect of the method, the at least one local predictor may be the local value predictor, and the local model may be used to: process the given input using the global model and the local value predictor to generate a corresponding output; weight the output from the global model based on a hyperparameter and weight the output from the local value predictor; sum the weighted output from the global model with the weighted output from the local value predictor to generate a probability prediction as an output of the local model.
[0025] In an example of the aforementioned exemplary aspect of the method, the at least one local predictor may be the local range predictor, and the local model may be used to: process the given input using the global model and the local range predictor to generate a corresponding output; restrict the output from the global model to one or more class labels output by the local range predictor; and apply a softmax function to the restricted output from the global model to generate a probabilistic prediction as an output of the local model.
[0026] In an example of any of the aforementioned exemplary aspects of the method, the method may further include: before updating the local model, receiving from the central server a local model definition defining the local model as the combination of the global model and the at least one local predictor.
[0027] In another exemplary aspect, the present invention describes a computing system comprising a processing unit for executing instructions to cause the computing system to: transmit a definition of a local model to be implemented on each of one or more clients to the one or more clients, wherein the local model is defined as a combination of a global model to which a set of global parameters will be applied and at least one local predictor specific to each of the one or more clients; perform one or more rounds of training by: transmitting the set of global parameters to one or more selected clients of the one or more clients; receiving model updates from the one or more selected clients; aggregating the received model updates into aggregate updates; updating the set of global parameters using the aggregate updates; and after termination of training, transmitting the updated set of global parameters from the previous round of training to all of the one or more clients as a set of trained global parameters.
[0028] In an example of the aforementioned exemplary aspect of the computing system, the definition of the local model can define the at least one local predictor as at least one of: a local value predictor that predicts a class label for a given input; or a local range predictor that predicts one or more class labels for the given input.
[0029] In an example of the aforementioned exemplary aspect of the computing system, the definition of the local model may include the local value predictor and the local range predictor, and the local model may be defined as: processing the given input using the global model, the local range predictor, and the local value predictor to generate a corresponding output; restricting the output from the global model to one or more category labels predicted by the local range predictor; weighting the restricted output from the global model based on a hyperparameter and weighting the output from the local value predictor; summing the weighted restricted output from the global model with the weighted output from the local value predictor to generate a probability prediction as the output of the local model.
[0030] In an example of the aforementioned exemplary aspect of the computing system, the local model may be mathematically defined as:
[0031] f m (θ; x) = λ m ·softmax(f(θ;x)+∞·(h m (x)-1 k ))+(1-λ m )·g m (x)
[0032] where f m is the local model, θ is the set of global parameters, x is the given input, λ m is the hyperparameter, f is the global model, h m is the local range predictor, g m is the local value predictor, 1 k is a k-dimensional vector with all entries equal to 1, where k is the number of possible class labels.
[0033] In an example of the aforementioned exemplary aspect of the computing system, the definition of the local model may include the local value predictor, and the local model may be defined as: processing the given input using the global model and the local value predictor to generate a corresponding output; weighting the output from the global model based on a hyperparameter and weighting the output from the local value predictor; summing the weighted output from the global model with the weighted output from the local value predictor to generate a probabilistic prediction as an output of the local model.
[0034] In an example of the aforementioned exemplary aspect of the computing system, the definition of the local model may include the local range predictor, and the local model may be defined to: process the given input using the global model and the local range predictor to generate a corresponding output; restrict the output from the global model to one or more category labels output by the local range predictor; apply a softmax function to the restricted output from the global model to generate a probabilistic prediction as an output of the local model.
[0035] In another exemplary aspect, the present invention describes a non-transitory computer-readable medium having machine-executable instructions stored thereon, wherein the instructions, when executed by a processing unit of a device, cause the device to perform a method of any of the foregoing exemplary aspects of the method. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Reference will now be made by way of example to the accompanying drawings which show exemplary embodiments of the present application, in which:
[0037] Figure 1 A block diagram of a simplified exemplary system that can be used to implement federated learning according to an example of the present invention;
[0038] Figure 2 is a block diagram of an exemplary computing system that may be used to implement examples of the present invention;
[0039] Figure 3A A block diagram showing an exemplary round of collaborative training between a client and a central server of a federated learning system according to an example of the present invention;
[0040] Figure 3B A block diagram showing an exemplary implementation of a local model at a client of a federated learning system for an example of the present invention;
[0041] Figure 4 A flowchart showing an exemplary method that can be implemented at a client of a federated learning system for an example of the present invention;
[0042] Figure 5 A flow chart illustrating an exemplary method that may be implemented at a central server of a federated learning system is an example of the present invention.
[0043] Like reference numerals are used in different drawings to denote like components. DETAILED DESCRIPTION
[0044] In the examples disclosed herein, methods and systems for training task-related models (hereinafter referred to as "models") using federated learning are described. Examples of the present invention enable collaborative machine learning where there are multiple clients with different local data sets and different local predictors. Examples of the present invention can enable a global model to be collaboratively trained in a multi-class classification task, and by incorporating local predictors, the global model is adapted to be used as a local model on each client. The domain knowledge on an individual client can be represented by local predictors (which are specific to each client, meaning that the local predictor on a given client may be unique to that client and may be dedicated or unknown to any other client), which can also be referred to as local functions, domain models, or local mechanism models that have been developed (e.g., by a human expert local to the client) to generate local predictions for a classification task. To help understand the present invention, we first discuss Figure 1 .
[0045] Figure 1 An exemplary system 100 that can be used to implement an example of federated learning using the domain model as disclosed herein is shown. For ease of understanding, the system 100 is simplified in this example; generally, there may be more than one example in the system 100. Figure 1 More entities and components shown in .
[0046] The system 100 includes a plurality of clients 102 (client-1 102 to client-n 102, generally referred to as clients 102), which may also be referred to as client devices, data owners, users, user devices, terminals or nodes, for example. That is, the term "client" is not intended to be limited to a particular type of device or implementation in a particular context. Each client 102 communicates with a central server 110, which may also be referred to as a central node. Optionally, a client 102 may also communicate directly with another client 102. Communication between a client 102 and a central server 110 (and optionally between a client 102 and another client 102) may be via any suitable network (e.g., the Internet, a P2P network, a wide area network (WAN) and / or a local area network (LAN)), and may include wireless or wired communication.
[0047] Although expressed in the singular, it should be understood that the central server 110 can be implemented using one or more servers. For example, the central server 110 can be implemented as a server, a server cluster, a distributed computing system, a virtual machine, or a container (also known as a docker container or docker) running on infrastructure in a data center, or infrastructure (such as a virtual machine) provided as a service by a cloud service provider, among other possibilities. In general, the central server 110 can be implemented using any suitable combination of hardware and software, and can be implemented as a single physical device (e.g., a server) or multiple physical devices (e.g., multiple servers sharing pooled resources, such as in the case of a cloud service provider). Therefore, the central server 110 may also be generally referred to as a computing system or a processing system.
[0048] Each client 102 may independently be an end-user device, a network device, a private network, or other single or multiple entities storing a local data set 104 (which may be considered private data) and a domain model 106. In the case where the client 102 is an end-user device, the client 102 may be or may include a client device / terminal, a user equipment (UE), a wireless transmit / receive unit (WTRU), a mobile station, a fixed or mobile subscriber unit, a cellular phone, a station (STA), a personal digital assistant (PDA), a smartphone, a portable computer, a computer, a tablet computer, a wireless sensor, a wearable device, a smart device, a machine type communication device, a smart (or connected) vehicle, or a consumer electronic device, among other possibilities. In the case where the client 102 is a network device, the client 102 may be or may include a base station (BS) (erg eNodeB or gNodeB), a router, an access point (AP), a personal basic service set (PBSS) coordinate point (PCP), among other possibilities. In the case where the client 102 is a private network, the client 102 may be or may include a private network of an institution (eg, a hospital or a financial institution), a retailer or a retail platform, a company's intranet, or the like.
[0049] Figure 2A simplified block diagram of an exemplary computing system 200 is shown, which may be used to implement the central server 110 or to implement any of the clients 102. Other exemplary computing systems suitable for implementing the embodiments described herein may be used, which may include components different from those discussed below. Figure 2 A single instance of each component is shown, but multiple instances of each component may exist in computing system 200 .
[0050] The computing system 200 may include one or more processing units 202, such as a processor, a microprocessor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a dedicated logic circuit, a dedicated artificial intelligence processor unit, a tensor processing unit, a neural processing unit, a hardware accelerator, or a combination thereof. Each processing unit 202 may include one or more processing cores.
[0051] The computing system 200 may also include one or more optional input / output (I / O) interfaces 204 that may allow for interfacing with one or more optional input devices 206 and / or optional output devices 208. In the illustrated example, input devices 206 (e.g., a keyboard, a mouse, a microphone, a touch screen, and / or a keyboard) and output devices 208 (e.g., a display, a speaker, and / or a printer) are shown as optional components of the computing system 200. In some examples, one or more input devices 206 and / or output devices 208 may be external to the computing system 200. In other exemplary embodiments, there may not be any input devices 206 and output devices 208, in which case the I / O interface 204 may not be required.
[0052] The computing system 200 may include one or more network ports 210 for wired or wireless communications (e.g., with other entities of the system 100). For example, if the computing system 200 is used to implement the central server 110, the network port 210 may be used for wired or wireless communications with the client 102; if the computing system 200 is used to implement the client 102, the network port 210 may be used for wired or wireless communications with the central server 110 (and optionally with one or more other clients 102). The one or more network ports 210 may include wired links (e.g., Ethernet cables) and / or wireless links (e.g., one or more antennas) for intranet communications and / or inter-network communications.
[0053] The computing system 200 may also include one or more storage units 212 , which may include mass storage units such as solid-state drives, hard disk drives, magnetic disk drives, and / or optical disk drives.
[0054] The computing system 200 may include one or more memories 214, which may include volatile or non-volatile memory (e.g., flash memory, random access memory (RAM) and / or read-only memory (ROM)). The non-transitory memory 214 may store instructions 216 for execution by the processing unit 202, for example, to implement the exemplary embodiments described in the present invention. The one or more memories 214 may include other software instructions, for example, for implementing an operating system and other applications / functions. In some exemplary embodiments, the one or more memories 214 may include software instructions 216 for execution by the processing unit 202 to implement a joint learning algorithm, as further discussed below. The one or more memories 214 may also store data 218, such as model parameters (e.g., weight values in the case where a neural network is used to implement the model).
[0055] In some exemplary embodiments, the computing system 200 may additionally or alternatively execute instructions from an external memory (e.g., an external drive in wired or wireless communication with the server), or executable instructions may be provided by a transient or non-transient computer-readable medium. Examples of non-transient computer-readable media include RAM, ROM, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, CD-ROM, or other portable memory. It should be understood that references to computer-readable media in the present invention are intended to exclude transient computer-readable media unless otherwise expressly stated.
[0056] Reference again Figure 1 Each client 102 stores (or has access to) a corresponding local data set 104 (e.g., as data stored in a memory of the client 102 or accessible from a dedicated database). The local data set 104 of each client 102 may be unique and different from the local data set 104 of each other client 102. The local data set 104 at a given client 102 may include data that is private or proprietary to that given client 102, which should not be accessible or recognizable by any other client 102 or the central server 110.
[0057] Federated learning is a machine learning technique that enables clients 102 to participate in learning a task-related model (e.g., a global model or a collaborative model) without having to share their local data sets 104 with the central server 110 or other clients 102. In the example shown, a global model 116 is stored at the central server 110, and the parameters of the global model are learned through collaboration with the clients 102. Each client 102 can use the global model 116 as the basis for its own local model 106, as discussed further below, or can use the collaboratively learned global model 116 as is (in which case the global model 116 is adopted as the local model 106 of that client 102). In this way, federated learning can help ensure the privacy of local data sets 104 (which may contain privacy-sensitive or proprietary information) while providing the clients 102 with the benefits of a global model 116 trained using a large amount of data.
[0058] Federated learning can be characterized by certain features that distinguish it from distributed optimization methods. One distinguishing feature is that the number of clients 102 (or nodes) participating in federated learning is typically much higher than the number of clients (or nodes) participating in distributed optimization (e.g., hundreds of clients 102 in federated learning versus dozens of clients in distributed optimization). Other distinguishing features include a larger number of "laggard" clients 102 (i.e., clients 102 that communicate significantly slower with the central server 110 than other clients 102) and a larger variation in the amount of the local dataset 104 at each client 102 (e.g., differing by several orders of magnitude) compared to distributed optimization. An important distinguishing feature is that in federated learning, the local datasets 104 are typically non-IID (IID means "independent and identically distributed"), meaning that the local data of different clients 102 are unique and distinct from each other, and it may not be possible to infer the characteristics or distribution of the local dataset 104 at any one client 102 based on the local dataset 104 of any other client 102. The non-IID nature of the local dataset 104 means that many (or most) methods that have been developed for distributed optimization are not effective in federated learning.
[0059] One challenge of existing federated learning techniques is that there may be no way to incorporate domain knowledge into the process. Domain knowledge refers to local development and / or expertise at a given client 102. The domain knowledge of any one client 102 may be known only to that client 102 (e.g., may be dedicated or proprietary in nature), and may be unique and different from the domain knowledge of any other client 102 in the system 100. The domain knowledge may include, for example, human know-how, expert experience, empirically derived correlations, local criteria or restrictions, etc. This domain knowledge may not be easily learned by a machine learning algorithm (e.g., due to limitations in the local data set 104). The domain knowledge may be represented by a predictor (which may also be referred to as an empirical model, a mechanism model, etc.), which predicts one or more values given an input. The predictor may be in the form of a mathematical function, a neural network model, a set of rules, or a black box function (which uses a hidden process to process the input to generate an output), among other possibilities. In general, the present invention is not limited by the nature of the domain knowledge, the implementation of the predictor, or how the domain knowledge is represented by the predictor.
[0060] In the present invention, two types of predictors are discussed, namely a first type of predictor (or Type I predictor) called a value predictor and a second type of predictor (or Type II predictor) called a range predictor. Each client 102 may implement a value predictor and a range predictor locally, may implement only a value predictor locally, may implement only a range predictor locally, or may implement neither a value predictor nor a range predictor. To help understanding, some mathematical symbols are first introduced.
[0061] In the present invention, the problem to be solved is a multi-class classification problem, which can be mathematically expressed as follows:
[0062] f:X→Y
[0063] Where f represents the multi-class classification function to be modeled, X represents a set of input features, and Y represents a set of possible categories. Therefore, the problem may be to find a model that approximates the multi-class classification f using data instances drawn from the underlying distribution represented by:
[0064]
[0065] Where x represents the sampled input from X, n represents the number of features in each input x, y represents the true category from a set of possible categories Y, and k represents the number of predefined categories in Y. data is a dataset consisting of (x,y) pairs.
[0066] The notation OneHot(k) denotes a one-hot vector with length k, where a one-hot vector means there is only one entry with a non-zero value (usually the value 1). The class labels can be represented by a one-hot vector by mapping each class in Y to a corresponding index from 0 to k. Then, the one-hot vector with a non-zero entry at the i-th index will represent the class label indicating the class mapped to index i. For example, if there are three possible class labels: ["cat", "dog", "human"], these can be mapped to indices [0, 1, 2] respectively. Then, the one-hot vector [0, 0, 1] will represent the "human" class label (because the non-zero entry has an index of 2, which maps to "human").
[0067] The value predictor predicts the class label given an input. The value predictor has relatively good prediction performance, but the predicted label may not be correct for all inputs (i.e., the predicted label is not the true label of at least one input). This can be expressed mathematically as:
[0068]
[0069] Where g represents the value predictor. g is represented as D train This means that most or all of the true labels in the training dataset can be accurately predicted by g. However, g has data There exists at least one or some (x, y) pair such that g(x)≠y (i.e., the label predicted by inputting x into g is not the actual true label y).
[0070] The range predictor predicts a range of class labels given an input. Although the range predictor does not provide an explicit predicted label, the true label will always be within the predicted range. This can be expressed mathematically as:
[0071]
[0072] where h represents the range predictor, and where the notation MultiHot(k) means a multi-hot vector with length k, where multi-hot means that the vector contains one or more entries with non-zero values (usually the value 1). h has D data All (x,y) pairs in are within the range predicted by h. That is, if y is represented as a one-hot vector, then the dot product of y and h(x) will be equal to 1 (assuming that the non-zero entries in one-hot and multi-hot vectors have the value 1).
[0073] In an example of the present invention, the domain knowledge represented by the value predictor g and the range predictor h can be incorporated into the local model. Figure 3A discussed in the context of .
[0074] Figure 3A An example of how a client 102 with a local predictor can participate in a round of collaborative training in the federated learning system 100 is shown. For simplicity, Figure 3A Only one client 102 is shown, however, it should be understood that any number of clients 102 may exist in the system 100, for example, there may be 1 to n clients 102, such as Figure 1 shown.
[0075] For the sake of generality, the client 102 is denoted as the mth client 102, which has a D m The local data set 104 is denoted as f m The local model 106 of . The central server 110 has a global model 116 denoted as f (without superscript).
[0076] The global model 116 may be any machine learning model implemented using any suitable neural network such as a multilayer perceptron (MLP), a convolutional neural network (CNN), etc. The global model 116 has model parameters (e.g., values of weights in a neural network) denoted as θ.
[0077] As disclosed herein, the local model 106 at the client 102 is based on a copy of the global model 116, the client's denoted as g m The local value predictor 122 is denoted as h m The present invention may define a local model 106 that is itself differentiable (and therefore can be trained using existing machine learning techniques such as back propagation), despite being combined with a value predictor 122 and a range predictor 124, which may or may not be differentiable. The local model 106 may be combined with a local value predictor 122 and a local range predictor 124.
[0078] Figure 3B Other details of the local model 106 are shown. It should be understood that although Figure 3B The local model 106 is shown as being implemented using certain blocks and operators, but this is not intended to be limiting. Furthermore, it should be understood that Figure 3B The blocks and operators shown in may be implemented as software (eg, by a processing unit of client 102 executing instructions to perform operations).
[0079] In some embodiments of the present invention, the local model 106 is a probabilistic model incorporating a local value predictor 122 and a local range predictor 124. The prediction generated by the local model 106 may be a probability distribution over possible class labels, and an argmax function may be used to convert the probabilistic prediction generated by the local model 106 into a predicted class label. When a client 102 joins the federated learning system 100 (e.g., when a client 102 registers itself with the central server 110 to collaboratively learn the global model 116), the central server 110 may provide the definition of the local model 106 to each client 102. It should be noted that in order to protect the privacy of each client 102, the central server 110 may not know the local value predictor 122 or the local range predictor 124 at each client 102. The central server 110 may not even know whether a particular client 102 has a local value predictor 122 or a local range predictor 124, or neither of the two predictors 122, 124. The central server 110 may communicate instructions to the client 102 to enable the client 102 to adapt the definition of the local model 106 for its own use, as described below.
[0080] The local model 106 may be mathematically defined as follows:
[0081] f m (θ; x) = λ m ·softmax(f(θ;x)+∞·(h m (x)-1 k ))+(1-λ m )·g m (x) (1)
[0082] where f m , g m and h m are local model 106, local value predictor 122 and local range predictor 104 respectively; f(θ; x) represents global model 116 with global parameters θ and input x; 1 k represents a k-dimensional vector with all entries equal to 1 (k is the number of possible categories); m is a local hyperparameter in the range [0,1]. The hyperparameter can be viewed as a trust factor that measures the relative trust placed on the predictions generated by the local value predictor 122 (where the lower the value of the hyperparameter, the greater the weight (and therefore trust) placed on the local value predictor 122).
[0083] The local model is defined by Figure 3BAs shown, the input x is processed by the local value predictor 122, the local range predictor 124, and the global model 116 (which is a component of the local model 106) to generate corresponding predictions. In one branch, the prediction generated by the local range predictor 124 is combined with the k-dimensional vector 1 k The result of the multiplier operator is summed with the prediction generated by the global model 116, and the result of the summation operator is processed by the softmax function to generate a probability. The output of the softmax function is determined by the hyperparameter λ m In the other branch, the prediction generated by the local value predictor 122 is given by (1-λ m The two branches are then summed and the result is a probability prediction generated by the local model 106.
[0084] Therefore, the present invention may present a local model 106(f) based on the global model 116(f) but with the following constraints: m ): The out-of-local-range predictor 124 (h m ) will be ignored (specifically, will be forced to negative infinity in equation (1) and thus, will have a probability of zero when the softmax function is applied). This ensures that the local model 106 will be consistent with the local range predictor 124. The softmax function is used to convert the class label predictions into probabilities. The local hyperparameter (λ m ) is used to control the local value predictor 122 (g m ) and the relative influence of the local range predictor 124. For example, when λ m When λ is equal to zero, the local model 106 becomes equivalent to the local value predictor 122, and the influence of the global model 116 and the local range predictor 124 is zero. At the other extreme, when λ m When λ is equal to 1, the prediction of the local model 106 is the prediction when the prediction of the global model 116 is within the range predicted by the local range predictor 124. More practically, it is expected that λ m should have a value between these two extremes, so that the local model 106 is a combination of the global model 116 modified by the local range predictor 124 and the local value predictor 122. m The value of may be selected manually or set to, for example, some default value.
[0085] It should be noted that the local model 106 as described above is a probability distribution, which is a smooth function. This means that the local model 106 is differentiable and can therefore be trained using existing machine learning techniques such as gradient descent and back propagation. In order to convert the probability predictions generated by the local model 106 into predicted class labels, an argmax function can be applied to the output from the local model 106.
[0086] As described, the local model 106 is generic to any client 102, which means that each client 102 can use the above method to adapt the global model 116 to its own local model 106 using its own local value predictor 122 and its own local range predictor 124. In some examples, by changing the hyperparameter λ m By setting ∞·(h ) equal to 1, the local model 106 may be adapted to clients 102 that do not have a local value predictor 122 (such that the local model 106 is based only on a combination of the global model 116 and the local range predictor 124). In other examples, by removing the term ∞·(h m (x)-1 k )(which is equivalent to removing Figure 3B ), the local model 106 may be adapted for clients 102 that do not have a local range predictor 124, such that the local model 106 is based solely on a combination of the global model 116 and the local value predictor 122. If a client 102 has neither a local value predictor 122 nor a local range predictor 124, the client 102 may simply use the global model 116 as the local model 106.
[0087] In federated learning, the parameters of the global model 116 are collaboratively learned over several rounds of training using feedback from the clients 102. Figure 3A An exemplary training run is described.
[0088] At the beginning of each round of training, the central server 110 sends the parameters of the global model 116 (referred to as global parameters) to the selected clients 102. The central server 110 may select one, some, or all of the clients 102 in the federated learning system 100 as participants in each round of training. The clients 102 selected for each round of training may be different from round to round. Figure 3A In FIG. 1 , for simplicity, only the mth client 102 is shown (where m may be universal), however, more than one client 102 may participate in the round of training.
[0089] After receiving a copy of the global parameters, the mth client 102 uses the received global parameters to update its own local model 106. The client 102 then applies the local model 106 to its own local data set 104 to compute updates to the local model 106.
[0090] For example, the client 102 may compute a loss function between the predictions generated by the local model 106 (after being updated using the received global parameters) and the true class labels of its local dataset 104. This loss function may be defined using the Kullback-Leibler divergence (KL divergence) between the predictions and the true labels:
[0091]
[0092] Among them, f m (θ; x) is given by the local model (f m ) is a prediction generated for an input x using the parameters θ received from the central server 110; y is the true class label of x (where the (x, y) pair is obtained from the local dataset 104 (D m ) sampling); D KL Indicates KL divergence calculation; Denotes the local loss function at the client 102 .
[0093] This loss function may be used in a stochastic gradient descent calculation. Information about the local model update (eg, in the form of gradients, such as stochastic batch gradients) is sent back to the central server 110 by the client 102 .
[0094] The central server 110 updates the parameters of the global model 116 using the model updates received from each client 102. In general, the optimization to be performed at the central server 110 can be expressed as follows:
[0095]
[0096] in, is the loss function at the central server 110; and wherein S represents the subset of clients 102 that choose to participate in the current round of training.
[0097] The central server 110 may use any suitable federated learning algorithm to aggregate the information received from the clients 102 to solve the optimization problem and update the parameters of the global model 116. The algorithm that may be used is generally referred to as "federated averaging" or FedAvg (e.g., as described in McMahan et al., "Communication-efficient learning of deep networks from decentralized data," AISTATS, 2017), but it should be understood that the present invention is not limited to the FedAvg method.
[0098] In the case of FedAvg, global updates are performed by averaging the model updates received from the clients 102 and adding the average of the received updates to the current global model parameters. If the clients 102 provide model updates to the central server 110 in the form of stochastic batch gradients, the central server 110 may compute the average of the stochastic batch gradients as follows:
[0099]
[0100] in represents the stochastic batch gradient received from the mth client; and where, represents the average gradient calculated by the central server 110 .
[0101] Then, the parameters of the global model 116 may be updated as follows:
[0102]
[0103] where η is a hyperparameter.
[0104] Other federated learning algorithms may be used to aggregate the received model updates (e.g., using a weighted average, etc.) and update the global parameters at the central server 110. It should also be understood that model updates are not necessarily limited to stochastic batch gradients and may be provided in any other suitable manner. After updating the global parameters, the current round of training is complete.
[0105] Multiple rounds of training may be performed (possibly with different clients 102 participating in each round) until a termination condition is met (e.g., a maximum number of rounds has been reached, or the global parameters have converged). After training is complete, each client 102 may use the global parameters to execute its own local model 106 (with its local value predictor 122 and local range predictor 124) to generate predictions.
[0106] Figure 4 4 is a flow chart illustrating an exemplary method 400 that may be performed by a client 102 having a local model 106 having at least one local predictor that is specific to the client 102 and represents domain knowledge (and the local predictor is not necessarily learned from the local dataset 104).
[0107] At 402, the client 102 receives a local model definition, which the client 102 uses to define its local model 106. The local model definition defines the local model 106 as a combination of the global model 116 and the local predictor of the client 102. That is, the local model 106 includes the global model as a component, but not the only component. Along with receiving the local model definition, or before receiving the local model definition, the client 102 may also receive a definition of the global model 116 from the central server 110. The global model definition, for example, defines the architecture of the global model 116 (e.g., neural network layers used to implement the global model 116).
[0108] As described above, client 102 may have a local value predictor 122 and / or a local range predictor 124. Local value predictor 122 is a first type of predictor (e.g., a function, a lookup table, a neural network, a set of rules, etc.) that predicts a class label for a given input, and local range predictor 124 is a second type of predictor (e.g., a function, a lookup table, a neural network, a set of rules, etc.) that predicts a range of class labels for a given input (i.e., one or more predicted class labels). It is known (or expected, or assumed) that local value predictor 122 has errors in some of its predictions (i.e., the predicted class label is different from the true class label of at least one input), while it is known (or expected, or assumed) that local range predictor 124 is always accurate (i.e., the true class label will always be one of the one or more predicted class labels).
[0109] The local model definition combines these predictors with the global model 116. The local model (denoted as f m ) can be defined using equation (1) above. In this definition, the local model 106 is a probabilistic model (e.g., it uses a softmax function to convert class label predictions into probabilities) that is a linear combination of the global model 116 and the local value predictor 122, where a hyperparameter is used to weight the relative influence between the global model 116 (which has been constrained by the local range predictor 124) and the local value predictor 122. In addition, the output from the global model 116 is constrained by the local range predictor 124 so that the probability of any predicted class label generated by the global model 116 that is not within the range of the local range predictor 124 is zero. The mathematical definition is provided in equation (1), however, it should be understood that the present invention is not limited to this particular equation.
[0110] The client 102 can adapt the local model definition to its own configuration. For example, the client 102 can select appropriate values for hyperparameters based on the reliability of the local value predictor 122. In another example, the client 102 can adjust the local model definition based on whether the client 102 has only the local value predictor 122, only the local range predictor 124, both the local value predictor 122 and the local range predictor 124, or neither of the predictors 122, 124. Examples of how the client 102 can adjust the local model definition have been previously described and need not be repeated here.
[0111] Step 402 may be performed at any time before client 102 becomes a participant in a round of collaborative training. For example, step 402 may be performed when client 102 registers with central server 110, or may be performed just before the first round of training in which client 102 has been selected (by central server 110) as a participant.
[0112] The client 102 may participate in a round of training with the central server 110 and other participating clients 102 by performing steps 404 to 410 .
[0113] At 404, the client 102 receives a set of global parameters from the central server 110. The global parameters received at step 404 may be parameters learned from a previous round of training, or, if this is the first round of training, these global parameters may be initial (e.g., randomly initialized) parameters.
[0114] At 406, the client 102 uses the received global parameters to update the parameters of its local model 106. The received global parameters are applied to the global model as part of the local model 106 (e.g., by replacing the current parameters used in the global model components of the local model 106 with the received global parameters). Notably, the local predictors 122, 124 of the client 102 are not affected by this update, and thus the components of the local model 106 corresponding to the local predictors 122, 124 are not updated.
[0115] At 408, a model update is calculated using the local model 106 (after the update at step 406) and the local dataset 104. This can be performed by sampling a batch from the local dataset 104, calculating a loss function (which calculates the error between the predictions generated by the local model 106 and the true labels), and then calculating gradient descent using the loss function. The model update can then be in the form of a gradient, such as a stochastic batch gradient generated by the gradient calculated over the batch.
[0116] At 410 , model updates are transmitted to the central server 110 (eg, in the form of gradients, such as stochastic batch gradients).
[0117] If the central server 110 selects the client 102 for one or more subsequent rounds of training, then steps 404 to 410 (which form one round of training) may be repeated for one or more rounds of training. Training may continue until the central server 110 terminates. When training is complete, the method 400 proceeds to step 412.
[0118] At 412, the client 102 receives a set of trained global parameters from the central server 110. The trained global parameters may be global parameters calculated by the central server 110 from the last round of training before termination.
[0119] At 414, the parameters of the local model 106 are updated using the trained global parameters, such as by applying the trained global parameters to the global model component of the local model 106. The local model 106 with the trained global parameters is now considered trained and can be deployed for inference. Thus, the trained local model 106 incorporates the collaboratively learned global parameters into the global model along with the local predictors (e.g., the local value predictor 122 and / or the local range predictor 124). The client 102 may remain in communication with the central server 110, or may no longer be in communication with the central server 110 (and may disconnect any connection established with the central server 110).
[0120] At 416 , the client 102 executes the local model 106 to generate a prediction.
[0121] Figure 5 1 is a flow chart illustrating an exemplary method 500 that may be performed by the central server 110 .
[0122] At 502, the central server 110 provides a definition of a local model to one or more clients 102. The local model definition is used by the client 102 to define its local model 106. The local model definition defines the local model 106 as a combination of the global model 116 and the local predictor of the client 102, as described above. For example, when a client 102 registers with the central server 110 to collaborate in the federated learning system 100, the central server 110 can provide each client 102 with the local model definition.
[0123] In some examples, the central server 110 may provide different local model definitions to different clients 102, depending on whether each client 102 has a local value predictor 122 and / or a local range predictor 124, or neither. In some examples, the central server 110 may not know which client 102 has which predictor 122, 124 (or neither). In this case, the central server 110 may provide the same local model definition to each client 102, and each client 102 may adapt the local model definition to its own configuration (e.g., by selecting appropriate values for hyperparameters, as described above).
[0124] Optionally, at 504, global parameters are initialized. The global parameters may be initialized randomly or based on parameters learned from a pre-training phase. In some examples, initialization may not be required (e.g., if the global parameters have been previously trained).
[0125] The central server 110 may perform one or more rounds of training, where each round of training may be performed using steps 506 to 514 .
[0126] At 506, one or more clients 102 are selected to participate in the current round of training. The clients 102 may be selected randomly, or based on predefined criteria, such as selecting only clients 102 that did not participate in the immediately previous round of training, etc. The clients 102 may be selected so that a certain predefined number (e.g., 1000 clients 102) or a certain predefined proportion of clients 102 (e.g., 10% of all clients 102) participate in the current round of training.
[0127] At 508, a set of current global parameters (i.e., current parameters of the global model 116, such as current values of weights of a neural network used to implement the global model 116) are transmitted to the selected client 102. The current global parameters may be parameters resulting from a previous round of training. If this is the first round of training, the current global parameters may be initialization values.
[0128] At 510, model updates are received from the selected clients 102. Each client 102 may compute a respective model update and communicate the respective model update (eg, in the form of gradients, such as stochastic batch gradients) to the central server 110, as described above.
[0129] At 512, the received model updates are aggregated into aggregate updates. Any suitable federated learning method may be used to aggregate the model updates, such as aggregating the model updates by calculating an average value (eg, FedAvg) of the model updates.
[0130] At 514, the aggregated update is used to update the global parameters.
[0131] Steps 506 to 514 may be repeated for each round of training until a termination condition is met (eg, a maximum number of training rounds has been reached, or global parameters have converged).
[0132] When the termination condition is met, the central server 110 terminates the training phase. The global parameters are considered trained and can be used in the inference phase.
[0133] At 516, the central server 110 transmits a set of trained global parameters (i.e., global parameters resulting from the last round of training before termination) to all clients 102 of the federated learning system 100. Each client 102 may then use the trained global parameters in its corresponding local model 106 and deploy the local model 106 to generate predictions.
[0134] Method 400 and method 500 may be performed together in the federated learning system 100 (method 400 is performed by the client 102 , and method 500 is performed by the central server 110 ).
[0135] An exemplary application of the present invention is now described in the context of coal blending.
[0136] Coke is the main raw material for blast furnace ironmaking, and its quality directly affects the output of steel. Due to the limited reserves of high-quality coking coal, coking enterprises generally blend a variety of raw coals in a certain proportion to make coke in order to save resources and meet the quality requirements of coke. The main factors affecting the quality of coke include the properties of coal blending and the coking process. Optimizing the proportion of different varieties of raw coal in coal blending is of great significance for obtaining high-quality coke and reducing production costs. Conventionally, most coking enterprises rely on human proprietary technology (usually proprietary technology unique to each coking enterprise) to select the proportion in coal blending, which may not achieve optimized coal blending. In addition, there are many sources of coking coal, and the quality sometimes fluctuates greatly, making the quality of coke unstable. Using an example of the present invention, coking enterprises can collaborate with each other to learn a global model that predicts optimized coal blending, where the global model can then be adapted to each individual coking enterprise by having a local predictor that represents the proprietary technology.
[0137] It should be understood that although the present invention has been described in the context of a model for solving a classification problem, the present invention can be adapted to solve other types of problems, such as regression problems. For example, techniques for adjusting a trained classifier model to generate regression predictions (e.g., by mapping predicted class labels to different numerical ranges) can be used.
[0138] Although the present invention describes methods and processes with steps in a specific order, one or more steps of the methods and processes may be omitted or modified as appropriate. One or more steps may be performed in sequence, but not in the order described (as appropriate).
[0139] Although the present invention has been described, at least in part, in terms of methods, it will be understood by those skilled in the art that the present invention also relates to various components for performing at least some aspects and features of the described methods by hardware components, software, or any combination of the two. Accordingly, the technical solution of the present invention can be embodied in the form of a software product. Suitable software products can be stored in a pre-recorded storage device or other similar non-volatile or non-transient computer-readable medium, such as a DVD, CD-ROM, USB flash drive, removable hard disk or other storage medium. The software product includes instructions stored thereon, which enable a processing device (such as a personal computer, server, or network device) to perform examples of the methods disclosed herein. Machine executable instructions can be in the form of code sequences, configuration information, or other data, which, when executed, cause a machine (e.g., a processor or other processing device) to perform steps in the method according to the examples of the present invention.
[0140] The present invention may be embodied in other specific forms without departing from the subject matter of the claims. The described exemplary embodiments are merely illustrative and not restrictive in all respects. Selected features from one or more of the above embodiments may be combined to create alternative embodiments not explicitly described, and it is understood that features suitable for such combinations are within the scope of the present invention.
[0141] All values and sub-ranges within the disclosed range are also disclosed. In addition, although the systems, devices, and processes disclosed and illustrated herein may include a specific number of elements / assemblies, these systems, devices, and assemblies may be modified to include more or fewer elements / assemblies in such elements / assemblies. For example, although any disclosed element / assembly may be cited as a singular, the embodiments disclosed herein may be modified to include a plurality of such elements / assemblies. The subject matter described herein is intended to cover and encompass all appropriate technical changes.
Claims
1. A computing system, characterized in that: include: A processing unit for executing instructions to cause the computing system to: receiving a set of global parameters from a central server; updating a local model using the set of global parameters, the local model being a combination of a global model applying the set of global parameters and at least one local predictor; Calculating a model update using the updated local model and local dataset; The model updates are transmitted to the central server.
2. The computing system according to claim 1, characterized in that The processing unit is further configured to execute instructions so that the computing system: After transmitting the model update to the central server, receiving a set of trained global parameters from the central server; updating the local model by applying the set of trained global parameters to the global model within the local model; The updated local model is executed to generate a prediction.
3. The computing system according to claim 1 or 2, characterized in that: The at least one local predictor comprises at least one of: A local value predictor that predicts the class label for a given input; or A local scope predictor predicts one or more class labels for the given input.
4. The computing system according to claim 3, characterized in that: The at least one local predictor comprises the local value predictor and the local range predictor, wherein the local model is used to: processing the given input using the global model, the local range predictor, and the local value predictor to generate a corresponding output; constraining the output from the global model to be within one or more class labels output by the local range predictor; weighting the restricted output from the global model based on a hyperparameter and weighting the output from the local value predictor; The weighted constrained output from the global model is summed with the weighted output from the local value predictor to generate a probability prediction as an output of the local model.
5. The computing system according to claim 4, characterized in that: The local model is mathematically defined as: f m (θ;x)=λ m ·softmax(f(θ;x)+∞·(h m (x)-1 k ))+(1-l m )·g m (x) where f m is the local model, θ is the set of global parameters, x is the given input, λ m is the hyperparameter, f is the global model, h m is the local range predictor, g m is the local value predictor, 1 k is a k-dimensional vector with all entries equal to 1, where k is the number of possible class labels.
6. The computing system according to claim 3, characterized in that: The at least one local predictor is the local value predictor, wherein the local model is used to: processing the given input using the global model and the local value predictor to generate a corresponding output; weighting the output from the global model based on a hyperparameter and weighting the output from the local value predictor; The weighted output from the global model is summed with the weighted output from the local value predictor to generate a probability prediction as an output of the local model.
7. The computing system according to claim 3, characterized in that: The at least one local predictor is the local range predictor, wherein the local model is used to: processing the given input using the global model and the local range predictor to generate a corresponding output; constraining the output from the global model to be within one or more class labels output by the local range predictor; A softmax function is applied to the restricted output from the global model to generate a probability prediction as the output of the local model.
8. The computing system according to any one of claims 1 to 7, characterized in that: The processing unit is further configured to execute instructions so that the computing system: Prior to updating the local model, a local model definition is received from the central server defining the local model as the combination of the global model and the at least one local predictor.
9. A method, characterized in that The method comprises: receiving a set of global parameters from a central server; updating a local model using the set of global parameters, the local model being a combination of a global model applying the set of global parameters and at least one local predictor; Calculating a model update using the updated local model and local dataset; The model updates are transmitted to the central server.
10. The method according to claim 9, characterized in that Also includes: After transmitting the model update to the central server, receiving a set of trained global parameters from the central server; updating the local model by applying the set of trained global parameters to the global model within the local model; The updated local model is executed to generate a prediction.
11. The method according to claim 9 or 10, characterized in that: The at least one local predictor comprises at least one of: A local value predictor that predicts the class label for a given input; or A local scope predictor predicts one or more class labels for the given input.
12. The method according to claim 11, characterized in that The at least one local predictor comprises the local value predictor and the local range predictor, wherein the local model is used to: processing the given input using the global model, the local range predictor, and the local value predictor to generate a corresponding output; constraining the output from the global model to be within one or more class labels predicted by the local range predictor; weighting the restricted output from the global model based on a hyperparameter and weighting the output from the local value predictor; The weighted constrained output from the global model is summed with the weighted output from the local value predictor to generate a probability prediction as an output of the local model.
13. The method according to claim 12, characterized in that The local model is mathematically defined as: f m (θ;x)=λ m ·softmax(f(θ;x)+∞·(h m (x)-1 k ))+(1-l m )·g m (x) where f m is the local model, θ is the set of global parameters, x is the given input, λ m is the hyperparameter, f is the global model, h m is the local range predictor, g m is the local value predictor, 1 k is a k-dimensional vector with all entries equal to 1, where k is the number of possible class labels.
14. The method according to claim 11, characterized in that The at least one local predictor is the local value predictor, wherein the local model is used to: processing the given input using the global model and the local value predictor to generate a corresponding output; weighting the output from the global model based on a hyperparameter and weighting the output from the local value predictor; The weighted output from the global model is summed with the weighted output from the local value predictor to generate a probability prediction as an output of the local model.
15. The method according to claim 11, characterized in that The at least one local predictor is the local range predictor, wherein the local model is used to: processing the given input using the global model and the local range predictor to generate a corresponding output; constraining the output from the global model to be within one or more class labels output by the local range predictor; A softmax function is applied to the restricted output from the global model to generate a probability prediction as the output of the local model.
16. The method according to any one of claims 9 to 15, characterized in that Also includes: Prior to updating the local model, a local model definition is received from the central server defining the local model as the combination of the global model and the at least one local predictor.
17. A non-transitory computer-readable medium having instructions encoded thereon, characterized in that: The instructions are executable by a processing unit of a computing system to cause the computing system to perform any one of the methods according to claims 9 to 16.
18. A computing system, characterized in that: include: A processing unit for executing instructions to cause the computing system to: transmitting to one or more clients a definition of a local model to be implemented at each of the one or more clients, wherein the local model is defined as a combination of a global model to which a set of global parameters are to be applied and at least one local predictor specific to each of the one or more clients; Perform one or more training rounds by: transmitting the set of global parameters to one or more selected ones of the one or more clients; receiving a model update from the one or more selected clients; aggregating the received model updates into an aggregate update; updating the set of global parameters using the aggregated update; After the training is terminated, the updated set of global parameters from the previous round of training is transmitted to all of the one or more clients as a set of trained global parameters.
19. The computing system according to claim 18, characterized in that: The definition of the local model defines the at least one local predictor as at least one of: A local value predictor that predicts the class label for a given input; or A local scope predictor predicts one or more class labels for the given input.
20. The computing system of claim 19, wherein: The definition of the local model includes the local value predictor and the local range predictor, wherein the local model is defined as: processing the given input using the global model, the local range predictor, and the local value predictor to generate a corresponding output; constraining the output from the global model to be within one or more class labels predicted by the local range predictor; weighting the restricted output from the global model based on a hyperparameter and weighting the output from the local value predictor; The weighted constrained output from the global model is summed with the weighted output from the local value predictor to generate a probability prediction as an output of the local model.
21. The computing system of claim 20, wherein: The local model is mathematically defined as: f m (θ;x)=λ m ·softmax(f(θ;x)+∞·(h m (x)-1 k ))+(1-l m )·g m (x) where f m is the local model, θ is the set of global parameters, x is the given input, λ m is the hyperparameter, f is the global model, h m is the local range predictor, g m is the local value predictor, 1 k is a k-dimensional vector with all entries equal to 1, where k is the number of possible class labels.
22. The computing system of claim 19, wherein: The definition of the local model includes the local value predictor, wherein the local model is defined as: processing the given input using the global model and the local value predictor to generate a corresponding output; weighting the output from the global model based on a hyperparameter and weighting the output from the local value predictor; The weighted output from the global model is summed with the weighted output from the local value predictor to generate a probability prediction as an output of the local model.
23. The computing system of claim 19, wherein: The definition of the local model includes the local range predictor, wherein the local model is defined as: processing the given input using the global model and the local range predictor to generate a corresponding output; constraining the output from the global model to be within one or more class labels output by the local range predictor; A softmax function is applied to the restricted output from the global model to generate a probability prediction as the output of the local model.