Bonsai training engine

Bonsai has a training engine with four key components:

  • Architect: generates learning models based on the training curriculum.
  • Instructor: coordinates training for the Learner based on the curriculum and training data provided by the simulation.
  • Learner: gains experience at solving the problem based on direction provided by the Instructor.
  • Predictor: reports how the trained Learner will behave when presented with new data. The Predictor represents the trained brain that will be exported.

Bonsai component infographic

Infographic of the Bonsai platform with the training engine highlighted.

Architect

The Architect creates and optimizes learning topologies (neural networks) based on the training curriculum defined by the Inkling code. Essentially, the Architect does what a data scientist would do when evaluating the effectiveness of a neural network.

Based on the training curriculum and the available models, the Architect proposes the configuration of learning algorithms and topologies that have the best chance at learning the concepts in the model.

Currently, the Architect supports the following learning algorithms:

  • Distributed Deep Q Network (APEX)
  • Proximal Policy Optimization (PPO)
  • Soft Actor Critic (SAC)

The set of heuristics the Architect uses is based on the same heuristics used routinely by the data science and machine learning experts who work on the Architect codebase.

Instructor

The Instructor carries out the training plan by configuring the Learner and any data sources required based on the needs of the training curriculum. While some operations are batched, the Instructor is designed to work interactively. It responds in real time as the Learner iterates through the process of receiving data, computing a response, being assessed, and learning from the result.

Learner

The Learner carries out the underlying AI algorithms selected by the Architect. During training, the Learner coordinates with the Instructor to set the starting parameters of the learning algorithm then determines a response and grades its performance.

In a deployed Brain, the Learner is responsible for instantiating the trained system and executing its computation when needed.

Predictor

The Predictor is essentially a trained brain. Once trained, the AI algorithm is hosted in prediction mode. Prediction mode holds a brain for use as an HTTP API endpoint so that programmers can send input data to the brain to get back a prediction.

Learn about goals and objectives →