ConceptioArchiveGoogle Patents
Google Patentsopen access

Asynchronously training machine learning models across client devices for … — Adobe Inc. (US11593634B2)

Adobe Inc. · Google Patents
Google Patents · Patents · License: Open Access
Open Source ↗
adobeinc.
patent, google patents, intellectual property, US11593634B2, Adobe Inc., Sunav Choudhary, en, 2023

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

株式会社Preferred Networks

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

Related documents

Record · ID 607054
Retrieved via Conceptio — every document is proof-bundled with source, license, and retrieval metadata.