Caenorhabditis elegans is one of the simplest microorganisms around. Within its tiny brains are 300 cells, which have about 7,000 neurons between them. The wiring diagram of its brain, or the connectome, is available as a virtual copy in its entirety. C. elegans is the only creature whose entire brain has been uploaded to a computer. Now, researchers have conducted all sorts of experiments with this virtual worm brain, from giving it an Arduino body to putting it in a self-learning Lego robot, to teaching it to balance a pole on its tail.
Researchers from TU Wien (Vienna) and MIT went on to solve real-world problems, after teaching the worm to balance a pole on its tail in a virtual environment, known as the “inverted pendulum” problem. The team started by simulating a simple neural circuit, with only 12 neurons, based on the nervous system of C. elegans. This simple neural network was then trained to park a car (actually a robotic rover). A typical computer program has a clear set of logical instructions. When provided with an input, the computer runs the program on that input and delivers an output. A neural network works entirely differently and is useful for solving problems that are not easily broken down into logical steps. At times the results are not logical at all and can be quite unexpected. For example, a neural network trained to win at a game may interpret it as not losing the game, and solve the problem by simply pausing the game forever. For the most part, the input to a neural network is provided as all at once. Given an image, a neural network can identify similar images, or provide it with a caption. For input provided over a period of time – such as identifying speech, you need a neural network that can “remember” what has occurred in the past. This is known as a recurring neural network (RNN). Now in most RNNs, there is a constant link between the neurons, which defines how strongly the activities of any two neurons affect one another. The team from TU Wien and MIT created a novel architecture for their RNN, where the link between the neurons varies over time. The system built by the team had a hierarchy in the neurons, which was specific to C Elegans. These were sensory neurons (which got the input data), two layers of interneurons, and motor neurons (which provided the output). The system was also sparsely interconnected, which meant that not all the neurons could talk to the other neurons. This AI system is close to the actual biological brains, and are therefore capable of performing sophisticated operations with limited computation resources. The approach allowed the team to train complex tasks along a simple response embedded in the biological version of C elegans – it withdraws from contact if it detects that it touched something. The team first trained the worm to take a simulated vehicle, with limited power, over a slope by using momentum. Then, they trained it to park a car along a predefined path. You can see a digital worm brain in action below.
When compared to other AI systems that performed the same task as finding a parking space, avoiding running into obstacles, and navigating the car to the parking spot, the C. elegans based system was superior in many aspects. It was of a smaller size and required far fewer trainable parameters to perform the task. It was also more resilient to external noise and could perform better even when unexpected disturbances were deliberately introduced. The most important advantage though, is that the researchers could easily understand what was going on in the system, and what the AI was doing at any point in time. AI systems can get so complex, that the engineers that build them often have no clue how exactly they work, and cannot easily dive in and fix something when they need to.
The research shows that simulating the structures of the biological brains may be a good start for artificial intelligence, but more can be achieved by preserving the specific hierarchies and activities within biological brains. If you are interested in getting your hands dirty with the code, and teaching C. elegans some tricks of your own, then you can do so. The worm is open source, and you can find it over at Open Worm Project.
Source: TU Wien