SELF-ORGANIZING INTELLIGENT MATTER: A BLUEPRINT FOR AN AI GENERATING ALGORITHM

Abstract

We propose an artificial life framework aimed at facilitating the emergence of intelligent organisms. In this framework there is no explicit notion of an agent: instead there is an environment made of atomic elements. These elements contain neural operations and interact through exchanges of information and through physics-like rules contained in the environment. We discuss how an evolutionary process can lead to the emergence of different organisms made of many such atomic elements which can coexist and thrive in the environment. We discuss how this forms the basis of a general AI generating algorithm. We provide a simplified implementation of such system and discuss what advances need to be made to scale it up further.

1. INTRODUCTION

An AI generating algorithm (Clune, 2019) is a computational system that runs by itself without outside interventions and after a certain amount of time generates intelligence (though the general idea is much older than this reference). Evolution on earth is the only known successful system thus far that we know of. In this paper we propose a computational framework, and argue why it might constitute such general algorithm, while being computationally tractable on current or near future hardware. Building such system successfully will take many iterations and require a number of advances. What we hope to provide however, is a general procedure, where better and better systems arise as a result of improving the elements of the system and of experimentation rather than a fundamentally new algorithm. As an example, we had such procedure for supervised learning since the 1980's -neural networks trained by back-propagation and stochastic gradient descent. To reach the current impressive performance, it required a number of clever improvements, such as rectified non-linearities, convolutions, batch normalization, attention, residual connections and better optimizers, but the overall algorithm hasn't changed.

1.1. EVOLUTION

Evolution is the primary process by which our algorithm operates. We describe it here. In machine learning, the word evolution is typically used to describe variations of the following process (Back, 1996) . We have a number of individuals and an objective to optimize. We evaluate the individuals, select the ones with good values of the objective, and mutate them to produce the next generation. Over time, individuals that are better at optimizing the objective appear. The use of the word evolution in this context is perhaps unfortunate, as this process is quite unlike the evolution observed in nature (Stanley et al., 2017) . The clearest difference we can see is in the outcome. The former results in a small variation of final individuals that are the best at the objective. The latter results in a coexistence of huge variation of individuals with different behaviors -it is open-ended. Let us therefore discuss the basic operation of natural evolution. We have an environment built out of elements (atoms) that are organized into bigger units such as individual bacteria or animals or groups of these. Those classes of units that propagate (Joyce, 1994) into the future (e.g. replicate -we will discuss this in a moment) keep existing, while those that don't propagate cease to exist. There is no objective based on which units are selected for propagation. Different collections of units find different means of propagating.

