AERA

AI development

For the past three years, I’ve been working as an AI specialist/programmer in the AERA development team. AERA (Autocatalytic Endogenous Reflective Architecture) is a general purpose AI system under development at the Center for Analysis & Design of Intelligent Agents (CADIA) at Reykjavik University and the Icelandic Institute for Intelligent Machines in Iceland (IIIM). AERA’s codebase is written in C++ and Replicode, the latter of which is also implemented in C++. The Replicode programming language is based on principles of extensive pattern-matching and dynamic code production of short parallel programs and executable models.

Contribution

So far I’ve tested AERA on different tasks (e.g. robot arms pick-and-place task) and integrated several features to AERA’s codebase, which extends the learning and simulation mechanisms of the system. I have integrated a new algorithm into AERA’s learning system that allows it to create new models via analogical reasoning. The related code is on GitHub (see here). The results of this work was published via the paper, receiving the Best AGI Paper Prize.

My analogy-based learning idea

Let me explain the idea by a simple example: Assume that a robot hand h already learned that it can grab and lift a green cube c. Then, later when it sees a green sphere s he guesses that the sphere can also be grabbed and lifted in the same way. Why? Because the sphere is also green! In other words, the green color is the similarity between the sphere and the cube, and so the robot guesses that the same action in relation to both of them leads to the same result! This guess may be right or wrong, but it is worth trying! This type of reasoning is called induction via analogy, which is a way generalizing knowledge. I have implemented this analogy mechanism in AERA, which allows AERA to create new models that can explain the behavior of new things!

Here is the result of the idea’s implementation for the above simple example, shown by the AERA visualizer:

The left scene shows the list of models and their requirements AERA learns. The red circled items are the model and its requirement build via analogy. The yellow items on the right scene show how AERA uses the analogical reasoning to issue the best command which is grabbing the sphere, shown by cmd grab(s), once it is assigned to grab the sphere.

My Experience with AERA and AERA team

AERA has been under development for more than a decade and is one of the most unique systems I have ever had the privilege to work with. Throughout my involvement in various AERA projects, I have had the pleasure of collaborating with some of the brightest minds in the field. Among these exceptional individuals are Kristinn R. Thórisson (my advisor), Jeff Thompson and Leonard Eberding. Their contributions to the development and implementation of AERA have been invaluable.