IP Library Granted Patent US 10,867,241
Granted Patent B1
US 10,867,241 · App. 15/276,655 · Granted Dec 15, 2020

Systems and methods for cooperative machine learning across multiple client computing platforms and the cloud enabling off-line deep neural network operations on client computing platforms

Inventors: John Rogers (New York, NY); Kevin Most (New York, NY); Matthew Zeiler (New York, NY)
Assignee: Clarifai, Inc.
G06N3/08H04L67/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,867,241
App. No.
15/276,655
Granted
Dec 15, 2020
Kind
B1
Abstract

Off-line deep neural network operations on client computing platforms may be enabled by cooperative machine learning across multiple client computing platforms and the cloud. A given client computing platform may include a client-side machine learning model configured to facilitate deep neural network operations on structured data. The operations may be performed by a client application installed on the given client computing platform. The client application may locally access the client-side machine learning model in order to perform the operations. Deep neural network operations on structured data may be performed at one or more servers. Sharing of model states may be facilitated between the cloud machine learning model and the client-side machine learning model. The cloud machine learning model may be improved, at one or more servers, based on usage of the application and user interactions with the given client computing platform.

Claims (36)

1. A system for facilitating off-line training of machine learning models deployed locally on mobile computing devices and cooperative training of machine learning models deployed across multiple computing devices, the system comprising:

a mobile computing device comprising one or more processors programmed with computer program instructions that, when executed, cause the mobile computing device to:

access a client-side machine learning model deployed locally on the mobile computing device;

obtain training information and provide the training information as input to the client-side machine learning model to train the client-side machine learning model, the client-side machine learning model being trained based on the training information when the mobile computing device is offline, wherein training the client-side machine learning model includes determining model parameters of the client-side machine learning model based on the training information;

obtain, when the mobile computing device is online, model parameters of another machine learning model deployed on another computing device, the other machine learning model being trained based on other training information obtained by the other computing device and the model parameters of the other machine learning model being determined based on the other training information; and

update the model parameters of the client-side machine learning model based on the model parameters of the other machine learning model.

2. The system of claim 1 , wherein the one or more processors cause the mobile computing device to:

share, when the mobile computing device is online, the model parameters of the client-side machine learning model with the other computing device, the model parameters of the client-side machine learning model indicating a model state of the client-side machine learning model,

wherein the model parameters of the other machine learning model of the other computing device is updated based on the model parameters of the client-side machine learning model.

3. The system of claim 1 , wherein the one or more processors cause the mobile computing device to share the model parameters of the client-side machine learning model with the other computing device in response to the other computing device coming online.

4. The system of claim 1 , wherein the one or more processors cause the mobile computing device to further update the model parameters of the client-side machine learning model based on the other training information from the other computing device, wherein the training information and the other training information comprise images, images within images, symbols, logos, objects, tags videos, audio, text, geolocation, accelerometer data, or metadata.

5. The system of claim 1 , wherein the one or more processors cause the mobile computing device to further update the model parameters of the client-side machine learning model based on usage of an application on the mobile computing device, user interaction with the mobile computing device, or other training information obtained from other computing devices.

6. The system of claim 1 , wherein the one or more processors cause the mobile computing device to obtain the other training information from the other computing device in response to the mobile computing device coming online.

7. The system of claim 1 , wherein the one or more processors cause the mobile computing device to determine a workflow between the mobile computing device and the other computing device based on availability of a network connection, network bandwidth, latency, throughput, number of concepts recognized by the client-side machine learning model and the other machine learning model, accuracy, user's preferences, or preferences associated with the mobile computing device and the other computing device.

8. The system of claim 1 , wherein the training information is obtained from a memory of the mobile computing device.

9. The system of claim 1 , wherein the one or more processors cause the mobile computing device to update the model parameters of the client-side machine learning model in real time or near-real time.

10. A method for facilitating off-line training of machine learning models deployed locally on mobile computing devices and cooperative training of machine learning models deployed across multiple computing devices, the method comprising:

accessing, by one or more processors, a client-side machine learning model deployed locally on a mobile computing device;

obtaining, by the one or more processors, training information and providing, by the one or more processors, the training information as input to the client-side machine learning model to train the client-side machine learning model, the client-side machine learning model being trained based on the training information when the mobile computing device is offline;

obtaining, by the one or more processors, when the mobile computing device is online, model parameters of another machine learning model deployed on another computing device, the other machine learning model being trained based on other training information obtained by the other computing device; and

updating, by the one or more processors, model parameters of the client-side machine learning model based on the model parameters of the other machine learning model.

11. The method of claim 10 , further comprising:

sharing, when the mobile computing device is online, the model parameters of the client-side machine learning model with the other computing device, the model parameters of the client-side machine learning model indicating a model state of the client-side machine learning model,

wherein the model parameters of the other machine learning model of the other computing device is updated based on the model parameters of the client-side machine learning model.

12. The method of claim 10 , wherein the mobile computing device shares the model parameters of the client-side machine learning model with the other computing device in response to the other computing device coming online.

13. The method of claim 10 , further comprising:

updating the model parameters of the client-side machine learning model based on the other training information from the other computing device,

wherein the training information and the other training information comprise images, images within images, symbols, logos, objects, tags videos, audio, text, geolocation, accelerometer data, or metadata.

14. The method of claim 10 , further comprising:

updating the model parameters of the client-side machine learning model based on usage of an application on the mobile computing device, user interaction with the mobile computing device, or other training information obtained from other computing devices.

15. The method of claim 10 , further comprising:

obtaining the other training information from the other computing device in response to the mobile computing device coming online.

16. The method of claim 10 , further comprising:

determining a workflow between the mobile computing device and the other computing device based on availability of a network connection, network bandwidth, latency, throughput, number of concepts recognized by the client-side machine learning model and the other machine learning model, accuracy, user's preferences, or preferences associated with the mobile computing device and the other computing device.

17. The method of claim 10 , wherein the training information is obtained from a memory of the mobile computing device.

18. The method of claim 10 , wherein the model parameters of the client-side machine learning model is updated in real time or near-real time.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2026
From: CLARIFAI, INC.
To: NEBIUS BV
Reel/Frame 075712/0109 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: ROGERS, JOHN; MOST, KEVIN; ZEILER, MATTHEW
To: CLARIFAI, INC.
Reel/Frame 054333/0541 →
Cited By (2)
US 12,650,755 US 12,688,460