IP Library Granted Patent US 11,551,153
Granted Patent B2
US 11,551,153 · App. 17/082,730 · Granted Jan 10, 2023

Localized learning from a global model

Inventors: Daniel Ramage (Seattle, WA); Jeremy Gillmor Kahn (Seattle, WA)
Assignee: Google LLC
G06N20/00H04L67/01
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,551,153
App. No.
17/082,730
Granted
Jan 10, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for obtaining a global model for a particular activity, the global model derived based on input data representing multiple observations associated with the particular activity performed by a collection of users; determining, using the global model, expected data representing an expected observation associated with the particular activity performed by a particular user; receiving, by a computing device operated by the particular user, particular data representing an actual observation associated with the particular activity performed by the particular user; determining, by the computing device and using (i) the expected data and (ii) the particular data, residual data of the particular user; and deriving a local model of the particular user based on the residual data.

Claims (48)

1. A method comprising:

obtaining population-level training data associated with a particular activity, wherein the training data represents multiple observations associated with the particular activity performed by a collection of users;

mapping the population-level training data to an m-dimensional vector space, wherein each of the multiple observations is assigned to a vector mapped to the vector space having m orthogonal axes;

determining one or more principal axes based on the mapped population-level training data;

training a global model that represents the particular activity based on the one or more principal axes and the population-level training data to obtain a trained global model;

generating a representative global model from the trained global model, comprising generating from the global model the representative model that has a reduced number of vector space dimensions from the m-dimensional vector space, wherein the representative model is a compressed version of the global model;

providing the representative global model to a plurality of client devices, wherein on each device the representative global model is executed by the client device and the client device generates observations from one or more sensors on the client device, determines residuals from the predictions of the representative global model and the observations, and generates a respective local model based on the residuals and the representative global model;

receiving, from each of the client devices, a respective local model for a particular user of the client device, wherein each respective local model is different from each other respective local model and does not include private information about the particular user; and

determining, for each particular user, using the respective local model received from the client device of the particular user, particular expected data representing an expected observation associated with the particular activity performed by the user.

2. The method of claim 1 , wherein mapping the population-level training data comprises assigning each type of measurement as a dimension and mapping each observation to the m-dimensional vector space.

3. The method of claim 1 , wherein determining one or more principal axes comprises using principal component analysis to identify eigenvectors of covariance to determine the principal axes of the m-dimensional vector space.

4. The method of claim 1 , wherein the representative global model has a reduced number of vector space dimensions from the m-dimensional vector space.

5. The method of claim 4 , wherein one or more principal axes are removed from the vector space of the representative global model based on a determination of a variance along each principal axis.

6. The method of claim 1 , wherein the local model received for the particular user is a representative local model that does not include private information about the user.

7. The method of claim 1 , further comprising:

determining, using the local model, particular expected data representing an expected observation associated with the particular activity performed by the user.

8. A system comprising one or more processors and one or more computer storage media storing instructions that are operable, when executed by the one or more processors, to cause the one or more processors to perform operations comprising:

obtaining population-level training data associated with a particular activity, wherein the training data represents multiple observations associated with the particular activity performed by a collection of users;

mapping the population-level training data to an m-dimensional vector space, wherein each of the multiple observations is assigned to a vector mapped to the vector space having m orthogonal axes;

determining one or more principal axes based on the mapped population-level training data;

training a global model that represents the particular activity based on the one or more principal axes and the population-level training data to obtain a trained global model;

generating a representative global model from the trained global model, comprising generating from the global model the representative model that has a reduced number of vector space dimensions from the m-dimensional vector space;

providing the representative global model to a plurality of client devices, wherein on each device the representative global model is executed by the client device and the client device generates observations from one or more sensors on the client device, determines residuals from the predictions of the representative global model and the observations, and generates a respective local model based on the residuals and the representative global model;

receiving, from each of the client devices, a respective local model for a particular user of the client device, wherein each respective local model is different from each other respective local model and does not include private information about the particular user; and

determining, for each particular user, using the respective local model received from the client device of the particular user, particular expected data representing an expected observation associated with the particular activity performed by the user.

9. The system of claim 8 , wherein mapping the population-level training data comprises assigning each type of measurement as a dimension and mapping each observation to the m-dimensional vector space.

10. The system of claim 8 , wherein determining one or more principal axes comprises using principal component analysis to identify eigenvectors of covariance to determine the principal axes of the m-dimensional vector space.

11. The system of claim 8 , wherein the representative global model has a reduced number of vector space dimensions from the m-dimensional vector space.

12. The system of claim 11 , wherein one or more principal axes are removed from the vector space of the representative global model based on a determination of a variance along each principal axis.

13. The system of claim 8 , wherein the local model received for the particular user is a representative local model that does not include private information about the user.

14. The system of claim 8 , further comprising:

determining, using the local model, particular expected data representing an expected observation associated with the particular activity performed by the user.

15. One or more non-transitory computer-readable media storing software having stored thereon instructions, which, when executed by one or more computers, cause the one or more computers to perform operations of:

obtaining population-level training data associated with a particular activity, wherein the training data represents multiple observations associated with the particular activity performed by a collection of users;

mapping the population-level training data to an m-dimensional vector space, wherein each of the multiple observations is assigned to a vector mapped to the vector space having m orthogonal axes;

determining one or more principal axes based on the mapped population-level training data;

training a global model that represents the particular activity based on the one or more principal axes and the population-level training data to obtain a trained global model;

generating a representative global model from the trained global model, comprising generating from the global model the representative model that has a reduced number of vector space dimensions from the m-dimensional vector space;

providing the representative global model to a plurality of client devices, wherein on each device the representative global model is executed by the client device and the client device generates observations from one or more sensors on the client device, determines residuals from the predictions of the representative global model and the observations, and generates a respective local model based on the residuals and the representative global model;

receiving, from each of the client devices, a respective local model for a particular user of the client device, wherein each respective local model is different from each other respective local model and does not include private information about the particular user and is derived at the client device, in part, based on the representative global model; and

determining, for each particular user, using the respective local model received from the client device of the particular user, particular expected data representing an expected observation associated with the particular activity performed by the user.

16. The non-transitory computer-readable media of claim 15 , wherein mapping the population-level training data comprises assigning each type of measurement as a dimension and mapping each observation to the m-dimensional vector space.

17. The non-transitory computer-readable media of claim 15 , wherein determining one or more principal axes comprises using principal component analysis to identify eigenvectors of covariance to determine the principal axes of the m-dimensional vector space.

18. The non-transitory computer-readable media of claim 15 , wherein the representative global model has a reduced number of vector space dimensions from the m-dimensional vector space.

19. The non-transitory computer-readable media of claim 18 , wherein one or more principal axes are removed from the vector space of the representative global model based on a determination of a variance along each principal axis.

20. The non-transitory computer-readable media of claim 15 , wherein the local model received for the particular user is a representative local model that does not include private information about the user.

21. The non-transitory computer-readable media of claim 15 , further comprising:

determining, using the local model, particular expected data representing an expected observation associated with the particular activity performed by the user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2021
From: RAMAGE, DANIEL; KAHN, JEREMY GILLMOR
To: GOOGLE INC.
Reel/Frame 054997/0057 →
CHANGE OF NAME Recorded Jan 22, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 055087/0416 →
Continuity (2)
Continuation 14468710 · Aug 26, 2014
Related Publication 20210042666A1 · Feb 11, 2021