IP Library Granted Patent US 11,610,131
Granted Patent B2
US 11,610,131 · App. 16/811,632 · Granted Mar 21, 2023

Ensembling of neural network models

Inventors: Sari Andoni (Austin, TX); Keith D. Moore (Cedar Park, TX); Elmira M. Bonab (Austin, TX); Junhwan Choi (Austin, TX); Tyler S. McDonnell (Austin, TX)
Assignee: SPARKCOGNITION, INC.
G06N3/086G06N3/084
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,610,131
App. No.
16/811,632
Granted
Mar 21, 2023
Kind
B2
Abstract

A method includes determining, by a processor of a computing device, a subset of models included in a plurality of models generated based on a genetic algorithm and corresponds to a first epoch of the genetic algorithm. Each of the plurality of models includes data representative of a neural network. The method includes aggregating the subset of models to generate an ensembler. The ensembler, when executed on an input, provides at least a portion of the input to each model of the subset of models to generate a plurality of intermediate outputs. An ensembler output of the ensembler is based on the plurality of intermediate outputs. The method further includes executing the ensembler on input data to determine the ensembler output.

Claims (44)

1. A computer system comprising:

a memory configured to store a plurality of data structures, each of the plurality of data structures including data representative of at least one neural network; and

a processor configured to:

determine a first ensembler based on a set of neural networks represented by the plurality of data structures, the first ensembler configured to, when executed on an input, generate an ensembler output based on a plurality of intermediate outputs generated by the neural networks of the set;

perform a genetic operation on the first ensembler to generate a second ensembler, wherein the genetic operation includes a crossover operation on the first ensembler and a first neural network, wherein the crossover operation includes generating a first bit stream representing at least a portion of the first ensembler, and wherein the crossover operation includes performing crossover on the first bit stream and a second bit stream representing the at least a portion of the first neural network; and

output a final ensembler based at least in part on the second ensembler.

2. The computer system of claim 1 , wherein the first ensembler is configured to generate the ensembler output by providing at least a portion of the input to a plurality of the neural networks of the set to generate the plurality of intermediate outputs and combining the plurality of intermediate outputs via an ensembling function.

3. The computer system of claim 1 , wherein the first ensembler is configured to generate the ensembler output based on a voting operation performed on the plurality of intermediate outputs.

4. The computer system of claim 1 , wherein each of the plurality of intermediate outputs is associated with a corresponding weight, wherein the first ensembler includes a weight function generated based on the corresponding weights, and wherein the genetic operation comprises a mutation operation on the weight function.

5. The computer system of claim 4 , wherein the weight associated with a particular intermediate output is dynamically determined based on species scores of each species associated with the particular intermediate output.

6. The computer system of claim 1 , wherein the processor is further configured to provide an input set of models to a genetic algorithm, wherein the set of the neural networks of the first ensembler includes elite members of a population of neural networks based on the input set of models.

7. The computer system of claim 6 , wherein the processor is further configured to:

group the models of the population into species based on genetic distance between the models;

determine a species score of each of the species, wherein the species score is based on a species fitness value, a species diversity value, or both;

determine elite species based on respective species scores of the species;

determine a score of each member of the elite species, wherein the score is based on a fitness value of the member, a diversity value of the member, or both; and

identify the elite members based on respective scores of each member of the elite species.

8. The computer system of claim 6 , wherein the elite members of the population correspond to overall elites of the population.

9. The computer system of claim 8 , wherein the processor is further configured to identify the elite members of the population by:

determining a fitness value of each model of the input set of models; and

identifying the overall elites based on respective fitness values each model of the input set of models.

10. A method comprising:

identifying a first data structure that includes data representative of a first neural network;

identifying a second data structure that includes data representative of a first ensembler that links multiple neural networks and an ensembling function;

performing a crossover operation on the first data structure and the second data structure to generate a third data structure that includes data representative of a second ensembler, wherein the crossover operation includes:

generating a first bit stream representing at least a portion of the first ensembler;

generating a second bit stream representing at least a portion of the first neural network; and

combining the first bit stream and the second bit stream; and

outputting a final ensembler based at least in part on the second ensembler.

11. The method of claim 10 , wherein the crossover operation is performed during a particular epoch of a recursive search and the final ensembler is generated during a subsequent epoch of the recursive search, and wherein the particular epoch and the subsequent epoch are separated by at least one epoch.

12. The method of claim 10 , wherein the ensembling function includes a voting function associated with intermediate outputs of the multiple neural networks.

13. The method of claim 10 , wherein the ensembling function includes a weight function generated based on weights associated with the multiple neural networks.

14. The method of claim 13 , wherein the third data structure is generated further based on a mutation operation performed on the weight function.

15. The method of claim 10 , further comprising:

grouping models of a plurality of models into species based on similarities between the models;

determining a species score of each of the species, wherein the species score is based on a species fitness value, a species diversity value, or both; and

generating the first ensembler based on the species scores of the species.

16. The method of claim 15 , wherein the ensembling function includes a weight function generated based on species scores of the species.

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

identifying a first data structure that includes data representative of a first neural network;

identifying a second data structure that includes data representative of a first ensembler that links multiple neural networks and an ensembling function;

performing a crossover operation on the first data structure and the second data structure to generate a third data structure that includes data representative of a second ensembler, wherein the crossover operation includes generating a first bit stream representing at least a portion of the first ensembler, and wherein the crossover operation includes performing crossover on the first bit stream and a second bit stream representing the at least a portion of the first neural network; and

outputting a final ensembler based at least in part on the second ensembler.

18. The computer-readable storage device of claim 17 , wherein the operations further comprise providing the second ensembler as an input model to a backpropagation trainer to generate the final ensembler.

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 Mar 6, 2020
From: ANDONI, SARI; MOORE, KEITH D.; BONAB, ELMIRA M.; CHOI, JUNHWAN; MCDONNELL, TYLER S.
To: SPARKCOGNITION, INC.
Reel/Frame 052041/0009 →
Continuity (2)
Continuation 15794980 · Oct 26, 2017
Related Publication 20200210847A1 · Jul 2, 2020