IP Library Granted Patent US 10,620,631
Granted Patent B1
US 10,620,631 · App. 16/377,964 · Granted Apr 14, 2020

Self-correcting controller systems and methods of limiting the operation of neural networks to be within one or more conditions

Inventor: Kenneth A. Abeloe (Carlsbad, CA)
Assignee: Apex Artificial Intelligence Industries, Inc.
G05D1/0088B60W30/0956G05D1/0221G06N3/0454G06N3/08G06N5/046G06N20/00G10L13/043G10L13/047G10L15/16G10L15/22B60Q5/006G05D2201/0213G10L2015/223
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 10,620,631
App. No.
16/377,964
Granted
Apr 14, 2020
Kind
B1
Abstract

Systems and methods for automatically self-correcting or correcting in real-time one or more neural networks after detecting a triggering event, or breaching boundary conditions are provided. Such a triggering event may indicate incorrect output signal or data being generated by the one or more neural networks. In particular, machine controllers of the invention limit the operations of neural networks to be within boundary conditions. Autonomous machines of the invention can be self-corrected after a breach of a boundary condition is detected. Autonomous land vehicles of the invention are capable of determining the timing of automatic transition to the manual control from automated driving mode. The controller of the invention filters and saves input-output data sets that fall within boundary conditions for later training of neural networks. The controllers of the invention include security architectures to prevent damages from virus attacks or system malfunctions.

Claims (36)

1. A system, configured for self-correcting, for an autonomous machine having a plurality of sensors, the system comprising:

a first neural network with at least one hidden layer deployed on the autonomous machine, trained with a first training data set, and configured to generate first output data after processing a set of input data;

a first processor deployed remote from the autonomous machine coupled to the first neural network, including:

i) a detector adapted to receive the first output data and to determine whether the first output data breach a first predetermined condition;

ii) a neural network manager coupled to the first neural network and adapted to re-train the first neural network using a second training data set stored on the autonomous machine if the detector determines the first output data breach the first predetermined condition, wherein the second training data is different from the first training data set; and

a database management system coupled to the detector and constructed to receive and store the set of input data and the corresponding first output data if the detector determines the corresponding first output data does not breach the first predetermined condition, wherein the database management system is further adapted to retrieve the stored input data and the corresponding output data to form the second training data set.

2. The system of claim 1 , wherein the second training data set includes data generated by a sensor on the autonomous machine.

3. The system of claim 1 , the system further includes a second neural network with at least one hidden layer deployed on the autonomous machine, the second neural network structured and trained identical to the first neural network to generate a second output by processing the set of input data, wherein the first and second neural networks are executed simultaneously.

4. The system of claim 3 , wherein the first processor is further configured to operate only the second neural network if the detector determines the first output data breach the first predetermined condition.

5. The system of claim 1 , wherein the first predetermined condition is unchangeable after an initial installation onto the control system.

6. The system of claim 3 , further comprising a second processor configured to execute the first and second neural networks.

7. A method of controlling an autonomous machine using a system configured with one or more processors, the system configured for self-correcting, the method comprising:

generating first output data after processing a set of input data using a first neural network with at least one hidden layer on the autonomous machine, wherein the first neural network is trained with a first training data set;

processing the first output data and to determine whether the first output data breach a first predetermined condition;

storing the set of input data and the corresponding first output data if the detector determines the corresponding first output data does not breach the first predetermined condition;

retrieving the stored set of input data and the corresponding output data to form a second training data set; and

re-training the first neural network using the second training data set stored on the autonomous machine if the first output data is determined to breach the first predetermined condition, wherein the second training data is different from the first training data set.

8. The method of claim 7 , wherein the second training data set includes data generated by a sensor on the autonomous machine.

9. The method of claim 7 , further comprising:

executing, simultaneously with the first neural network, a second neural network with at least one hidden layer structured and trained identical to the first neural network to generate a second output by processing the input data from the input device.

10. The method of claim 9 , further comprising:

executing the first and second neural networks on a first thread on the one or more processors; and

executing the steps of processing the first output data and re-training the first neural network on a second thread of the one or more processors.

11. The method of claim 9 , further comprising:

executing the first neural network on a first thread on the one or more processors; and

executing the second neural network on a second thread of the one or more processors.

12. The method of claim 7 , wherein the first predetermined condition is unchangeable after an initial installation onto the control system.

13. A system, capable of self-correcting, for controlling an autonomous machine having a plurality of sensors, the system comprising:

a first neural network with at least one hidden layer deployed on the autonomous machine, trained with a first training data set, and configured to generate first output data after processing a set of input data;

a first processor coupled to the first neural network, including:

i) a detector means for receiving the first output data and to determine whether the first output data breach a first predetermined condition; and

ii) a neural network manager means coupled to the first neural network and for re-training the first neural network using a second training data set retrieved from a memory component on the autonomous machine if the detector determines the first output data breach the first predetermined condition, wherein the second training data is different from the first training data set; and

a database management system coupled to the detector, the database management system configured to receive and store the input data and the corresponding first output data if the detector determines the corresponding first output data does not breach the first predetermined condition, the database management system further configured to retrieve the stored input data and the corresponding output data to form the second training data set.

14. The system of claim 13 , wherein the second training data set includes data generated by a sensor on the autonomous machine.

15. The system of claim 13 , the system further comprises:

a second neural network with at least one hidden layer structured deployed on the autonomous machine and trained identical to the first neural network, the second neural network configured to generate a second output by processing the input data from the input device, wherein the first and second neural networks are executed simultaneously.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NO. 15/991,759 SHOULD BE 15/991,769 PREVIOUSLY RECORDED AT REEL: 66730 FRAME: 991. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 22, 2024
From: ABELOE, KENNETH A.
To: APEX AI INDUSTRIES, LLC
Reel/Frame 066871/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2024
From: ABELOE, KENNETH A.
To: APEX AI INDUSTRIES, LLC
Reel/Frame 066730/0991 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 057920 FRAME: 0648. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 31, 2023
From: ABELOE, KENNETH A.
To: APEX AI INDUSTRIES, LLC
Reel/Frame 063815/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2021
From: ABELOE, KENNETH A.
To: APEX ARTIFICIAL INTELLIGENCE INDUSTRIES, INC.
Reel/Frame 057920/0648 →
Continuity (13)
Continuation In Part 16363183 · Mar 25, 2019
Continuation 15997031 · Jun 4, 2018
Continuation 16377964
Continuation 15997192 · Jun 4, 2018
Continuation 16377964
Continuation In Part 15991769 · May 29, 2018
Continuation In Part 16377964
Continuation In Part 16363183 · Mar 25, 2019
Continuation In Part 15991769 · May 29, 2018
Continuation In Part 15997192 · Jun 4, 2018
Provisional Application 62659359 · Apr 18, 2018
Provisional Application 62630596 · Feb 14, 2018
Provisional Application 62612008 · Dec 29, 2017
Cited By (11)
US 12,216,474 US 12,228,924 US 12,233,905 US 12,235,641 US 12,270,914 US 12,298,759 US 12,298,760 US 12,321,168 US 12,321,169 US 12,322,642 US 12,694,427