IP Library Granted Patent US 11,853,893
Granted Patent B2
US 11,853,893 · App. 17/335,954 · Granted Dec 26, 2023

Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm

Inventors: Sari Andoni (Austin, TX); Keith D. Moore (Cedar Park, TX); Elmira M. Bonab (Austin, TX); Junhwan Choi (Austin, TX)
Assignee: SPARKCOGNITION, INC.
G06N3/084G06N3/126
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 11,853,893
App. No.
17/335,954
Granted
Dec 26, 2023
Kind
B2
Abstract

A method includes generating, by a processor of a computing device, a first plurality of models (including a first number of models) based on a genetic algorithm and corresponding to a first epoch of the genetic algorithm. The method includes determining whether to modify an epoch size for the genetic algorithm during a second epoch of the genetic algorithm based on a convergence metric associated with at least one epoch that is prior to the second epoch. The second epoch is subsequent to the first epoch. The method further includes, based on determining to modify the epoch size, generating a second plurality of models (including a second number of models that is different than the first number) based on the genetic algorithm and corresponding to the second epoch. Each model of the first plurality of models and the second plurality of models includes data representative of neural networks.

Claims (49)

1. A method comprising:

receiving a trained model from a trainer, the trained model representing a trained version of a first model of a plurality of models of a first epoch of a genetic algorithm, wherein each of the plurality of models includes data representative of a neural network;

generating an input set of models for a second epoch of the genetic algorithm, the input set of models including the trained model and a second model of the plurality of models of the first epoch, wherein the second epoch is subsequent to the first epoch, and wherein the second model is not trained between the first epoch and the second epoch; and

generating, after the second epoch of the genetic algorithm, an output set of models, the output set of models based at least in part on modifying one or more characteristics of the input set of models of the second epoch.

2. The method of claim 1 , further comprising selecting, based on one or more rules, the input set of models for the second epoch from among one or more trained models and one or more untrained models.

3. The method of claim 1 , further comprising, after the first epoch, determining to disable the trainer based on a convergence metric, wherein the second model is not trained between the first epoch and the second epoch based on the determination to disable the trainer.

4. The method of claim 1 , further comprising, after the first epoch, determining, based on one or more rules, a size of the input set of models for the second epoch, wherein the input set of models for the second epoch has a count of models based on the determined size of the input set.

5. The method of claim 1 , wherein an input set for the first epoch includes a first count of models and the input set for the second epoch includes a second count of models, the second count different from the first count.

6. The method of claim 1 , further comprising determining a fitness value associated with the trained model, wherein the second model is not trained based on the fitness value failing to satisfy a threshold.

7. The method of claim 1 , further comprising, after the second epoch, performing a third epoch of the genetic algorithm, wherein the third epoch includes providing one or more models to the trainer, wherein the output set of models is based at least in part on one or more models of the third epoch.

8. The method of claim 7 , further comprising performing one or more epochs of the genetic algorithm between the second epoch and the third epoch.

9. The method of claim 1 , wherein the trainer is executed on a different device, graphics processing unit (GPU), processor, core, thread, or any combination thereof, than the genetic algorithm.

10. A computer-readable storage device storing instructions that, when executed, cause a computer to perform operations comprising:

receiving a trained model from a trainer, the trained model representing a trained version of a first model of a plurality of models of a first epoch of a genetic algorithm, wherein each of the plurality of models includes data representative of a neural network;

generating an input set of models for a second epoch of the genetic algorithm, the input set of models including the trained model and a second model of the plurality of models of the first epoch, wherein the second epoch is subsequent to the first epoch, and wherein the second model is not trained between the first epoch and the second epoch; and

generating, after the second epoch of the genetic algorithm, an output set of models, the output set of models based at least in part on modifying one or more characteristics of the input set of models of the second epoch.

11. A method comprising:

generating, via one or more first iterations of a recursive search, a first plurality of models, wherein each of the one or more first iterations includes one or more genetic operations and one or more training operations, and wherein each of the first plurality of models includes data representative of a neural network; and

after generating the first plurality of models, performing one or more second iterations of the recursive search, wherein each of the one or more second iterations includes one or more genetic operations and does not include training operations.

12. The method of claim 11 , further comprising, after performing the one or more second iterations of the recursive search, generating, via one or more third iterations of the recursive search, a third plurality of models, wherein each of the one or more third iterations includes one or more genetic operations and one or more training operations.

13. The method of claim 11 , further comprising determining to omit training operations from the one or more second iterations based on a convergence metric.

14. The method of claim 11 , further comprising, after the one or more first iterations, determining, based on one or more rules, a size of an input set of models for at least one of the one or more second iterations, wherein the size of the input set of models indicates a count of models input to the at least one of the one or more second iterations.

15. The method of claim 11 , wherein an input set of models for the one or more first iterations includes a first count of models and an input set of models for the one or more second iterations includes a second count of models, the second count different from the first count.

16. The method of claim 11 , wherein the data representative of the neural network includes node data corresponding to a plurality of nodes of the neural network, connection data corresponding to one or more connections of the neural network, or any combination thereof.

17. A computer-readable storage device storing instructions that, when executed, cause a computer to perform operations comprising:

generating, via one or more first iterations of a recursive search, a first plurality of models, wherein each of the one or more first iterations includes one or more genetic operations and one or more training operations, and wherein each of the first plurality of models includes data representative of a neural network; and

after generating the first plurality of models, performing one or more second iterations of the recursive search, wherein each of the one or more second iterations includes one or more genetic operations and does not include training operations.

18. A method comprising:

generating, via one or more first iterations of a recursive search, a first plurality of models, wherein:

each of the one or more first iterations includes one or more genetic operations and one or more training operations;

each of the first plurality of models includes data representative of a neural network; and

a second iteration of the recursive search includes one or more genetic operations and does not include training operations;

determining, based on one or more rules, a size of an input set of models for the second iteration of the recursive search;

generating the input set of models for the second iteration of the recursive search, the input set of models having a count of models based on the determined size of the input set; and

generating an output set of models based at least in part on modifying one or more characteristics of the input set of models of the second iteration.

19. The method of claim 18 , further comprising after a particular iteration, determining a value of a convergence metric, wherein the one or more rules are based on the value of the convergence metric, and wherein the particular iteration is prior to the second iteration.

20. The method of claim 19 , wherein the convergence metric is determined based on a fitness value corresponding to the particular iteration or to at least one model of the particular iteration, an improvement metric corresponding to the particular iteration or to at least one model of the particular iteration, a stagnation metric corresponding to the particular iteration, or any combination thereof.

21. The method of claim 18 , further comprising after a particular iteration:

determining a fitness value associated with an output model of the output set of models; and

providing a trainable model to a trainer based on the fitness value satisfying a threshold.

22. The method of claim 18 , modifying the one or more characteristics of the input set of models of the second iteration includes performing at least one of a crossover operation or a mutation operation.

23. A computer-readable storage device storing instructions that, when executed, cause a computer to perform operations comprising:

generating, via one or more first iterations of a recursive search, a first plurality of models, wherein:

each of the one or more first iterations includes one or more genetic operations and one or more training operations;

each of the first plurality of models includes data representative of a neural network; and

a second iteration of the recursive search includes one or more genetic operations and does not include training operations;

determining, based on one or more rules, a size of an input set of models for the second iteration of the recursive search;

generating the input set of models for the second iteration of the recursive search, the input set of models having a count of models based on the determined size of the input set; and

generating an output set of models based at least in part on modifying one or more characteristics of the input set of models of the second iteration.

Assignments (4)
CHANGE OF NAME Recorded Jul 17, 2025
From: SPARKCOGNITION, INC.
To: AVATHON, INC.
Reel/Frame 072016/0432 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 4, 2024
From: ORIX GROWTH CAPITAL, LLC
To: SPARKCOGNITION, INC.
Reel/Frame 069300/0567 →
SECURITY INTEREST Recorded Apr 22, 2022
From: SPARKCOGNITION, INC.
To: ORIX GROWTH CAPITAL, LLC
Reel/Frame 059760/0360 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2021
From: ANDONI, SARI; MOORE, KEITH D.; BONAB, ELMIRA M; CHOI, JUNHWAN
To: SPARKCOGNITION, INC.
Reel/Frame 056405/0480 →
Continuity (2)
Continuation 15697158 · Sep 6, 2017
Related Publication 20210287097A1 · Sep 16, 2021