Automated neural network generation using fitness estimation

US10685286B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10685286-B1
Application numberUS-201916526360-A
CountryUS
Kind codeB1
Filing dateJul 30, 2019
Priority dateJul 30, 2019
Publication dateJun 16, 2020
Grant dateJun 16, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of generating a neural network includes iteratively performing operations including generating, for each neural network of a population, a matrix representation. The matrix representation of a particular neural network includes rows of values, where each row corresponds to a set of layers of the particular neural network and each value specifies a hyperparameter of the set of layers. The operations also include providing the matrix representations as input to a relative fitness estimator that is trained to generate estimated fitness data for neural networks of the population. The estimated fitness data are based on expected fitness of neural networks predicted by the relative fitness estimator. The operations further include generating, based on the estimated fitness data, a subsequent population of neural networks. The method also includes, when a termination condition is satisfied, outputting data identifying a neural network as a candidate neural network.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of generating a neural network based on a data set, the method comprising: iteratively, until a termination condition is satisfied, performing operations comprising: generating, for each neural network of a population of neural networks, a matrix representation, wherein the matrix representation of a particular neural network includes two or more rows of values, each row corresponding to a set of layers of the particular neural network, and each value specifying a hyperparameter of the set of layers, and wherein a first matrix representation corresponding to a first neural network includes a first number of rows and a second matrix representation corresponding to a second neural network includes a second number of rows, the second number of rows different from the first number of rows; providing each of the matrix representations as input, in a row-by-row sequential manner, to a recurrent network that is trained, based on the data set, as a relative fitness estimator to generate estimated fitness data for each of the neural networks, the estimated fitness data indicating predicted fitness of the neural networks of the population for processing the data set; and generating, based on the population and based on the estimated fitness data, a subsequent population of neural networks; and based on a determination that the termination condition is satisfied, outputting data identifying one or more neural networks of a final population of neural networks as a candidate neural network based on the data set. 2. The method of claim 1 , further comprising, before iteratively performing the operations: obtaining an initial population of neural networks; calculating, for each neural network of the initial population, a fitness value, each fitness value based on an error value generated based on output of a respective neural network of the initial population, the error value indicating a difference between one or more values of the particular data set and the output of the respective neural network; generating training data indicating the fitness values for the neural network of the initial population and, for each fitness value, a matrix representation of a neural network associated with the fitness value; and training a machine learning model using the training data to generate the relative fitness estimator. 3. The method of claim 2 , wherein obtaining the initial population of neural networks comprises: determining one or more characteristics of the data set; based on the one or more characteristics, selecting one or more parameters of an automated model generation process; and executing the automated model generation process to generate the initial population of neural networks using a weighted randomization process, and wherein the one or more parameters weight the weighted randomization process to adjust a probability of generation of neural networks having particular features. 4. The method of claim 3 , further comprising comparing the one or more characteristics to a set of rules that maps the one or more characteristics to grammars and wherein the grammars indicate corresponding parameters. 5. The method of claim 4 , wherein the grammars further indicate the hyperparameters represented by the values of each row of the matrix representations. 6. The method of claim 1 , wherein the operations further comprise: for one or more sample neural networks from the population, calculating a fitness value based on an error value, the error value based on output of the one or more sample neural, networks and the error value indicating a difference between one or more values of the data set and the output of the one or more sample neural networks; generating updated training data indicating the fitness values and, for each fitness value, a matrix representation of a neural network associated with the fitness value; and updating the relative fitness estimator using the updated training data. 7. The method of claim 1 , wherein the hyperparameters include one or more of an interconnection scheme associated with the set of layers, an activation function associated with at least one node of the set of layers, or a number of nodes of the set of layers. 8. The method of claim 1 , wherein the recurrent network includes a long short-term memory layer. 9. The method of claim 1 , wherein the two or more rows of the matrix representation of the particular neural network correspond to hidden layers of the particular neural network. 10. The method of claim 1 , wherein the subsequent population of neural networks is further based on calculated fitness values for a subset of the population of neural networks, and wherein the subset includes at least one neural network of the population of neural networks and includes fewer than all of the neural networks of the population of neural networks. 11. The method of claim 1 , wherein generating the subsequent population comprises performing evolutionary operations using one or more members of the population to generate one or more members of the subsequent population, the one or more members of the population selected based on the estimated fitness data. 12. The method of claim 1 , wherein generating the subsequent population comprises training one or more members of the population to generate one or more members of the subsequent population, the one or more members of the population selected based on the estimated fitness data. 13. A computing device comprising: a processor; and a memory storing instructions executable by the processor to cause the processor to iteratively, until a termination condition is satisfied, perform operations comprising: generating, for each neural network of a population of neural networks, a matrix representation, wherein the matrix representation of a particular neural network includes two or more rows of values, each row corresponding to a set of layers of the particular neural network, and each value specifying a hyperparameter of the set of layers, and wherein a first matrix representation corresponding to a first neural network includes a first number of rows and a second matrix representation corresponding to a second neural network includes a second number of rows, the second number of rows different from the first number of rows; providing each of the matrix representations as input, in a row-by-row sequential manner, to a recurrent network that is trained, based on a data set, as a relative fitness estimator to generate estimated fitness data for each of the neural networks the estimated fitness data indicating predicted fitness of the neural networks of the population for processing the data set; and generating, based on the population and based on the estimated fitness data, a subsequent population of neural networks; and the instructions further executable by the processor to cause the processor to, based on a determination that the termination condition is satisfied, output data identifying one or more neural networks of a final population of neural networks as a candidate neural network. 14. The computing device of claim 13 , wherein the instructions are further executable by the processor to cause the processor to, before iteratively performing the operations: obtain an initial population of neural networks; calculate, for each neural network of the initial population, a fitness value, each fitness value based on an error value, the error value generated based on output of a respective neural network of the initial population and the error value indicating a difference between one or more values of the particular data set and the

Assignees

Inventors

Classifications

  • G06N3/045Primary

    Combinations of networks · CPC title

  • Recurrent networks, e.g. Hopfield networks · CPC title

  • Supervised learning · CPC title

  • characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU] · CPC title

  • Hyperparameter optimisation; Meta-learning; Learning-to-learn · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10685286B1 cover?
A method of generating a neural network includes iteratively performing operations including generating, for each neural network of a population, a matrix representation. The matrix representation of a particular neural network includes rows of values, where each row corresponds to a set of layers of the particular neural network and each value specifies a hyperparameter of the set of layers. T…
Who is the assignee on this patent?
Sparkcognition Inc
What technology area does this patent fall under?
Primary CPC classification G06N3/045. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 16 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).