A method includes generating, by a processor of a computing device, an output set of models corresponding to a first epoch of a genetic algorithm and based on an input set of models of the first epoch. The input set and the output set includes data representative of a neural network. The method includes determining a particular model of the output set based on a fitness function. A first topological parameter of a first model of the input set is modified to generate the particular model of the output set. The method includes modifying a probability that the first topological parameter is to be changed by a genetic operation during a second epoch of the genetic algorithm that is subsequent to the first epoch. The method includes generating a second output set of models corresponding to the second epoch and based on the output set and the modified probability.
Drawings
Claims22
A computer system comprising:
a memory configured to store an input data set and a first plurality of data structures, each of the first plurality of data structures including data representative of a neural network;
a processor configured to execute a recursive search, wherein executing the recursive search comprises:
during a first iteration of the recursive search, determining a fitness value for each of the first plurality of data structures based on at least a subset of the input data set;
during a second iteration of the recursive search:
generating a second plurality of data structures based on the first plurality of data structures;
and
determining a fitness value for each of the second plurality of data structures based on at least the subset of the input data set;
comparing the fitness values of each of the second plurality of data structures to the fitness values of each of the first plurality of data structures to determine a particular data structure of the second plurality of data structures;
determining a difference in at least one topological parameter between the particular data structure of the second plurality of data structures and a parent data structure of the first plurality of data structures;
modifying a probability that the at least one topological parameter is to be changed during a third iteration of the recursive search to a modified probability;
and
during the third iteration, generating a third plurality of data structures based at least in part on the modified probability.
9 more elements
A method comprising:
generating, by a processor of a computing device, an output set of models corresponding to a first epoch of a genetic algorithm, the output set of models based on an input set of models of the first epoch, wherein each of the input set of models and the output set of models includes data representative of a neural network;
determining a particular model of the output set of models based on a fitness function, wherein a first topological parameter of a first model of the input set of models is modified to generate the particular model of the output set of models;
determining a second particular model of the output set of models based on the fitness function, wherein a second topological parameter of a second model of the input set of models is modified to generate the second particular model of the output set of models;
modifying a probability that the first topological parameter is to be changed by a genetic operation during a second epoch of the genetic algorithm that is subsequent to the first epoch to a first probability;
modifying a probability that the second topological parameter is to be changed by the genetic algorithm during the second epoch to a second probability;
and
generating a second output set of models corresponding to the second epoch, the second output set of models based on the output set of models, the first probability, and the second probability.
4 more elements
A computer-readable storage device storing instructions that, when executed, cause a computer to perform operations comprising:
generating an output set of models corresponding to a first epoch of a genetic algorithm, the output set of models based on an input set of models of the first epoch, wherein each of the input set of models and the output set of models includes data representative of a neural network;
determining a particular model of the output set of models based on a fitness function, wherein a first topological parameter of a first model of the input set of models is modified to generate the particular model of the output set of models;
modifying a probability that the first topological parameter is to be changed by a genetic operation during a second epoch of the genetic algorithm that is subsequent to the first epoch to a first probability;
generating a second output set of models corresponding to the second epoch, the second output set of models based on the output set of models and the first probability;
and
determining whether to modify a node parameter associated with a particular node of a particular model of the second output set of models during a third epoch of the genetic algorithm that is subsequent to the second epoch based on a fitness value associated with the particular model of the second output set of models.
3 more elements
A method comprising:
generating, by a processor of a computing device, an output set of models corresponding to a first epoch of a genetic algorithm, the output set of models based on an input set of models of the first epoch, wherein each of the input set of models and the output set of models includes data representative of a neural network;
determining a particular model of the output set of models based on a fitness function, wherein a first topological parameter of a first model of the input set of models is modified to generate the particular model of the output set of models;
modifying a probability that the first topological parameter is to be changed by a genetic operation during a second epoch of the genetic algorithm that is subsequent to the first epoch to a first probability;
generating a second output set of models corresponding to the second epoch, the second output set of models based on the output set of models and the first probability;
and
determining whether to modify a layer parameter associated with a particular layer of a particular model of the second output set of models during a third epoch of the genetic algorithm subsequent to the second epoch based on a fitness value associated with the particular model of the second output set of models.
2 Jul 2040Estimated · howhide20 years from earliest known nonprovisional domestic filing plus recorded patent term adjustment, including 1,028 days of adjustment. Maintenance-fee lapses, terminal disclaimers and statutory extensions have not been checked. The continuity chain may be incomplete; this is not an enforceability determination.
Architecture, e.g. interconnection topology: activation functions
Life of this patent
About 13 years 8 months of term left · ends 2 Jul 2040 (estimated)
Priority8 Sep 2017
Published14 Mar 2019
Granted31 Aug 2021
Today12 Oct 2026
Term ends2 Jul 2040
Priority8 Sep 2017
Granted31 Aug 2021
Term ends2 Jul 2040
Application filedUS 15/699,353
PublishedUS 2019/0080240 A1
Assigned to Sparkcognition, Incassignment of assignor's interest
GrantedUS 11,106,978 B2
Assigned to Orix Growth Capital, LLCsecurity interest
Assigned to Sparkcognition, Inc.termination and release of intellectual property security agreement
Assigned to Avathon, Inc.change of name
TodayWithin its term
Term endsEstimated, includes 1,028 days of adjustment
Description20,877 words
Summary1,630 words
#Computers are often used to solve complex quantitative and qualitative problems. For problems that involve a large data set, a specially trained professional, known as a data scientist, is often hired. The data scientist interprets the data set and constructs models that can be processed by computers to solve the problem. However, hiring data scientists is cost prohibitive for many organizations.
#For certain types of problems, advanced computing techniques, such as genetic algorithms or backpropagation, may be available to develop a model, such as a neural network, that is comparable in accuracy to a model that would be created by a data scientist. However, genetic algorithms may take a large number of iterations to converge on an acceptable neural network, and backpropagation may be slow when a large data set is being modeled or when the neural network includes a large number of nodes, connections, or layers. Additionally, backpropagation may result in “overfitting” (e.g., a neural network generated by backpropagation may model the specific data set used for training, but may not be “general” enough to model other data sets within particular tolerances).
#Furthermore, various types of machine-learning problems exist. For example, regression problems involve evaluating a series of inputs to predict a numeric output, classification problems involve evaluating a series of inputs to predict a categorical output, and reinforcement learning involves performing actions within an environment to optimize some notion of a positive reward. Due to the differences in the various types of problems, the available mechanisms to generate and train a neural network or other machine learning solution may be problem-specific. For example, a support vector machine (SVM) may be suitable for some classification problems, linear regression may be suitable for some regression problems, and a specialized machine learning platform, such as TensorFlow, may be suitable for reinforcement learning or other numerical calculations. Although a SVM, linear regression, and specialized machine learning platforms may solve specific machine-learning problems, at least some of these mechanisms may not be particularly suited to training neural networks. Thus, generating and training neural networks that meet performance requirements for each of multiple types of problems faced by an enterprise may be slow and difficult.
Brief description of the drawings14 figures
#FIG. 1 illustrates a particular example of a system that is operable to support cooperative execution of a genetic algorithm having variable evolutionary weights of topological parameters and a backpropagation trainer;
#FIG. 2 illustrates a particular example of a model including data representative of a neural network;
#FIG. 3 illustrates particular examples of first and second stages of operation at the system of FIG. 1;
Detailed description18,974 words
#Referring to FIG. 1, a particular illustrative example of a system 100 is shown. The system 100, or portions thereof, may be implemented using (e.g., executed by) one or more computing devices, such as laptop computers, desktop computers, mobile devices, servers, and Internet of Things devices and other devices utilizing embedded processors and firmware or operating systems, etc. In the illustrated example, the system 100 includes a genetic algorithm 110. In some implementations, the system 100 further includes a backpropagation trainer 180. In other implementations, the system 100 does not include the backpropagation trainer 180. The backpropagation trainer 180 is an example of an optimization trainer, and other examples of optimization trainers that may be used in conjunction with the described techniques include, but are not limited to, a derivative free optimizer (DFO), an extreme learning machine (ELM), etc.
#It is to be understood that operations described herein as being performed by the genetic algorithm 110 or the backpropagation trainer 180 may be performed by a device executing the genetic algorithm 110 or the backpropagation trainer 180. In particular aspects, the genetic algorithm 110 is executed on a different device, processor (e.g., central processor unit (CPU), graphics processing unit (GPU) or other type of processor), processor core, and/or thread (e.g., hardware or software thread) than the backpropagation trainer 180. Moreover, execution of certain operations associated with the genetic algorithm 110 or the backpropagation trainer 180 may be parallelized, as further described herein.
#The genetic algorithm 110 may automatically generate a neural network model of a particular data set, such as an illustrative input data set 102. The system 100 may provide an automated model building process that enables even inexperienced users to quickly and easily build highly accurate models based on a specified data set. Additionally, the system 100 may simplify the neural network model to avoid overfitting and to reduce computing resources required to run the model. Additionally, probabilities of changing particular topological parameters of models generated during epochs of the genetic algorithm 110 may be varied from epoch to epoch based on metrics, such as fitness values, associated with models of a previous epoch. Changing the probabilities that particular topological parameters may change may improve the efficiency of the system 100 by increasing a likelihood that particular topological parameter modifications that improve fitness are performed during the model building process, thereby improving the speed with which the genetic algorithm converges and improving the fitness of models that are output by the model building process.