Genetic convolutional neural network
AssigneeColossio, Inc.
InventorJoseph A. Jaroch
Life of this patent
Estimating the term…
Abstract
Methods for genetic generation of tools for use in a convolutional neural network are provided. Randomly generated starting points and sets of positive and negative tasks are distributed to multiple processors. Each processor iterates an instruction queue over its received tasks based on existing analysis tools, generating a test score for each iteration. A set of instructions is saved as a new tool if its generated test score determines a successful test. A convolutional neural network is executed over complex test cases based on a tool set that includes the new tools. Output results of the convolutional neural network are analyzed and a new tool set is created by removing tools that are not utilized in generating the output results. Systems and machine-readable media are also provided.
Claims20
A computer-implemented method for genetic generation of a tool for a convolutional neural network, the method comprising:
- receiving a set of positive and negative tasks;
- generating a plurality of random starting points;
- distributing the received tasks and the generated starting points to a plurality of processors;
- at each of the plurality of processors:
- using a received starting point as a random seed;
- incrementing the received starting point;
- initializing a size of an instruction queue;
- generating an instruction operator from a set of existing tools;
- generating a random instruction operand;
- adding the generated instruction operator and random instruction operand to a list of instructions;
- determining if the instruction queue has been filled;
- executing the instruction queue if the instruction queue has been filled;
- generating a score for an executed list of instructions in the instruction queue;
- and
- saving the executed list of instructions as a new tool if the score is determined to be acceptable.
A system for genetic generation of a tool for a convolutional neural network, the system comprising:
- a memory;
- and
- a processor configured to execute instructions which, when executed, cause the processor to:
- receive a random starting point and a set of positive and negative tasks;
- use a first starting point as a random seed;
- increment the first starting point to obtain a second starting point;
- one of initialize and increment a size of an instruction queue;
- generate an instruction operator from a set of existing tools and a random instruction operand;
- add the generated instruction operator and random instruction operand to a list of instructions;
- execute the instruction queue if the instruction queue has been filled;
- generate a score for an executed list of instructions in the instruction queue, wherein the generated score is a final score based on success and failure over the set of positive and negative tasks;
- and
- save the executed list of instructions as a new built tool if the score is determined to indicate one of a successful test and a test more successful than a previous test.
A non-transitory machine-readable storage medium comprising machine-readable instructions for causing a processor to execute a method for genetic generation of a tool set for a convolutional neural network, the method comprising:
- receiving a set of positive and negative tasks;
- generating a plurality of random starting points;
- distributing the received tasks and the generated starting points to a plurality of processors;
- using a received starting point as a random seed;
- incrementing the received starting point;
- initializing a size of an instruction queue;
- generating an instruction operator from a set of existing tools;
- generating a random instruction operand;
- adding the generated instruction operator and random instruction operand to a list of instructions;
- determining if the instruction queue has been filled;
- executing the instruction queue if the instruction queue has been filled;
- generating a score for an executed list of instructions in the instruction queue;
- and
- saving the executed list of instructions as a new tool if the score exceeds a success threshold.
Dependencies are inferred from the claim text.