IP Library Granted Patent US 9,286,574
Granted Patent B2
US 9,286,574 · App. 14/071,375 · Granted Mar 15, 2016

Systems and methods for layered training in machine-learning architectures

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 9,286,574
App. No.
14/071,375
Granted
Mar 15, 2016
Kind
B2
Abstract

A computer-implemented method for layered training of machine-learning architectures includes receiving a plurality of data elements wherein each data element is associated with a timestamp, determining a training window for each model layer of a layered stack of model layers, determining a plurality of training data elements for each training window by identifying the data elements with timestamps corresponding to each of the training windows, identifying a previous checkpoint for each model layer wherein the previous checkpoint for each model layer is generated by a parent model layer, training each model layer with the determined training data elements for each model layer and the identified previous checkpoint for each model layer, generating a plurality of current checkpoints wherein each current checkpoint of the plurality of current checkpoints is associated with a model layer, and storing the plurality of current checkpoints at the memory.

Claims (83)

1. A computer-implemented method for layered training of machine-learning architectures, the method implemented by a training computing device including a processor coupled to a memory, the method comprising:

receiving a plurality of data elements wherein each data element is associated with a timestamp;

determining a training window for each model layer of a layered stack of model layers;

determining a plurality of training data elements for each training window by identifying the data elements with timestamps corresponding to each of the training windows;

identifying a previous checkpoint for each model layer, wherein the previous checkpoint for each model layer is generated by a parent model layer;

training each model layer with the determined training data elements for each model layer and the identified previous checkpoint for each model layer;

generating a plurality of current checkpoints, wherein each current checkpoint of the plurality of current checkpoints is associated with a model layer;

storing the plurality of current checkpoints at the memory; and

synchronizing an external server with at least one current checkpoint associated with at least one model layer, wherein the external server serves based at least partially on the synchronized current checkpoint.

2. The method of claim 1 , wherein training each model layer further comprises:

adapting each model layer to the determined training data elements for each model layer by applying at least one machine-learning algorithm.

3. The method of claim 1 , wherein determining a training window for each model layer further comprises:

determining a layer depth of each model layer;

retrieving a training model configuration wherein the training model configuration designates a training delay record associated with each layer depth;

identifying a training delay associated with the layer depth of each model layer based upon the training model configuration; and

calculating a training window based upon the training delay for each model layer.

4. The method of claim 1 , wherein generating a plurality of current checkpoints further comprises:

determining a layer depth for each model layer;

retrieving a training model configuration wherein the training model configuration designates a training duration associated with each layer depth;

identifying a training duration associated with the layer depth of each model layer based upon the training model configuration;

training the model layer for the identified training duration; and

processing each model layer into the current checkpoint.

5. The method of claim 1 , wherein generating a plurality of current checkpoints further comprises:

purging the previous checkpoint for each model layer; and

retraining each model layer.

6. The method of claim 1 , wherein receiving a plurality of data elements further comprises:

receiving a plurality of conversion data, wherein the conversion data represents conversion activity associated with serving online advertisements.

7. A computer-implemented method for layered training of machine-learning architectures, the method implemented by a training computing device including a processor coupled to a memory, the method comprising:

receiving a plurality of data elements wherein each data element is associated with a timestamp;

determining a training window for each model layer of a layered stack of model layers;

determining a plurality of training data elements for each training window by identifying the data elements with timestamps corresponding to each of the training windows;

identifying a previous checkpoint for each model layer wherein the previous checkpoint for each model layer is generated by a parent model layer;

training each model layer with the determined training data elements for each model layer and the identified previous checkpoint for each model layer;

generating a plurality of current checkpoints, wherein each current checkpoint of the plurality of current checkpoints is associated with a model layer; and

storing the plurality of current checkpoints at the memory, wherein storing the plurality of current checkpoints further comprises:

validating each checkpoint of the plurality of current checkpoints against the plurality of data elements; and

storing validated checkpoints of the plurality of current checkpoints at the memory.

8. A training computing device for layered training of machine-learning architectures, the training computing device comprising a memory for storing data, and a processor in communication with the memory, said processor programmed to:

receive a plurality of data elements wherein each data element is associated with a timestamp;

determine a training window for each model layer of a layered stack of model layers;

determine a plurality of training data elements for each training window by identifying the data elements with timestamps corresponding to each of the training windows;

identify a previous checkpoint for each model layer wherein the previous checkpoint for each model layer is generated by a parent model layer;

train each model layer with the determined training data elements for each model layer and the identified previous checkpoint for each model layer;

generate a plurality of current checkpoints, wherein each current checkpoint of the plurality of current checkpoints is associated with a model layer;

store the plurality of current checkpoints at the memory;

purge the previous checkpoint for each model layer; and

retrain each model layer.

9. The training computing device of claim 8 , wherein the processor is further programmed to:

adapt each model layer to the determined training data elements for each model layer by applying at least one machine-learning algorithm.

10. The training computing device of claim 8 , wherein the processor is further programmed to:

determine a layer depth of each model layer;

retrieve a training model configuration wherein the training model configuration designates a training delay record associated with each layer depth;

identify a training delay associated with the layer depth of each model layer based upon the training model configuration; and

calculate a training window based upon the training delay for each model layer.

11. The training computing device of claim 8 , wherein the processor is further programmed to:

synchronize an external server with at least one current checkpoint associated with at least one model layer, wherein the external server serves based at least partially on the synchronized current checkpoint.

12. The training computing device of claim 8 , wherein the processor is further programmed to:

determine a layer depth for each model layer;

retrieve a training model configuration wherein the training model configuration designates a training duration associated with each layer depth;

identify a training duration associated with the layer depth of each model layer based upon the training model configuration;

train the model layer for the identified training duration; and

process each model layer into the current checkpoint.

13. The training computing device of claim 8 , wherein the processor is further programmed to:

validate each checkpoint of the plurality of current checkpoints against the plurality of data elements; and

store validated checkpoints of the plurality of current checkpoints at the memory.

14. The training computing device of claim 8 , wherein the processor is further programmed to:

receive a plurality of conversion data, wherein the conversion data represents conversion activity associated with serving online advertisements.

15. A non-transitory computer-readable storage device, having processor-executable instructions embodied thereon, for layered training of machine-learning architectures, wherein the computer includes at least one processor and a memory coupled to the processor, wherein, when executed by the computer, the processor-executable instructions cause the computer to:

receive a plurality of data elements wherein each data element is associated with a timestamp;

determine a training window for each model layer of a layered stack of model layers;

determine a plurality of training data elements for each training window by identifying the data elements with timestamps corresponding to each of the training windows;

identify a previous checkpoint for each model layer wherein the previous checkpoint for each model layer is generated by a parent model layer;

train each model layer with the determined training data elements for each model layer and the identified previous checkpoint for each model layer;

generate a plurality of current checkpoints, wherein each current checkpoint of the plurality of current checkpoints is associated with a model layer;

store the plurality of current checkpoints at the memory; and

synchronize an external server with at least one current checkpoint associated with at least one model layer, wherein the external server serves based at least partially on the synchronized current checkpoint.

16. The computer-readable storage device of claim 15 , wherein the processor-executable instructions cause the computing device to:

adapt each model layer to the determined training data elements for each model layer by applying at least one machine-learning algorithm.

17. The computer-readable storage device of claim 15 , wherein the processor-executable instructions cause the computing device to:

determine a layer depth of each model layer;

retrieve a training model configuration wherein the training model configuration designates a training delay record associated with each layer depth;

identify a training delay associated with the layer depth of each model layer based upon the training model configuration; and

calculate a training window based upon the training delay for each model layer.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2013
From: GAY, DAVID ROGER; CHURCH, PAUL; O'CONNOR, RUSSELL; CHAUDHARY, VINAY; LITUS, YAROSLAV
To: GOOGLE INC.
Reel/Frame 031540/0400 →