# US 2020/0394253 A1 · Systems and Methods of Distributed Optimization

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

- Number: US 2020/0394253 A1
- Document ID: US20200394253A1
- Status: Published application
- Kind: A1
- Application number: 17/004,324
- Filed: 2020-08-27
- Published: 2020-12-17
- Earliest claimed: 2015-10-16
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Hugh Brendan McMahan; Jakub Konecny; Eider Brantly Moore; Daniel Ramage; Blaise H. Aguera-Arcas
- Web page: https://patentgrep.com/patent/US20200394253A1

## CPC

- G06F 17/17: Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method ({G06F17/18 takes precedence } ; interpolation for numerical control G05B19/18)
- G06F 17/11: for solving equations {, e.g. nonlinear equations, general mathematical optimization problems (optimization specially adapted for a specific administrative, business or logistic context G06Q10/04)}
- G06F 30/00: Computer-aided design [CAD]
- G06N 20/00: Machine learning
- G06F 2111/02: CAD in a network environment, e.g. collaborative CAD or distributed simulation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Systems and methods of determining a global model are provided. In particular, one or more local updates can be received from a plurality of user devices. Each local update can be determined by the respective user device based at least in part on one or more data examples stored on the user device. The one or more data examples stored on the plurality of user devices are distributed on an uneven basis, such that no user device includes a representative sample of the overall distribution of data examples. The local updates can then be aggregated to determine a global model.

## Claims

### Claim at position 1

-20. (canceled)

### Claim 21

A device for performing voice recognition, the device comprising:
a microphone;
a speaker;
one or more processors; and
one or more memory devices, the one or more memory devices storing:
a machine-learned voice recognition model; and
computer-readable instructions that when executed by the one or more processors cause the one or more processors to perform operations, the operations comprising:
determining a local model update associated with an objective function based at least in part on a number of local data examples stored by the device, the local model update being determined by performing a number of iterations of a gradient descent training technique on a local version of the machine-learned voice-recognition model with respect to the number of local data examples stored by the device;
providing the local model update to a central computing system for use in determination of a global version of the machine-learned voice-recognition model based on aggregation of the local model update with one or more additional local model updates received from one or more additional devices, the aggregation of the local model update with the one or more additional local model updates comprising application of a weighting term to each local model update, the weighting term for each local model update being proportional to the number of local data examples stored on the corresponding device;
receiving the global version of the machine-learned voice-recognition model from the central computing system; and
employing the global version of the machine-learned voice-recognition model to produce voice recognition predictions based on voice data captured by the microphone.

### Claim 22 (depends on 21)

The device of claim 21, wherein one or more of the number of local data examples stored by the device are generated through interaction of a user with the device.

### Claim 23 (depends on 22)

The device of claim 22, wherein the one or more of the number of local data examples generated through interaction of the user with the device comprise audio files.

### Claim 24 (depends on 21)

The device of claim 21, wherein the machine-learned voice recognition model comprises a convolutional neural network.

### Claim at position 6

25-28. (canceled)

### Claim 29

A device for performing voice recognition, the device comprising:
a microphone;
a speaker;
one or more processors; and
one or more memory devices, the one or more memory devices storing computer-readable instructions that when executed by the one or more processors cause the one or more processors to perform operations, the operations comprising:
accessing a global version of a machine-learned voice-recognition model, wherein the global version of the machine-learned model has been generated based on aggregation of a plurality of local model updates respectively generated by a plurality of additional devices, the aggregation of the plurality of local model updates comprising application of a weighting term to each local model update, the weighting term for each local model update being proportional to a number of local data examples stored on the additional device that generated the local model update;
capturing voice data with the microphone; and
employing the global version of the machine-learned voice-recognition model to produce voice recognition predictions based on the voice data captured by the microphone.

### Claim 30 (depends on 29)

The device of claim 29, wherein one or more of the number of local data examples stored by each additional device are generated through interaction of a respective user with the additional device.

### Claim 31 (depends on 30)

The device of claim 30, wherein the one or more of the number of local data examples generated through interaction of the respective user with the additional device comprise audio files.

### Claim 32 (depends on 29)

The device of claim 29, wherein the machine-learned voice recognition model comprises a convolutional neural network.

### Claim 33

A computer-implemented method of performing voice recognition, the method comprising:
receiving, by a device that comprises a microphone and a speaker, a global version of a machine-learned voice-recognition model obtained from a central computing system, wherein the global version of the machine-learned model has been generated based on aggregation of a plurality of local model updates respectively generated by a plurality of additional devices, the aggregation of the plurality of local model updates comprising application of a weighting term to each local model update, the weighting term for each local model update being proportional to a number of local data examples stored on the additional device that generated the local model update; and
capturing, by the device using the microphone, voice data; and
employing, by the device, the received global version of the machine-learned voice recognition model to produce voice recognition predictions based on the voice data captured by the microphone.

### Claim 34 (depends on 33)

The computer-implemented method of claim 33, wherein one or more of the number of local data examples stored by each additional device are generated through interaction of a respective user with the additional device.

### Claim 35 (depends on 34)

The computer-implemented method of claim 34, wherein the one or more of the number of local data examples generated through interaction of the respective user with the additional device comprise audio files.

### Claim 36 (depends on 33)

The computer-implemented method of claim 33, wherein the machine-learned voice recognition model comprises a convolutional neural network.

### Claim 37

A computer-implemented method of performing voice recognition, the method comprising:
determining, by a first device that comprises a microphone, a speaker, and a machine-learned voice recognition model, a local model update to the machine-learned voice recognition model based at least in part on a gradient of a loss function and a number of locally stored data examples;
providing, by the first device, the local model update to a central computing system for use in determination of a global update to the machine-learned voice recognition model by the central computing system via aggregation of the local model update with one or more additional local model updates received from one or more additional devices, the aggregation of the local model update with the one or more additional local model updates comprising application of a weighting term to each local model update, the weighting term for each local model update being proportional to the number of locally stored data examples stored on the corresponding device;
receiving, by a second device that comprises a microphone and a speaker, the machine-learned voice recognition model from the central computing system after application of the global update to the machine-learned voice recognition model by the central computing system; and
employing, by the second device, the received machine-learned voice recognition model to produce voice recognition predictions based on voice data captured by the microphone of the second device.

### Claim 38 (depends on 37)

The computer-implemented method of claim 37, wherein one or more of the number of locally stored data are generated through interaction of a user with the first device.

### Claim 39 (depends on 38)

The computer-implemented method of claim 38, wherein the one or more of the number of locally stored data are generated through interaction of the user with the first device comprise audio files.

### Claim 40

(canceled)
