IP Library Granted Patent US 12688462
Granted Patent B2
US 12688462 · App. 18/341,730 · Granted Jul 21, 2026

Systems and methods for generating federated learning models

Inventors: Jeremy Goodsitt (Champaign, IL); Michael Davis (Arlington, VA); Taylor Turner (Richmond, VA); Kenny Bean (Herndon, VA); Tyler Farnan (San Diego, CA)
Assignee: Capital One Services, LLC
G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12688462
App. No.
18/341,730
Granted
Jul 21, 2026
Kind
B2
Abstract

Methods and systems for generating federated learning models. In some aspects, the system receives, from each client device, user data profiles that are anonymized with respect to users associated with user data stored locally at a client device. The system processes the user data profiles to generate a plurality of clusters. For each cluster, the system transmits, to one or more client devices corresponding to a cluster, a first instruction to train a machine learning model on user data corresponding to user data profiles included in the cluster and a second instruction to validate the machine learning model with respect to user data corresponding to one or more clusters of the plurality of clusters other than the cluster to generate a prediction accuracy metric. The system determines, from the plurality of clusters, a first cluster based on associated prediction accuracy metrics.

Claims (78)

1 . A system for generating federated learning models based on user data profiles executed locally at client devices, comprising a centralized device including:

one or more processors; and

a non-transitory, computer-readable storage medium storing instructions that, when executed by the one or more processors, cause operations comprising:

receiving, from each client device of a plurality of client devices, user data profiles corresponding to the client device, wherein the user data profiles are generated based on user data stored locally at the client device, wherein the user data profiles are anonymized with respect to users associated with the user data stored locally at the client device;

processing, using a clustering function, the user data profiles to generate a plurality of clusters, each cluster comprising a subset of the user data profiles across one or more client devices;

for each cluster of the plurality of clusters:

transmitting, to the one or more client devices corresponding to a cluster, a first instruction to train a machine learning model on user data corresponding to the user data profiles included in the cluster;

transmitting, to the one or more client devices corresponding to the cluster, a second instruction to validate the machine learning model with respect to user data corresponding to one or more clusters of the plurality of clusters other than the cluster to generate a prediction accuracy metric; and

determining a combined prediction accuracy metric for the cluster based on prediction accuracy metrics from each client device of the one or more client devices corresponding to the cluster;

determining, from the plurality of clusters, a first cluster having a highest value for the combined prediction accuracy metric;

generating a first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster; and

processing, using the first machine learning model, input data to produce corresponding output data.

2 . The system of claim 1 , comprising a respective client device configured for:

processing, using a data profiling function, user data stored locally at the respective client device to generate corresponding user data profiles of the user data profiles, wherein the user data profiles are anonymized with respect to users associated with the user data; and

transmitting, to the centralized device, the user data profiles.

3 . The system of claim 2 , wherein the respective client device is further configured to train the machine learning model on the user data corresponding to the user data profiles included in the cluster, comprising:

processing the user data to determine an amount of random noise required;

generating the random noise, wherein the random noise comprises additional data; and

adding the random noise to the user data on the respective client device prior to training the machine learning model.

4 . The system of claim 1 , wherein generating the first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster comprises:

receiving, from the one or more client devices, a plurality of sets of model weights, wherein each client device of the one or more client devices transmits a set of model weights;

aggregating the plurality of sets of model weights into an aggregated set of model weights; and

generating the first machine learning model corresponding to the first cluster using the aggregated set of model weights.

5 . A method for generating federated learning models based on user data profiles, comprising:

receiving, from each client device of a plurality of client devices, user data profiles that are anonymized with respect to users associated with user data stored locally at a client device;

processing, using a clustering function, the user data profiles to generate a plurality of clusters;

for each cluster of the plurality of clusters:

transmitting, to one or more client devices corresponding to a cluster, a first instruction to train a machine learning model on user data corresponding to the user data profiles included in the cluster; and

transmitting, to the one or more client devices corresponding to the cluster, a second instruction to validate the machine learning model with respect to user data corresponding to one or more clusters of the plurality of clusters other than the cluster to generate a prediction accuracy metric;

determining, from the plurality of clusters, a first cluster based on associated prediction accuracy metrics; and

generating a first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster.

6 . The method of claim 5 , further comprising determining a combined prediction accuracy metric for the cluster based on prediction accuracy metrics from each client device of the one or more client devices corresponding to the cluster.

7 . The method of claim 5 , further comprising processing, using the first machine learning model, input data to produce corresponding output data.

8 . The method of claim 5 , further comprising:

determining, for each cluster in the plurality of clusters, a threshold for a respective prediction accuracy metric;

determining, for each cluster in the plurality of clusters, whether a corresponding prediction accuracy metric is lower than the threshold;

in response to detecting the corresponding prediction accuracy metric of the machine learning model is lower than the threshold, receiving from the plurality of client devices, new user data profiles corresponding to each client device;

processing, using the clustering function, the new user data profiles to generate a new plurality of clusters; and

generating an updated first machine learning model, wherein the updated first machine learning model corresponds to a new cluster with a highest value for a combined prediction accuracy metric.

9 . The method of claim 5 , wherein each cluster in the plurality of clusters comprises a subset of the user data profiles across the one or more client devices.

10 . The method of claim 5 , further comprising:

processing, at a respective client device, using a data profiling function, user data stored locally at the respective client device to generate corresponding user data profiles of the user data profiles, wherein the user data profiles are anonymized with respect to users associated with the user data; and

transmitting, to a centralized device, the user data profiles.

11 . The method of claim 10 , further comprising training at the client device the machine learning model on user data corresponding to the user data profiles included in the cluster, comprising:

processing the user data to determine an amount of random noise required;

generating the random noise, wherein the random noise comprises additional data; and

adding the random noise to the user data on the client device prior to training the machine learning model.

12 . The method of claim 5 , wherein generating the first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster comprises:

receiving, from the one or more client devices, a plurality of sets of model weights, wherein each client device of the one or more client devices transmits a set of model weights;

aggregating the plurality of sets of model weights into an aggregated set of model weights; and

generating the first machine learning model corresponding to the first cluster using the aggregated set of model weights.

13 . A non-transitory, computer-readable storage medium storing instructions that, when executed by one or more processors, cause operations comprising:

receiving, from each client device of a plurality of client devices, user data profiles that are anonymized with respect to users associated with user data stored locally at a client device;

processing, using a clustering function, the user data profiles to generate a plurality of clusters;

for each cluster of the plurality of clusters:

transmitting, to one or more client devices corresponding to a cluster, a first instruction to train a machine learning model on user data corresponding to the user data profiles included in the cluster; and

transmitting, to the one or more client devices corresponding to the cluster, a second instruction to validate the machine learning model with respect to user data corresponding to one or more clusters of the plurality of clusters other than the cluster to generate a prediction accuracy metric;

determining, from the plurality of clusters, a first cluster based on associated prediction accuracy metrics; and

processing, using a first machine learning model corresponding to the first cluster, input data to produce corresponding output data.

14 . The non-transitory, computer-readable storage medium of claim 13 , wherein the instructions further cause the one or more processors to perform operations comprising:

processing, at a respective client device, using a data profiling function, user data generated locally at the respective client device to generate corresponding user data profiles of the user data profiles, wherein the user data profiles are anonymized with respect to users associated with the user data; and

transmitting, to a centralized device, the user data profiles.

15 . The non-transitory, computer-readable storage medium of claim 14 , wherein the instructions cause training, at the client device the machine learning model on user data corresponding to the user data profiles included in the cluster, comprising:

processing the user data to determine an amount of random noise required;

generating the random noise, wherein the random noise comprises additional data; and

adding the random noise to the user data on the client device prior to training the machine learning model.

16 . The non-transitory, computer-readable storage medium of claim 13 , wherein generating the first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster further comprises:

receiving, from the one or more client devices, a plurality of sets of model weights, wherein each client device transmits a set of model weights;

aggregating the plurality of sets of model weights into an aggregated set of model weights; and

generating the first machine learning model corresponding to the first cluster using the aggregated set of model weights.

17 . The non-transitory, computer-readable storage medium of claim 13 , wherein the instructions cause the one or more processors to determine a combined prediction accuracy metric for the cluster based on prediction accuracy metrics from each client device of the one or more client devices corresponding to the cluster.

18 . The non-transitory, computer-readable storage medium of claim 13 , wherein the instructions further cause the one or more processors to perform operations comprising:

determining, for each cluster in the plurality of clusters, a threshold for a respective prediction accuracy metric;

determining, for each cluster in the plurality of clusters, whether a corresponding prediction accuracy metric is lower than the threshold;

in response to detecting the corresponding prediction accuracy metric of the machine learning model is lower than the threshold, receiving from the plurality of client devices, new user data profiles corresponding to each client device;

processing, using the clustering function, the new user data profiles to generate a new plurality of clusters; and

generating an updated first machine learning model, wherein the updated first machine learning model corresponds to a new cluster with a highest value for a combined prediction accuracy metric.

19 . The non-transitory, computer-readable storage medium of claim 13 , wherein the instructions further cause the one or more processors to generate the first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster.