IP Library Granted Patent US 12,242,965
Granted Patent B2
US 12,242,965 · App. 18/377,899 · Granted Mar 4, 2025

Deep learning with judgment

Inventor: James K. Baker (Maitland, FL)
Assignee: DSAI 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 12,242,965
App. No.
18/377,899
Granted
Mar 4, 2025
Kind
B2
Abstract

Computer systems and computer-implemented methods for modifying a machine learning network, such as a deep neural network, to introduce judgment to the network are disclosed. 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 (62)

1. A method of accelerating training of a deep neural network, the method comprising:

initial iterative training, by a programmed computer system, through machine learning, of the deep neural network over a mega-batch of training data, wherein the mega-batch comprises multiple mini-batches of training data, and the initial iterative training comprises updating learned parameters of the deep neural network based on each mini-batch of training data;

accumulating, by the programmed computer system, mega-batch-accumulated statistics over the mega-batch, wherein the mega-batch-accumulated statistics comprise mega-batch-accumulated statistics for a subject node of the deep neural network; and

after the initial iterative training, training, by the programmed computer system, one or more nodes of the deep neural network based on the mega-batch statistics, wherein training the one or more nodes based on the mega-batch statistics comprises:

adding a combining node and an error judgement node to the deep neural network, wherein:

the error judgement node is for producing an activation value for a datum indicative of whether an activation value of the subject node of the deep neural is erroneous for the datum;

an activation value of the combining node for the datum is based on the activation values of both the subject and error judgement nodes; and

the combining node selectively blocks back-propagation of estimated partial derivatives to the subject node; and

training the error judgement node based on the mega-batch-accumulated statistics.

2. The method of claim 1 , wherein training the one or more added nodes of the deep neural network based on the mega-batch-accumulated statistics further comprises initializing learned parameters for the one or more nodes based on the mega-batch-accumulated statistics.

3. The method of claim 2 , wherein initializing the learned parameters for the one or more added nodes comprises learning the learned parameters for the one or more added nodes based on the mega-batch-accumulated statistics.

4. The method of claim 3 , wherein learning the learned parameters for the one or more nodes comprises fixing other learned parameters of the deep neural network.

5. The method of claim 1 , wherein:

the one or more nodes is a parametric probability distribution; and

the mega-batch-accumulated statistics comprise sufficient statistics for the parametric probability distribution.

6. The method of claim 1 , wherein:

the one or more nodes comprises a first node; and

training the first node based on the mega-batch-accumulated statistics comprises learning learned parameters for the first node using iteratively reweighted least squares on the mega-batch-accumulated statistics.

7. A system for accelerating training of a deep neural network, the system comprising:

one or more processor cores; and

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

iteratively train through machine learning, the deep neural network in an initial training, wherein the initial training comprises iteratively training the deep neural network over a mega-batch of training data, wherein the mega-batch comprises multiple mini-batches of training data, and the initial training comprises updating learned parameters of the deep neural network based on each mini-batch of training data;

accumulate mega-batch-accumulated statistics over the mega-batch, wherein the mega-batch-accumulated statistics comprise mega-batch-accumulated statistics for a subject node of the deep neural network; and

after the initial training, train one or more nodes of the deep neural network based on the mega-batch-accumulated statistics by, in part:

adding a combining node and an error judgement node to the deep neural network, wherein:

the error judgement node is for producing an activation value for a datum indicative of whether an activation value of the subject node of the deep neural is erroneous for the datum;

an activation value of the combining node for the datum is based on the activation values of both the subject and error judgement nodes; and

the combining node selectively blocks back-propagation of estimated partial derivatives to the subject node; and

training the error judgement node based on the mega-batch-accumulated statistics.

8. The system of claim 7 , wherein the computer memory stores computer instructions that when executed by the one or more processor cores further cause the one or more processor cores to train the one or more added nodes of the deep neural network based on the mega-batch-accumulated statistics by initializing learned parameters for the one or more nodes based on the mega-batch-accumulated statistics.

9. The system of claim 8 , wherein the computer memory stores computer instructions that when executed by the one or more processor cores cause the one or more processor cores to initialize the learned parameters for the one or more added nodes by learning the learned parameters for the one or more added nodes based on the mega-batch-accumulated statistics.

10. The system of claim 9 , wherein the computer memory stores computer instructions that when executed by the one or more processor cores cause the one or more processor cores to learn the learned parameters for the one or more nodes by fixing other learned parameters of the deep neural network.

11. The system of claim 7 , wherein:

the one or more nodes is a parametric probability distribution; and

the mega-batch-accumulated statistics comprise sufficient statistics for the parametric probability distribution.

12. The system of claim 7 , wherein:

the one or more nodes comprises a first node; and

the computer memory stores computer instructions that when executed by the one or more processor cores cause the one or more processor cores to train the first node based on the mega-batch-accumulated statistics by learning learned parameters for the first node using iteratively reweighted least squares on the mega-batch-accumulated statistics.

13. A method of accelerating training of a deep neural network, the method comprising:

initial iterative training, by a programmed computer system, through machine learning, of the deep neural network over a mega-batch of training data, wherein the mega-batch comprises multiple mini-batches of training data, and the initial iterative training comprises updating learned parameters of the deep neural network based on each mini-batch of training data;

accumulating, by the programmed computer system, mega-batch-accumulated statistics over the mega-batch; and

after the initial iterative training:

partitioning a domain of an activation function for a subject node of the neural network into multiple intervals;

creating a subnetwork of nodes, wherein the subnetwork comprises a new partition node for each of the multiple intervals; and

connecting the subnetwork to the deep neural network.

14. The method of claim 13 , wherein creating the subnetwork of nodes comprises defining an activation function for each new partition node, such that the activation function for each new partition node has a same value as the activation function of the subject node for data for which an input to the activation function is within an interval corresponding to the new partition node.

15. The method of claim 14 , wherein connecting the subnetwork to the deep neural network comprises connecting the subnetwork to the subject node.

16. The method of claim 13 , wherein creating the subnetwork of nodes comprises defining an activation function for each new partition node, such that the activation function for each new partition node differs by a constant value from the activation function of the subject node for data for which an input to the activation function is within an interval corresponding to the new partition node.

17. The method of claim 16 , wherein connecting the subnetwork to the deep neural network comprises connecting the subnetwork to the subject node.

18. A system for accelerating training of a deep neural network, the system comprising:

one or more processor cores; and

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

iteratively train through machine learning, the deep neural network in an initial training, wherein the initial training comprises iteratively training the deep neural network over a mega-batch of training data, wherein the mega-batch comprises multiple mini-batches of training data, and the initial training comprises updating learned parameters of the deep neural network based on each mini-batch of training data;

accumulate mega-batch-accumulated statistics over the mega-batch; and

after the initial training:

partition a domain of an activation function for a subject node of the deep neural network into multiple intervals;

create a subnetwork of nodes, wherein the subnetwork comprises a new partition node for each of the multiple intervals; and

connect the subnetwork to the deep neural network.

19. The system of claim 18 , wherein the computer memory stores computer instructions that when executed by the one or more processor cores cause the one or more processor cores to create the subnetwork of nodes by defining an activation function for each new partition node, such that the activation function for each new partition node has a same value as the activation function of the subject node for data for which an input to the activation function is within an interval corresponding to the new partition node.

20. The system of claim 19 , wherein the computer memory stores computer instructions that when executed by the one or more processor cores cause the one or more processor cores to connect the subnetwork to the deep neural network by connecting the subnetwork to the subject node.

21. The system of claim 18 , wherein the computer memory stores computer instructions that when executed by the one or more processor cores cause the one or more processor cores to create the subnetwork of nodes by defining an activation function for each new partition node, such that the activation function for each new partition node differs by a constant value from the activation function of the subject node for data for which an input to the activation function is within an interval corresponding to the new partition node.

22. The system of claim 21 , wherein the computer memory stores computer instructions that when executed by the one or more processor cores cause the one or more processor cores to connect the subnetwork to the deep neural network by connecting the subnetwork to the subject node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2023
From: BAKER, JAMES K.
To: D5AI LLC
Reel/Frame 065182/0979 →
Continuity (5)
Continuation 18333870 · Jun 13, 2023
Division 18181948 · Mar 10, 2023
Division 17753061
Provisional Application 62891610 · Aug 26, 2019
Related Publication 20240037396A1 · Feb 1, 2024
References Cited (62)
US 9779355B1 · Leobandung · 2017 [cited by applicant]
US 10426442B1 · Schnorr · 2019 [cited by examiner]
US 10515306B1 · David et al. · 2019 [cited by applicant]
US 10929757B2 · Baker et al. · 2021 [cited by applicant]
US 10956818B2 · Baker · 2021 [cited by applicant]
US 11003982B2 · Baker · 2021 [cited by applicant]
US 11010671B2 · Baker et al. · 2021 [cited by applicant]
US 11037059B2 · Baker · 2021 [cited by applicant]
US 11074506B2 · Baker et al. · 2021 [cited by applicant]
US 11151455B2 · Baker et al. · 2021 [cited by applicant]
US 20160162781A1 · Lillicrap · 2016 [cited by examiner]
US 20160307096A1 · Goel et al. · 2016 [cited by applicant]
US 20160321540A1 · Towal · 2016 [cited by applicant]
US 20160342889A1 · Thorson et al. · 2016 [cited by applicant]
US 20170091619A1 · Towal et al. · 2017 [cited by applicant]
US 20170175169A1 · Lee · 2017 [cited by examiner]
US 20170286830A1 · El-Yaniv et al. · 2017 [cited by applicant]
US 20190080236A1 · Maruhashi · 2019 [cited by applicant]
US 20190095798A1 · Baker · 2019 [cited by examiner]
US 20190188569A1 · Naumov · 2019 [cited by applicant]
US 20190236454A1 · Fok et al. · 2019 [cited by applicant]
US 20200090045A1 · Baker · 2020 [cited by examiner]
US 20200134451A1 · Baker · 2020 [cited by examiner]
US 20200143240A1 · Baker · 2020 [cited by applicant]
US 20200279188A1 · Baker et al. · 2020 [cited by applicant]
US 20200293890A1 · Baker · 2020 [cited by applicant]
US 20200293897A1 · Baker · 2020 [cited by applicant]
US 20200311572A1 · Baker · 2020 [cited by applicant]
US 20200327455A1 · Baker · 2020 [cited by applicant]
US 20200334520A1 · Chen · 2020 [cited by examiner]
US 20200334541A1 · Baker et al. · 2020 [cited by applicant]
US 20200342317A1 · Baker et al. · 2020 [cited by applicant]
US 20200349446A1 · Baker et al. · 2020 [cited by applicant]
US 20200356861A1 · Baker et al. · 2020 [cited by applicant]
US 20200364625A1 · Baker et al. · 2020 [cited by applicant]
US 20200387794A1 · Baker · 2020 [cited by applicant]
US 20200394521A1 · Baker · 2020 [cited by applicant]
US 20200395117A1 · Schnorr · 2020 [cited by examiner]
US 20200401869A1 · Baker et al. · 2020 [cited by applicant]
US 20200410090A1 · Baker · 2020 [cited by applicant]
US 20200410295A1 · Baker · 2020 [cited by applicant]
US 20210004688A1 · Baker · 2021 [cited by applicant]
US 20210027147A1 · Baker · 2021 [cited by applicant]
US 20210027163A1 · Baker et al. · 2021 [cited by applicant]
US 20210049470A1 · Baker · 2021 [cited by applicant]
WO WO2018226492A1 · 2018 [cited by examiner]
WO WO2018226527A1 · 2018 [cited by examiner]
WO WO2019067248A1 · 2019 [cited by examiner]
WO WO2019067542A1 · 2019 [cited by examiner]
WO 2021040944A1 · 2021 [cited by applicant]
WO 2021061401A1 · 2021 [cited by applicant]
WO 2021194516A1 · 2021 [cited by applicant]
Wang et al., “Regularization for Unsupervised Deep Neural Networks”, 2017, AAAI Conference, pp. 2681-2687 (Year: 2017). [cited by examiner]
Masters et al., Revisiting Small Batch Training for Deep neural networks, Apr. 2018, pp. 1-18 (Year: 2018). [cited by examiner]
International Search Report and Written Opinion of the International Searching Authority for International Application No. PCT/US2020/043885 mailed Dec. 16, 2020. [cited by applicant]
Chen et al., “Pipelined Back-Propagation for Context-Dependent Deep Nueral Networks”, Interspeech, Sep. 2012. [cited by applicant]
Gadea et al., “Artificial Neural Network Implementaion on a Single FPGA of a Pipelined On-Line Backpropagation”, Conference Paper, Jan. 2000. [cited by applicant]
Taghi et al., “Training RBF networks with selective backpropagation”, Neurocomputing, 62, 2004, pp. 39-64. [cited by applicant]
Mostafa et al., “Hardware-Efficient On-line Learning through Pipelined Truncated-Error Backpropagation in Binary-State Networks”, Frontiers in Neuroscience, Sep. 2017, vol. 11, Article 496, 15 pages. [cited by applicant]
Petrowski et al., “Performance Analysis of a Pipelined Backpropagation Parallel Algorithm”, IEEE Transactions on Neural Networks, vol. 4, No. 6, Nov. 1993, pp. 970-981. [cited by applicant]
Gunther et al., “neuralnet: Training of Neural Networks”, The R Journal, vol. 2/1, Jun. 2010, pp. 30-38. [cited by applicant]
Baram et al., “Model-based Adversarial Imitation Learning” (2016). [cited by applicant]