IP Library Granted Patent US 11,790,235
Granted Patent B2
US 11,790,235 · App. 18/147,313 · Granted Oct 17, 2023

Deep neural network with compound node functioning as a detector and rejecter

Inventor: James K. Baker (Maitland, FL)
Assignee: D5AI LLC
G06N3/082G06N3/044G06N3/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,790,235
App. No.
18/147,313
Granted
Oct 17, 2023
Kind
B2
Abstract

Computer systems and methods modify a base deep neural network (DNN). The method comprises replacing the target node of the base DNN with a compound node to thereby create a modified base DNN. The compound node comprises at least first and second nodes. The first node is trained to detect target node patterns in inputs to the first node and the second node is trained to detect an absence of the target node patterns in inputs to the second node, and the first and second nodes are trained to be non-complementary. Replacing the target node with the compound node comprises: connecting the first node to the upper sub-network of the base DNN, such that the first node has a weighted connection for each of the one or more base connection that the target node had to the upper sub-network in the base DNN; and connecting the second node to the upper sub-network of the base deep DNN, such that the second node has a weighted connection for each of the one or more base connection that the target node had to the upper sub-network in the base deep DNN. After replacing the target node, the modified base DNN is trained.

Claims (127)

1. A method of modifying a base deep neural network, wherein the base deep neural network comprises, prior to modification, an input layer, an output layer, and one or more hidden layers between the input and output layers, and wherein each layer comprises one or more nodes, such that the one or more hidden layer comprise a first hidden layer that comprises a target node, wherein, prior to modification, the target node has inputs from a lower sub-network of the base deep neural network and has one or more base connections to nodes in an upper sub-network of the base deep neural network, and the target node is trained to detect target node patterns in inputs to the target node that activate the target node beyond a target node threshold, the method comprising:

replacing, by a computer system, the target node with a compound node to thereby create a modified base deep neural network, wherein:

the compound node comprises at least first and second nodes;

the first node is trained to detect the target node patterns in inputs to the first node and the second node is trained to detect an absence of the target node patterns in inputs to the second node, wherein the first and second nodes are trained to be non-complementary; and

replacing the target node with the compound node comprises:

connecting the first node to the upper sub-network of the base deep neural network, such that the first node has a weighted connection for each of the one or more base connection that the target node had to the upper sub-network in the base deep neural network; and

connecting the second node to the upper sub-network of the base deep neural network, such that the second node has a weighted connection for each of the one or more base connection that the target node had to the upper sub-network in the base deep neural network; and

after replacing the target node, training, with the computer system, the modified base deep neural network.

2. The method of claim 1 , wherein:

connecting the first node to the upper sub-network of the base deep neural network comprises setting a weight for each weighted connection from the first node to the upper sub-network, prior to training the modified base deep neural network, to an initial value of positive one; and

connecting the second node to the upper sub-network of the base deep neural network comprises setting a weight for each weighted connection from the second node to the upper sub-network, prior to training the modified base deep neural network, to an initial value of negative one.

3. The method of claim 2 , wherein:

the method further comprises, prior to replacing the target node with the compound node:

training the first and second nodes;

training a first sub-network for the first node; and

training a second sub-network for the second node; and

replacing the target node with the compound node comprises including the first and second sub-networks in the modified base deep neural network, wherein the first sub-network is connected to the first node and the second sub-network is connected to the second node.

4. The method of claim 3 , wherein the first and second sub-networks, prior to training the first and second sub-networks, are copies of the lower sub-network of the base deep neural network.

5. The method of claim 2 , wherein each of the first and second nodes have a sigmoid activation function.

6. The method of claim 2 , wherein each of the first and second nodes have a softmax activation function.

7. The method of claim 1 , wherein:

the method further comprises, prior to replacing the target node with the compound node:

training the first and second nodes;

training a first sub-network for the first node; and

training a second sub-network for the second node; and

replacing the target node with the compound node comprises including the first and second sub-networks in the modified base deep neural network, wherein the first sub-network is connected to the first node and the second sub-network is connected to the second node.

8. The method of claim 7 , wherein the first and second sub-networks, prior to training the first and second sub-networks, are copies of the lower sub-network of the base deep neural network.

9. The method of claim 8 , wherein:

the compound node further comprises a third node;

the third node is trained to be activated on a training data item if neither the first nor second nodes are activated for the training data item; and

replacing the target node comprises connecting the third node to the upper sub-network of the base deep neural network, such that the third node has a weighted connection for each of the one or more base connections that the target node had to the upper sub-network in the base deep neural network.

10. The method of claim 9 , wherein:

the method further comprises, prior to replacing the target node with the compound node:

training the third node; and

training a third sub-network for the third node; and

replacing the target node with the compound node comprises including the third sub-networks in the modified base deep neural network, wherein the third sub-network is connected to the third node.

11. The method of claim 10 , wherein connecting the third node to the upper sub-network of the base deep neural network comprises setting a weight for each weighted connection from the third node to the upper sub-network, prior to training the modified base deep neural network, to an initial value of zero.

12. The method of claim 11 , wherein the third sub-network, prior to training the first, second and third sub-networks, is a copy of the lower sub-network of the base deep neural network.

13. The method of claim 12 , wherein each of the first, second and third nodes have a sigmoid activation function.

14. The method of claim 12 , wherein each of the first, second and third nodes have a softmax activation function.

15. The method of claim 10 , wherein the third sub-network, prior to training the first, second and third sub-networks, is a copy of the lower sub-network of the base deep neural network.

16. The method of claim 7 , wherein training the first and second nodes comprises training the first and second nodes to be sparsely activated.

17. The method of claim 1 , wherein:

the compound node further comprises a third node;

the third node is trained to be activated on a training data item if neither the first nor second node is activated for the training data item; and

replacing the target node comprises connecting the third node to the upper sub-network of the base deep neural network, such that the third node has a weighted connection for each of the one or more base connections that the target node had to the upper sub-network in the base deep neural network.

18. The method of claim 1 , wherein each of the first and second nodes have a sigmoid activation function.

19. The method of claim 1 , wherein each of the first and second nodes have a softmax activation function.

20. The method of claim 1 , wherein the target node comprises a detector for a classification category.

21. The method of claim 1 , wherein:

the modified base deep neural network comprises an output node on the output layer of the modified base deep neural network;

the output node is connected to D1 detector nodes, wherein D1 is greater than or equal to three; and

training the modified base deep neural network comprises:

training, by the computer system, each of the D1 detector nodes to detect a category represented by the output node; and

for a training iteration where two or more of the D1 detector nodes are falsely activated, including a first penalty term with a cost function for the two or more of the D1 detector nodes that are falsely activated in a computation of partial derivatives in a back-propagation phase of the training iteration.

22. The method of claim 21 , wherein:

the output node is further connected to R1 rejecter nodes, wherein R1 is greater than or equal to three; and

training the modified base deep neural network comprises:

training, by the computer system, each of the R1 rejecter nodes to reject a category represented by the output node; and

for a training iteration where two or more of the R1 rejecter nodes are falsely activated, including a second penalty term with a cost function for the two or more of the R1 rejecter nodes that are falsely activated in the computation of partial derivatives in the back-propagation phase of the training iteration.

23. The method of claim 1 , wherein:

the modified base deep neural network comprises an output node on the output layer of the modified base deep neural network;

the output node is further connected to R1 rejecter nodes, wherein R1 is greater than or equal to three; and

training the modified base deep neural network comprises:

training, by the computer system, each of the R1 rejecter nodes to reject a category represented by the output node; and

for a training iteration where two or more of the R1 rejecter nodes are falsely activated, including a penalty term with a cost function for the two or more of the R1 rejecter nodes that are falsely activated in a computation of partial derivatives in a back-propagation phase of the training iteration.

24. A computer system for modifying a base deep neural network, wherein the base deep neural network comprises, prior to modification, an input layer, an output layer, and one or more hidden layers between the input and output layers, and wherein each layer comprises one or more nodes, such that the one or more hidden layer comprise a first hidden layer that comprises a target node, wherein, prior to modification, the target node has inputs from a lower sub-network of the base deep neural network and has one or more base connections to nodes in an upper sub-network of the base deep neural network, and the target node is trained to detect target node patterns in inputs to the target node that activate the target node beyond a target node threshold, 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 computer instructions that, when executed by the one or more processor cores, causes the one or more processor cores to:

replace the target node with a compound node to thereby create a modified base deep neural network, wherein:

the compound node comprises at least first and second nodes;

the first node is trained to detect the target node patterns in inputs to the first node and the second node is trained to detect an absence of the target node patterns in inputs to the second node, wherein the first and second nodes are trained to be non-complementary, and

the one or more processor cores are configured, with the computer instructions, to replace the target node with the compound node by, among other steps:

connecting the first node to the upper sub-network of the base deep neural network, such that the first node has a weighted connection for each of the one or more base connection that the target node had to the upper sub-network in the base deep neural network; and

connecting the second node to the upper sub-network of the base deep neural network, such that the second node has a weighted connection for each of the one or more base connection that the target node had to the upper sub-network in the base deep neural network; and

after replacing the target node, train the modified base deep neural network.

25. The computer system of claim 24 , wherein the one or more processor cores are configured, with the computer instructions, to:

connect the first node to the upper sub-network of the base deep neural network by, among other steps, setting a weight for each weighted connection from the first node to the upper sub-network, prior to training the modified base deep neural network, to an initial value of positive one; and

connect the second node to the upper sub-network of the base deep neural network by, among other steps, setting a weight for each weighted connection from the second node to the upper sub-network, prior to training the modified base deep neural network, to an initial value of negative one.

26. The computer system of claim 25 , wherein the one or more processor cores are further configured, with the computer instructions, to, prior to replacing the target node with the compound node:

train the first and second nodes;

train a first sub-network for the first node; and

train a second sub-network for the second node; and

replace the target node with the compound node by, among other steps, including the first and second sub-networks in the modified base deep neural network, wherein the first sub-network is connected to the first node and the second sub-network is connected to the second node.

27. The computer system of claim 26 , wherein the first and second sub-networks, prior to training the first and second sub-networks, are copies of the lower sub-network of the base deep neural network.

28. The computer system of claim 24 , wherein the one or more processor cores are further configured, with the computer instructions, to, prior to replacing the target node with the compound node:

train the first and second nodes;

train a first sub-network for the first node; and

train a second sub-network for the second node; and

replace the target node with the compound node by, among other steps, including the first and second sub-networks in the modified base deep neural network, wherein the first sub-network is connected to the first node and the second sub-network is connected to the second node.

29. The computer system of claim 28 , wherein the first and second sub-networks, prior to training the first and second sub-networks, are copies of the lower sub-network of the base deep neural network.

30. The computer system of claim 29 , wherein:

the compound node further comprises a third node;

the third node is trained to be activated on a training data item if neither the first nor second nodes are activated for the training data item; and

the one or more processor cores are further configured, with the computer instructions, to replace the target node by, among other steps, connecting the third node to the upper sub-network of the base deep neural network, such that the third node has a weighted connection for each of the one or more base connections that the target node had to the upper sub-network in the base deep neural network.

31. The computer system of claim 30 , wherein the one or more processor cores are further configured, with the computer instructions, to, prior to replacing the target node with the compound node:

train the third node; and

train a third sub-network for the third node; and

replace the target node with the compound node by, among other steps, including the third sub-networks in the modified base deep neural network, wherein the third sub-network is connected to the third node.

32. The computer system of claim 31 , wherein the one or more processor cores are further configured, with the computer instructions, to connect the third node to the upper sub-network of the base deep neural network by, among other steps, setting a weight for each weighted connection from the third node to the upper sub-network, prior to training the modified base deep neural network, to an initial value of zero.

33. The computer system of claim 32 , wherein the third sub-network, prior to training the first, second and third sub-networks, is a copy of the lower sub-network of the base deep neural network.

34. The computer system of claim 31 , wherein the third sub-network, prior to training the first, second and third sub-networks, is a copy of the lower sub-network of the base deep neural network.

35. The computer system of claim 28 , wherein the one or more processor cores are further configured, with the computer instructions, to train the first and second nodes to be sparsely activated.

36. The computer system of claim 24 , wherein:

the compound node further comprises a third node;

the third node is trained to be activated on a training data item if neither the first nor second node is activated for the training data item; and

the one or more processor cores are further configured, with the computer instructions, to replace the target node by, among other steps, connecting the third node to the upper sub-network of the base deep neural network, such that the third node has a weighted connection for each of the one or more base connections that the target node had to the upper sub-network in the base deep neural network.

37. The computer system of claim 24 , wherein each of the first and second nodes have a sigmoid activation function.

38. The computer system of claim 24 , wherein each of the first and second nodes have a softmax activation function.

39. The computer system of claim 24 , wherein the target node comprises a detector for a classification category.

40. The computer system of claim 24 , wherein:

the modified base deep neural network comprises an output node on the output layer of the modified base deep neural network;

the output node is connected to D1 detector nodes, wherein D1 is greater than or equal to three; and

the one or more processor cores are further configured, with the computer instructions, to train the modified base deep neural network by, among other steps:

training each of the D1 detector nodes to detect a category represented by the output node; and

for a training iteration where two or more of the D1 detector nodes are falsely activated, including a first penalty term with a cost function for the two or more of the D1 detector nodes that are falsely activated in a computation of partial derivatives in a back-propagation phase of the training iteration.

41. The computer system of claim 40 , wherein:

the output node is further connected to R1 rejecter nodes, wherein R1 is greater than or equal to three; and

the one or more processor cores are further configured, with the computer instructions, to train the modified base deep neural network by, among other steps:

training each of the R1 rejecter nodes to reject a category represented by the output node; and

for a training iteration where two or more of the R1 rejecter nodes are falsely activated, including a second penalty term with a cost function for the two or more of the R1 rejecter nodes that are falsely activated in the computation of partial derivatives in the back-propagation phase of the training iteration.

42. The computer system of claim 24 , wherein:

the modified base deep neural network comprises an output node on the output layer of the modified base deep neural network;

the output node is further connected to R1 rejecter nodes, wherein R1 is greater than or equal to three; and

the one or more processor cores are further configured, with the computer instructions, to train the modified base deep neural network by, among other steps:

training each of the R1 rejecter nodes to reject a category represented by the output node; and

for a training iteration where two or more of the R1 rejecter nodes are falsely activated, including a penalty term with a cost function for the two or more of the R1 rejecter nodes that are falsely activated in a computation of partial derivatives in a back-propagation phase of the training iteration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2022
From: BAKER, JAMES K.
To: D5AI LLC
Reel/Frame 062241/0131 →
Continuity (5)
Continuation 17664898 · May 25, 2022
Continuation 17653006 · Mar 1, 2022
Continuation 16618910
Provisional Application 62515142 · Jun 5, 2017
Related Publication 20230142528A1 · May 11, 2023