IP Library Granted Patent US 12670392
Granted Patent B2
US 12670392 · App. 19/058,350 · Granted Jun 30, 2026

Machine learning robustness through sensible decision boundaries

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 12670392
App. No.
19/058,350
Granted
Jun 30, 2026
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 (57)

1 . A method for improving robustness of a machine learning system, the method comprising:

training, by a programmed computer system comprising one or more processor cores, one or more discriminators, wherein each of the one or more discriminators comprises a machine-learned model that is trained, through machine learning, to discriminate data into two or more categories for use in automated decision-making by the machine learning system; and

training, by the programmed computer system, an override node to override an output of a neural network architecture of the machine learning system, wherein training the override node to override the output of the neural network architecture comprises:

training the override node independently of the neural network architecture of the machine learning system such that training the override node does not modify learned parameters of the neural network architecture;

training the override node to detect a potentially erroneous output by the neural network architecture; and

upon detection of the potentially erroneous output, changing the potentially erroneous output based on a discrimination by the one or more discriminators.

2 . The method of claim 1 , wherein training the override node to detect the potentially erroneous output by the neural network architecture comprises training a combination comprising the override node and the neural network architecture via gradient-based optimization, without back-propagating partial derivatives from the override node to the neural network architecture in a backpropagation phase of the gradient-based optimization.

3 . The method of claim 2 , wherein training the override node to detect the potentially erroneous output by the neural network architecture further comprises training a combination comprising the override node and the one or more discriminators via gradient-based optimization, without propagating partial derivatives from the override node to the one or more discriminators.

4 . The method of claim 1 , wherein training the override node to detect the potentially erroneous output comprises training the override node with adversarial training examples, where the neural network architecture is likely to make an error on the adversarial training examples.

5 . The method of claim 4 , wherein training the override node to detect the potentially erroneous output further comprises training the override node with data that causes the neural network architecture to make an error due to overfitting.

6 . The method of claim 1 , further comprising, prior to training the override node to override the output of the neural network architecture, training, by the computer system, the neural network architecture to perform a machine learning task.

7 . The method of claim 6 , wherein the neural network architecture comprises a classifier and the machine learning task comprises classification.

8 . The method of claim 7 , wherein:

the computer system comprises two or more banks of graphical processor unit (GPUs); training the neural network architecture comprises training the neural network architecture via gradient-based optimization; and

the gradient-based optimization comprises processing training examples in parallel with the two or more banks of GPUs.

9 . The method of claim 1 , wherein training the one or more discriminators comprises training the one or more discriminators on close data pairs from the two or more categories, wherein each close data pair comprises first and second data items, where a difference between inputs to an activation function for a selected node of the neural network architecture for the first and second data items is less than a threshold value, and derivatives of an error function for the neural network architecture for the selected node have opposite signs for the first and second data items.

10 . The method of claim 9 , wherein each close data pair comprises first and second data items, where a difference between inputs to an activation function for a selected node of the neural network architecture for the first and second data items is less than a threshold value, and derivatives of an error function for the neural network architecture for the selected node have opposite signs for the first and second data items.

11 . The method of claim 1 , wherein at least one of the one or more discriminators comprises a neural network.

12 . The method of claim 1 , wherein at least one of the one or more discriminators comprises a support vector machine.

13 . The method of claim 1 , wherein:

each of the one or more discriminators has a decision boundary; and

training the override node to override the output of the neural network architecture further comprises storing, by the computer system, an inventory of the one or more decision boundaries, such that the override node is trained to change the potentially erroneous output by the neural network architecture based on a comparison of the output of the neural network architecture to the inventory of the one or more decision boundaries.

14 . The method of claim 13 , wherein:

training the one or more discriminators comprises training a plurality of discriminators; each of the plurality of discriminators has an associated decision boundary;

storing the inventory comprises storing an inventory comprising the plurality of associated decision boundaries for the plurality of discriminators, such that the override node is trained to change the potentially erroneous output by the neural network architecture based on a comparison of the output of the neural network architecture to the inventory comprising the plurality of associated decision boundaries.

15 . The method of claim 14 , wherein:

the plurality of discriminators comprise a first discriminator and a second discriminator; and

the first discriminator discriminates between a different pair of categories than the second discriminator.

16 . A computer system comprising:

one or more processor cores; and

computer memory in communication with the one or more processor cores, wherein the computer memory stores instructions that when executed by the one or more processor cores cause the one or more processor cores to improve robustness of a machine learning system by at least performing the following steps:

training one or more discriminators, wherein each of the one or more discriminators comprises a machine-learning model that is trained through machine learning to discriminate data into two or more categories for use in automated decision-making by the machine learning system; and

training an override node to override an output of a neural network architecture of the machine learning system, wherein training the override node to override the output of the neural network architecture comprises:

training the override node independently of the neural network architecture of the machine learning system such that training the override node does not modify learned parameters of the neural network architecture;

training the override node to detect a potentially erroneous output by the neural network architecture; and

upon detection of the potentially erroneous output, changing the potentially erroneous output based on a discrimination by the one or more discriminators.

17 . The computer system of claim 16 , wherein the computer memory stores instructions that when executed by the one or more processor cores cause the one more processor cores to train the override node to detect the potentially erroneous output by the neural network architecture by training a combination comprising the override node and the neural network architecture via gradient-based optimization, without back-propagating partial derivatives from the override node to the neural network architecture in a backpropagation phase of the gradient-based optimization.

18 . The computer system of claim 17 , wherein the computer memory stores instructions that when executed by the one or more processor cores cause the one more processor cores to train the override node to detect the potentially erroneous output by the neural network architecture further by training a combination comprising the override node and the one or more discriminators via gradient-based optimization, without propagating partial derivatives from the override node to the one or more discriminators.

19 . The computer system of claim 16 , wherein the computer memory stores instructions that when executed by the one or more processor cores cause the one more processor cores to train the override node to detect the potentially erroneous output by training the override node with adversarial training examples, where the neural network architecture is likely to make an error on the adversarial training examples.

20 . The computer system of claim 19 , wherein the computer memory stores instructions that when executed by the one or more processor cores cause the one more processor cores to train the override node to detect the potentially erroneous output further by training the override node with data that causes the neural network architecture to make an error due to overfitting.

21 . The computer system of claim 16 , where the computer memory stores instructions that when executed by the one or more processor cores cause the one more processor cores to, prior to training the override node to override the output of the neural network architecture, train the neural network architecture to perform a machine learning task.

22 . The computer system of claim 21 , wherein the neural network architecture comprises a classifier and the machine learning task comprises classification.

23 . The computer system of claim 22 , wherein:

the computer system comprises two or more banks of graphical processor unit (GPUs);

training the neural network architecture comprises training the neural network architecture via gradient-based optimization; and

the two or more banks of GPUs are configured to process training examples in parallel in the gradient-based optimization.

24 . The computer system of claim 16 , wherein:

the one or more discriminators are trained on close data pairs from the two or more categories; and

each close data pair comprises first and second data items, where a difference between inputs to an activation function for a selected node of the neural network architecture for the first and second data items is less than a threshold value, and derivatives of an error function for the neural network architecture for the selected node have opposite signs for the first and second data items.

25 . The computer system of claim 16 , wherein:

each of the one or more discriminators has a decision boundary; and

the computer memory stores instructions that when executed by the one or more processor cores cause the one more processor cores to train the override node to override the output of the neural network architecture further by storing an inventory of the one or more decision boundaries, such that the override node is trained to change the potentially erroneous output by the neural network architecture based on a comparison of the output of the neural network architecture to the inventory of the one or more decision boundaries.

26 . The computer system of claim 25 , wherein:

training the one or more discriminators comprises training a plurality of discriminators; each of the plurality of discriminators has an associated decision boundary;

storing the inventory comprises storing an inventory comprising the plurality of associated decision boundaries for the plurality of discriminators, such that the override node is trained to change the potentially erroneous output by the neural network architecture based on a comparison of the output of the neural network architecture to the inventory comprising the plurality of associated decision boundaries.

27 . The computer system of claim 26 , wherein:

the plurality of discriminators comprise a first discriminator and a second discriminator; and the first discriminator discriminates between a different pair of categories than the second discriminator.