IP Library Granted Patent US 10,824,958
Granted Patent B2
US 10,824,958 · App. 14/468,710 · Granted Nov 3, 2020

Localized learning from a global model

Inventors: Daniel Ramage (Seattle, WA); Jeremy Gillmor Kahn (Seattle, WA)
Assignee: Google LLC
G06N20/00H04L67/42
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 10,824,958
App. No.
14/468,710
Filed
Aug 26, 2014
Granted
Nov 3, 2020
Kind
B2
Art Unit
2126
USPC
706/12
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 (68)

1. A computer-implemented method, comprising:

obtaining, at a client computing device associated with a particular user, a global model for a particular activity, the global model derived at a computer system based on input data representing multiple observations associated with the particular activity performed by each of a collection of users, wherein the received global model comprises a reduced vector space having m−1 principal axes with n vectors, where m and n are integers equal to or greater than one;

determining, at the client computing device and using the global model, expected data representing an expected observation associated with the particular activity performed by a particular user, wherein determining expected data comprises determining a mean vector using the n vectors of the reduced vector space, wherein the mean vector has m−1 elements;

remapping, at the client computing device, the mean vector representing the expected data to an m-dimensional vector space, wherein the re-mapped mean vector represents an expected pseudo-observation for the particular user performing the particular activity;

receiving, by the client computing device, particular activity data representing an actual observation associated with the particular activity performed by the particular user measured by one or more sensors of the client computing device, wherein the observation includes m types of measuring data, and wherein the client computing device maps the particular activity data to the m-dimensional vector space;

determining, by the client computing device, residual data of the particular user, wherein determining the residual data comprises comparing (i) the expected data for the specific user generated by the global model and (ii) the particular activity data representing the actual observation, and wherein determining the residual data further comprises determining a vector distance between the mapped particular activity data and the re-mapped mean vector for the user;

deriving, at the client computing device, a distinct local model specific to the particular user at the client computing device using the residual data, the global model, and one or more objective functions, wherein deriving the local model comprises using the vector distance as a training target, and wherein the local model provides a representation of the particular user with respect to the particular activity;

transmitting, from the client computing device, the local model of the particular user to one or more server computers as a representation of the particular user without providing the particular activity data representing the actual observation associated with the particular activity performed by the particular user and used to derive the local model; and

using the local model to generate expected output data associated with the particular activity for the particular user.

2. The method of claim 1 , comprising:

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

3. The method of claim 1 , wherein the global model includes a first vector space constructed by first multiple principal axes, and wherein the local model includes a second vector space constructed by second multiple principal axes that are different from the first multiple principal axes.

4. The method of claim 1 , comprising:

obtaining a second global model for a second activity that is different from the particular activity, the second global model derived based on second input data representing multiple observations associated with the second activity performed by a collection of users;

determining, using the second global model, second expected data representing an expected observation associated with the second activity performed by the particular user;

receiving, by the computing device operated by the particular user, second particular data representing an actual observation associated with the second activity performed by the particular user; and

determining, by the computing device and using (i) the second expected data and (ii) the second particular data, second residual data of the particular user.

5. The method of claim 4 , wherein deriving the local model of the particular user comprises deriving the local model of the particular user based at least on (i) the residual data and (ii) the second residual data.

6. The method of claim 4 , wherein the residual data and the second residual data is used to train a comprehensive user model that provides a representation of the particular user with respect to the particular activity and the second activity.

7. The method of claim 1 , comprising:

receiving second particular data associated with the particular activity at a second time after determining the residual data from the particular data;

determining, by the computing device and using (i) the expected data and (ii) the second particular data, second residual data;

determining that the second residual data does not substantially match the previously determined residual data; and

in response to determining that the second residual data does not substantially match the residual data, determining that an identity of the particular user is not verified.

8. A non-transitory computer-readable medium 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, at a client computing device associated with a particular user, a global model for a particular activity, the global model derived at a computer system based on input data representing multiple observations associated with the particular activity performed by each of a collection of users, wherein the received global model comprises a reduced vector space having m−1 principal axes with n vectors, where m and n are integers equal to or greater than one;

determining, at the client computing device and using the global model, expected data representing an expected observation associated with the particular activity performed by a particular user, wherein determining expected data comprises determining a mean vector using the n vectors of the reduced vector space, wherein the mean vector has m−1 elements;

remapping, at the client computing device, the mean vector representing the expected data to an m-dimensional vector space, wherein the re-mapped mean vector represents an expected pseudo-observation for the particular user performing the particular activity;

receiving particular activity data representing an actual observation associated with the particular activity performed by the particular user measured by one or more sensors of the client computing device, wherein the observation includes m types of measuring data, and wherein the client computing device maps the particular activity data to the m-dimensional vector space;

determining residual data of the particular user, wherein determining the residual data comprises comparing (i) the expected data for the specific user generated by the global model and (ii) the particular activity data representing the actual observation, and wherein determining the residual data further comprises determining a vector distance between the mapped particular activity data and the re-mapped mean vector for the user;

deriving, and the client computing device, a distinct local model specific to the particular user at the client computing device using the residual data, the global model, and one or more objective functions, wherein deriving the local model comprises using the vector distance as a training target, and wherein the local model provides a representation of the particular user with respect to the particular activity;

transmitting, from the client computing device, the local model of the particular user to one or more server computers as a representation of the particular user without providing the particular activity data representing the actual observation associated with the particular activity performed by the particular user and used to derive the local model; and

using the local model to generate expected output data associated with the particular activity for the particular user.

9. The non-transitory computer-readable medium of claim 8 , wherein the operations comprise:

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

10. The non-transitory computer-readable medium of claim 8 , wherein the global model includes a first vector space constructed by first multiple principal axes, and wherein the local model includes a second vector space constructed by second multiple principal axes that are different from the first multiple principal axes.

11. The non-transitory computer-readable medium of claim 8 , wherein the operations comprise:

obtaining a second global model for a second activity that is different from the particular activity, the second global model derived based on second input data representing multiple observations associated with the second activity performed by a collection of users;

determining, using the second global model, second expected data representing an expected observation associated with the second activity performed by the particular user;

receiving second particular data representing an actual observation associated with the second activity performed by the particular user; and

determining, using (i) the second expected data and (ii) the second particular data, second residual data of the particular user.

12. The non-transitory computer-readable medium of claim 8 , wherein the operations comprise:

receiving second particular data associated with the particular activity;

determining, by the computing device and using (i) the expected data and (ii) the second particular data, second residual data;

determining that the second residual data does not substantially match the residual data; and

in response to determining that the second residual data does not substantially match the residual data, determining that an identity of the particular user is not verified.

13. A system comprising:

a client computing device having 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, at the client device associated with a particular user, a global model for a particular activity, the global model derived at a computer system based on input data representing multiple observations associated with the particular activity performed by each of a collection of users, wherein the received global model comprises a reduced vector space having m−1 principal axes with n vectors, where m and n are integers equal to or greater than one;

determining, using the global model, expected data representing an expected observation associated with the particular activity performed by a particular user, wherein determining expected data comprises determining a mean vector using the n vectors of the reduced vector space, wherein the mean vector has m−1 elements;

remapping, at the client computing device, the mean vector representing the expected data to an m-dimensional vector space, wherein the re-mapped mean vector represents an expected pseudo-observation for the particular user performing the particular activity;

receiving particular activity data representing an actual observation associated with the particular activity performed by the particular user measured by one or more sensors of the client computing device, wherein the observation includes m types of measuring data, and wherein the client computing device maps the particular activity data to the m-dimensional vector space;

determining residual data of the particular user, wherein determining the residual data comprises comparing (i) the expected data for the specific user generated by the global model and (ii) the particular activity data representing the actual observation, and wherein determining the residual data further comprises determining a vector distance between the mapped particular activity data and the re-mapped mean vector for the user;

deriving a distinct local model specific to the particular user at the client computing device using the residual data, the global model, and one or more objective functions, wherein deriving the local model comprises using the vector distance as a training target, and wherein the local model provides a representation of the particular user with respect to the particular activity;

transmitting the local model of the particular user to one or more server computers as a representation of the particular user without providing the particular activity data representing the actual observation associated with the particular activity performed by the particular user and used to derive the local model; and

using the local model to generate expected output data associated with the particular activity for the particular user.

14. The system of claim 13 , wherein the operations comprise:

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

15. The system of claim 13 , wherein the operations comprise:

obtaining a second global model for a second activity that is different from the particular activity, the second global model derived based on second input data representing multiple observations associated with the second activity performed by a collection of users;

determining, using the second global model, second expected data representing an expected observation associated with the second activity performed by the particular user;

receiving second particular data representing an actual observation associated with the second activity performed by the particular user; and

determining, using (i) the second expected data and (ii) the second particular data, second residual data of the particular user.

16. The system of claim 13 , wherein the operations comprise:

receiving second particular data associated with the particular activity;

determining, by the computing device and using (i) the expected data and (ii) the second particular data, second residual data;

determining that the second residual data does not substantially match the residual data; and

in response to determining that the second residual data does not substantially match the residual data, determining that an identity of the particular user is not verified.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2014
From: RAMAGE, DANIEL; KAHN, JEREMY GILLMOR
To: GOOGLE INC.
Reel/Frame 034183/0608 →
Continuity (1)
Related Publication 20160063393A1 · Mar 3, 2016
Cited By (2)
US 12,299,039 US 12,694,334