ABSTRACT
Abstract
This disclosure relates to methods, non-transitory computer readable media, and systems that asynchronously train a machine learning model across client devices that implement local versions of the model while preserving client data privacy. To train the model across devices, in some embodiments, the disclosed systems send global parameters for a global machine learning model from a server device to client devices. A subset of the client devices uses local machine learning models corresponding to the global model and client training data to modify the global parameters. Based on those modifications, the subset of client devices sends modified parameter indicators to the server device for the server device to use in adjusting the global parameters. By utilizing the modified parameter indicators (and not client training data), in certain implementations, the disclosed systems accurately train a machine learning model without exposing training data from the client device.
Description
BACKGROUND
Computer scientists increasingly apply machine learning models to improve a computer's ability to perform a variety of tasks. Such machine learning models may range from regression models to artificial neural networks, such as linear or logistic regression models and convolutional neural networks. When training such models, conventional machine learning systems often use a central server that hosts a machine learning model. In particular, conventional machine learning systems frequently train a machine learning on a central server using client data to learn parameters for the model.
While conventional machine learning systems have improved and expedited machine learning of computer tasks, conventional systems that rely on data from client devices have a number of significant problems. For example, conventional machine learning systems often cannot generate accurate digital models without collecting and utilizing private digital information from client devices. Indeed, conventional machine learning systems often require a large volume of training data to generate accurate models. To gather this information, many conventional machine learning systems monitor data from client devices and then utilize that data to train models at central servers. Recent years, however, have seen increasing demands from both clients and governing institutions to reduce or eliminate use of private information from client devices. Without collecting and utilizing such information, many conventional machine learning systems lack requisite training data and cannot generate accurate models.
In addition to these shortcomings in accuracy, conventional machine learning systems also use an inflexible training approach. For instance, conventional systems that use centralized training often lack models with the functionality or flexibility to adapt to changes in client-data privacy and client-data sharing or use rigid models that unnecessarily slow down the training process. For instance, some conventional machine learning models pull or request client data from client devices to train a machine learning model on a central server. But such conventional systems cannot train (or slow training of) a centralized model when client devices that previously shared client data disconnect from a network, change client-data-privacy settings to prevent sharing client data, or suffer from a software or hardware malfunction.
Beyond an inflexible training approach, conventional machine learning systems also inefficiently consume computing resources. In particular, conventional systems that utilize a central server for training often require significant server processing resources to store and analyze thousands (or millions) of data samples. Accordingly, the process of training a machine learning model can impose significant computational and storage costs on implementing servers.
SUMMARY
This disclosure describes one or more embodiments of methods, non-transitory computer readable media, and systems that solve the foregoing problems in addition to providing other benefits. For example, in some embodiments, the disclosed systems asynchronously train a machine learning model across client devices that implement local versions of the model while also preserving client data privacy. To train the model across devices the disclosed systems can send global parameters for a global machine learning model from a server device to client devices. In a partial barrier approach, a subset of the client devices uses local machine learning models corresponding to the global model to modify the global parameters. Based on those modifications, the subset of client devices sends modified parameter indicators to the server device for the server device to use in adjusting the global parameters. By requesting and receiving the modified parameter indicators (and not client training data), the disclosed systems can train a machine learning model on a cloud while preserving user data privacy without direct receipt of client data. Moreover, the disclosed systems can generate robust and stable parameter updates and provide individual client devices with an adaptive and intelligent experience in real time from fresh local data on client devices.
To illustrate, in some embodiments, the disclosed systems send global parameters for a global machine learning model to client devices that comprise local machine learning models corresponding to the global machine learning model. The systems subsequently receive modified parameter indicators from a subset of client devices. By using the local machine learning models, the global parameters, and client training data, the subset of client devices generates the modified parameter indicators. In response to receiving the modified parameter indicators, the disclosed systems generate adjusted global parameters for the global machine learning model and send the adjusted global parameters to the client devices for implementation with their respective local machine learning models.
BRIEF DESCRIPTION OF THE DRAWINGS
The detailed description refers to the drawings briefly described below.
FIG. 1 illustrates a block diagram of an environment for implementing an artificial intelligence management system and an asynchronous training system in accordance with one or more embodiments.
FIG. 2 illustrates a flow diagram of an asynchronous training system training a machine learning model across client devices in accordance with one or more embodiments.
FIG. 3 A illustrates a client device using a local machine learning model, global parameters, and client training data to generate locally modified parameters and send modified parameter indicators to an asynchronous training system in accordance with one or more embodiments.
FIG. 3 B illustrates an asynchronous training system generating an adjusted global parameter based on modified parameter indicators from client devices in accordance with one or more embodiments.
FIG. 4 illustrates a timeline of training iterations for an asynchronous training system to train a global machine learning model based on modified parameter indicators received from client devices in accordance with one or more embodiments.
FIG. 5 illustrates a flow diagram of an asynchronous training system training a regression model across client devices in accordance with one or more embodiments.
FIG. 6 illustrates a comparison graph depicting training losses of an asynchronous training system and a synchronous training system in accordance with one or more embodiments.
FIG. 7 illustrates performance parameters for a client device executing a local machine learning model in accordance with one or more embodiments.
FIGS. 8 A and 8 B illustrate graphical user interfaces for a spam-email-detector application showing the accuracy of a machine learning model in multiple training iterations of classifying emails in accordance with one or more embodiments.
FIG. 9 illustrates a schematic diagram of the asynchronous training system of FIG. 1 in accordance with one or more embodiments.
FIG. 10 illustrates a flowchart of a series of acts for asynchronously training a machine learning model across client devices in accordance with one or more embodiments.
FIG. 11 illustrates a flowchart of a series of acts for a client device generating locally modified parameters and providing modified parameter indicators in accordance with one or more embodiments.
FIG. 12 illustrates a block diagram of an exemplary computing device for implementing one or more embodiments of the present disclosure.
DETAILED DESCRIPTION
One or more embodiments described herein include an asynchronous training system that trains a machine learning model across client devices that implement local versions of the model, without sending client training data from the client devices to a server device. For instance, in some implementations, the asynchronous training system iteratively sends global parameters of a machine learning model to client devices, receives modifications for the global parameters from a subset of the client devices (a subset identified based on a partial barrier approach), and adjusts the global parameters based on the modifications. In multiple iterations, subsets of client devices use local machine learning models to modify the global parameters and send modified parameter indicators to a server device for use in adjusting the global parameters. In this manner, the asynchronous training system can efficiently, accurately, and flexibly train the global machine learning model, without client training data leaving the client device.
To illustrate, in some embodiments, the asynchronous training system sends global parameters for a global machine learning model from a server to client devices that include local machine learning models corresponding to the global machine learning model. The asynchronous training system subsequently receives, at the server, modified parameter indicators from a subset of client devices. The asynchronous training system can utilize the subset of client devices to generate the modified parameter indicators in part by using the local machine learning models, the global parameters, and client training data on the subset of client devices. In response to receiving the modified parameter indicators at the server, the asynchronous training system generates adjusted global parameters for the global machine learning model and sends the adjusted global parameters from the server to the client devices for implementation in their respective local machine learning models.
In application, the asynchronous training system can train a variety of machine learning models. For instance, in some embodiments, the global machine learning model is a global neural network stored on a server device while the local machine learning models are local neural networks stored on individual client devices. Accordingly, the asynchronous training system may generate global-neural-network parameters for layers of the global neural network and send such parameters to client devices. By contrast, in certain implementations, the global machine learning model is a global regression model stored on a server device and the local machine learning models are local regression models, such as linear or logistic regression models, stored on client devices. Accordingly, the asynchronous training system may generate weights for the global regression model and send such weights to client devices. In some such embodiments, the asynchronous training system uses an asynchronous federated alternating direction method of multipliers (also called âAFADMMâ below) to update local regression models on client devices and train a global regression model without exposing private client data.
As noted above, the asynchronous training system uses a partial barrier approach to training a model across client devices. Rather than receiving modified parameter indicators from the same set of client devices for each training iteration in synchrony, the asynchronous training system receives and uses modified parameter indicators from only a subset of client devices for each training iteration. This subset of client devices may differ from training iteration to training iteration. Accordingly, in some embodiments, the asynchronous training system determines that a subset of client devices for a given training iteration includes a threshold number of client devices that have generated modified parameter indicators. In response to determining that the subset satisfies the threshold number, the asynchronous training system generates adjusted global parameters for use in a subsequent training iteration.
In one or more embodiments, the asynchronous training system can also utilize a bounded delay condition to ensure a broad range of client devices contribute to training (without unnecessarily delaying training iterations). For example, because the subset of client devices sending modified parameter indicators may differ from training iteration to training iteration, the asynchronous training system can tally or track the number of training iterations in which a client device sends modified parameter indicators. For example, in some embodiments, the asynchronous training system identifies a client device from among a group of participating client devices that has not sent a set of modified parameter indicators to the servers in a threshold number of training iterations.
Upon the client device reaching the threshold number of training iterations, the asynchronous training system can wait a threshold time for the client device to generate modified parameter indicators. If the client device subsequently sends modified parameter indicators, the asynchronous training system uses the indicators to update global parameters for that particular training iteration. If the client device does not send modified parameter indicators within the threshold time, the asynchronous training system can remove the client device from further training. In this manner, the asynchronous training system can ensure that client devices with slower response times contribute to the resulting model, without unduly slowing the training process waiting for unresponsive client devices.
As mentioned above, the asynchronous training system can update global parameters based on modified parameter indicators generated by a subset of client devices. When adjusting the global parameters based on modified parameter indicators, the asynchronous training system can determine an average or weighted average of the modified parameter indicators received for a given iteration. For example, in certain embodiments, the asynchronous training system assigns a weight to modified parameter indicators from a particular client device based on a number of training samples from a client-training dataset corresponding to the client device. Based on these weights, the asynchronous training system can determine a weighted average for the modified parameter indicators and generate an adjusted global parameter based on the weighted average.
The disclosed asynchronous training system overcomes several technical deficiencies that hinder conventional machine learning systems. First, the asynchronous training system generates accurate machine learning models without exposing sensitive training data from client devices. To accurately train machine learning models while preserving client-data privacy, the asynchronous training system uses local versions of machine learning models on client devices to generate modified parameter indicators and a global machine learning model on a server device that updates based on the modified parameter indicators. By using such local and global machine learning models, the asynchronous training system can train highly accurate models based on thousands (or millions) of training samples without transmitting any client training data to a central server. The asynchronous training system can also improve accuracy of a machine learning model by allowing for real-time adaptation of global parameters from client devices over time. Accordingly, the asynchronous training system can provide client devices with a local machine learning model that delivers an intelligent and adaptive real-time experience while respecting user privacy.
Second, the asynchronous training system improves the functionality and flexibility of training machine learning models relative to conventional systems. For example, rather than relying on transmission from the same set of client devices for training data, in certain implementations, the asynchronous training system receives and uses modi
BACKGROUND
Computer scientists increasingly apply machine learning models to improve a computer's ability to perform a variety of tasks. Such machine learning models may range from regression models to artificial neural networks, such as linear or logistic regression models and convolutional neural networks. When training such models, conventional machine learning systems often use a central server that hosts a machine learning model. In particular, conventional machine learning systems frequently train a machine learning on a central server using client data to learn parameters for the model.
While conventional machine learning systems have improved and expedited machine learning of computer tasks, conventional systems that rely on data from client devices have a number of significant problems. For example, conventional machine learning systems often cannot generate accurate digital models without collecting and utilizing private digital information from client devices. Indeed, conventional machine learning systems often require a large volume of training data to generate accurate models. To gather this information, many conventional machine learning systems monitor data from client devices and then utilize that data to train models at central servers. Recent years, however, have seen increasing demands from both clients and governing institutions to reduce or eliminate use of private information from client devices. Without collecting and utilizing such information, many conventional machine learning systems lack requisite training data and cannot generate accurate models.
In addition to these shortcomings in accuracy, conventional machine learning systems also use an inflexible training approach. For instance, conventional systems that use centralized training often lack models with the functionality or flexibility to adapt to changes in client-data privacy and client-data sharing or use rigid models that unnecessarily slow down the training process. For instance, some conventional machine learning models pull or request client data from client devices to train a machine learning model on a central server. But such conventional systems cannot train (or slow training of) a centralized model when client devices that previously shared client data disconnect from a network, change client-data-privacy settings to prevent sharing client data, or suffer from a software or hardware malfunction.
Beyond an inflexible training approach, conventional machine learning systems also inefficiently consume computing resources. In particular, conventional systems that utilize a central server for training often require significant server processing resources to store and analyze thousands (or millions) of data samples. Accordingly, the process of training a machine learning model can impose significant computational and storage costs on implementing servers.
SUMMARY
This disclosure describes one or more embodiments of methods, non-transitory computer readable media, and systems that solve the foregoing problems in addition to providing other benefits. For example, in some embodiments, the disclosed systems asynchronously train a machine learning model across client devices that implement local versions of the model while also preserving client data privacy. To train the model across devices the disclosed systems can send global parameters for a global machine learning model from a server device to client devices. In a partial barrier approach, a subset of the client devices uses local machine learning models corresponding to the global model to modify the global parameters. Based on those modifications, the subset of client devices sends modified parameter indicators to the server device for the server device to use in adjusting the global parameters. By requesting and receiving the modified parameter indicators (and not client training data), the disclosed systems can train a machine learning model on a cloud while preserving user data privacy without direct receipt of client data. Moreover, the disclosed systems can generate robust and stable parameter updates and provide individual client devices with an adaptive and intelligent experience in real time from fresh local data on client devices.
To illustrate, in some embodiments, the disclosed systems send global parameters for a global machine learning model to client devices that comprise local machine learning models corresponding to the global machine learning model. The systems subsequently receive modified parameter indicators from a subset of client devices. By using the local machine learning models, the global parameters, and client training data, the subset of client devices generates the modified parameter indicators. In response to receiving the modified parameter indicators, the disclosed systems generate adjusted global parameters for the global machine learning model and send the adjusted global parameters to the client devices for implementation with their respective local machine learning models.
BRIEF DESCRIPTION OF THE DRAWINGS
The detailed description refers to the drawings briefly described below.
FIG. 1 illustrates a block diagram of an environment for implementing an artificial intelligence management system and an asynchronous training system in accordance with one or more embodiments.
FIG. 2 illustrates a flow diagram of an asynchronous training system training a machine learning model across client devices in accordance with one or more embodiments.
FIG. 3 A illustrates a client device using a local machine learning model, global parameters, and client training data to generate locally modified parameters and send modified parameter indicators to an asynchronous training system in accordance with one or more embodiments.
FIG. 3 B illustrates an asynchronous training system generating an adjusted global parameter based on modified parameter indicators from client devices in accordance with one or more embodiments.
FIG. 4 illustrates a timeline of training iterations for an asynchronous training system to train a global machine learning model based on modified parameter indicators received from client devices in accordance with one or more embodiments.
FIG. 5 illustrates a flow diagram of an asynchronous training system training a regression model across client devices in accordance with one or more embodiments.
FIG. 6 illustrates a comparison graph depicting training losses of an asynchronous training system and a synchronous training system in accordance with one or more embodiments.
FIG. 7 illustrates performance parameters for a client device executing a local machine learning model in accordance with one or more embodiments.
FIGS. 8 A and 8 B illustrate graphical user interfaces for a spam-email-detector application showing the accuracy of a machine learning model in multiple training iterations of classifying emails in accordance with one or more embodiments.
FIG. 9 illustrates a schematic diagram of the asynchronous training system of FIG. 1 in accordance with one or more embodiments.
FIG. 10 illustrates a flowchart of a series of acts for asynchronously training a machine learning model across client devices in accordance with one or more embodiments.
FIG. 11 illustrates a flowchart of a series of acts for a client device generating locally modified parameters and providing modified parameter indicators in accordance with one or more embodiments.
FIG. 12 illustrates a block diagram of an exemplary computing device for implementing one or more embodiments of the present disclosure.
DETAILED DESCRIPTION
One or more embodiments described herein include an asynchronous training system that trains a machine learning model across client devices that implement local versions of the model, without sending client training data from the client devices to a server device. For instance, in some implementations, the asynchronous training system iteratively sends global parameters of a machine learning model to client devices, receives modifications for the global parameters from a subset of the client devices (a subset identified based on a partial barrier approach), and adjusts the global parameters based on the modifications. In multiple iterations, subsets of client devices use local machine learning models to modify the global parameters and send modified parameter indicators to a server device for use in adjusting the global parameters. In this manner, the asynchronous training system can efficiently, accurately, and flexibly train the global machine learning model, without client training data leaving the client device.
To illustrate, in some embodiments, the asynchronous training system sends global parameters for a global machine learning model from a server to client devices that include local machine learning models corresponding to the global machine learning model. The asynchronous training system subsequently receives, at the server, modified parameter indicators from a subset of client devices. The asynchronous training system can utilize the subset of client devices to generate the modified parameter indicators in part by using the local machine learning models, the global parameters, and client training data on the subset of client devices. In response to receiving the modified parameter indicators at the server, the asynchronous training system generates adjusted global parameters for the global machine learning model and sends the adjusted global parameters from the server to the client devices for implementation in their respective local machine learning models.
In application, the asynchronous training system can train a variety of machine learning models. For instance, in some embodiments, the global machine learning model is a global neural network stored on a server device while the local machine learning models are local neural networks stored on individual client devices. Accordingly, the asynchronous training system may generate global-neural-network parameters for layers of the global neural network and send such parameters to client devices. By contrast, in certain implementations, the global machine learning model is a global regression model stored on a server device and the local machine learning models are local regression models, such as linear or logistic regression models, stored on client devices. Accordingly, the asynchronous training system may generate weights for the global regression model and send such weights to client devices. In some such embodiments, the asynchronous training system uses an asynchronous federated alternating direction method of multipliers (also called âAFADMMâ below) to update local regression models on client devices and train a global regression model without exposing private client data.
As noted above, the asynchronous training system uses a partial barrier approach to training a model across client devices. Rather than receiving modified parameter indicators from the same set of client devices for each training iteration in synchrony, the asynchronous training system receives and uses modified parameter indicators from only a subset of client devices for each training iteration. This subset of client devices may differ from training iteration to training iteration. Accordingly, in some embodiments, the asynchronous training system determines that a subset of client devices for a given training iteration includes a threshold number of client devices that have generated modified parameter indicators. In response to determining that the subset satisfies the threshold number, the asynchronous training system generates adjusted global parameters for use in a subsequent training iteration.
In one or more embodiments, the asynchronous training system can also utilize a bounded delay condition to ensure a broad range of client devices contribute to training (without unnecessarily delaying training iterations). For example, because the subset of client devices sending modified parameter indicators may differ from training iteration to training iteration, the asynchronous training system can tally or track the number of training iterations in which a client device sends modified parameter indicators. For example, in some embodiments, the asynchronous training system identifies a client device from among a group of participating client devices that has not sent a set of modified parameter indicators to the servers in a threshold number of training iterations.
Upon the client device reaching the threshold number of training iterations, the asynchronous training system can wait a threshold time for the client device to generate modified parameter indicators. If the client device subsequently sends modified parameter indicators, the asynchronous training system uses the indicators to update global parameters for that particular training iteration. If the client device does not send modified parameter indicators within the threshold time, the asynchronous training system can remove the client device from further training. In this manner, the asynchronous training system can ensure that client devices with slower response times contribute to the resulting model, without unduly slowing the training process waiting for unresponsive client devices.
As mentioned above, the asynchronous training system can update global parameters based on modified parameter indicators generated by a subset of client devices. When adjusting the global parameters based on modified parameter indicators, the asynchronous training system can determine an average or weighted average of the modified parameter indicators received for a given iteration. For example, in certain embodiments, the asynchronous training system assigns a weight to modified parameter indicators from a particular client device based on a number of training samples from a client-training dataset corresponding to the client device. Based on these weights, the asynchronous training system can determine a weighted average for the modified parameter indicators and generate an adjusted global parameter based on the weighted average.
The disclosed asynchronous training system overcomes several technical deficiencies that hinder conventional machine learning systems. First, the asynchronous training system generates accurate machine learning models without exposing sensitive training data from client devices. To accurately train machine learning models while preserving client-data privacy, the asynchronous training system uses local versions of machine learning models on client devices to generate modified parameter indicators and a global machine learning model on a server device that updates based on the modified parameter indicators. By using such local and global machine learning models, the asynchronous training system can train highly accurate models based on thousands (or millions) of training samples without transmitting any client training data to a central server. The asynchronous training system can also improve accuracy of a machine learning model by allowing for real-time adaptation of global parameters from client devices over time. Accordingly, the asynchronous training system can provide client devices with a local machine learning model that delivers an intelligent and adaptive real-time experience while respecting user privacy.
Second, the asynchronous training system improves the functionality and flexibility of training machine learning models relative to conventional systems. For example, rather than relying on transmission from the same set of client devices for training data, in certain implementations, the asynchronous training system receives and uses modified parameter indicators from different subsets of client devices for different training iterations. Accordingly, when client devices that previously shared client data disconnect from a network, change client-data-privacy settings to prevent sharing client data, or suffer from a software or hardware malfunction, the asynchronous training system can still train the machine learning model using modified parameter indicators from a subset of client devices and preserve client-data privacy.
Third, the asynchronous training system more efficiently trains machine learning models using less server resources than conventional systems and distributing training activities across devices. As outlined above, the asynchronous training system can restrict communications between a central server and client devices to include only modified parameter indicators. This approach reduces storage and processing requirements while more efficiently distributing the training workload across devices. In particular, central servers can pass along some of the computing burden to individual client devices, without over-taxing individual client devices. As shown in a test implementation, a resource-constrained client device, such as a smartphone, that runs a native application to train the local machine learning model consumes relatively little computing resources. Moreover, the disclosed systems can reduce computer processing and storage requirements on central servers, by eliminating the burden of receiving, storing, and analyzing thousands (or millions) of data samples from client devices.
Fourth, the asynchronous training system also introduce a faster, more flexible approach to training machine learning models than previous systems. For example, as mentioned above, the asynchronous training system can employ a flexible-bounded-delay-training approach that ensures a broad range of client devices with different processing capabilities contribute to the global machine learning model without slowing training. The asynchronous training system can also avoid waiting on a set of client devices to send client data in synchrony. Rather, the asynchronous training system runs through training iterations quickly and efficiently by relying on only a subset of client devices for modified parameter indicators in each training iteration.
As illustrated by the foregoing discussion, this disclosure uses a variety of terms to describe features and advantages of the digital content generation system. For example, as used in this disclosure, the term âasynchronous trainingâ refers to receiving or using training data from a subset of computer sources during a training iteration (as opposed to using training data from a set of computer sources that send data during each training iteration). In particular, in some cases, the term âasynchronous trainingâ refers to receiving or using modified parameter indicators from a subset of client devices to adjust global parameters during a training iteration.
Relatedly, the term âmachine learning modelâ refers to a computer model trained to perform one or more tasks by learning to approximate functions or parameters based on training input. In particular, in some embodiments, the term âmachine learning modelâ refers to a computer-executable algorithm that automatically improves a computer's ability to perform one or more tasks by learning to approximate functions or parameters based on client training data.
As noted above, a machine learning model may be global or local. A âglobal machine learning modelâ refers to a machine learning model stored or implemented on a server or group of servers. By contrast, a âlocal machine learning modelâ refers to a machine learning model stored or implemented on a client device. In some embodiments, one or more local machine learning models correspond to a global machine learning model. For instance, a local machine learning model may be the same model as a global machine learning model, except that the locally modified parameters for the local machine learning model may differ after a training iteration in which a client device adjusts global parameters to generate locally modified parameters.
As noted above, a machine learning model may come in a variety of forms, such as a neural network or a regression model. The term âneural networkâ refers to a machine learning model patterned after a network of biological neurons that can be trained to learn non-linear functions based on training input. In particular, the term âneural networkâ can include a model of interconnected digital neurons that communicate and learn to approximate complex functions and generate outputs based on inputs provided to the model. A neural network includes an algorithm that implements deep learning techniques, that is, machine learning that utilizes a set of algorithms to attempt to model high-level abstractions in data. A neural network can include a variety of deep learning models, including convolutional neural networks, deep belief networks, or deep stacking networks.
By contrast, the term âregression modelâ refers to a statistical model for estimating relationship among parameters. For instance, a âregression modelâ includes a linear regression or a logistic regression that estimates a parameter for a function based on independent variables. A regression model may likewise use Stochastic Gradient Descent, Adaptive Gradient Algorithm (âAdaGradâ), Adaptive Moment Estimation (âAdamâ), Alternating Direction Method of Multipliers (âADMMâ), or other optimization algorithms.
In some embodiments, machine learning models implement parameters. The term âglobal parameterâ refers to an estimated or learned variable initiated, adjusted, or configured by a global machine learning model. In particular, in some cases, the term âglobal parameterâ refers to a configuration variable that the asynchronous training system initiates or configures for use in local machine learning models based on modified parameter indicators. As just suggested, in some cases, the asynchronous training system initiates global parameters before sending initial global parameters to client devices for implementation. Relatedly, the term âadjusted global parameterâ refers to a global parameter that the asynchronous training system has adjusted based on modified parameter indicators (from client devices).
The term âlocally modified parameterâ refers to a parameter modified by a client device through a training iteration of a local machine learning model. In particular, the term âlocally modified parameterâ refers to a parameter estimated by a client device after a training iteration of a local machine learning model based on client training data. As suggested above, in some cases, a client device generates a locally modified parameter after implementing a global parameter in a local machine learning model, running a training iteration of the local machine learning model with client training data, and adjusting the global parameter to reduce a loss from a loss function.
Relatedly, the term âmodified parameter indicatorâ refers to an indication of a modification to a global parameter based on (or comprising) a locally modified parameter. In particular, in some embodiments, the term âmodified parameter indicatorâ refers to a parameter update differential that represents a difference between a locally modified parameter and a global parameter. By contrast, in some embodiments, the term âmodified parameter indicatorâ refers to a locally modified parameter.
The term âclient training dataâ refers to data from a client device utilized to train a machine learning model. In particular, âclient training dataâ includes input into, received by, or stored by a client device to train a local machine learning model. For example, in some embodiments, client training data may include user activity via a client device, a browser type, content selections, emails, digital content consumed, a native application type, search queries, messages, user commands, websites visited, purchases, demographic information, geographic location, account information, or some other data type. In certain embodiments, a portion of client training data may include features, such as features within an input data matrix or features within a response vector.
In some cases, client training data includes âground-truth featuresâ and âtraining model input data.â The term âground-truth featureâ refers to empirically observed data utilized as a reference to train or tune a machine learning model. For instance, a ground-truth feature includes user input/action, a characteristic of a client device, or a characteristic of a user associated with a client device utilized as a reference point to tune a machine learning model.
By contrast, the term âtraining model input dataâ refers to data analyzed by a machine learning model to generate an output (e.g., data analyzed to generate a classifier, prediction, or suggested modification for digital content). In particular, the term âtraining model input dataâ includes data input into, received by, or stored by a client device that is analyzed by a local machine learning model to predict a particular feature. For example, the asynchronous training system can apply a local machine learning model to training model input data (e.g., contents of an email message) on a client device to generate a predicted feature (e.g., predict that the email is spam). The predicted feature can then be compared to a ground-truth feature (e.g., an indication that the user has already marked the email as spam) to generate locally modified parameters and tune the local machine learning model.
Turning now to FIG. 1 , this figure depicts a block diagram illustrating an environment 100 in which an asynchronous training system 106 can operate in accordance with one or more embodiments. As illustrated in FIG. 1 , the environment 100 includes server(s) 102 ; client devices 112 a - 112 n ; and a network 110 , such as the Internet. The client devices 112 a - 112 n may include, but are not limited to, mobile devices (e.g., smartphones, tablets), laptops, desktops, or any other type of computing device, such as those described below in relation to FIG. 12 . Similarly, the network 110 may comprise any of the networks described below in relation to FIG. 12 .
As shown in FIG. 1 , the server(s) 102 host an artificial intelligence management system 104 , which includes the asynchronous training system 106 and a global machine learning model 108 . Both the artificial intelligence management system 104 and the global machine learning model 108 may take a variety of forms and perform a variety of tasks. For example, in some embodiments, the artificial intelligence management system 104 can use the global machine learning model 108 to analyze, modify, manage, and perform tasks for digital content campaigns, digital images, or digital texts. Based on user input from one of the client devices 112 a - 112 n , for instance, the artificial intelligence management system 104 can analyze, organize, or modify digital images, such as by identifying objects portrayed in digital images, recommending modifications to digital images, animating digital objects, or reorganizing objects within digital images. Using the global machine learning model 108 , the artificial intelligence management system 104 can also analyze, create, or modify digital texts, such as by generating suggested revisions to textual content or generating suggested target audiences for textual content.
In certain embodiments, the artificial intelligence management system 104 can personalize delivery or selection of digital content for the client devices 112 a - 112 n . For instance, in some implementations, the artificial intelligence management system 104 uses the global machine learning model 108 to determine digital content that would interest users of the client devices 112 a - 112 n and send digital content of interest (or recommendations of digital content) to the client devices 112 a - 112 n as part of a digital content campaign. Additionally, in some cases, the artificial intelligence management system 104 can use the global machine learning model 108 to categorize digital content that reflects user preferences and identifies digital content received by the client devices 112 a - 112 n for their respective users (e.g., by identifying objects within digital images, identifying an email as spam or as important).
As further illustrated in FIG. 1 , the client devices 112 a - 112 n communicate through the network 110 with the artificial intelligence management system 104 and the asynchronous training system 106 via the server(s) 102 . Accordingly, a user associated with one of the client devices 112 a - 112 n can access one or more digital images, digital texts, software applications, or other digital content provided (in whole or in part) by the artificial intelligence management system 104 , including to download a native application. Additionally, in some embodiments, third party server(s) (not shown) provide data to the server(s) 102 that enable the artificial intelligence management system 104 or the asynchronous training system 106 to access, download, or upload digital images, digital texts, software applications, or other digital content via the server(s) 102 .
As indicated in FIG. 1 , the client devices 112 a - 112 n respectively include digital content applications 114 a - 114 n . The digital content applications 114 a - 114 n may take a variety of forms, such as native applications or web browsers that access websites for designing digital illustrations, generating audio, presenting multimedia content, animating digital characters, or presenting or editing digital documents. To access the artificial intelligence management system 104 , in certain embodiments, a user interacts with one of the digital content applications 114 a - 114 n on the client devices 112 a - 112 n . As suggested above, in some embodiments, the digital content applications 114 a - 114 n comprise web browsers, applets, or other software applications (e.g., native applications) available to the client devices 112 a - 112 n . Additionally, in some instances, the digital content applications 114 a - 114 n are integrated within applications or webpages.
As further shown in FIG. 1 , the client devices 112 a - 112 n and digital content applications 114 a - 114 n respectively include local machine learning models 116 a - 116 n . Each of the local machine learning models 116 a - 116 n correspond to the global machine learning model 108 . Accordingly, in some embodiments, the asynchronous training system 106 provides global parameters to the client devices 112 a - 112 n for implementation on the local machine learning models 116 a - 116 n to perform any of the variety of tasks described above for the global machine learning model 108 . Using the local machine learning models 116 a - 116 n , in some cases, the client devices 112 a - 112 n can analyze, modify, manage, and perform tasks for digital content campaigns, digital images, or digital texts. The client devices 112 a - 112 n may also categorize digital content that reflects user preferences or identify digital content received by the client devices 112 a - 112 n for their respective users.
Although FIG. 1 illustrates the asynchronous training system 106 implemented as part of the server(s) 102 , the asynchronous training system 106 can also be implemented (e.g., perform acts or processes) via the client device(s) 112 a - 112 n . For example, as suggested above, in a given training iteration the asynchronous training system 106 can utilize the client devices 112 a - 112 n to receive global parameters for the global machine learning model 108 from the server(s) 102 . After receipt of the global parameters for a given training iteration, some of the client devices 112 a - 112 n use their respective local machine learning model 116 a - 116 n , global parameters, and client training data at the client devices 112 a - 112 n to generate locally modified parameters. Based on the locally modified parameters, a subset of the client devices 112 a - 112 n subsequently sends modified parameter indicators to the server(s) 102 .
As mentioned above, in certain embodiments, the server(s) 102 both send global parameters to the client devices 112 a - 112 n and receive modified parameter indicators from a subset of the client devices 112 a - 112 n . As part of a given training iteration, the server(s) 102 may further generate adjusted global parameters based on the modified parameter indicators and send the adjusted global parameters to the client devices 112 a - 112 n . Moreover, as part of each subsequent training iteration the asynchronous training system 106 can utilize the client devices 112 a - 112 n to implement the adjusted global parameters in their respective local machine learning models 116 a - 116 n.
In addition to using modified parameter indicators, in some embodiments, the server(s) 102 further uses training samples to train the global machine learning model 108 to learn global parameters. For instance, in addition to using modified parameter indicators from the client devices 112 a - 112 n , the asynchronous training system 106 optionally implements the global machine learning model 108 to generate adjusted global parameters based on global parameters and global training data (e.g., computer-generated training data or client training data from different sources).
While FIG. 1 depicts only a few client devices, in alternative embodiments, the environment 100 includes more than one of both of the client devices 112 a - 112 n and their respective users. The environment 100 can include any number of client devices. For example, in some embodiments, the environment 100 includes hundreds, thousands, millions, or billions of users and corresponding client devices. Moreover, although FIG. 1 illustrates a particular arrangement for the server(s) 102 , the client devices 112 a - 112 n , and the network 110 , various additional arrangements are possible. For example, the client devices 112 a - 112 n may directly communicate with the server(s) 102 and thereby bypass the network 110 .
FIG. 2 provides an example of the asynchronous training system 106 described above. In particular, FIG. 2 depicts a flow diagram of the asynchronous training system 106 training a machine learning model across client devices that implement local versions of the model in multiple training iterations in accordance with one or more embodiments. As depicted, in each training iteration, the asynchronous training system 106 utilizes the server(s) 102 to sends a set of global parameters to the client devices 112 a - 112 n . After receiving a set of the global parameters, the asynchronous training system 106 utilizes some or all of the client devices 112 a - 112 n to implement the global parameters in the local machine learning models 116 a - 116 n . A subset of the client devices 112 a - 112 n further generate and send modified parameter indicators to the server(s) 102 .
As indicated above, the local machine learning models 116 a - 116 n correspond to the global machine learning model 108 . For instance, in certain embodiments, the local machine learning models 116 a - 116 n represent copies of the global machine learning model 108 . In multiple training iterations, some or all of the client devices 112 a - 112 n implement global parameters from the server(s) 102 in their respective local machine learning models 116 a - 116 n and adjust the global parameters to reduce a loss determined locally by the client devices 112 a - 112 n . Through multiple training iterations, the asynchronous training system 106 learns and incrementally adjusts the global parameters by receiving modified parameter indicators from a subset of the client devices 112 a - 112 n and adjusting the global parameters at the server(s) 102 based on the modified parameter indicators received in each training iteration.
As part of an initial training iteration, for instance, the asynchronous training system 106 initiates global parameters 202 for the global machine learning models 108 . To initiate the global parameters 202 , in some embodiments, the asynchronous training system 106 randomly selects or sets predetermined values for the global parameters 202 . The asynchronous training system 106 subsequently sends, via the server(s) 102 , the global parameters 202 to the client devices 112 a - 112 n . For example, the asynchronous training system 106 may send a copy of the global parameters 202 to each of the client devices 112 a - 112 n.
During the initial training iteration, the asynchronous training system 106 utilizes the client devices
112 a and 112 b to implement the global parameters 202 in the local machine learning models
116 a and 116 b to generate locally modified parameters based on client training data. As shown in FIG. 2 , the client devices 112 a - 112 n include client training data 208 a - 208 n , respectively. In some embodiments, the client devices
112 a and 112 b apply the local machine learning models
116 a and 116 b (respectively) with the global parameters 202 to the client training data
208 a and 208 b (respectively) to generate locally modified parameters. Based on the locally modified parameters, the client devices
112 a and 112 b generate a set of modified parameter indicators
204 a and 204 b , respectively, and send the sets of modified parameter indicators
204 a and 204 b to the server(s) 102 .
As FIG. 2 further illustrates, during the initial training iteration, only a subset of the client devices 112 a - 112 n send the sets of modified parameter indicators
204 a and 204 b to the server(s) 102 . Notably, the client device 112 n either does not send a set of modified parameters indicators or sends its set of modified parameters only after the asynchronous training system 106 has received a threshold set of modified parameter indicators.
Moreover, as shown in FIG. 2 , when sending the sets of modified parameter indicators
204 a and 204 b to the server(s) 102 , the client devices
112 a and 112 b do not send the client training data
208 a and 208 b to the server(s) 102 . By not sending the client training data
208 a and 208 b from the client devices
112 a and 112 b (or receiving the client training data at the server(s) 102 ), the asynchronous training system 106 preserves the client data privacy of the client devices
112 a and 112 b.
In response to receiving the sets of modified parameter indicators
204 a and 204 b , the asynchronous training system 106 generates, at the server(s) 102 , adjusted global parameters. For example, in some embodiments, the asynchronous training system 106 determines that the client devices
112 a and 112 b include a threshold number of client devices (from among the client devices 112 a - 112 n ) to have generated modified parameter indicators. The two client devices
112
CLAIMS
Claims ( 20 )
We claim:
1. A computer-implemented method comprising:
sending global parameters for a global machine learning model to a plurality of client devices, the plurality of client devices comprising local machine learning models that represent local versions of the global machine learning model;
receiving a first set of modified parameter indicators from a first client device of the plurality of client devices and a second set of modified parameter indicators from a second client device of the plurality of client devices, wherein the first client device and the second client device utilize the global parameters, client training data, and a first local machine learning model and a second machine learning model specific to the first client device and the second client device, respectively, to generate the first set of modified parameter indicators and the second set of modified parameter indicators;
determining a first set of weights for the first set of modified parameter indicators specific to a first number of training samples corresponding to the first client device;
determining a second set of weights for the second set of modified parameter indicators specific to a second number of training samples corresponding to the second client device;
generating adjusted global parameters for the global machine learning model based on the first set of modified parameter indicators adjusted based on the first set of weights and the second set of modified parameter indicators adjusted based on the second set of weights; and
sending the adjusted global parameters for the global machine learning model to the plurality of client devices for implementation in the local machine learning models at the plurality of client devices.
2. The computer-implemented method of claim 1 , wherein:
the adjusted global parameters for the global machine learning model comprises global-neural-network parameters for layers of a global neural network stored at a server device; and
the local machine learning models comprise local neural networks associated with the global neural network.
3. The computer-implemented method of claim 1 , further comprising determining the first set of weights and the second set of weights, respectively, after receiving the first set of modified parameter indicators from the first client device and receiving the second set of modified parameter indicators from the second client device.
4. The computer-implemented method of claim 1 , wherein the first set of modified parameter indicators do not disclose client training data from the first client device.
5. The computer-implemented method of claim 1 , wherein the first set of modified parameter indicators comprise parameter update differentials that each represent a difference between a locally modified parameter generated by the first client device and a global parameter generated by a server device.
6. A system for asynchronously training machine learning models across client devices while preserving client data privacy comprising:
at least one processor; and
at least one non-transitory computer memory comprising a global machine learning model and instructions that, when executed by at least one processor, cause the system to:
send global parameters for the global machine learning model to a plurality of client devices, the plurality of client devices comprising local machine learning models that represent local versions of the global machine learning model;
receive a first set of modified parameter indicators from a first client device of the plurality of client devices and a second set of modified parameter indicators from a second client device of the plurality of client devices, wherein the first client device and the second client device utilize the global parameters, client training data, and a first local machine learning model and a second machine learning model specific to the first client device and the second client device, respectively, to generate the first set of modified parameter indicators and the second set of modified parameter indicators;
determine a first set of weights for the first set of modified parameter indicators specific to a first number of training samples corresponding to the first client device;
determine a second set of weights for the second set of modified parameter indicators specific to a second number of training samples corresponding to the second client device;
generate adjusted global parameters for the global machine learning model based on the first set of modified parameter indicators adjusted based on the first set of weights and the second set of modified parameter indicators adjusted based on the second set of weights; and
send the adjusted global parameters for the global machine learning model to the plurality of client devices for implementation in the local machine learning models at the plurality of client devices.
7. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to receive the first set of modified parameter indicators from the first client device without receiving the client training data from the first client device.
8. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to:
receive modified parameter indicators from a subset of client devices; and
generate the adjusted global parameters for the global machine learning model by:
determining that the subset of client devices includes a threshold number of client devices from among the plurality of client devices that have generated the modified parameter indicators; and
in response to determining that the subset of client devices includes the threshold number of client devices, generating the adjusted global parameters for the global machine learning model.
9. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to:
receive modified parameter indicators from a subset of client devices; and
generate the adjusted global parameters for the global machine learning model by:
identifying a client device, from among the subset of client devices, that has not sent previous sets of modified parameter indicators to the system in a threshold number of training iterations; and
generating the adjusted global parameters for the global machine learning model utilizing, from the received modified parameter indicators, one or more modified parameter indicators from the client device.
10. The system of claim 9 , further comprising instructions that, when executed by the at least one processor, cause the system to identify the client device from among the plurality of client devices by:
identifying a parameter-update-iteration indicator for the client device indicating a number of training iterations since the client device has sent a set of modified parameter indicators; and
determining that the parameter-update-iteration indicator for the client device satisfies the threshold number of training iterations.
11. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the adjusted global parameters for the global machine learning model by:
sending a request for modified parameter indicators to a client device, from among the plurality of client devices, that has not sent a set of modified parameter indicators to the system in a threshold number of training iterations; and
in response to determining that the client device has not responded to the request for modified parameter indicators within a threshold time, removing the client device from a group of client devices that the system uses for adjusting the global parameters.
12. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to determine the first set of weights for the first set of modified parameter indicators based on a number of features corresponding to the first client device.
13. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to:
receive the first set of modified parameter indicators from the first client device by receiving parameter update differentials that each represent a difference between a locally modified parameter generated by the first client device and a global parameter generated by a server device.
14. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the adjusted global parameters for the global machine learning model by:
determining weighted averages for the parameter update differentials; and
generating the adjusted global parameters based on the weighted averages for the parameter update differentials.
15. The system of claim 6 , wherein the global machine learning model comprises a regression model or a neural network stored at a server device and the local machine learning models comprise associated with regression models or associated with neural networks stored at the plurality of client devices.
16. A non-transitory computer readable storage medium comprising instructions that, when executed by at least one processor, cause a client device to:
receive, at the client device from a server device, global parameters corresponding to a global machine learning model at the server device, wherein a local machine learning model at the client device represents a local version of the global machine learning model;
utilize the local machine learning model, the global parameters, and client training data at the client device to generate locally modified parameters;
provide modified parameter indicators corresponding to the locally modified parameters to the server device and a number of training samples corresponding to the client device, without providing the client training data to the server device, for the server device to utilize the modified parameter indicators in adjusting the global parameters; and
receive adjusted global parameters corresponding to the global machine learning model from the server device to implement in the local machine learning model at the client device, wherein the adjusted global parameters are based on weights determined for the modified parameter indicators using the number of training samples and additional modified parameter indicators from an additional client device weighted utilizing an additional number of training samples corresponding to the additional client device.
17. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the client device to provide the modified parameter indicators to the server device by:
determining a first difference between a first locally modified parameter and a first global parameter and a second difference between a second locally modified parameter and a second global parameter; and
generating a first parameter update differential representing the first difference and a second parameter update differential representing the second difference.
18. The non-transitory computer readable storage medium of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the client device to provide a number of training iterations since the client device has sent a set of modified parameter indicators as basis for utilizing the modified parameter indicators in adjusting the global parameters.
19. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the client device to utilize the local machine learning model, the global parameters, and the client training data at the client device to generate the locally modified parameters by:
applying the global parameters in the local machine learning model to a set of client training data from the client training data at the client device to generate a predicted feature; and
based on a comparison of the predicted feature and a ground-truth feature from the client training data that corresponds to the predicted feature, modifying the global parameters to generate the locally modified parameters.
20. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the client device to, in response to receiving the adjusted global parameters corresponding to the global machine learning model from the server device:
identify a second set of client training data at the client device; and provide a second set of modified parameter indicators to the server device based on the second set of client training data at the client device.
US16/012,356
2018-06-19
2018-06-19
Asynchronously training machine learning models across client devices for adaptive intelligence
Active
2041-01-24
US11593634B2
( en )
Priority Applications (1)
Application Number
Priority Date
Filing Date
Title
US16/012,356
US11593634B2
( en )
2018-06-19
2018-06-19
Asynchronously training machine learning models across client devices for adaptive intelligence
Applications Claiming Priority (1)
Application Number
Priority Date
Filing Date
Title
US16/012,356
US11593634B2
( en )
2018-06-19
2018-06-19
Asynchronously training machine learning models across client devices for adaptive intelligence
Publications (2)
Publication Number
Publication Date
US20190385043A1
US20190385043A1 ( en )
2019-12-19
US11593634B2
true
US11593634B2 ( en )
2023-02-28
Family
ID=68840146
Family Applications (1)
Application Number
Title
Priority Date
Filing Date
US16/012,356
Active
2041-01-24
US11593634B2
( en )
2018-06-19
2018-06-19
Asynchronously training machine learning models across client devices for adaptive intelligence
Country Status (1)
Country
Link
US
( 1 )
US11593634B2
( en )
Cited By (5)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20210406782A1
( en )
*
2020-06-30
2021-12-30
TieSet, Inc.
System and method for decentralized federated learning
US20220101174A1
( en )
*
2020-09-28
2022-03-31
International Business Machines Corporation
Sharing and executing custom machine learning algorithms
US20220108177A1
( en )
*
2019-05-16
2022-04-07
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Concepts for federated learning, client classification and training data similarity measurement
US20220138626A1
( en )
*
2020-11-02
2022-05-05
Tsinghua University
System For Collaboration And Optimization Of Edge Machines Based On Federated Learning
US12118372B2
( en )
*
2022-09-20
2024-10-15
Microsoft Technology Licensing, Llc
App usage models with privacy protection
Families Citing this family (104)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US8977255B2
( en )
2007-04-03
2015-03-10
Apple Inc.
Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2
( en )
2008-10-02
2014-03-18
Apple Inc.
Electronic devices with voice command and contextual data processing capabilities
EP4560630A3
( en )
2013-02-07
2025-08-06
Apple Inc.
Voice trigger for a digital assistant
US10170123B2
( en )
2014-05-30
2019-01-01
Apple Inc.
Intelligent assistant for home automation
US9715875B2
( en )
2014-05-30
2017-07-25
Apple Inc.
Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2
( en )
2014-06-30
2016-05-10
Apple Inc.
Intelligent automated assistant for TV user interactions
US9886953B2
( en )
2015-03-08
2018-02-06
Apple Inc.
Virtual assistant activation
US10460227B2
( en )
2015-05-15
2019-10-29
Apple Inc.
Virtual assistant in a communication session
US10747498B2
( en )
2015-09-08
2020-08-18
Apple Inc.
Zero latency digital assistant
US10331312B2
( en )
2015-09-08
2019-06-25
Apple Inc.
Intelligent automated assistant in a media environment
US10691473B2
( en )
2015-11-06
2020-06-23
Apple Inc.
Intelligent automated assistant in a messaging environment
US10586535B2
( en )
2016-06-10
2020-03-10
Apple Inc.
Intelligent digital assistant in a multi-tasking environment
US12197817B2
( en )
2016-06-11
2025-01-14
Apple Inc.
Intelligent device arbitration and control
DK201670540A1
( en )
2016-06-11
2018-01-08
Apple Inc
Application integration with a digital assistant
US11204787B2
( en )
2017-01-09
2021-12-21
Apple Inc.
Application integration with a digital assistant
JP6720402B2
( en )
*
2017-03-21
2020-07-08
æ ªå¼ä¼ç¤¾ï¼°ï½ï½ ï½ï½ ï½ï½ï½ ï½ ï¼®ï½ ï½ï½ï½ï½ï½ï½
Server device, learned model providing program, learned model providing method, and learned model providing system
DK179496B1
( en )
2017-05-12
2019-01-15
Apple Inc.
USER-SPECIFIC Acoustic Models
US10303715B2
( en )
2017-05-16
2019-05-28
Apple Inc.
Intelligent automated assistant for media exploration
US10818288B2
( en )
2018-03-26
2020-10-27
Apple Inc.
Natural assistant interaction
DK180639B1
( en )
2018-06-01
2021-11-04
Apple Inc
DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11075930B1
( en )
*
2018-06-27
2021-07-27
Fireeye, Inc.
System and method for detecting repetitive cybersecurity attacks constituting an email campaign
KR102484647B1
( en )
*
2018-07-11
2023-01-04
ì¼ì±ì ì주ìíì¬
Method of controlling electronic apparatus and computer-readable recording medium
JP6966395B2
( en )
*
2018-08-23
2021-11-17
æ ªå¼ä¼ç¤¾æ¥ç«è£½ä½æ
Optimization system and optimization method
US11462215B2
( en )
2018-09-28
2022-10-04
Apple Inc.
Multi-modal inputs for voice commands
US12493793B2
( en )
*
2018-11-13
2025-12-09
Teradata Us, Inc.
Methods and techniques for deep learning at scale over very large distributed datasets
RU2702980C1
( en )
*
2018-12-14
2019-10-14
СамÑÑнг ÐлекÑÑÐ¾Ð½Ð¸ÐºÑ Ðо., ÐÑд.
Distributed learning machine learning models for personalization
KR102814130B1
( en )
2019-01-03
2025-05-28
ì¼ì±ì ì주ìíì¬
Apparatus and method for managing application
JP7036049B2
( en )
*
2019-01-18
2022-03-15
ãªã ãã³æ ªå¼ä¼ç¤¾
Model integration device, model integration method, model integration program, inference system, inspection system, and control system
US11030086B2
( en )
*
2019-02-15
2021-06-08
Tencent America LLC
Machine learning model full life cycle management framework
US11348573B2
( en )
2019-03-18
2022-05-31
Apple Inc.
Multimodality in digital assistant systems
US11307752B2
( en )
2019-05-06
2022-04-19
Apple Inc.
User configurable task triggers
DK201970509A1
( en )
2019-05-06
2021-01-15
Apple Inc
Spoken notifications
US20200364608A1
( en )
*
2019-05-13
2020-11-19
International Business Machines Corporation
Communicating in a federated learning environment
US11887585B2
( en )
*
2019-05-31
2024-01-30
Apple Inc.
Global re-ranker
US12265888B1
( en )
*
2019-05-31
2025-04-01
United Services Automobile Association (Usaa)
Edge computing for machine learning
US11551118B2
( en )
*
2019-06-05
2023-01-10
Koninklijke Philips N.V.
Tuning implementation of machine learning model for resource-constrained device
JP7393882B2
( en )
*
2019-06-18
2023-12-07
ãã¤ãã³ã¡ãã£ã«ã«ã·ã¹ãã ãºæ ªå¼ä¼ç¤¾
Medical information processing equipment and medical information processing system
US11348143B2
( en )
*
2019-06-27
2022-05-31
Capital One Services, Llc
Dynamic selection of advertisements using deep learning models on client devices
CN112396070B
( en )
*
2019-08-13
2025-07-18
ä¸å ´é讯è¡ä»½æéå ¬å¸
Model training method, device and system, and prediction method and device
US11836583B2
( en )
*
2019-09-09
2023-12-05
Huawei Cloud Computing Technologies Co., Ltd.
Method, apparatus and system for secure vertical federated learning
US12045716B2
( en )
*
2019-09-19
2024-07-23
Lucinity ehf
Federated learning system and method for detecting financial crime behavior across participating entities
US11227067B2
( en )
2019-09-19
2022-01-18
Lucinity ehf
Autoencoder-based information content preserving data anonymization method and system
US11836615B2
( en )
*
2019-09-20
2023-12-05
International Business Machines Corporation
Bayesian nonparametric learning of neural networks
US20210125105A1
( en )
*
2019-10-23
2021-04-29
The United States Of America, As Represented By The Secretary Of The Navy
System and Method for Interest-focused Collaborative Machine Learning
US11500929B2
( en )
*
2019-11-07
2022-11-15
International Business Machines Corporation
Hierarchical federated learning using access permissions
CN112884159B
( en )
*
2019-11-30
2024-06-18
åä¸ºææ¯æéå ¬å¸
Model updating system, model updating method and related equipment
KR20210086008A
( en )
*
2019-12-31
2021-07-08
ì¼ì±ì ì주ìíì¬
Method and apparatus for personalizing content recommendation model
US12619925B2
( en )
2020-01-16
2026-05-05
Telefonaktiebolaget Lm Ericsson (Publ)
Context-level federated learning
US11574246B2
( en )
*
2020-01-21
2023-02-07
Microsoft Technology Licensing, Llc
Updating training examples for artificial intelligence
US11394774B2
( en )
*
2020-02-10
2022-07-19
Subash Sundaresan
System and method of certification for incremental training of machine learning models at edge devices in a peer to peer network
CN111310932B
( en )
*
2020-02-10
2024-09-27
æ·±å³åæµ·å¾®ä¼é¶è¡è¡ä»½æéå ¬å¸
Method, device, equipment and readable storage medium for optimizing transverse federal learning system
CN111401913A
( en )
*
2020-03-19
2020-07-10
æ¯ä»å®(æå·)ä¿¡æ¯ææ¯æéå ¬å¸
Model learning method, device and system for private data protection
US20210312257A1
( en )
*
2020-04-07
2021-10-07
Microsoft Technology Licensing, Llc
Distributed neuromorphic infrastructure
KR102544531B1
( en )
*
2020-04-27
2023-06-16
íêµì ì기ì ì°êµ¬ì
Federated learning system and method
US11574254B2
( en )
*
2020-04-29
2023-02-07
International Business Machines Corporation
Adaptive asynchronous federated learning
US12301635B2
( en )
2020-05-11
2025-05-13
Apple Inc.
Digital assistant hardware abstraction
CN115427969A
( en )
*
2020-05-15
2022-12-02
Oppo广ä¸ç§»å¨éä¿¡æéå ¬å¸
Model updating method and device and communication equipment
CN113704807B
( en )
*
2020-05-20
2024-08-27
ä¸å½ç§å¦ææ¯å¤§å¦
Defense method against user-level attacks in privacy-preserving federated learning framework
US12572778B2
( en )
*
2020-06-01
2026-03-10
Nvidia Corporation
Technique to perform neural network architecture search with federated learning
US20210374608A1
( en )
*
2020-06-02
2021-12-02
Samsung Electronics Co., Ltd.
System and method for federated learning using weight anonymized factorization
DE102021108101A1
( en )
*
2020-06-02
2021-12-02
Samsung Electronics Co., Ltd.
System and method for federal learning using anonymized weighting factorization
KR102501496B1
( en )
*
2020-06-11
2023-02-20
ë¼ì¸íë¬ì¤ 주ìíì¬
Method, system, and computer program for providing multiple models of federated learning using personalization
US20210390434A1
( en )
*
2020-06-12
2021-12-16
Qualcomm Incorporated
Machine learning error reporting
EP4165563A1
( en )
*
2020-06-15
2023-04-19
Telefonaktiebolaget LM ERICSSON (PUBL)
Methods and devices for avoiding misinformation in machine learning
CN111708640A
( en )
*
2020-06-23
2020-09-25
èå·èçµè½æºå屿éå ¬å¸
Edge calculation-oriented federal learning method and system
CN111832729A
( en )
*
2020-07-06
2020-10-27
ä¸åæ°åç»æµåå±ç ç©¶é¢
Distributed deep learning reasoning deployment method for protecting data privacy
US11438683B2
( en )
2020-07-21
2022-09-06
Apple Inc.
User identification using headphones
US11694116B2
( en )
*
2020-07-27
2023-07-04
BlueOwl, LLC
Vehicle resiliency, driving feedback and risk assessment using machine learning-based vehicle wear scoring
EP4182853A1
( en )
*
2020-07-28
2023-05-24
Huawei Technologies Co., Ltd.
Massively scalable, resilient, and adaptive federated learning system
CN112087272B
( en )
*
2020-08-04
2022-07-19
ä¸çµç§æä»ªç§æè¡ä»½æéå ¬å¸
Automatic detection method for electromagnetic spectrum monitoring receiver signal
WO2022038397A1
( en )
*
2020-08-19
2022-02-24
Telefonaktiebolaget Lm Ericsson (Publ)
Generating a machine learning model
CN114265601B
( en )
*
2020-09-16
2025-06-06
ä¼å§è¥¿Ipæ§è¡æéè´£ä»»å ¬å¸
Method, device and program product for managing artificial intelligence applications
CN114282678A
( en )
*
2020-09-18
2022-04-05
åä¸ºææ¯æéå ¬å¸
Method for training machine learning model and related equipment
US12393869B2
( en )
*
2020-09-24
2025-08-19
Electronics And Telecommunications Research Institute
Distributed training method between terminal and edge cloud server
TWI777262B
( en )
*
2020-09-30
2022-09-11
è²¡åæ³äººè³è¨å·¥æ¥ç鲿
Machine learning system and machine learning method
US12572842B2
( en )
*
2020-10-09
2026-03-10
Huawei Cloud Computing Technologies Co., Ltd.
Methods and systems for decentralized federated learning
CN114629930A
( en )
*
2020-12-10
2022-06-14
åä¸ºææ¯æéå ¬å¸
Method and communication device for semi-asynchronous federal learning
US12536371B2
( en )
*
2020-12-18
2026-01-27
Google Llc
On-device grammar checking
KR102562377B1
( en )
*
2020-12-29
2023-08-01
ì±ê· ê´ëíêµì°ííë ¥ë¨
Method and system for federated learning of artificial intelligence for providing diagnosis information of depression
CA3143855A1
( en )
*
2020-12-30
2022-06-30
Atb Financial
Systems and methods for federated learning on blockchain
CN114791798B
( en )
*
2021-01-25
2025-03-21
å«å®å¥åº·ç§æéå¢è¡ä»½æéå ¬å¸
Business implementation method, device, equipment and storage medium
CN113761350B
( en )
*
2021-03-08
2024-09-20
åäº¬äº¬ä¸æ¯ä¸ä¿¡æ¯ææ¯æéå ¬å¸
A data recommendation method, related device and data recommendation system
US12229280B2
( en )
*
2021-03-16
2025-02-18
Accenture Global Solutions Limited
Privacy preserving cooperative learning in untrusted environments
CN112884164B
( en )
*
2021-03-18
2023-06-23
ä¸å½å°è´¨å¤§å¦ï¼å京ï¼
A federated machine learning migration method and system for smart mobile terminals
CN113159327B
( en )
*
2021-03-25
2024-04-09
æ·±å³åæµ·å¾®ä¼é¶è¡è¡ä»½æéå ¬å¸
Model training method, device, and electronic device based on federated learning system
CN113259363B
( en )
*
2021-05-26
2022-09-02
ä¸å½äººæ°è§£æ¾åæç¥æ¯æ´é¨éä¿¡æ¯å·¥ç¨å¤§å¦
Covert communication method and device
US20220383204A1
( en )
*
2021-05-28
2022-12-01
Google Llc
Ascertaining and/or mitigating extent of effective reconstruction, of predictions, from model updates transmitted in federated learning
EP4343708A4
( en )
*
2021-07-12
2024-08-07
Shanghai United Imaging Healthcare Co., Ltd.
METHOD AND DEVICE FOR TRAINING MACHINE LEARNING MODELS, COMPUTER DEVICE AND STORAGE MEDIUM
CN113723617B
( en )
*
2021-08-26
2024-08-06
æ¸ å大å¦
Two-stage federated learning method and system
CN113761748B
( en )
*
2021-09-09
2023-09-15
ä¸å½ç¿ä¸å¤§å¦
An industrial process soft measurement method based on federated incremental random configuration network
CN113762530B
( en )
*
2021-09-28
2024-02-02
å京èªç©ºèªå¤©å¤§å¦
Precision feedback federated learning method for privacy protection
CN114048160B
( en )
*
2021-11-08
2024-08-16
䏿µ·å è¯éæçµè·¯è¡ä»½æéå ¬å¸
Link balance adjusting system and link balance adjusting method
CN114065863B
( en )
*
2021-11-18
2023-08-29
å京ç¾åº¦ç½è®¯ç§ææéå ¬å¸
Method, device, system, electronic device and storage medium for federated learning
KR102893801B1
( en )
*
2021-11-30
2025-12-01
íêµì ìíµì ì°êµ¬ì
Federated learning apparatus with mobile core system and the method thereof
CN114327671A
( en )
*
2021-12-03
2022-04-12
å京达佳äºèä¿¡æ¯ææ¯æéå ¬å¸
Parameter configuration method, device, equipment and storage medium
CN114492179B
( en )
*
2022-01-13
2024-09-17
å·¥èµ(éå²)ç§ææéå ¬å¸
Information processing system, method, device, equipment and storage medium
CN116502197A
( en )
2022-01-19
2023-07-28
æ´å°äº§åæéå ¬å¸
Computer-implemented method, apparatus, and computer program product
US20230267372A1
( en )
*
2022-02-24
2023-08-24
SliceX AI, Inc.
Hyper-efficient, privacy-preserving artificial intelligence system
CN114841370B
( en )
*
2022-04-29
2022-12-09
æå·éå´´ä¿¡æ¯ç§ææéå ¬å¸
Processing method and device of federal learning model, electronic equipment and storage medium
WO2024031564A1
( en )
*
2022-08-11
2024-02-15
Huawei Cloud Computing Technologies Co., Ltd.
Methods and systems for federated learning with local predictors
TW202416188A
( en )
*
2022-10-12
2024-04-16
è²¡åæ³äººè³è¨å·¥æ¥ç鲿
Federated learning method and system
WO2024103271A1
( en )
*
2022-11-16
2024-05-23
åä¸ºææ¯æéå ¬å¸
Communication methods and related apparatuses
CN116546567B
( en )
*
2023-07-06
2023-11-24
æ·±å³å¸å¤§æ°æ®ç ç©¶é¢
Data processing method and system based on Bayesian federal learning and electronic equipment
CN117035057B
( en )
*
2023-07-31
2025-09-09
å京ç工大å¦
Personalized federal learning method based on model and data distillation
Citations (16)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20150127337A1
( en )
*
2013-11-04
2015-05-07
Google Inc.
Asynchronous optimization for sequence training of neural networks
US20170039485A1
( en )
*
2015-08-07
2017-02-09
Nec Laboratories America, Inc.
System and Method for Balancing Computation with Communication in Parallel Learning
US20170091652A1
( en )
*
2015-09-24
2017-03-30
Linkedin Corporation
Regularized model adaptation for in-session recommendations
US20170091651A1
( en )
*
2015-09-24
2017-03-30
Linkedin Corporation
Version control for asynchronous distributed machine learning
<tr itemprop="backwar