# US 2018/0025287 A1 · Using proxies to enable on-device machine learning

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0025287 A1
- Document ID: US20180025287A1
- Status: Published application
- Kind: A1
- Application number: 15/275,355
- Filed: 2016-09-24
- Published: 2018-01-25
- Earliest claimed: 2016-07-20
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Binu K. Mathew; Julia C. Ng; Jared L. Zerbe
- Web page: https://patentgrep.com/patent/US20180025287A1

## CPC

- G06N 20/00: Machine learning
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- G06N 5/04: Inference or reasoning models
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Systems and methods are disclosed for a server generating a plurality of proxy prediction models for each of a plurality of applications for use by client devices. Providing a prediction model based on a data distribution that more closely matches the user private data of the actual user of the client device, as opposed to a generic model, can improve the accuracy of predictions and improve the benefits to the user of the client device. The plurality of prediction models are generated by a server and provided to a plurality of clients. For a particular application, a client device can use previously collected private user data to select one of the plurality of prediction models for the application as being a closest matching prediction model to use for a particular user.

## Claims

### Claim 1

A computer-implemented method practiced on a client device, comprising:
collecting private user data on the client device to produce an initial data distribution for use with an application;
performing a divergence estimate between the initial data distribution and corresponding data distributions of a set of proxy models;
selecting a proxy model from the set of proxy models having a low divergence between the initial data distribution and a data distribution of the selected proxy model, the low divergence being below a threshold value; and
associating the selected proxy model with the application such that the selected proxy model becomes a user predictive model for the application.

### Claim 2 (depends on 1)

The method of claim 1, wherein the low divergence is the lowest divergence and wherein one of:
the set of proxy models reside on the client device;
the set of proxy models are received from a server in response to a request by the client device for a set of proxy models related to the application.

### Claim 3 (depends on 1)

The method of claim 1, further comprising selecting a generic proxy model from the set of proxy models as a default user predictive model and training the default user predictive model based on the private user data.

### Claim 4 (depends on 1)

The method of claim 1, wherein the user predictive model calibrates one or more sensors of the client device to the user.

### Claim 5 (depends on 4)

The method of claim 4, wherein the one or more sensors comprise a health sensor that includes a heart-rate monitor.

### Claim 6 (depends on 1)

The method of claim 1, wherein the user predictive model calibrates a speech recognition module to the user, wherein the user predictive model incorporates feature vectors including components comprising a language in which the user is speaking, mel-frequency cepstral coefficients, and activations of deep neural networks.

### Claim 7 (depends on 1)

The method of claim 1, wherein the user predictive model predicts one of:
a subject matter of text that a user is composing or editing in the application, and the user predictive model suggests words or phrases to the user in the application; or
a genre or artist of media type to present to the user, and the model suggests or plays media items in the application.

### Claim 8 (depends on 1)

The method of claim 1, wherein performing a divergence estimate comprises applying a K nearest neighbor divergence estimation algorithm to the initial data distribution and a data distribution of one of the plurality of proxy models.

### Claim 9

A non-transitory computer readable medium programmed with instructions that, when executed by a processing system, perform operations, comprising:
collecting private user data on the client device to produce an initial data distribution for use with an application;
performing a divergence estimate between the initial data distribution and corresponding data distributions of a set of proxy models;
selecting a proxy model from the set of proxy models having a low divergence between the initial data distribution and a data distribution of the selected proxy model, the low divergence being below a threshold value; and
associating the selected proxy model with the application such that the selected proxy model becomes a user predictive model for the application.

### Claim 10 (depends on 9)

The medium of claim 9, wherein the low divergence is the lowest divergence and wherein one of:
the set of proxy models reside on the client device;
the set of proxy models are received from a server in response to a request by the client device for a set of proxy models related to the application.

### Claim 11 (depends on 9)

The medium of claim 9, further comprising selecting a generic proxy model from the set of proxy models as a default user predictive model and training the default user predictive model based on the private user data.

### Claim 12 (depends on 9)

The medium of claim 9, wherein the user predictive model calibrates one or more sensors of the client device to the user.

### Claim 13 (depends on 12)

The medium of claim 12, wherein the one or more sensors comprise a health sensor that includes a heart-rate monitor.

### Claim 14 (depends on 9)

The medium of claim 9, wherein the user predictive model calibrates a speech recognition module to the user, wherein the user predictive model incorporates feature vectors including components comprising a language in which the user is speaking, mel-frequency cepstral coefficients, and activations of deep neural networks.

### Claim 15 (depends on 9)

The medium of claim 9, wherein the user predictive model predicts one of:
a subject matter of text that a user is composing or editing in the application, and the use predictive model suggests words or phrases to the user in the application; or
a genre or artist of media type to present to the user, and the model suggests or plays media items in the application.

### Claim 16 (depends on 9)

The medium of claim 9, wherein performing a divergence estimate comprises applying a K nearest neighbor divergence estimation algorithm to the initial data distribution and a data distribution of one of the plurality of proxy models.

### Claim 17

A system comprising:
a processing system coupled to a memory programmed with executable instructions that, when executed by the processing system perform operations, comprising:
collecting private user data on the client device to produce an initial data distribution for use with an application;
performing a divergence estimate between the initial data distribution and corresponding data distributions of a set of proxy models;
selecting a proxy model from the plurality of proxy models having a low divergence between the initial data distribution and a data distribution of the selected proxy model, the low divergence being below a threshold value; and
associating the selected proxy model with the application such that the selected proxy model becomes a user predictive model for the application.

### Claim 18 (depends on 17)

The system of claim 17, wherein the low divergence is the lowest divergence and wherein one of:
the set of proxy models reside on the client device;
the set of proxy models are received from a server in response to a request by the client device for a set of proxy models related to the application.

### Claim 19 (depends on 17)

The system of claim 17, further comprising selecting a generic proxy model from the set of proxy models as a default user predictive model and training the default user predictive model based on the private user data.

### Claim 20 (depends on 17)

The system of claim 17, wherein the user predictive model calibrates one or more sensors of the client device to the user.

### Claim 21 (depends on 20)

The system of claim 20, wherein the one or more sensors comprise a health sensor that includes a heart-rate monitor.

### Claim 22 (depends on 17)

The system of claim 17, wherein the user predictive model calibrates a speech recognition module to the user, wherein the user predictive model incorporates feature vectors including components comprising a language in which the user is speaking, mel-frequency cepstral coefficients, and activations of deep neural networks.

### Claim 23 (depends on 17)

The system of claim 17, wherein the user predictive model predicts one of:
a subject matter of text that a user is composing or editing in the application, and the user predictive model suggests words or phrases to the user in the application; or
a genre or artist of media type to present to the user, and the model suggests or plays media items in the application.

### Claim 24 (depends on 17)

The system of claim 17, wherein performing a divergence estimate comprises applying a K nearest neighbor divergence estimation algorithm to the initial data distribution and a data distribution of one of the plurality of proxy models.

### Claim 25

A computer-implemented method practiced on a server comprising at least one hardware processor, the method comprising:
training a plurality of models based on at least one of anonymized data, de-identified data, or voluntarily-provided data of identified users, collected on the server for an application used by one or more client devices;
performing a divergence estimate between pairs of models in the plurality models to identify a subset of the plurality of models for inclusion in a set of proxy models;
designating one of the models in the set of proxy models as a generic proxy model;
transmitting the set of proxy models to one or more client devices.
