IP Library Granted Patent US 11,562,246
Granted Patent B2
US 11,562,246 · App. 17/664,898 · Granted Jan 24, 2023

Asynchronous agents with learning coaches and structurally modifying deep neural networks without performance degradation

Inventor: James K. Baker (Maitland, FL)
Assignee: D5AI LLC
G06N3/082G06N3/0445G06N3/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,562,246
App. No.
17/664,898
Granted
Jan 24, 2023
Kind
B2
Abstract

Methods and computer systems improve a trained base deep neural network by structurally changing the base deep neural network to create an updated deep neural network, such that the updated deep neural network has no degradation in performance relative to the base deep neural network on the training data. The updated deep neural network is subsequently training. Also, an asynchronous agent for use in a machine learning system comprises a second machine learning system ML2 that is to be trained to perform some machine learning task. The asynchronous agent further comprises a learning coach LC and an optional data selector machine learning system DS. The purpose of the data selection machine learning system DS is to make the second stage machine learning system ML2 more efficient in its learning (by selecting a set of training data that is smaller but sufficient) and/or more effective (by selecting a set of training data that is focused on an important task). The learning coach LC is a machine learning system that assists the learning of the DS and ML2. Multiple asynchronous agents could also be in communication with each others, each trained and grown asynchronously under the guidance of their respective learning coaches to perform different tasks.

Claims (94)

1. A method of training a neural network, the neural network comprising one or more output nodes, wherein the one or more output nodes comprises at least a first output node, the method comprising iteratively training, by a computer system that comprises one or more programmed processing cores, the neural network with a set of training data items, wherein the iterative training comprises:

for each of n=1, . . . , N training iterations:

in a forward computation phase, computing, by the computer system, in a forward computation through the neural network, activation values for nodes of the neural network for an nth training data item in the set of training data items, wherein computing the activation values comprises computing an activation value for the first output node; and

in a back-propagation phase, computing, by the computer system, partial derivatives of a cost function for an objective for the neural network through the neural network for the nth training data item; and

after the forward computation phase and the back-propagation phase for the Nth training iteration, computing, by the computer system updated learned parameters for the neural network based on the computed partial derivatives for each of the n=1, . . . , N training iterations,

wherein:

the first output node is connected to D 1 detector nodes, wherein D 1 is greater than or equal to three;

each of the D 1 detector nodes is trained to detect a category represented by the first output node; and

the n=1, . . . , N training iterations comprise:

for each of the n=1, . . . , N training iterations, determining by the computer system whether any of the D 1 detector nodes are falsely activated; and

for each of the n=1, . . . , N training iterations for which there is a determination that two or more of the D 1 detector nodes are falsely activated, including a first penalty term with the cost function for the two or more of the D 1 detector nodes that are falsely activated in the computing of the partial derivatives in the back-propagation phase.

2. The method of claim 1 , wherein:

the first output node is connected to R 1 rejecter nodes, wherein R 1 is greater than or equal to three;

each of the R 1 rejecter nodes is trained to reject a category represented by the first output node; and

the n=1, . . . , N training iterations comprise:

for each of the n=1, . . . , N training iterations, determining by the computer system whether any of the R 1 rejecter nodes are falsely activated; and

for each of the n=1, . . . , N training iterations for which there is a determination that two or more of the R 1 rejecter nodes are falsely activated, including a second penalty term with the cost function for the two or more of the R 1 rejecter nodes that are falsely activated in the computing of the partial derivatives in the back-propagation phase.

3. The method of claim 1 , wherein:

the neural network further comprises a second output node;

the second output node is connected to D 2 detector nodes, where D 2 is greater than or equal to three;

each of the D 2 detector nodes is trained to detect a category represented by the second output node; and

the n=1, . . . , N training iterations comprise:

for each of the n=1, . . . , N training iterations, determining by the computer system whether any of the D 2 detector nodes are falsely activated; and

for each of the n=1, . . . , N training iterations for which there is a determination that two or more of the D 2 detector nodes are falsely activated, including the first penalty term with the cost function for the two or more of the D 2 detector nodes that are falsely activated in the computing of the partial derivatives in the back-propagation phase.

4. A method of training a neural network, the neural network comprising one or more output nodes, wherein the one or more output nodes comprises at least a first output node, the method comprising iteratively training, by a computer system that comprises one or more programmed processing cores, the neural network with a set of training data items, wherein the iterative training comprises:

for each of n=1, . . . , N training iterations:

in a forward computation phase, computing, by the computer system, in a forward computation through the neural network, activation values for nodes of the neural network for an nth training data item in the set of training data items, wherein computing the activation values comprises computing an activation value for the first output node; and

in a back-propagation phase, computing, by the computer system, partial derivatives of a cost function for an objective for the neural network through the neural network for the nth training data item; and

after the forward computation phase and the back-propagation phase for the Nth training iteration, computing, by the computer system updated learned parameters for the neural network based on the computed partial derivatives for each of the n=1, . . . , N training iterations,

wherein:

the first output node is connected to R 1 rejecter nodes, wherein R 1 is greater than or equal to three;

each of the R 1 rejecter nodes is trained to reject a category represented by the first output node; and

the n=1, . . . , N training iterations comprise:

for each of the n=1, . . . , N training iterations, determining by the computer system whether any of the R 1 rejecter nodes are falsely activated; and

for each of the n=1, . . . , N training iterations for which there is a determination that two or more of the R 1 rejecter nodes are falsely activated, including a penalty term with the cost function for the two or more of the R 1 rejecter nodes that are falsely activated in the computing of the partial derivatives in the back-propagation phase.

5. The method of claim 4 , wherein:

the neural network further comprises a second output node;

the second output node is connected to R 2 rejecter nodes, where R 2 is greater than or equal to three;

each of the R 2 rejecter nodes is trained to detect a category represented by the second output node; and

the n=1, . . . , N training iterations comprise:

for each of the n=1, . . . , N training iterations, determining by the computer system whether any of the R 2 rejecter nodes are falsely activated; and

for each of the n=1, . . . , N training iterations for which there is a determination that two or more of the R 2 rejecter nodes are falsely activated, including the penalty term with the cost function for the two or more of the R 2 rejecter nodes that are falsely activated in the computing of the partial derivatives in the back-propagation phase.

6. A computer system comprising:

one or more processor cores; and

a memory in communication with the one or more processor cores, wherein the memory stores computer instructions that when executed by the one or more processor cores, cause the one or more processor cores to train a neural network, wherein:

the neural network comprising one or more output nodes;

the one or more output nodes comprises at least a first output node;

the computer instructions, when executed by the one or more processor cores, cause the one or more processor cores to train the neural network by iteratively training the neural network with a set of training data items by:

for each of n=1, . . . , N training iterations:

in a forward computation phase, computing, in a forward computation through the neural network, activation values for nodes of the neural network, including an activation value for the first output node, for an nth training data item in the set of training data items; and

in a back-propagation phase, computing, partial derivatives of a cost function for an objective for the neural network through the neural network for the nth training data item; and

after the forward computation phase and the back-propagation phase for the Nth training iteration, updating learned parameters for the neural network based on the computed partial derivatives for each of the n=1, . . . , N training iterations,

wherein:

the first output node is connected to D 1 detector nodes, wherein D 1 is greater than or equal to three;

each of the D 1 detector nodes is trained to detect a category represented by the first output node;

for each of the n=1, . . . , N training iterations, the one or more processor cores are programmed to:

 determine whether any of the D 1 detector nodes are falsely activated; and

 for each of the n=1, . . . , N training iterations for which there is a determination that two or more of the D 1 detector nodes are falsely activated, include a first penalty term with the cost function for the two or more of the D 1 detector nodes that are falsely activated in the computing of the partial derivatives in the back-propagation phase.

7. The computer system of claim 6 , wherein:

the first output node is connected to R 1 rejecter nodes, wherein R 1 is greater than or equal to three;

each of the R 1 rejecter nodes is trained to reject a category represented by the first output node; and

for each of the n=1, . . . , N training iterations, the one or more processor cores are programmed to:

determine whether any of the R 1 rejecter nodes are falsely activated; and

for each of the n=1, . . . , N training iterations for which there is a determination that two or more of the R 1 rejecter nodes are falsely activated, include a second penalty term with the cost function for the two or more of the R 1 rejecter nodes that are falsely activated in the computing of the partial derivatives in the back-propagation phase.

8. The computer system of claim 6 , wherein:

the neural network further comprises a second output node;

the second output node is connected to D 2 detector nodes, where D 2 is greater than or equal to three;

each of the D 2 detector nodes is trained to detect a category represented by the second output node; and

for each of the n=1, . . . , N training iterations, the one or more processor cores are programmed to:

determine whether any of the D 2 detector nodes are falsely activated; and

for each of the n=1, . . . , N training iterations for which there is a determination that two or more of the D 2 detector nodes are falsely activated, include the first penalty term with the cost function for the two or more of the D 2 detector nodes that are falsely activated in the computing of the partial derivatives in the back-propagation phase.

9. A computer system comprising:

one or more processor cores; and

a memory in communication with the one or more processor cores, wherein the memory stores computer instructions that when executed by the one or more processor cores, cause the one or more processor cores to train a neural network, wherein:

the neural network comprising one or more output nodes;

the one or more output nodes comprises at least a first output node;

the computer instructions, when executed by the one or more processor cores, cause the one or more processor cores to train the neural network by iteratively training with a set of training data items by:

for each of n=1, . . . , N training iterations:

in a forward computation phase, computing, in a forward computation through the neural network, activation values for nodes of the neural network, including an activation value for the first output node, for an nth training data item in the set of training data items; and

in a back-propagation phase, computing partial derivatives of a cost function for an objective for the neural network through the neural network for the nth training data item; and

after the forward computation phase and the back-propagation phase for the Nth training iteration, updating learned parameters for the neural network based on the computed partial derivatives for each of the n=1, . . . , N training iterations,

wherein:

the first output node is connected to R 1 rejecter nodes, wherein R 1 is greater than or equal to three;

each of the R 1 rejecter nodes is trained to reject a category represented by the first output node;

for each of the n=1, . . . , N training iterations, the one or more processor cores are programmed to:

 determine whether any of the R 1 rejecter nodes are falsely activated; and

 for each of the n=1, . . . , N training iterations for which there is a determination that two or more of the R 1 rejecter nodes are falsely activated, include a penalty term with the cost function for the two or more of the R 1 rejecter nodes that are falsely activated in the computing of the partial derivatives in the back-propagation phase.

10. The computer system of claim 9 , wherein:

the neural network further comprises a second output node;

the second output node is connected to R 2 rejecter nodes, where R 2 is greater than or equal to three;

each of the R 2 rejecter nodes is trained to detect a category represented by the second output node; and

for each of the n=1, . . . , N training iterations, the one or more processor cores are programmed to:

for each of the n=1, . . . , N training iterations, determine whether any of the R 2 rejecter nodes are falsely activated; and

for each of the n=1, . . . , N training iterations for which there is a determination that two or more of the R 2 rejecter nodes are falsely activated, include the penalty term with the cost function for the two or more of the R 2 rejecter nodes that are falsely activated in the computing of the partial derivatives in the back-propagation phase.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2022
From: BAKER, JAMES K.
To: D5AI LLC
Reel/Frame 060202/0978 →
Continuity (4)
Continuation 17653006 · Mar 1, 2022
Continuation 16618910
Provisional Application 62515142 · Jun 5, 2017
Related Publication 20220284295A1 · Sep 8, 2022