IP Library › Granted Patent US 11,615,321
Granted Patent B2
US 11,615,321 · App. 16/505,592 · Granted Mar 28, 2023

Techniques for modifying the operation of neural networks

Inventors: Vishal Inder Sikka (Los Altos, CA); Yoshiki Ohshima (Los Angeles, CA)
Assignee: VIANAI SYSTEMS, INC.
G06N3/105G06N5/025G06N5/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 11,615,321
App. No.
16/505,592
Granted
Mar 28, 2023
Kind
B2
Abstract

As described, an artificial intelligence (AI) design application exposes various tools to a user for generating, analyzing, evaluating, and describing neural networks. The AI design application includes a network generator that generates and/or updates program code that defines a neural network based on user interactions with a graphical depiction of the network architecture. The AI design application also includes a network analyzer that analyzes the behavior of the neural network at the layer level, neuron level, and weight level in response to test inputs. The AI design application further includes a network evaluator that performs a comprehensive evaluation of the neural network across a range of sample of training data. Finally, the AI design application includes a network descriptor that articulates the behavior of the neural network in natural language and constrains that behavior according to a set of rules.

Claims (53)

1. A computer-implemented method for constraining the behavior of a neural network without modifying an architecture of the neural network, the method comprising:

causing the neural network to execute a first inference operation based on first training data to generate a first output;

generating a first rule that corresponds to the first output based on a first target output associated with the first training data;

determining that the neural network generates the first output when executing a second inference operation; and

executing the first rule that prevents the neural network from outputting the first output in response to receiving a first input and, instead, causes the neural network to output the first target output in response to receiving the first input.

2. The computer-implemented method of claim 1 , further comprising determining that the first output is incorrect based on a comparison between the first output and the first target output.

3. The computer-implemented method of claim 1 , further comprising:

generating a graphical user interface to display program code associated with the first rule;

receiving at least one modification to the program code via the graphical user interface to generate a second rule; and

executing the second rule that prevents the neural network from outputting the first output in response to receiving a first input and, instead, causes the neural network to output a different output in response to receiving the first input.

4. The computer-implemented method of claim 1 , further comprising:

extracting from a knowledge base a set of vocabulary words related to the first training data; and

generating a graphical user interface to display the set of vocabulary words.

5. The computer-implemented method of claim 1 , further comprising:

extracting from a knowledge base a set of domain facts that indicate one or more logical attributes of the first training data; and

generating a graphical user interface to display the set of domain facts.

6. The computer-implemented method of claim 5 , further comprising generating a derived fact based on the set of domain facts and the first output, wherein the derived fact characterizes a functional attribute of the neural network when performing the first inference operation.

7. The computer-implemented method of claim 1 , further comprising:

generating an architectural representation of the neural network for display via a graphical user interface; and

generating a plurality of different versions of the neural network based on input received via the graphical user interface.

8. The computer-implemented method of claim 1 , further comprising:

generating performance data for at least one version of the neural network, wherein the performance data characterizes one of more performance characteristics of the at least one version of the neural network during a training phase; and

updating a graphical user interface to display the performance data.

9. The computer-implemented method of claim 8 , wherein the performance data indicates an accuracy with which the at least one version of the neural network generates one or more outputs during operation.

10. The computer-implemented method of claim 8 , wherein the performance data indicates an amount of time the at least one version of the neural network takes to generate one or more outputs.

11. A non-transitory computer-readable medium storing program instructions that, when executed by a processor, cause the processor to constrain the behavior of a neural network without modifying an architecture of the neural network, by performing the steps of:

generating a first rule that corresponds to a first output based on a first target output associated with first training data, wherein the first output results from a first inference operation executed by the neural network using the first training data;

determining that the neural network generates the first output when executing a second inference operation; and

executing the first rule that prevents the neural network from outputting the first output in response to receiving a first input and, instead, causes the neural network to output the first target output in response to receiving the first input.

12. The non-transitory computer-readable medium of claim 11 , further comprising the steps of determining that the first output is incorrect based on a comparison between the first output and the first target output.

13. The non-transitory computer-readable medium of claim 11 , further comprising the steps of:

generating a graphical user interface to display program code associated with the first rule;

receiving at least one modification to the program code via the graphical user interface to generate a second rule; and

executing the second rule that prevents the neural network from outputting the first output in response to receiving a first input and, instead, causes the neural network to output a different output in response to receiving the first input.

14. The non-transitory computer-readable medium of claim 11 , further comprising the steps of:

extracting from a knowledge base a set of vocabulary words related to the first training data; and

generating a graphical user interface to display the set of vocabulary words.

15. The non-transitory computer-readable medium of claim 11 , further comprising the steps of:

extracting from a knowledge base a set of domain facts that indicate one or more logical attributes of the first training data; and

generating a graphical user interface to display the set of domain facts.

16. The non-transitory computer-readable medium of claim 15 , further comprising the step of generating a derived fact based on the set of domain facts and the first output, wherein the derived fact indicates at least one attribute of a first sample of training data that is processed via the first inference operation.

17. The non-transitory computer-readable medium of claim 11 , further comprising the steps of:

generating performance data for at least one version of the neural network, wherein the performance data characterizes one of more performance characteristics of the at least one version of the neural network during a training phase; and

updating a graphical user interface to display the performance data.

18. The non-transitory computer-readable medium of claim 17 , wherein the performance data indicates an amount of memory consumed when the at least one version of the neural network generates one or more outputs during operation.

19. The non-transitory computer-readable medium of claim 17 , wherein the performance data indicates an amount of memory consumed when a neural network layer included in the at least one version of the neural network processes one or more inputs during operation.

20. A system, comprising:

a memory storing a software application; and

a processor that, when executing the software application, is configured to perform steps for constraining the behavior of a neural network without modifying an architecture of the neural network, the steps comprising:

causing the neural network to execute a first inference operation based on first training data to generate a first output,

generating a first rule that corresponds to the first output based on a first target output associated with the first training data,

determining that the neural network generates the first output when executing a second inference operation, and

executing the first rule that prevents the neural network from outputting the first output in response to receiving a first input and, instead, causes the neural network to output the first target output in response to receiving the first input.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2020
From: SIKKA, VISHAL INDER; OHSHIMA, YOSHIKI
To: VIANAI SYSTEMS, INC.
Reel/Frame 053129/0666 →
Continuity (1)
Related Publication 20210012212A1 · Jan 14, 2021