Our Technology
We have implemented our cognition framework of natural cognition into a unique Artificial General Intelligence algorithm: Synthetic Cognition. We have developed three main modules: the embodiment, Synthetic Cognition's interface with the world; the engine, Synthetic Cognition's brain; and the API, Synthetic Cognition's user interface. These three modules build the backbone of our technology, and are our main development focus.
Additionally, we have built a platform with different access levels for our clients: a Web Version, for the most basic users; a Docker Version, for our main users; and an API Version, for our most advanced users.
Synthetic Cognition
Synthetic Cognition is our implementation of the novel Synthetic Abstraction framework. It regulates the primitive defined by Synthetic Abstraction with four parameters that are self-regulated: spatial, temporal, conditioning and attention parameters.
The spatial parameter (called Spatial Attention) regulates the precision of the pattern matching task performed by the primitive, to determine how similar an input should be to be identified by the primitive. The temporal parameter (called Temporal Attention) regulates the notion of time of the primitive, allowing it to perceive sequences. The conditioning parameter (called Conditioning) regulates how much a new input identified by the primitive is learnt, with the goal of allowing a reinforcement-like kind of learning. Finally, the attention parameter (called Attentional Focus) regulates where is the focus of the primitive inside its own representation, with the goal of developing complex behaviours that emerge reasonings at the global scale.
Synthetic Cognition also defines a set of necessary functions to synchronize the works of all instantiated primitives. Additionally, it defines functions to access the internal knowledge representation of a learned model, allowing for transparency and decision explanation.
Synthetic Cognition comes with an easy-to-use API that simplifies its deployment. This API, together with the fact that all the primitive parameters are self-regulated, allows Synthetic Cognition to be used by any user with very little pre-required knowledge. It also comes with a module to develop embodiments, the interface between Synthetic Cognition and the world. Developing the right embodiment is fundamental, as the embodiment conditions the representations that Synthetic Cognition will build, as well as the kind of problems it can solve. Finally, Synthetic Cognition can be shipped as a web app, a docker image, or a python API, depending on the needs of the user.
The Embodiment
The embodiment is the main interface between Synthetic Cognition and the world. It defines which kind of actions Synthetic Cognition will be able to perform, and thus which kind of problems it will be able to solve.
Our embodiment module is able to deal with many kinds of data sources, transforming the input signals into SDRs for Synthetic Cognition to understand them. Additionally, it also transforms Synthetic Cognition output SDRs into the original data type of the output data.
The Engine
The engine is the main module of Synthetic Cognition. It is a fully automated algorithm that does not need any setup, nor it has any parameters.
The engine works with SDRs provided by the embodiment, and produces SDRs to be translated by that same embodiment. It is based on our computational framework explained in Science, and thus, it is where the "magic" happens.
The engine is traceable and interpretable, it is a fast learner, and it is input-agnostic thanks to the embodiment.
The API
The API is our main interface with the user, made in Python. It allows the user to easily setup an embodiment and an engine, and to train and evaluate them.
It also allows the user to deploy its already trained Synthetic Cognition into production-ready environments with seamless integration tools.
Additionally, it allows the user to explore the knowledge representation built by Synthetic Cognition, and perform knowledge discovery tasks over it.
Our Platform
We have a platform that allows different levels of access to our technology:
The Web Version
The Web Version is our simpler deliverable, with an easy to use interface that only needs basic data science knowledge to use. It is built over the API, and allows to perform basic training and test.
The Docker Version
The Docker Version is a more complete deliverable, where the user has access to the full API in a controlled and secure environment. It is specially suited for tasks that require data privacy, as the Docker aisles Synthetic Cognition from the world.
The API Version
The API Version is the most complete version, without limitations of any kind. It allows full access to the API, as well as to its source code. It is specially suited for the most advanced users, and requires a deep knowledge of our technology.