IP Library Granted Patent US 12,248,882
Granted Patent B2
US 12,248,882 · App. 18/196,855 · Granted Mar 11, 2025

Locating a decision boundary for complex classifier

Inventor: James K. Baker (Maitland, FL)
Assignee: D5AI LLC
G06N3/088G06F18/24G06N3/04G06N3/044G06N3/045G06N3/047G06N3/063G06N3/084G06N7/01G06N20/00G06F12/0815G06F17/18G06N3/048
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,248,882
App. No.
18/196,855
Granted
Mar 11, 2025
Kind
B2
Abstract

Systems and methods improve performance of a classifier, which comprises a neural network and is trained through machine learning. First and second scores are computed, by the classifier, for each a multiple data examples from a generator. The first score is indicative of whether the data example belongs to a first data cluster and the second score is indicative of whether the data example belongs to a second data cluster. The generator is trained with an objective such that, for each data example generated by the generator, the first and second scores computed by the classifier are equal. Partial derivatives from the classifier are back-propagated for multiple data examples generated by the generator, to obtain a vector, for each data example, that is orthogonal to a decision surface for the classifier. A problem with the classifier is detected based on changes in directions of the vectors. Upon detecting a problem, the classifier is adjusted to reduce errors by the classifier caused by overfitting training data.

Claims (51)

1. A method for improving performance of a classifier, wherein the classifier comprises a deep neural network that is trained iteratively through machine learning, wherein the deep neural network of the classifier comprises an input layer, an output layer, and one or more inner layers, wherein the layers comprise interconnected nodes that process and transform input data through weighted connections, the method comprising:

computing, by the classifier implemented by a computer system, first and second scores for each of multiple data examples from a generator, wherein the first score is indicative of whether the data example belongs to a first data cluster and the second score is indicative of whether the data example belongs to a second data cluster, wherein the generator is trained with an objective such that, for each data example generated by the generator, the first and second scores computed by the classifier are equal;

back-propagating, by the computer system, for multiple data examples generated by the generator, partial derivatives from the classifier to obtain a vector, for each data example, that is orthogonal to a decision surface for the classifier;

detecting, by the computer system, a problem with the classifier based on changes in directions of the vectors; and

upon detecting a problem, adjusting, by the computer system, the classifier to reduce errors by the classifier caused by overfitting training data.

2. The method of claim 1 , further comprising training, through machine learning, by the computer system, the generator to generate the multiple data examples.

3. The method of claim 1 , further comprising, prior to back-propagating partial derivatives from the classifier, training the classifier to discriminate between the first and second data clusters.

4. The method of claim 3 , wherein training the classifier to discriminate between the first and second data clusters comprises training, by the computer system, the classifier to imitate an original machine-learning discriminator that does not comprise a neural network.

5. The method of claim 1 , wherein detecting the problem comprises detecting, by the computer system, changes in the directions of the vectors that are greater than a threshold value.

6. The method of claim 1 , wherein adjusting the classifier comprises further training, by the computer system, the classifier with a revised hyperparameter.

7. The method of claim 6 , wherein adjusting the classifier further comprises measuring, by the computer system, changes in the first and second scores for the further training with the revised hyperparameter.

8. The method of claim 1 , wherein adjusting the classifier comprises changing, by the computer system, an architecture of the classifier.

9. The method of claim 1 , wherein adjusting the classifier comprises substituting, by the computer system, a new machine learning system for the classifier, wherein the new machine learning system is trained on different data than a prior training of the classifier.

10. The method of claim 1 , wherein the first data cluster corresponds to a first classification category and the second data cluster corresponds to a second classification category.

11. The method of claim 1 , wherein adjusting the classifier comprises further training, by the computer system, the classifier with additional data examples near the decision surface.

12. The method of claim 11 , further comprising generating, by the computer system, the additional data examples with a stochastic autoencoder.

13. The method of claim 2 , wherein the classifier computes the first and second scores using a softmax function.

14. The method of claim 13 , wherein training the generator comprises training the generator such that the both the first and second scores are 0.5 with the softmax function.

15. The method of claim 1 , further comprising generating, by the computer system, a characterization of the decision surface.

16. The method of claim 15 , wherein generating the characterization of the decision surface comprises fitting, by the computer system, a hyperplane to the multiple data examples.

17. A computer system for improving performance of a classifier, wherein the classifier comprises a deep neural network that is trained iteratively through machine learning, wherein the deep neural network of the classifier comprises an input layer, an output layer, and one or more inner layers, wherein the layers comprise interconnected nodes that process and transform input data through weighted connections, the 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:

compute, by the classifier, first and second scores for each of multiple data examples from a generator, wherein the first score is indicative of whether the data example belongs to a first data cluster and the second score is indicative of whether the data example belongs to a second data cluster, wherein the generator is trained with an objective such that, for each data example generated by the generator, the first and second scores computed by the classifier are equal;

back-propagate, for multiple data examples generated by the generator, partial derivatives from the classifier to obtain a vector, for each data example, that is orthogonal to a decision surface for the classifier; and

detect a problem with the classifier based on changes in directions of the vectors; and

upon detecting a problem, adjust the classifier to reduce errors by the classifier caused by overfitting training data.

18. The computer system of claim 17 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to train, through machine learning, the generator to generate the multiple data examples.

19. The computer system of claim 17 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to, prior to back-propagating partial derivatives from the classifier, train the classifier to discriminate between the first and second data clusters.

20. The computer system of claim 19 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to train the classifier to discriminate between the first and second data clusters by training the classifier to imitate an original machine-learning discriminator that does not comprise a neural network.

21. The computer system of claim 17 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to detect the problem by detecting changes in the directions of the vectors that are greater than a threshold value.

22. The computer system of claim 17 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to adjust the classifier by further training the classifier with a revised hyperparameter.

23. The computer system of claim 22 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to adjust the classifier by measuring changes in the first and second scores for the further training with the revised hyperparameter.

24. The computer system of claim 17 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to adjust the classifier by changing an architecture of the classifier.

25. The computer system of claim 17 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to adjust the classifier by substituting a new machine learning system for the classifier, wherein the new machine learning system is trained on different data than a prior training of the classifier.

26. The computer system of claim 17 , wherein the first data cluster corresponds to a first classification category and the second data cluster corresponds to a second classification category.

27. The computer system of claim 17 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to adjust the classifier by further training the classifier with additional data examples near the decision surface.

28. The computer system of claim 27 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to generate the additional data examples with a stochastic autoencoder.

29. The computer system of claim 18 , wherein the classifier computes the first and second scores using a softmax function.

30. The computer system of claim 29 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to train the generator by training the generator such that the both the first and second scores are 0.5 with the softmax function.

31. The computer system of claim 17 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to generate a characterization of the decision surface.

32. The computer system of claim 31 , wherein the computer memory stores further instructions that when executed by the one or more processing cores, cause the one or more processor cores to generate the characterization of the decision surface comprises fitting a hyperplane to the multiple data examples.

33. The method of claim 2 , wherein:

the method further comprises, prior to back-propagating partial derivatives from the classifier, training the classifier to discriminate between the first and second data clusters;

training the generator comprises training the generator with a first set of one or more processor cores of the computer system; and

training the classifier comprising training the classifier with a second set of one or more processor cores of the computer system.

34. The method of claim 33 , wherein the classifier comprises an image classifier.

35. The method of claim 33 , wherein the classifier comprises a diagnostic classifier.

36. The method of claim 33 , wherein:

the first set of one or more processor cores comprises a first graphics processing unit; and

the second set of one or more processor cores comprises a second graphics processing unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2023
From: BAKER, JAMES K.
To: D5AI LLC
Reel/Frame 064180/0555 →
Continuity (6)
Continuation 17815851 · Jul 28, 2022
Continuation 17810778 · Jul 5, 2022
Continuation 16901608 · Jun 15, 2020
Continuation 16645710
Provisional Application 62564754 · Sep 28, 2017
Related Publication 20230289611A1 · Sep 14, 2023
References Cited (45)
US 20020008657A1 · Poore, Jr. · 2002 [cited by applicant]
US 20040042650A1 · Ii et al. · 2004 [cited by applicant]
US 20050169529A1 · Owechko et al. · 2005 [cited by applicant]
US 20050216426A1 · Weston et al. · 2005 [cited by applicant]
US 20160224903A1 · Talathi et al. · 2016 [cited by applicant]
US 20160247326A1 · de Souza et al. · 2016 [cited by applicant]
US 20160379132A1 · Jin et al. · 2016 [cited by applicant]
US 20170337464A1 · Rabinowitz et al. · 2017 [cited by applicant]
US 20180218256A1 · Raviv et al. · 2018 [cited by applicant]
US 20190095798A1 · Baker · 2019 [cited by applicant]
US 20190197358A1 · Madani et al. · 2019 [cited by applicant]
US 20190197368A1 · Madani et al. · 2019 [cited by applicant]
US 20190370969A1 · Katzmann et al. · 2019 [cited by applicant]
US 20200051550A1 · Baker · 2020 [cited by applicant]
US 20200065625A1 · Kaufhold et al. · 2020 [cited by applicant]
US 20200090001A1 · Zargahi et al. · 2020 [cited by applicant]
US 20200090041A1 · Chakraborty et al. · 2020 [cited by applicant]
US 20200090045A1 · Baker · 2020 [cited by applicant]
US 20200097763A1 · Haerterich et al. · 2020 [cited by applicant]
US 20200111019A1 · Goodsitt et al. · 2020 [cited by applicant]
US 20200134451A1 · Baker · 2020 [cited by applicant]
US 20200143240A1 · Baker · 2020 [cited by applicant]
US 20200184337A1 · Baker · 2020 [cited by applicant]
US 20200210812A1 · Baker · 2020 [cited by applicant]
US 20200279165A1 · Baker · 2020 [cited by applicant]
US 20200279188A1 · Baker et al. · 2020 [cited by applicant]
US 20200285948A1 · Baker · 2020 [cited by applicant]
US 20200311572A1 · Baker · 2020 [cited by applicant]
US 20200327455A1 · Baker · 2020 [cited by applicant]
US 20210081761A1 · Baker · 2021 [cited by applicant]
WO 2019067960A1 · 2019 [cited by applicant]
WO 2020057867A1 · 2020 [cited by applicant]
Su, Jianlin. “O-GAN: Extremely concise approach for auto-encoding generative adversarial networks.” arXiv preprint arXiv:1903.01931 (2019). (Year: 2019). [cited by examiner]
Goodfellow et al., Generative adversarial nets. In Advances in neural information processing systems, pp. 2672-2680. 2014. [cited by applicant]
Hinton et al., Distilling the Knowledge in a Neural Network, Mar. 9, 2015, pp. 1-9 (https://arxiv.org/abs/1503.02531). [cited by applicant]
Bao et al., CVAE-GAN: Fine-Grained Image Generation through Asymmetric Training, arXiv preprint arXiv: 1703.10155 (2017). [cited by applicant]
Hoang et al., Multi-Generator Generative Adversarial Nets, arXiv preprint arXiv: 1708.02556 (2017). [cited by applicant]
Ren et al., Normalizing the Normalizers: Comparing and Extending Network Normalization Schemes, under review as a conference paper at ICLR 2017, ARXIV.ORG, Cornell University Library, 201 Olin Library Cornell University… [cited by applicant]
Kie et al., Hyper-class Augmented and Regularized Deep Learning for Fin-grained Image Classification, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Jun. 7, 2015, pp. 2645-2654. [cited by applicant]
Nguyen et al., Dual discriminator generative adversarial nets. arXiv preprint arXiv: 1709.03831 (2017). [cited by applicant]
Ba et al., Adaptive dropout for training deep neural networks. In Advances in neural information processing systems, pp. 3084-3092. 2013. [cited by applicant]
Louizos et al., The Variational Fair Autoendcoder, arXiv preprint arXiv : 1511.00830 (2015). [cited by applicant]
Odena, Semi-supervised learning with generative adversarial networks. arXiv preprint arXiv: 1606.01583 (2016). [cited by applicant]
Pu et al., Variational Autoencoder for Deep Learning of Images, Labels and Captions. Variational autoencoder for deep learning of images, labels and captions. In Advances in neural information processing systems, pp. 23… [cited by applicant]
Kornish et al., DCNN Augmentation via Synthetic Data from Variational Autoencoders and Generative Adversarial Networks. In 2018 IEEE Applied Imagery Pattern Recognition Workshop (AIPR), pp. 1-6 . IEEE, 2018. [cited by applicant]
Cited By (1)
US 12,675,738