Avicenna is a deep learning-based, generalised sequence prediction API. It learns sequential patterns that are interconnected and predicts the next values or deviations from normal patterns.  It enables the formulation of machine learning problems as a hierarchy of sequences and doesn’t make assumptions on the structure of the data or its mathematical properties.

Avicenna is developed on Manjam and scalable cloud computing technology therefore it is quasi-insensitive to the volume or speed of data it receives or the predictions it generates.

Avicenna in a nutshell

Avicenna is a cloud-based API. Users submit arbitrary data sets that describe sequences and/or one-off events. Sequences can be either time series with equal length intervals or sequences of events with no regular time dependency.

Users then define a hierarchy between the logical data quantities, i.e. which is likely to be a predictor and which is likely to be a predicted value. Avicenna always expects one value to be the top level of the hierarchy.

Users then define the type of output they would like to receive:

  1. Predict the next value
  2. Predict the next most likely event
  3. Detect anomalies

Avicenna then does the rest. It learns what drives the sequences, keeps memories of events and how to make the best predictions. It has a flexible architecture so that it can easily deal with complex sequence and hierarchical patterns. It can split the problem into a set of prediction blocks and optimises their solutions at once.

Avicenna is designed to learn fast and to deploy its capabilities fast. So users only need to integrate once for learning and for applying the learning (scoring).

Design Principles

The guiding principle of Avicenna is that most ML problems are sequential. The analytics or data science teams are approximated to a point in time model, while using feature engineering to summarise the temporal effects.

Organisations that are truly innovative in ML and AI are spending huge amounts of time and money in developing ways to deal with sequences. An example is the self-driving car: sequence is critical if one is to detect the most likely outcome in a complex road traffic situation.

On the other hand, traditional time series techniques have practical limitations, such as the difficulty of ‘remembering’ the effects of distant events.  Deep learning removes the theoretical burdens and offers huge advantages in terms of learning what to remember.

Avicenna is built for the real world, where sequences make up the majority of ‘prediction’ problems. It recognises that predicting one sequence may require the prediction of other sequences, and that one-off events may have a huge impact.

Avicenna is built for robustness, speed and flexibility.