IP Library Granted Patent US 10,664,766
Granted Patent B2
US 10,664,766 · App. 15/416,988 · Granted May 26, 2020

Graphical user interface to an artificial intelligence engine utilized to generate one or more trained artificial intelligence models

Inventors: Mark Isaac Hammond (Berkeley, CA); Keen McEwan Browne (Berkeley, CA); Mike Estee (Oakland, CA); Clara Kliman-Silver (Berkeley, CA)
Assignee: Bonsai AI, Inc.
G06N20/00G06F3/0482G06F8/31G06F8/38G06F9/451G06F9/4881G06F15/80G06F16/2228G06F16/951G06F30/20G06K9/6257G06N3/008G06N3/04G06N3/0454G06N3/08G06N3/105G06N5/04G06Q10/00H04L67/42G06F3/03543G06F30/333G06F40/166
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,664,766
App. No.
15/416,988
Granted
May 26, 2020
Kind
B2
Abstract

Provided herein in some embodiments is an artificial intelligence (“AI”) engine configured to work with a graphical user interface (“GUI”). The AI engine can include an architect module, instructor module, and learner module AI-engine modules. The GUI can be configured with a text editor and a mental-model editor to enable an author to define a mental model to be learned by an AI model, the mental model including an input, one or more concept nodes, and an output. The architect module can be configured to propose a neural-network layout from an assembly code compiled from a source code in a pedagogical programming language, the learner module can be configured to build the AI model from the neural-network layout, and the instructor module can be configured to train the AI model on the one or more concept nodes.

Claims (81)

1. A computing system, comprising a processor, and a storage device holding instructions executable by the processor to:

receive a source code through an application programming interface (“API”) exposed to a graphical user interface (“GUI”),

wherein the GUI is configured to enable an author to define a mental model with a pedagogical programming language, the mental model including an input, one or more concept nodes, and an output, and the pedagogical programming language is configured to enable the author to define schemas describing one or more data types to be streamed through connected nodes of the mental model, the data types including a constrained data type with range expressions limiting the data of the constrained data type;

generate an assembly code from the source code with a compiler of an artificial intelligence (“AI”) engine configured to work with the GUI;

propose a neural-network layout including one or more neural-network layers from the assembly code with an architect AI-engine module of the AI engine;

build an AI model including the one or more neural-network layers from the neural-network layout with a learner AI-engine module of the AI engine; and

train the AI model on the mental model with an instructor AI-engine module of the AI engine.

2. The computing system of claim 1 ,

wherein the GUI is an integrated development environment (“IDE”) including

a text editor configured to enable the author to define the mental model by typing in the textual mode, and

a mental-model designer configured to enable the author to define the mental model by mouse gestures in the graphical mode,

wherein author-based modification of the mental model by the typing in the textual mode automatically modifies the mental model in the mental-model designer, and

wherein author-based modification of the mental model by the mouse gestures in the graphical mode automatically modifies the mental-model in the text editor.

3. The computing system of claim 2 ,

wherein the text editor is further configured to enable the author to set one or more breakpoints in the source code written in the pedagogical programming language, and

wherein the mental-model designer is further configured to automatically highlight the one or more concept nodes of the mental model corresponding to the one or more breakpoints if the one or more breakpoints are set at the one or more concept nodes.

4. The computing system of claim 2 ,

wherein the pedagogical programming language is configured to enable an author to define schemas describing one or more data types to be streamed through connected nodes of the mental model including the input, the one or more concept nodes, one or more stream nodes, and the output, and

wherein the data types include primitive data types selected from strings, integers, floats, and Booleans; structured data types; constrained data types with range expressions limiting the data of the constrained data types; and combinations thereof.

5. The computing system of claim 4 ,

wherein each connector of a number of connectors between the connected nodes of the mental model includes a data type, and

wherein the mental-model designer is further configured to color code the number of connectors in the mental model to indicate whether the data type between the connected nodes of the mental model is correct or not for each connector.

6. The computing system of claim 2 ,

wherein the IDE is configured to support one or more plug-ins for extended functionality of the IDE, and

wherein the extended functionality of the IDE includes support for programming languages in addition to the pedagogical programming language; source code management; project management; a marketplace; finding software bugs; checking programming style; and themes within the IDE.

7. The computing system of claim 2 ,

wherein the IDE is configured as a window with a menu bar, a short cut bar, or both a menu bar and a short cut bar configured to provide access to the text editor, the mental-model designer, training data from a training-data source, analytical tools for analyzing aspects of training the AI model, and tools for deploying a trained AI model.

8. The computing system of claim 2 ,

wherein the text editor is further configured to enable the author to define one or more curriculums for training the AI model respectively on the one or more concept nodes.

9. The computing system of claim 8 ,

wherein the architect module is further configured to map the one or more concept nodes of the mental model on the one or more neural-network layers of the AI model, and

wherein the instructor module is further configured to find a starting point among the one or more concept nodes and the corresponding one or more curriculums for training the AI model.

10. The computing system of claim 9 ,

wherein the instructor module is further configured to train the AI model in one or more training cycles with training data from one or more training-data sources selected from a simulator, a training-data generator, a training-data database, or a combination thereof based on training parameters in the pedagogical programming language, and

wherein the instructor module is further configured to terminate neural-network training upon an instructor module-determined terminating condition.

11. An artificial intelligence (“AI”) system including an AI engine configured to work with an integrated development environment (“IDE”), comprising:

one or more remote servers including

i) a compiler in a server memory,

wherein the compiler, upon execution of the compiler by one or more server processors, is configured to generate an assembly code from a source code written in a pedagogical programming language, and

wherein the compiler is further configured to receive the source code through an application programming interface (“API”) exposed to the IDE; and

ii) one or more AI-engine modules in the server memory including an architect module, an instructor module, and a learner module,

wherein the architect module, upon execution of the architect module by the one or more server processors, is configured to propose a neural-network layout with one or more neural-network layers from the assembly code,

wherein the learner module, upon execution of the learner module by the one or more server processors, is configured to build an AI model with the one or more neural-network layers from the neural-network layout proposed by the architect module, and

wherein the instructor module, upon execution of the instructor module by the one or more server processors, is configured to train the AI model built by the learner module on the one or more concept nodes respectively with one or more curriculums; wherein the one or more remote servers are configured to interact with

one or more local clients including

i) the IDE in a client memory,

wherein the IDE, upon execution of the IDE by one or more client processors, is configured to enable an author to generate the source code written in the pedagogical programming language,

wherein the IDE is further configured to enable the author to define a mental model to be learned by the AI model, the mental model including an input, one or more concept nodes, and an output,

wherein the IDE is further configured to enable the author to define the one or more curriculums for training the AI model respectively on the one or more concept nodes,

wherein the IDE is further configured to send the source code through the API exposed to the IDE.

12. A computing system, comprising a processor, and a storage device holding instructions executable by the processor to:

receive a source code through an application programming interface (“API”) exposed to a graphical user interface (“GUI”),

wherein the GUI is configured to enable an author to define a mental model with a pedagogical programming language, the mental model including an input, one or more concept nodes, and an output,

wherein the GUI is further configured to enable the author to set a breakpoint in the source code, and to automatically highlight one or more concept nodes of the mental model corresponding to the breakpoint;

generate an assembly code from the source code with a compiler of an artificial intelligence (“AI”) engine configured to work with the GUI;

propose a neural-network layout including one or more neural-network layers from the assembly code with an architect AI-engine module of the AI engine;

build an AI model including the one or more neural-network layers from the neural-network layout with a learner AI-engine module of the AI engine; and

train the AI model on the mental model with an instructor AI-engine module of the AI engine.

13. The computing system of claim 12 ,

wherein the GUI is an integrated development environment (“IDE”) including

a text editor configured to enable the author to define the mental model including one or more curriculums for training the AI model respectively on the one or more concept nodes by typing in the textual mode, and

a mental-model designer configured to enable the author to define the mental model by mouse gestures in the graphical mode,

wherein author-based modification of the mental model by the typing in the textual mode automatically modifies the mental model in the mental-model designer, and

wherein author-based modification of the mental model by the mouse gestures in the graphical mode automatically modifies the mental-model in the text editor.

14. The computing system of claim 13 ,

wherein the pedagogical programming language is configured to enable an author to define schemas describing one or more data types to be streamed through connected nodes of the mental model including the input, the one or more concept nodes, one or more stream nodes, and the output, and

wherein the data types include primitive data types selected from strings, integers, floats, and Booleans; structured data types; constrained data types with range expressions limiting the data of the constrained data types; and combinations thereof.

15. The computing system of claim 14 ,

wherein each connector of a number of connectors between the connected nodes of the mental model includes a data type, and

wherein the mental-model designer is further configured to color code the number of connectors in the mental model to indicate whether the data type between the connected nodes of the mental model is correct or not for each connector.

16. The computing system of claim 13 ,

wherein the IDE is configured to support one or more plug-ins for extended functionality of the IDE, and

wherein the extended functionality of the IDE includes support for programming languages in addition to the pedagogical programming language; source code management; project management; a marketplace; finding software bugs; checking programming style; and themes within the IDE.

17. The computing system of claim 13 ,

wherein the IDE is configured as a window with a menu bar, a short cut bar, or both a menu bar and a short cut bar configured to provide access to the text editor, the mental-model designer, training data from a training-data source, analytical tools for analyzing aspects of training the AI model, and tools for deploying a trained AI model.

18. The computing system of claim 13 , further comprising

mapping with the architect module the one or more concept nodes of the mental model on the one or more neural-network layers of the AI model; and

finding with the instructor module a starting point among the one or more concept nodes and the one or more curriculums for training the AI model.

19. The computing system of claim 18 , further comprising

training the AI model with the instructor module in one or more training cycles with training data from one or more training-data sources selected from a simulator, a training-data generator, a training-data database, or a combination thereof based on training parameters in the pedagogical programming language, and

terminating the training of the AI model upon an instructor module-determined terminating condition.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2020
From: BONSAI AI, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053102/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2017
From: HAMMOND, MARK ISAAC; BROWNE, KEEN MCEWAN; ESTEE, MIKE; KLIMAN-SILVER, CLARA
To: BONSAI AI, INC.
Reel/Frame 041098/0110 →
Continuity (2)
Provisional Application 62287861 · Jan 27, 2016
Related Publication 20170213131A1 · Jul 27, 2017