IP Library Granted Patent US 12,242,589
Granted Patent B2
US 12,242,589 · App. 17/818,967 · Granted Mar 4, 2025

Hidden machine learning for federated learning

Inventor: Jeremy Goodsitt (Champaign, IL)
Assignee: Capital One Services, LLC
G06F21/44G06N20/20H04L9/3213
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 12,242,589
App. No.
17/818,967
Granted
Mar 4, 2025
Kind
B2
Abstract

A method includes providing a distributed instance of a machine learning model to a client computing device and access to a predetermined token associated with a predetermined label to a client-side application at the client computing device. The client-side application is configured to cause the client computing device to detect a user input that includes the first predetermined token, provide the user input to the distributed instance to obtain a first predicted label for the first predetermined token, and update a set of model parameters of the distributed instance based on the first predicted label and the first predetermined label. The method may also include updating the machine learning model by obtaining the one or more updated model parameters of the distributed instance from the client computing device.

Claims (88)

1. A system for updating a federated learning model to identify sensitive information using client-prestored sensitive tokens, the system comprising a computer system that comprises one or more processors programmed with computer program instructions that, when executed, cause the computer system to perform operations comprising:

sending, to a client computing device, a distributed instance of a machine learning model and a client-side training application for training the distributed instance;

sending, to the client-side training application, predetermined sensitive tokens associated with predetermined sensitivity levels, the predetermined sensitive tokens comprising a first sensitive token associated with a first predetermined sensitivity level of the predetermined sensitivity levels, wherein the client-side training application is configured to cause the client computing device to perform operations comprising:

storing, via the client-side training application, the predetermined sensitive tokens associated with the predetermined sensitivity levels at an encrypted data storage of the client computing device;

detecting, based on the predetermined sensitive tokens stored at the client computing device, a user input comprising the first sensitive token and first surrounding tokens around the first sensitive token in the user input, the user input being provided into a user interface of another client-side application executing at the client computing device;

training the distributed instance of the machine learning model based on the user input and the first predetermined sensitivity level for the first sensitive token by:

providing the user input comprising the first sensitive token and a set of surrounding tokens of the first sensitive token to a client model instance of the machine learning model to obtain a first predicted sensitivity level for the first sensitive token; and

updating weights of hidden layers of the client model instance based on an assessment of the first predicted sensitivity level against the first predetermined sensitivity level; and

updating the machine learning model based on the updated weights of the hidden layers of the client model instance by obtaining the updated weights of the hidden layers of the client model instance from the client computing device.

2. The system of claim 1 , wherein:

providing the user input to the client model instance comprises:

providing the user input to a first client sub-model of the client model instance to obtain a set of context tokens selected from the set of surrounding tokens; and

providing the set of context tokens and the first sensitive token to a second client sub-model of the client model instance to obtain the first predicted sensitivity level; and

updating the weights of the hidden layers comprises updating the weights of the first sub-model of the client model instance.

3. The system of claim 2 , wherein updating the machine learning model comprises updating the machine learning model based on the weights of the first client sub-model and the second client sub-model.

4. The system of claim 1 , wherein the client computing device is a first client computing device, the computer system to perform operations further comprising:

obtaining a target machine learning hyperparameter;

obtaining metrics associated with a plurality of client computing devices comprising the first client computing device; and

determining whether the first client computing device of the plurality of client computing devices satisfies a set of criteria based on the target machine learning hyperparameter, wherein sending the machine learning model to the first client computing device comprises selecting the first client computing device based on a determination that the first client computing device satisfies the set of criteria.

5. The system of claim 4 , the computer system to perform operations further comprising obtaining a target sensitive information type, wherein determining whether the first client computing device of the plurality of client computing devices satisfies the set of criteria comprises determining whether the first client computing device of the plurality of client computing devices satisfies the set of criteria based on the target sensitive information type.

6. The system of claim 1 , wherein:

the client-side training application is further configured to cause the client computing device to perform operations comprising generating a hashed or encrypted version of the user input; and

detecting the user input comprises detecting that a hashed or encrypted version of a token of the user input matches a hashed or encrypted version of the first sensitive token.

7. A method comprising:

providing, to a client computing device, a distributed instance of a machine learning model;

providing, to a client-side application at the client computing device, access to one or more sensitive tokens associated with one or more predetermined labels, the one or more sensitive tokens comprising a first sensitive token associated with a first predetermined label of the one or more predetermined labels, wherein the client-side application is configured to cause the client computing device to perform operations comprising:

detecting, with the client computing device, a user input based on the one or more sensitive tokens, the user input comprising the first sensitive token being provided into a user interface of another client-side application at the client computing device;

providing, from the client computing device, the user input comprising the first sensitive token to the distributed instance of the machine learning model to obtain a first predicted label for the first sensitive token; and

updating, with the client computing device, one or more model parameters of the distributed instance of the machine learning model based on the first predicted label and the first predetermined label; and

updating the machine learning model based on the one or more updated model parameters of the distributed instance of the machine learning model by obtaining the one or more updated model parameters of the distributed instance from the client computing device.

8. The method of claim 7 , wherein the one or more updated model parameters is a first set of updated model parameters that correspond with a first set of neural units of a neural network, the client computing device is a first client computing device, further comprising:

receiving a second set of updated model parameters from a second client computing device, wherein the second set of updated model parameters corresponds with the first set of neural units;

combining the first and second sets of model parameters to determine a first set of combined values;

receiving a third set of updated model parameters from a third client computing device, wherein the third set of updated model parameters correspond with a second set of neural units of the neural network, and wherein the second set of neural units do not comprise the first set of neural units;

receiving a fourth set of updated model parameters from a fourth client computing device, wherein the fourth set of updated model parameters correspond with the second set of neural units; and

combining the third set of updated model parameters and the fourth set of updated model parameters to determine a second set of combined values, wherein updating the machine learning model comprises updating the machine learning model based on the first set of combined values and the second set of combined values.

9. The method of claim 7 , wherein:

the user input is a first user input;

the one or more sensitive tokens comprises a second sensitive token associated with a second predetermined label;

updating the one or more model parameters of the distributed instance comprises:

detecting a second user input comprising the second sensitive token being provided into the user interface;

providing the second user input to the distributed instance of the machine learning model to obtain a second predicted label for the second sensitive token after updating the one or more model parameters based on the first predicted label and the first predetermined label; and

updating, based on the second predicted label and the second predetermined label, the one or more model parameters of the distributed instance of the machine learning model; and

updating the machine learning model comprises updating the machine learning model after updating the one or more model parameters based on the second predicted label and the second predetermined label.

10. The method of claim 7 , wherein:

the client-side application is further configured to cause the client computing device to perform operations comprising detecting that the client computing device received a Short Message Service (SMS) message; and

providing the user input to the machine learning model comprises providing tokens of the SMS message to the machine learning model.

11. The method of claim 7 , wherein:

the client-side application is further configured to cause the client computing device to perform operations comprising sending a web address used to provide a web resource used to generate the user interface to a server; and

updating the machine learning model comprises updating the machine learning model based on the web address.

12. A non-transitory, machine-readable medium storing program code that, when executed by a computer system, causes the computer system to perform operations comprising:

providing, to a client computing device, a distributed instance of a machine learning model;

providing, to a client-side application at the client computing device, access to one or more predetermined tokens associated with one or more predetermined labels, the one or more predetermined tokens comprising a first predetermined token associated with a first predetermined label of the one or more predetermined labels, wherein the client-side application is configured to cause the client computing device to perform operations comprising:

detecting, based on the one or more predetermined tokens, a user input comprising the first predetermined token being provided into a user interface;

providing the user input comprising the first predetermined token to the distributed instance of the machine learning model to obtain a first predicted label for the first predetermined token; and

updating, based on the first predicted label and the first predetermined label, one or more model parameters of the distributed instance of the machine learning model; and

updating the machine learning model based on the one or more updated model parameters of the distributed instance of the machine learning model by obtaining the one or more updated model parameters of the distributed instance from the client computing device.

13. The medium of claim 12 , wherein:

providing the user input to the distributed instance comprises:

providing the user input to a first sub-model of the distributed instance to obtain a set of context tokens selected from a set of surrounding tokens of the first predetermined token; and

providing the set of context tokens and the first predetermined token to a second sub-model of the distributed instance to obtain the first predicted label; and

updating the machine learning model comprises updating a parameter of the first sub-model.

14. The medium of claim 13 , wherein:

the client-side application is further configured to cause the client computing device to perform operations comprising randomly or pseudo-randomly selecting a first context token of the set of context tokens;

updating the machine learning model comprises:

obtaining the first context token from the client computing device; and

training the machine learning model based on the first context token.

15. The medium of claim 12 , the computer system to perform operations further comprising:

receiving a measure of computing resource availability for the client computing device; and

selecting a hyperparameter value based on the computing resource availability, wherein providing the distributed instance comprises modifying the distributed instance based on the hyperparameter value.

16. The medium of claim 15 , wherein:

the measure of computing resource availability is a first measure of computing resource availability;

the hyperparameter value is a first hyperparameter value;

the machine learning model is a first machine learning model characterized by the first hyperparameter value;

the distributed instance is a first distributed instance that is characterized by the first hyperparameter value;

updating the machine learning model comprises updating the first machine learning model in response to a determination that the first distributed instance is characterized by the first hyperparameter value;

the program code comprises code that, when executed by a computer system, causes the computer system to perform operations comprising:

selecting a second hyperparameter value based on a second measure of computing resource availability; and

providing a second distributed instance characterized by the second hyperparameter value; and

updating a second machine learning model in response to a determination that the second distributed instance is characterized by the second hyperparameter value.

17. The medium of claim 12 , wherein:

the client computing device is configured to perform operations further comprising sending a web address used to provide a web resource used to generate the user interface to a server; and

the program code further causes the computer system to perform operations further comprising updating the machine learning model based on the web address.

18. The medium of claim 12 , the computer system to perform operations further comprising distributing the machine learning model to each of a plurality of client computing devices after updating the machine learning model based on the one or more updated model parameters.

19. The medium of claim 12 , wherein providing access to the first predetermined token comprises sending a key to the client computing device.

20. The medium of claim 12 , wherein:

the first predetermined token is associated with a label in a memory of the client computing device; and

updating the machine learning model comprises associating the machine learning model with the label by obtaining the label from the client computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2022
From: GOODSITT, JEREMY
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 060776/0149 →
Continuity (1)
Related Publication 20240054205A1 · Feb 15, 2024
References Cited (1)
US 20230386661A1 · Wallis · 2023 [cited by examiner]