IP Library Granted Patent US 12,288,161
Granted Patent B2
US 12,288,161 · App. 18/947,318 · Granted Apr 29, 2025

Creating diverse neural networks with node tying

Inventors: James K. Baker (Maitland, FL); Bradley J. Baker (Berwyn, PA)
Assignee: D5AI LLC
G06N3/082G06F16/9024G06F18/214G06F18/217G06F18/24G06N3/04G06N3/045G06N3/048G06N3/08G06N3/084G06N20/00G06N20/20H04L67/142G06F18/2148G06N5/046
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 12,288,161
App. No.
18/947,318
Granted
Apr 29, 2025
Kind
B2
Abstract

A system and method for controlling a nodal network. The method includes estimating an effect on the objective caused by the existence or non-existence of a direct connection between a pair of nodes and changing a structure of the nodal network based at least in part on the estimate of the effect. A nodal network includes a strict partially ordered set, a weighted directed acyclic graph, an artificial neural network, and/or a layered feed-forward neural network.

Claims (70)

1. A method of training a computer-implemented deep neural network to improve performance of the deep neural network by making the deep neural network more diverse, wherein the deep neural network comprises an input layer, an output layer, and one or more inner layers between the input and output layers, wherein the one or more inner layers and the output layer each comprise one or more nodes, such that the deep neural network comprises multiple nodes across, collectively, the one or more inner layers and the output layer, such that the neural network comprises at least a first node and a second node, wherein the first node has a first set of weights for one or more incoming connections to the first node and the second node has a second set of weights for one or more incoming connections to the second node, the method comprising:

iterative training, by a programmed computer system that comprises one or more processor cores, via machine learning, of the deep neural network, wherein the iterative training comprises;

for each training datum item in a set of training data items:

in a forward propagation computation, computing an activation value for the multiple nodes; and

in a back-propagation computation, computing partial derivatives of weights for the multiple nodes with respect to, at least, an objective for the neural network, wherein computing the partial derivatives of the weights for the multiple nodes comprises computing partial derivatives for the first set of weights for the first node and partial derivatives for the second set of weights for the second node; and

updating learned parameters for the nodes based on the partial derivatives, wherein updating the learned parameters for the nodes comprises updating the first and second sets of weights;

wherein the iterative training further comprises training the first and second nodes to be complementary, wherein training the first and second nodes to be complementary comprises:

detecting, by the programmed computer system, a first error-prone training data item in the set of training data items;

detecting that the activation values for the first and second nodes for the first error-prone training data item agree;

imposing a first regularization cost term for the first and second nodes in computing the partial derivatives of the weights for the first and second nodes for the first error-prone training data item upon detection of the activation values for the first and second nodes agreeing for the first error-prone training data item, where the first regularization cost term penalizes the first and second nodes;

detecting, by the programmed computer system, a second error-prone training data item in the set of training data items;

detecting that the activation values for the first and second nodes for the second error-prone training data item do not agree; and

imposing a second regularization cost term for the first and second nodes in computing the partial derivatives of the weights for the first and second nodes for the second error-prone training data item upon detection of the activation values for the first and second nodes not agreeing for the second error-prone training data item, where the second regularization cost term rewards the first and second nodes.

2. The method of claim 1 , wherein:

the deep neural network comprises first and second sub-networks;

the first sub-network comprises the first node; and

the second sub-network comprises the second node.

3. The method of claim 1 , wherein:

the deep neural network comprises an ensemble that comprises first and second ensemble members;

the first ensemble member comprises the first node; and

the second ensemble member comprises the second node.

4. The method of claim 3 , wherein the ensemble comprises an ensemble of classifiers, such that the first ensemble member comprises a first classifier and the second ensemble member comprises a second classifier.

5. The method of claim 4 , wherein:

the first node comprises an output node of the first classifier; and

the second node comprises an output node of the second classifier.

6. The method of claim 3 , wherein:

the first node comprises an output node of the first ensemble member; and

the second node comprises an output node of the ensemble member.

7. The method of claim 1 , wherein detecting the first error prone training data item comprises determining whether activation values for the first and second nodes are equal for a training data example.

8. The method of claim 5 , wherein detecting the first error prone training data item comprises determining whether the ensemble made a classification error for a training data item.

9. The method of claim 1 , wherein the first and second regularization costs terms are based on a counter-tying strength hyperparameter.

10. The method of claim 1 , wherein the iterative training further comprises:

detecting by the programmed computer system a non-error-prone training data item in the set of training data items; and

not imposing a regularization cost term for the first and second nodes in computing the partial derivatives of the weights for the first and second nodes for the non-error-prone training data item.

11. The method of claim 1 , wherein:

the programmed computer system comprises a first set of one or more graphical processing units (GPUs) and second set of one or more GPUs; and

computing the activation values in the forward propagation computations for the multiple nodes comprises processing in parallel, by the first and second sets of GPUs, the training data items in the set of training data items.

12. A computer system for training a deep neural network to improve performance of the deep neural network by making the deep neural network more diverse, wherein the deep neural network comprises an input layer, an output layer, and one or more inner layers between the input and output layers, wherein the one or more inner layers and the output layer each comprise one or more nodes, such that the deep neural network comprises multiple nodes across, collectively, the one or more inner layers and the output layer, such that the neural network comprises at least a first node and a second node, wherein the first node has a first set of weights for one or more incoming connections to the first node and the second node has a second set of weights for one or more incoming connections to the second node, the computer system comprising:

one or more processing units; and

computer memory in communication with the one or more processing units, wherein the computer memory stores instructions executable by the one or more processing units, wherein the instructions, when executed by the one or more processing units, cause the one or more processing units to perform iterative training, via machine learning, of the deep neural network by at least;

for each training datum item in a set of training data items:

in a forward propagation computation, computing an activation value for the multiple nodes; and

in a back-propagation computation, computing partial derivatives of weights for the multiple nodes with respect to, at least, an objective for the neural network, wherein computing the partial derivatives of the weights for the multiple nodes comprises computing partial derivatives for the first set of weights for the first node and partial derivatives for the second set of weights for the second node; and

updating learned parameters for the nodes based on the partial derivatives, wherein updating the learned parameters for the nodes comprises updating the first and second sets of weights; and

wherein the instructions further cause the one or more processing units to perform the iterative training by at least training the first and second nodes to be complementary by at least:

detecting a first error-prone training data item in the set of training data items;

upon detecting that the activation values for the first and second nodes for the first error-prone training data item agree, imposing a first regularization cost term for the first and second nodes in computing the partial derivatives of the weights for the first and second nodes for the first error-prone training data item upon detection of the activation values for the first and second nodes agreeing for the first error-prone training data item, where the first regularization cost term penalizes the first and second nodes; and

upon detecting that the activation values for the first and second nodes for the first error-prone training data item do not agree, imposing a second regularization cost term for the first and second nodes in computing the partial derivatives of the weights for the first and second nodes for the first error-prone training data item upon detection of the activation values for the first and second nodes not agreeing for the first error-prone training data item, where the second regularization cost term rewards the first and second nodes.

13. The computer system of claim 12 , wherein:

the deep neural network comprises first and second sub-networks;

the first sub-network comprises the first node; and

the second sub-network comprises the second node.

14. The computer system of claim 12 , wherein:

the deep neural network comprises an ensemble that comprises first and second ensemble members;

the first ensemble member comprises the first node; and

the second ensemble member comprises the second node.

15. The computer system of claim 14 , wherein the ensemble comprises an ensemble of classifiers, such that the first ensemble member comprises a first classifier and the second ensemble member comprises a second classifier.

16. The computer system of claim 15 , wherein:

the first node comprises an output node of the first classifier; and

the second node comprises an output node of the second classifier.

17. The computer system of claim 14 , wherein:

the first node comprises an output node of the first ensemble member; and

the second node comprises an output node of the ensemble member.

18. The computer system of claim 12 , wherein computer memory stores instructions that when executed by the one or more processing units cause the one or more processing unit to detect the first error prone training data item by determining whether activation values for the first and second nodes are equal for a training data example.

19. The computer system of claim 16 , wherein computer memory stores instructions that when executed by the one or more processing units cause the one or more processing unit to detect the first error prone training data item by determining whether the ensemble made a classification error for a training data item.

20. The computer system of claim 12 , wherein the first and second regularization costs terms are based on a counter-tying strength hyperparameter.

21. The computer system of claim 12 , wherein computer memory stores instructions that when executed by the one or more processing units cause the one or more processing unit to perform the iterative training by:

detecting a non-error-prone training data item in the set of training data items; and

not imposing a regularization cost term for the first and second nodes in computing the partial derivatives of the weights for the first and second nodes for the non-error-prone training data item.

22. The computer system of claim 12 , wherein the one or more processing units comprise a first set of one or more graphical processing units (GPUs) and second set of one or more GPUs for, collectively, processing in parallel the training data items in the set of training data items.

Continuity (6)
Continuation 18352044 · Jul 13, 2023
Continuation 16929900 · Jul 15, 2020
Continuation 16767966
Provisional Application 62647085 · Mar 23, 2018
Provisional Application 62623773 · Jan 30, 2018
Related Publication 20250068909A1 · Feb 27, 2025
References Cited (64)
US 5701398A · Glier et al. · 1997 [cited by applicant]
US 10832137B2 · Baker et al. · 2020 [cited by applicant]
US 10832138B2 · Choi · 2020 [cited by applicant]
US 10839294B2 · Baker · 2020 [cited by applicant]
US 10929757B2 · Baker et al. · 2021 [cited by applicant]
US 11010671B2 · Baker et al. · 2021 [cited by applicant]
US 11074499B2 · Burr · 2021 [cited by applicant]
US 11087217B2 · Baker et al. · 2021 [cited by applicant]
US 11093830B2 · Baker et al. · 2021 [cited by applicant]
US 11151455B2 · Baker et al. · 2021 [cited by applicant]
US 11321612B2 · Baker et al. · 2022 [cited by applicant]
US 11386330B2 · Baker · 2022 [cited by applicant]
US 11410050B2 · Baker · 2022 [cited by applicant]
US 11461655B2 · Baker et al. · 2022 [cited by applicant]
US 11461661B2 · Baker · 2022 [cited by applicant]
US 11610130B2 · Baker · 2023 [cited by applicant]
US 20040015459A1 · Jaeger · 2004 [cited by applicant]
US 20040073096A1 · Kates et al. · 2004 [cited by applicant]
US 20040128004A1 · Adams et al. · 2004 [cited by applicant]
US 20040260662A1 · Staelin et al. · 2004 [cited by applicant]
US 20050283450A1 · Matsugu et al. · 2005 [cited by applicant]
US 20080065572A1 · Abe et al. · 2008 [cited by applicant]
US 20080069437A1 · Baker · 2008 [cited by applicant]
US 20080154820A1 · Kirshenbaum et al. · 2008 [cited by applicant]
US 20150019467A1 · Nugent · 2015 [cited by applicant]
US 20160110642A1 · Matsuda et al. · 2016 [cited by applicant]
US 20160342904A1 · Merkel · 2016 [cited by examiner]
US 20170105791A1 · Yates et al. · 2017 [cited by applicant]
US 20190325343A1 · Feng et al. · 2019 [cited by applicant]
US 20200242466A1 · Mohassel · 2020 [cited by examiner]
WO 2018175098A1 · 2018 [cited by applicant]
WO 2018194960A1 · 2018 [cited by applicant]
WO 2018226492A1 · 2018 [cited by applicant]
WO 2018226527A1 · 2018 [cited by applicant]
WO 2018231708A2 · 2018 [cited by applicant]
WO 2019005507A1 · 2019 [cited by applicant]
WO 2019005611A1 · 2019 [cited by applicant]
WO 2019067236A1 · 2019 [cited by applicant]
WO 2019067248A1 · 2019 [cited by applicant]
WO 2019067281A1 · 2019 [cited by applicant]
WO 2019067542A1 · 2019 [cited by applicant]
WO 2019067831A1 · 2019 [cited by applicant]
WO 2019067960A1 · 2019 [cited by applicant]
WO 2019152308A1 · 2019 [cited by applicant]
WO 2020005471A1 · 2020 [cited by applicant]
WO 2020009881A1 · 2020 [cited by applicant]
WO 2020009912A1 · 2020 [cited by applicant]
WO 2020018279A1 · 2020 [cited by applicant]
WO 2020028036A1 · 2020 [cited by applicant]
WO 2020033645A1 · 2020 [cited by applicant]
WO 2020036847A1 · 2020 [cited by applicant]
WO 2020041026A1 · 2020 [cited by applicant]
WO 2020046719A1 · 2020 [cited by applicant]
WO 2020046721A1 · 2020 [cited by applicant]
Glacet et al., The impact of Edge Deletions on the Number of Errors in Networks, In:OPODIS'11 Proceedings of the 15th International Conference on Principles of Distributed System, Dec. 13-16, 2011; https://www.researchg… [cited by applicant]
International Search Report and Written Opinion for International PCT Application No. PCT/US2019/015389, dated Apr. 25, 2019. [cited by applicant]
International Preliminary Report on Patentability for International PCT Application No. PCT/US2019/015389, dated Sep. 4, 2020. [cited by applicant]
Fu, Li-Min, and Li-Chen Fu. “Mapping rule-based systesm into neural architecture.” Knowledge-Based Systems 3, No. 1 (1990):48-56 (Year: 1990). [cited by applicant]
Petrowski, A. “Choosing among several parallel implementations of the backpropagation algorithm.” In Proceedings of 1994 IEEE International Conference on Neural Networks (ICNN'94), vol. 3, pp. 1981-1986. IEEE, 1994. (Ye… [cited by applicant]
Lehtokangas, M. (1999). Modelling with constructive backpropagation. Neural Networks, 12(4-5), 707-716. (Year: 1999). [cited by applicant]
Rojas, Raul. “The backpropagation algorithm.” In Neural networks, pp. 149-182. Springer, Berlin, Heidelberg, 1996. (Year: 1996). [cited by applicant]
Valle M. Analog VLSI implementation of artificial neural networks with supervised on-chip learning. Analog Integrated Circuits and Signal Processing. Dec. 2002;33:263-87. (Year: 2002). [cited by applicant]
Sumpter BG, Getino C, Noid DW. Theory and applications of neural computing in chemical science. Annual Review of Physical Chemistry. Oct. 1994;45(1):439-81. (Year: 1994). [cited by applicant]
Sethi K. Entropy nets: from decision trees to neural networks. Proceedings of the IEEE. Oct. 1990;78(10):1605-13. (Year: 1990). [cited by applicant]
Cited By (1)
US 12,639,576