IP Library › Granted Patent US 11,443,240
Granted Patent B2
US 11,443,240 · App. 16/829,433 · Granted Sep 13, 2022

Privacy preserving collaborative learning with domain adaptation

Inventors: Daniel Peterson (Somerville, MA); Pallika Haridas Kanani (Westford, MA); Virendra J. Marathe (Nashua, NH)
Assignee: Oracle International Corporation
G06N20/00G06F21/6254G06N3/04
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 11,443,240
App. No.
16/829,433
Granted
Sep 13, 2022
Kind
B2
Abstract

Herein are techniques for domain adaptation of a machine learning (ML) model. These techniques impose differential privacy onto federated learning by the ML model. In an embodiment, each of many client devices receive, from a server, coefficients of a general ML model. For respective new data point(s), each client device operates as follows. Based on the new data point(s), a respective private ML model is trained. Based on the new data point(s), respective gradients are calculated for the coefficients of the general ML model. Random noise is added to the gradients to generate respective noisy gradients. A combined inference may be generated based on: the private ML model, the general ML model, and one of the new data point(s). The noisy gradients are sent to the server. The server adjusts the general ML model based on the noisy gradients from the client devices. This client/server process may be repeated indefinitely.

Claims (77)

1. A method comprising iteratively:

receiving, by a client device and from a server, a plurality of coefficients of a general machine learning (ML) model;

for one or more new data points:

training, based on the one or more new data points, a private ML model,

calculating, based on the one or more new data points, a private plurality of gradients for the plurality of coefficients of the general ML model,

adding random noise to the private plurality of gradients to generate a plurality of noisy gradients,

sending the plurality of noisy gradients to the server, and

generating an inference based on: the general ML model, the private ML model, and one of the one or more new data points.

2. The method of claim 1 wherein:

said training the private ML model comprises tuning, based on a gradient descent or a bias term;

said generating the inference comprises:

generating a first inference by applying the private ML model to said one of the one or more new data points;

generating a second inference by applying the general ML model to said one of the one or more new data points;

combining the first inference and the second inference based on the bias term.

3. The method of claim 1 wherein the generating the inference comprises a mixture of experts combining: a first inference by the private ML model, and a second inference by the general ML model.

4. The method of claim 1 further comprising adjusting, by the server, the general ML model based on respective pluralities of noisy gradients from a plurality of client devices that includes the client device.

5. A method comprising iteratively:

receiving, by a client device and from a server, a plurality of coefficients of a general machine learning (ML) model;

for one or more new data points:

training, based on the one or more new data points, a private; ML model,

calculating, based on the one or more new data points, a private plurality of gradients for the plurality of coefficients of the general ML model,

applying a privacy enforcement mechanism to the private plurality of gradients to generate a transferable plurality of gradients,

sending the transferable plurality of gradients to the server, and

generating an inference based on: the general ML model, the private ML model, and one of the one or more new data points;

calculating a respective weight for each transferable plurality of gradients of transferable pluralities of gradients respectively from a plurality of client devices that includes the client device;

applying said transferable pluralities of gradients to the general ML model based on the respective weights for said transferable pluralities of gradients.

6. The method of claim 5 wherein said calculating the respective weight for the transferable plurality of gradients from the client device comprises decreasing the respective weight when a gradient of the transferable plurality of gradients from the client device exceeds a threshold.

7. The method of claim 4 further comprising:

applying moments accountant technique, and/or

calculating privacy loss as a random variable based on moment-generating function(s).

8. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause iteratively:

receiving, by a client device and from a server, a plurality of coefficients of a general machine learning (ML) model;

for one or more new data points:

training, based on the one or more new data points, a private; ML model,

calculating, based on the one or more new data points, a private plurality of gradients for the plurality of coefficients of the general ML model,

adding random noise to the private plurality of gradients to generate a plurality of noisy gradients,

sending the plurality of noisy gradients to the server, and

generating an inference based on: the general ML model, the private ML model, and one of the one or more new data points.

9. The one or more non-transitory computer-readable media of claim 8 wherein:

said training the private ML model comprises tuning, based on a gradient descent or a bias term;

said generating the inference comprises:

generating a first inference by applying the private ML model to said one of the one or more new data points;

generating a second inference by applying the general ML model to said one of the one or more new data points;

combining the first inference and the second inference based on the bias term.

10. The one or more non-transitory computer-readable media of claim 8 wherein the generating the inference comprises a mixture of experts combining: a first inference by the private ML model, and a second inference by the general ML model.

11. The one or more non-transitory computer-readable media of claim 8 wherein the instructions further cause adjusting, by the server, the general ML model based on respective pluralities of noisy gradients from a plurality of client devices that includes the client device.

12. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause iteratively:

receiving, by a client device and from a server, a plurality of coefficients of a general machine learning (ML) model;

for one or more new data points:

training, based on the one or more new data points, a private; ML model,

calculating, based on the one or more new data points, a private plurality of gradients for the plurality of coefficients of the general ML model,

applying a privacy enforcement mechanism to the private plurality of gradients to generate a transferable plurality of gradients,

sending the transferable plurality of gradients to the server, and

generating an inference based on: the general ML model, the private ML model, and one of the one or more new data points;

calculating a respective weight for each transferable plurality of gradients of transferable pluralities of gradients respectively from a plurality of client devices that includes the client device;

applying said transferable pluralities of gradients to the general ML model based on the respective weights for said transferable pluralities of gradients.

13. The one or more non-transitory computer-readable media of claim 12 wherein said calculating the respective weight for the transferable plurality of gradients from the client device comprises decreasing the respective weight when a gradient of the transferable plurality of gradients from the client device exceeds a threshold.

14. The one or more non-transitory computer-readable media of claim 11 wherein the instructions further cause:

applying moments accountant technique, and/or

calculating privacy loss as a random variable based on moment-generating function(s).

15. A system comprising:

a server;

a plurality of client devices connected to the server, wherein each client device is configured to iteratively:

receive, from the server, a plurality of coefficients of a general machine learning (ML) model;

for a respective one or more new data points:

train, based on the one or more new data points, a respective private ML model;

calculate, based on the one or more new data points, a plurality of respective gradients for the plurality of coefficients of the general ML model,

add random noise to the plurality of gradients to generate a plurality of respective noisy gradients,

send the plurality of noisy gradients to the server, and

generate a combined inference based on: the private ML model, the general ML model, and one of the one or more new data points; and

wherein the server is configured to adjust the general ML model based on the pluralities of noisy gradients from the plurality of client devices.

16. The system of claim 15 wherein:

said train the respective private ML model comprises tune, based on a gradient descent, a weighting;

said generate the combined inference comprises:

generate a first inference by apply the respective private ML model to said one of the one or more new data points;

generate a second inference by apply the general ML model to said one of the one or more new data points;

combine the first inference and the second inference based on the weighting.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2020
From: PETERSON, DANIEL; KANANI, PALLIKA HARIDAS; MARATHE, VIRENDRA J.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 053217/0792 →
Continuity (2)
Provisional Application 62896742 · Sep 6, 2019
Related Publication 20210073677A1 · Mar 11, 2021