IP Library Granted Patent US 11,797,852
Granted Patent B2
US 11,797,852 · App. 18/181,948 · Granted Oct 24, 2023

Deep learning with judgment

Inventor: James K. Baker (Maitland, FL)
Assignee: D5AI LLC
G06N3/08G06N3/04
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,797,852
App. No.
18/181,948
Granted
Oct 24, 2023
Kind
B2
Abstract

Computer systems and computer-implemented methods modify a machine learning network, such as a deep neural network, to introduce judgment to the network. A “combining” node is added to the network, to thereby generate a modified network, where activation of the combining node is based, at least in part, on output from a subject node of the network. The computer system then trains the modified network by, for each training data item in a set of training data, performing forward and back propagation computations through the modified network, where the backward propagation computation through the modified network comprises computing estimated partial derivatives of an error function of an objective for the network, except that the combining node selectively blocks back-propagation of estimated partial derivatives to the subject node, even though activation of the combining node is based on the activation of the subject node.

Claims (41)

1. A method of training a neural network, wherein the neural network comprises multiple layers, and wherein each layer comprises at least one node, such that the neural network comprises a plurality of nodes including at least a first node, the method comprising, for each data item in a set of training data items:

performing, by a computer system, a forward computation, layer-by-layer, through the neural network, wherein the forward computation comprises computing an activation value for each node of the neural network, wherein the activation value of the first node is computed, in part, based on a first input from a first machine learning model and a second input from a second machine learning model;

after performing the forward computation, performing, by the computer system, a backward propagation, layer-by-layer, through the neural network, of estimated partial derivatives of an error function of an objective,

wherein performing the backward propagation comprises blocking, by the computer system, back propagation of the estimated partial derivatives:

from the first node to the first machine learning model for each training data item in the set of training data items upon a determination by the computer system that a sign of an estimated partial derivative of the error function with respect to the activation value of the first node is positive for the training data item; and

from the first node to the second machine learning model for each training data item in the set of training data items upon a determination by the computer system that the sign of an estimated partial derivative of the error function with respect to the activation value of the first node is negative for the training data item.

2. The method of claim 1 , wherein the first node is on an inner layer of the neural network.

3. The method of claim 1 , wherein training the neural network comprises training the neural network such that two back-propagated estimated partial derivatives for a second node of the plurality of nodes are not added if the two back-propagated estimated partial derivatives for the second node have opposite signs.

4. The method of claim 1 , wherein:

performing the backward propagation comprises back-propagating packets, wherein each packet comprises an estimate partial derivative and a tag, wherein each tag has a tag value; and

training the neural network comprises training the neural network such that two back-propagated estimated partial derivatives in two separate packets are not added for a second of the plurality of nodes if the tags for the second node for the two separate packets have different tag values.

5. The method of claim 1 , wherein:

the first node is a discriminator node;

the first machine learning model is trained as a detector to detect examples in a category; and

the second machine learning model is trained as a detector to detect counter examples to the category detected by the first machine learning model.

6. The method of claim 5 , wherein the first machine learning model comprises a neural network that is trained as a detector to detect examples in the category.

7. The method of claim 5 , wherein the first machine learning model comprises a set of radial basis functions that is trained as a detector to detect examples in the category.

8. The method of claim 5 , wherein the first machine learning model comprises a mixture of Gaussian models that is trained as a detector to detect examples in the category.

9. The method of claim 5 , wherein the first machine learning model comprises a decision tree that is trained as a detector to detect examples in the category.

10. The method of claim 5 , wherein the first machine learning model comprises a random forest that is trained as a detector to detect examples in the category.

11. A computer system for training a neural network, wherein the neural network comprises multiple layers, and wherein each layer comprises at least one node, such that the neural network comprises a first node, the computer system comprising:

one or more processor cores; and

a memory in communication with the one or more processor cores, wherein the memory stores instructions that, when executed by the one or more processor cores, configure the one or more processor cores to, for each data item in a set of training data items:

perform a forward computation, layer-by-layer, through the neural network, wherein the forward computation comprises computing an activation value for each node of the neural network, wherein the activation value of a second node is computed, in part, based on a first input from a first machine learning model and a second input from a second machine learning model;

after performing the forward computation, perform a backward propagation, layer-by-layer, through the neural network, of estimated partial derivatives of an error function of an objective,

wherein the backward propagation comprises blocking back propagation of the estimated partial derivatives:

from the first node to the first machine learning model for each training data item in the set of training data items upon a determination by the computer system that a sign of an estimated partial derivative of the error function with respect to the activation value of the first node is positive for the training data item; and

from the first node to the second machine learning model for each training data item in the set of training data items upon a determination by the computer system that the sign of an estimated partial derivative of the error function with respect to the activation value of the first node is negative for the training data item.

12. The computer system of claim 11 , wherein the memory further stores instructions that configure the one or more processor cores to train the neural network such that two back-propagated estimated partial derivatives are not added if the two back-propagated estimated partial derivatives have opposite signs.

13. The computer system of claim 11 , wherein the memory further stores instructions that configure the one or more processor cores to:

back-propagate packets, wherein each packet comprises an estimate partial derivative and a tag, wherein each tag has a tag value; and

train the neural network such that two back-propagated estimated partial derivatives in two separate packets are not added if the tags for the two separate packets have different tag values.

14. The computer system of claim 11 , wherein:

the first node is a discriminator node;

the first machine learning model is trained as a detector to detect examples in a category; and

the second machine learning model is trained as a detector to detect counter examples to the category detected by the first machine learning model.

15. The computer system of claim 14 , wherein the first machine learning model comprises a neural network that is trained as a detector to detect examples in the category.

16. The computer system of claim 14 , wherein the first machine learning model comprises a set of radial basis functions that is trained as a detector to detect examples in the category.

17. The computer system of claim 14 , wherein the first machine learning model comprises a mixture of Gaussian models that is trained as a detector to detect examples in the category.

18. The computer system of claim 14 , wherein the first machine learning model comprises a decision tree that is trained as a detector to detect examples in the category.

19. The computer system of claim 14 , wherein the first machine learning model comprises a random forest that is trained as a detector to detect examples in the category.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2023
From: BAKER, JAMES K.
To: D5AI LLC
Reel/Frame 063040/0598 →
Continuity (3)
Division 17753061
Provisional Application 62891610 · Aug 26, 2019
Related Publication 20230214655A1 · Jul 6, 2023